0707070000010000000006660000000000000000010000001237543420600000700000000237.start fplayback -i on -r off -f 1 -e on -h on -t on -a on -k on -s 1
tcur 0
fps 24
tset 0 10
frange 1 240
unitlength 1
unitmass 1
prompt '`strcat(oppwf(), " -> ")`'
0707070000010000000006660000000000000000010000001237543420600001300000001035.variables set -g ACTIVETAKE = 'Main'
set -g E = '2.7182818284590452354'
set -g EYE = 'stereo'
set -g HIP = '/work/learn/sop/attribfade_sop'
set -g HIPNAME = 'attribfade_burn_paper_source.hip'
set -g JOB = '/Users/jeff_wagner/Downloads'
set -g PI = '3.1415926535897932384'
set -g POSE = '/Users/jeff_wagner/Library/Preferences/houdini/13.0/poselib'
set -g _HIP_SAVEPLATFORM = 'darwin-x86_64-clang4.1-MacOSX10.8'
set -g _HIP_SAVETIME = 'Thu Aug 21 14:20:54 2014'
set -g _HIP_SAVEVERSION = '13.0.476'
set -g _HIP_SHELFTOOLCOUNT = '2'
set -g status = '0'
0707070000010000000006660000000000000000010000001237543420600001100000000267.aliases alias cd 'opcf'
alias cp 'opcp'
alias h 'history'
alias hython 'python'
alias ls 'opls'
alias matramp 'opramp'
alias opcd 'opcf'
alias oppwd 'oppwf'
alias pwd 'oppwf'
alias rm 'oprm'
0707070000010000000006660000000000000000010000001237543420600001400000000021.takeconfig takename -g take
0707070000010000000006660000000000000000010000001237543420600001500000000000.hou.session 0707070000010000000006660000000000000000010000001237543420600001000007725451.defotl INDX       !HIP Internal Operator Definitions   X   INDEX_SECTION      1sS8   Dop/gasshred  1s  rS8   Dop/linktosourceobject  Z  S8   Dop/smokeconfigureobject  8 NS8   Dop/gasdisturb l  sS8   Dop/gasadvectfield $  (S8   Dop/smokesolver::2.0   S8   Dop/gasresizefluiddynamic   WS8   Dop/gaslocalsharpen   3S8   Dop/gascombustion (  "S8   Dop/gasturbulence K  _S8   Dop/sourcevolume   S8   Dop/gasvortexconfinement g  NS8   Dop/null   sS8   Dop/pyrosolver::2.0 " S8   Dop/smokeobject J S8   Sop/pointsfromvolume 	H  RS8   	Sop/dopio 	Q  QS8   Sop/matchaxis 	#  dS8   Sop/fluidsource 
 ^S8   Sop/platonic ax  8lS8   Sop/attribfade   FS8   Sop/attribwrangle   S8   Sop/dopimportfield   BS8   Sop/pointwrangle <  S8   Sop/pointjitter ME  1S8   Sop/volumevelocity ~  dS8   Shop/pyro::2.0 = CS8   Shop/scalarvolumenoise B8  yS8   Vop/distance   S8   Vop/pyroField   S8   Vop/volumevopglobal   %S8   Vop/fieldparm   S8   Vop/dualaarampparm A  S8   
Vop/pcopen r  S8   Vop/pyroColorCorrect   ES8   Vop/aarampparm   WS8   Vop/inttofloat D  S8   Vop/vectohvec   S8   Vop/softclip v  "S8   Vop/rampfilter /  3RS8   Vop/pyroDensityVolume  @S8   Vop/pyroFieldNoiseOp 2H  ~S8   Vop/unifiednoise @  S8   Vop/dualrest о  KS8   Vop/typeconvert \	   S8   Vop/contour |  #S8   
Vop/twoway   S8   Vop/dualrestsolver \  2<S8   Vop/efit   2PS8   Vop/fieldname   S8   Vop/curlnoise %  S8   Vop/geometryvopglobal 3W  HS8   
Vop/limits O  AZS8   Vop/pyroBlackbody   #9S8   Vop/pyroColorModel 2  ɂS8   Vop/pyroColorVolume } 
S8   Vop/pyroDisplace   !S8   Vop/pcfilter 4P  kS8   Vop/pyroNoise 8  S8   Vop/pyroNoiseSpace   S8   Vop/pyroShade   =S8   Vop/typeconvertimpl -
  !S8   Vop/ttwswitchimpl O  S8   Vop/ttwswitch   mS8   Vop/volumevopoutput <  DS8   Vop/addattrib   S8   Vop/importattrib e  S8   Vop/vectofloat   0S8   
Vop/random D  mS8   Vop/pow 0  ZS8   Vop/not 8  S8   
Vop/negate ;  sS8   Vop/mulconst ?  uS8   
Vop/modulo D  S8   
Vop/length L  S8   Vop/inttovec Qu  S8   Vop/fit T|  aS8   
Vop/invert d  $S8   Vop/floattovec i  S8   	Vop/cross n  S8   Vop/normalize sv  AS8   	Vop/clamp x  	S8   	Vop/align T  S8   
Vop/smooth Q  S8   Vop/addconst   S8   Vop/aaflownoise   
S8   Vop/complement   S8   W      gasshred   	Gas Shred    oplib:/Dop/gasshred?Dop/gasshred   DOP_gas           Dop                        R`_         linktosourceobject   Link To Source Object   4oplib:/Dop/linktosourceobject?Dop/linktosourceobject   DOP_linktosourceobject           Dop                       Fm+        smokeconfigureobject   Smoke Configure Object   8oplib:/Dop/smokeconfigureobject?Dop/smokeconfigureobject   DOP_smokeobject           Dop                      Ri@&        
gasdisturb   Gas Disturbance   $oplib:/Dop/gasdisturb?Dop/gasdisturb   DOP_gas           Dop                        OP        gasadvectfield   Gas Advect Field   ,oplib:/Dop/gasadvectfield?Dop/gasadvectfield   DOP_gas           Dop                        R(        smokesolver::2.0   Smoke Solver   0oplib:/Dop/smokesolver::2.0?Dop/smokesolver::2.0   DOP_smokesolver           Dop                      S         gasresizefluiddynamic   Gas Resize Fluid Dynamic   :oplib:/Dop/gasresizefluiddynamic?Dop/gasresizefluiddynamic   DOP_resizefluid           Dop                        S*        gaslocalsharpen   Gas Local Sharpen   .oplib:/Dop/gaslocalsharpen?Dop/gaslocalsharpen   DOP_gas           Dop                        R`_        gascombustion   Gas Combustion   *oplib:/Dop/gascombustion?Dop/gascombustion   DOP_gascombustion           Dop                        R`_S        gasturbulence   Gas Turbulence   *oplib:/Dop/gasturbulence?Dop/gasturbulence   DOP_gasfieldvop           Dop                        R``        sourcevolume   Source Volume   (oplib:/Dop/sourcevolume?Dop/sourcevolume   
SOP_volume           Dop                       R        gasvortexconfinement   Gas Vortex Confinement   8oplib:/Dop/gasvortexconfinement?Dop/gasvortexconfinement   DOP_gas           Dop                        R``*        null   Null   oplib:/Dop/null?Dop/null   DOP_null           Dop                       F        pyrosolver::2.0   Pyro Solver   .oplib:/Dop/pyrosolver::2.0?Dop/pyrosolver::2.0   DOP_pyrosolver           Dop                      R`^Z        smokeobject   Smoke Object   &oplib:/Dop/smokeobject?Dop/smokeobject   DOP_smokeobject           Dop                        Rlc        pointsfromvolume   Points from Volume   0oplib:/Sop/pointsfromvolume?Sop/pointsfromvolume   SOP_pointsfromvolume           Sop               guide=./FINAL_VOLUME       R        dopio   Dop I/O   oplib:/Sop/dopio?Sop/dopio   SOP_dopimport           Sop                        R        	matchaxis   
Match Axis   "oplib:/Sop/matchaxis?Sop/matchaxis   SOP_matchaxis           Sop                      PV%        fluidsource   Fluid Source   &oplib:/Sop/fluidsource?Sop/fluidsource   
SOP_volume           Sop                      SV        platonic   Platonic Solids    oplib:/Sop/platonic?Sop/platonic   SOP_platonic           Sop   subnet   SUBsop                M'g        
attribfade   
AttribFade   $oplib:/Sop/attribfade?Sop/attribfade   SOP_attribfade           Sop                      R(ҧ        attribwrangle   AttribWrangle   *oplib:/Sop/attribwrangle?Sop/attribwrangle   SOP_attribwrangle           Sop                      Rs        dopimportfield   Dop Import Fields   ,oplib:/Sop/dopimportfield?Sop/dopimportfield   SOP_dopimport           Sop                        RT        pointwrangle   Point Wrangle   (oplib:/Sop/pointwrangle?Sop/pointwrangle   SOP_pointwrangle           Sop                       Rz        pointjitter   PointJitter   &oplib:/Sop/pointjitter?Sop/pointjitter   SOP_pointjitter           Sop                      Nd        volumevelocity   Volume Velocity   ,oplib:/Sop/volumevelocity?Sop/volumevelocity   SOP_volumevelocity           Sop                      Q&        	pyro::2.0   Pyro   $oplib:/Shop/pyro::2.0?Shop/pyro::2.0   	SHOP_pyro           Shop               >subtype=vopnet shadertype=vopmaterial rendermask='VMantra OGL'        Q2y         scalarvolumenoise   System Scalar Volume Noise   4oplib:/Shop/scalarvolumenoise?Shop/scalarvolumenoise   SHOP_generic           Shop               cvex        Q         distance   Distance    oplib:/Vop/distance?Vop/distance   VOP_distance           Vop   vop   VOPall       *       Sk         	pyroField   
Pyro Field   "oplib:/Vop/pyroField?Vop/pyroField   VOP_pyroField           Vop                       R        volumevopglobal   Volume VOP Global Parameters   .oplib:/Vop/volumevopglobal?Vop/volumevopglobal   VOP_volumevexglobal           Vop               cvex        QGO        	fieldparm   Field Parameter   "oplib:/Vop/fieldparm?Vop/fieldparm   
VOP_vfield           Vop                       O_        dualaarampparm    Dual Anti-Aliased Ramp Parameter   ,oplib:/Vop/dualaarampparm?Vop/dualaarampparm   VOP_dualaarampparm           Vop                       OE!5        pcopen   Point Cloud Open   oplib:/Vop/pcopen?Vop/pcopen   
VOP_pcopen           Vop   vop   VOPall               	Sk         pyroColorCorrect   Pyro Color Correct   0oplib:/Vop/pyroColorCorrect?Vop/pyroColorCorrect   VOP_colorcorrect           Vop                       OE#         
aarampparm   Anti-Aliased Ramp Parameter   $oplib:/Vop/aarampparm?Vop/aarampparm   VOP_aarampparm           Vop                       OE         
inttofloat   Integer To Float   $oplib:/Vop/inttofloat?Vop/inttofloat   VOP_inttofloat           Vop   vop   VOPall               Sk         	vectohvec   Vector To Vector4   "oplib:/Vop/vectohvec?Vop/vectohvec   VOP_vectohvec           Vop   vop   VOPall               Sk         softclip   	Soft Clip    oplib:/Vop/softclip?Vop/softclip   VOP_contour           Vop                       OE$         
rampfilter   Ramp Filter   $oplib:/Vop/rampfilter?Vop/rampfilter   
VOP_aaramp           Vop                       OE$         pyroDensityVolume   Pyro Density Volume   2oplib:/Vop/pyroDensityVolume?Vop/pyroDensityVolume   VOP_pyroDensityVolume           Vop                       2OE$        pyroFieldNoiseOp   Pyro Field-Noise Op   0oplib:/Vop/pyroFieldNoiseOp?Vop/pyroFieldNoiseOp   VOP_pyroSigNoiseOp           Vop                       OE$3         unifiednoise   Unified Noise   (oplib:/Vop/unifiednoise?Vop/unifiednoise   VOP_unifiednoise           Vop                       !OE$         dualrest   	Dual Rest    oplib:/Vop/dualrest?Vop/dualrest   VOP_dualrest           Vop                       R        typeconvert   Type Convert   &oplib:/Vop/typeconvert?Vop/typeconvert   VOP_typeconvert           Vop                       O_        contour   Contour   oplib:/Vop/contour?Vop/contour   VOP_contour           Vop                       OE!          twoway   Two Way Switch   oplib:/Vop/twoway?Vop/twoway   
VOP_twoway           Vop   vop   VOPall       *       Sk         dualrestsolver   Dual Rest Solver   ,oplib:/Vop/dualrestsolver?Vop/dualrestsolver   VOP_dualrestsolver           Vop                       	OE!j         efit   Fit Range Unclamped   oplib:/Vop/efit?Vop/efit   VOP_efit           Vop                       OE#         	fieldname   
Field Name   "oplib:/Vop/fieldname?Vop/fieldname   VOP_fieldname           Vop                       OE!         	curlnoise   
Curl Noise   "oplib:/Vop/curlnoise?Vop/curlnoise   VOP_curlnoise           Vop   vop   VOPall               Sk         geometryvopglobal   Geometry VOP Global Parameters   2oplib:/Vop/geometryvopglobal?Vop/geometryvopglobal   VOP_geometryvopglobal           Vop               cvex        Q        limits   Limits   oplib:/Vop/limits?Vop/limits   
VOP_limits           Vop                       OE#         pyroBlackbody   Pyro Blackbody   *oplib:/Vop/pyroBlackbody?Vop/pyroBlackbody   VOP_pyroBlackbody           Vop                       OE#         pyroColorModel   Pyro Color Model   ,oplib:/Vop/pyroColorModel?Vop/pyroColorModel   VOP_pyroColorModel           Vop                        OE#        pyroColorVolume   Pyro Color Volume   .oplib:/Vop/pyroColorVolume?Vop/pyroColorVolume   VOP_pyroColorVolume           Vop                       OOE#        pyroDisplace   Pyro Displace   (oplib:/Vop/pyroDisplace?Vop/pyroDisplace   VOP_pyroShade           Vop                       OE$         pcfilter   Point Cloud Filter    oplib:/Vop/pcfilter?Vop/pcfilter   VOP_pcfilter           Vop   vop   VOPall               Sk         	pyroNoise   
Pyro Noise   "oplib:/Vop/pyroNoise?Vop/pyroNoise   VOP_pyroNoise           Vop                       #OE$A        pyroNoiseSpace   Pyro Noise Space   ,oplib:/Vop/pyroNoiseSpace?Vop/pyroNoiseSpace   VOP_pyroNoiseSpace           Vop                       OE$N         	pyroShade   
Pyro Shade   "oplib:/Vop/pyroShade?Vop/pyroShade   VOP_pyroShade           Vop                       QZ         typeconvertimpl   Type Convert Implementation   .oplib:/Vop/typeconvertimpl?Vop/typeconvertimpl   VOP_typepromote           Vop                       OE$         ttwswitchimpl   Typed Two Way Switch Impl   *oplib:/Vop/ttwswitchimpl?Vop/ttwswitchimpl   VOP_arrayswitch           Vop                       OE%'         	ttwswitch   Typed Two Way Switch   "oplib:/Vop/ttwswitch?Vop/ttwswitch   VOP_ttwswitch           Vop                       OE%        volumevopoutput   Volume VOP Output   .oplib:/Vop/volumevopoutput?Vop/volumevopoutput   VOP_volumevexoutput           Vop               cvex       QGO        	addattrib   Add Attribute   "oplib:/Vop/addattrib?Vop/addattrib   VOP_addattrib           Vop   vop   VOPall       sop pop       Sk         importattrib   Import Attribute   (oplib:/Vop/importattrib?Vop/importattrib   VOP_importattrib           Vop   vop   VOPall       sop pop       Sk         
vectofloat   Vector To Float   $oplib:/Vop/vectofloat?Vop/vectofloat   VOP_vectofloat           Vop   vop   VOPall       *       Sk         random   Random   oplib:/Vop/random?Vop/random   
VOP_random           Vop   vop   VOPall       *       Sk         pow   Power   oplib:/Vop/pow?Vop/pow   VOP_pow           Vop   vop   VOPall       *       Sk         not   Not   oplib:/Vop/not?Vop/not   VOP_not           Vop   vop   VOPall       *       Sk         negate   Negate   oplib:/Vop/negate?Vop/negate   
VOP_negate           Vop   vop   VOPall       *       Sk         mulconst   Multiply Constant    oplib:/Vop/mulconst?Vop/mulconst   VOP_mulconst           Vop   vop   VOPall       *       Sk         modulo   Modulo   oplib:/Vop/modulo?Vop/modulo   
VOP_modulo           Vop   vop   VOPall       *       Sk         length   Length   oplib:/Vop/length?Vop/length   
VOP_length           Vop   vop   VOPall       *       Sk         inttovec   Integer To Vector    oplib:/Vop/inttovec?Vop/inttovec   VOP_inttovec           Vop   vop   VOPall               Sk         fit   	Fit Range   oplib:/Vop/fit?Vop/fit   VOP_fit           Vop   vop   VOPall       *       Sk         invert   Invert   oplib:/Vop/invert?Vop/invert   
VOP_invert           Vop   vop   VOPall               Sk         
floattovec   Float To Vector   $oplib:/Vop/floattovec?Vop/floattovec   VOP_floattovec           Vop   vop   VOPall       *       Sk         cross   Cross Product   oplib:/Vop/cross?Vop/cross   	VOP_cross           Vop   vop   VOPall       *       Sk         	normalize   	Normalize   "oplib:/Vop/normalize?Vop/normalize   VOP_normalize           Vop   vop   VOPall       *       Sk         clamp   Clamp   oplib:/Vop/clamp?Vop/clamp   	VOP_clamp           Vop   vop   VOPall       *       Sk         align   Align   oplib:/Vop/align?Vop/align   	VOP_align           Vop   vop   VOPall               Sk         smooth   Smooth   oplib:/Vop/smooth?Vop/smooth   
VOP_smooth           Vop   vop   VOPall       *       Sk         addconst   Add Constant    oplib:/Vop/addconst?Vop/addconst   VOP_addconst           Vop   vop   VOPall       *       Sk         aaflownoise   Anti-Aliased Flow Noise   &oplib:/Vop/aaflownoise?Vop/aaflownoise   VOP_aaflownoise           Vop   vop   VOPall               	Sk         
complement   
Complement   $oplib:/Vop/complement?Vop/complement   VOP_complement           Vop   vop   VOPall       *       Sk   INDX              DialogScript      !OQ   CreateScript  !  GR`_    TypePropertiesOptions  "`  OQ   Help  #a    OQ   Tools.shelf  #a  mOQ   Contents.gz  &  KR`_    ExtraFileOptions  q   OQ   InternalFileOptions  q   R`_ # Dialog script for gasshred automatically generated 06/14/12 17:01:11

{
    name	gasshred
    script	gasshred
    label	"Gas Shred"


    help {
	""
    }

    inputlabel	1	"Input 1"
    inputlabel	2	"Input 2"
    inputlabel	3	"Input 3"
    inputlabel	4	"Input 4"

    parm {
	name	"visualize_shredding"
	label	"Visualize Shredding"
	type	toggle
	default	{ "off" }
	range	{ 0 1 }
	export	none
	parmtag	{ "autoscope" "0000000000000000" }
    }
    parm {
	name	"modify_temperature"
	label	"Modify Temperature Through Shredding"
	type	toggle
	default	{ "off" }
	range	{ 0 1 }
	export	none
	parmtag	{ "autoscope" "0000000000000000" }
	parmtag	{ "parmvop" "1" }
    }
    parm {
	name	"timescale"
	label	"Time Scale"
	type	float
	default	{ "1" }
	range	{ 0 10 }
	export	none
	parmtag	{ "autoscope" "0000000000000000" }
    }
    group {
	name	"shred_settings"
	label	"Shred Settings"

	parm {
	    name	"shred_scale"
	    label	"Scale"
	    type	float
	    default	{ "0.5" }
	    range	{ 0 10 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"temp_threshold"
	    label	"Temperature Threshold"
	    type	float
	    default	{ "0.75" }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	    parmtag	{ "parmvop" "1" }
	}
	parm {
	    name	"fade"
	    label	"Threshold Width"
	    type	float
	    default	{ "0.1" }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	    parmtag	{ "parmvop" "1" }
	}
	parm {
	    name	"squash"
	    label	"Squash"
	    type	float
	    default	{ "1" }
	    range	{ 0 10 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	    parmtag	{ "parmvop" "1" }
	}
	parm {
	    name	"stretch"
	    label	"Stretch"
	    type	float
	    default	{ "0.5" }
	    range	{ 0 10 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	    parmtag	{ "parmvop" "1" }
	}
	parm {
	    name	"clip_gradient"
	    label	"Clip Influence Gradient"
	    type	toggle
	    nolabel
	    joinnext
	    default	{ "on" }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	    parmtag	{ "parmvop" "1" }
	}
	parm {
	    name	"clip_value"
	    label	"Clip Gradient"
	    type	float
	    default	{ "7" }
	    disablewhen	"{ clip_gradient == 0 }"
	    range	{ 0 10 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	    parmtag	{ "parmvop" "1" }
	}
	parm {
	    name	"temp_inf_rate"
	    label	"Temp Influence Rate"
	    type	float
	    default	{ "0.2" }
	    disablewhen	"{ modify_temperature == 0 }"
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	    parmtag	{ "parmvop" "1" }
	}
    }

    group {
	name	"shred_settings_1"
	label	"Control Settings"

	parm {
	    name	"use_control_field"
	    label	"Use Control Field"
	    type	toggle
	    nolabel
	    joinnext
	    default	{ "off" }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	    parmtag	{ "parmvop" "1" }
	}
	parm {
	    name	"control_field"
	    label	"Control Field"
	    type	string
	    default	{ "temperature" }
	    disablewhen	"{ use_control_field == 0 }"
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"control_influence"
	    label	"Control Influence"
	    type	float
	    default	{ "0.5" }
	    disablewhen	"{ use_control_field == 0 }"
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	    parmtag	{ "parmvop" "1" }
	}
	parm {
	    name	"control_min"
	    label	"Control Min"
	    type	float
	    default	{ "0" }
	    disablewhen	"{ use_control_field == 0 }"
	    range	{ 0 10 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	    parmtag	{ "parmvop" "1" }
	}
	parm {
	    name	"control_max"
	    label	"Control Max"
	    type	float
	    default	{ "1" }
	    disablewhen	"{ use_control_field == 0 }"
	    range	{ 0 10 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	    parmtag	{ "parmvop" "1" }
	}
	parm {
	    name	"remap_control_field"
	    label	"Remap Control Field"
	    type	toggle
	    default	{ "off" }
	    disablewhen	"{ use_control_field == 0 }"
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	    parmtag	{ "parmvop" "1" }
	}
	parm {
	    name	"control_field_ramp"
	    label	"Control Field Ramp"
	    type	ramp_flt
	    default	{ "2" }
	    disablewhen	"{ remap_control_field == 0 } { use_control_field == 0 }"
	    range	{ 1! 10 }
	    export	none
	    parmtag	{ "rampbasis_var" "control_field_ramp_the_basis_strings" }
	    parmtag	{ "rampkeys_var" "control_field_ramp_the_key_positions" }
	    parmtag	{ "rampvalues_var" "control_field_ramp_the_key_values" }
	    parmtag	{ "autoscope" "0000000000000000" }
	    parmtag	{ "rampfloatdefault" "1pos ( 0 ) 1value ( 0 ) 1interp ( linear ) 2pos ( 1 ) 2value ( 1 ) 2interp ( linear )" }
	    parmtag	{ "parmvop" "1" }
	    parmtag	{ "rampshowcontrolsdefault" "0" }
	    parmtag	{ "rampbasisdefault" "linear" }
	}
    }

    group {
	name	"shred_settings_2"
	label	"Visualization"

	parm {
	    name	"guideplane2"
	    label	"Plane Orientation"
	    type	ordinal
	    default	{ "xy" }
	    disablewhen	"{ visualize_shredding == 0 }"
	    menu	{
		"xy"	"XY plane     "
		"yz"	"YZ plane"
		"zx"	"ZX plane"
	    }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"guidevistype2"
	    label	"Visualization Type"
	    type	ordinal
	    default	{ "speed" }
	    disablewhen	"{ visualize_shredding == 0 }"
	    menu	{
		"none"	"None"
		"distance"	"Distance"
		"speed"	"Speed"
		"origin"	"Origin"
		"dir"	"Direction     "
		"value"	"Value"
	    }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"guidevismode2"
	    label	"Visualization Mode"
	    type	ordinal
	    default	{ "false" }
	    disablewhen	"{ visualize_shredding == 0 }"
	    menu	{
		"false"	"Infra-Red"
		"pink"	"White to Red"
		"mono"	"Grayscale"
		"blackbody"	"Black Body"
		"bipartite"	"Two-Tone"
	    }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"guidevisscale2"
	    label	"Visualization Scale"
	    type	float
	    default	{ "1" }
	    disablewhen	"{ visualize_shredding == 0 }"
	    range	{ 0 10 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"guideplaneval2"
	    label	"Plane Position"
	    type	float
	    default	{ "0" }
	    disablewhen	"{ visualize_shredding == 0 }"
	    range	{ -1! 1! }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"guidestreamerlen2"
	    label	"Streamer Length"
	    type	float
	    default	{ "1" }
	    disablewhen	"{ visualize_shredding == 0 }"
	    range	{ 0 10 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"guidestreamerminspeed2"
	    label	"Streamer Minimum Speed"
	    type	float
	    default	{ "0.001" }
	    disablewhen	"{ visualize_shredding == 0 }"
	    range	{ 0 10 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"guiderange3"
	    label	"Visualization Range"
	    type	float
	    size	2
	    default	{ "0" "5" }
	    disablewhen	"{ visualize_shredding == 0 }"
	    range	{ 0 10 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
    }

    group {
	name	"shred_settings_3"
	label	"Temporary Fields"

	parm {
	    name	"clear_temporary_fields"
	    label	"Clear Temporary Fields"
	    type	toggle
	    default	{ "1" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"gradient_field"
	    label	"Gradient Field"
	    type	string
	    default	{ "gradient" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"shred_temp"
	    label	"Shred Temperature Field"
	    type	string
	    default	{ "temptemp" }
	    range	{ 0 1 }
	    export	none
	}
    }

    group {
	name	"shred_settings_4"
	label	"Bindings"

	parm {
	    name	"temperature_field"
	    label	"Temperature Field"
	    type	string
	    default	{ "temperature" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"velocity"
	    label	"Velocity Field"
	    type	string
	    default	{ "vel" }
	    range	{ 0 1 }
	    export	none
	}
    }

    group {
	name	"shred_settings_5"
	label	"Advanced"

	parm {
	    name	"opencl"
	    label	"Use OpenCL"
	    type	toggle
	    default	{ "1" }
	    range	{ 0 1 }
	    export	none
	}
    }

}
# Automatically generated script: Thursday October 17, 18:05 2013
\set noalias = 1
#
#  Creation script for gasshred operator
#

if ( "$arg1" == "" ) then
    echo This script is intended as a creation script
    exit
endif

# Node $arg1 (Dop/gasshred)
opexprlanguage -s hscript $arg1
opuserdata -n '___Version___' -v '' $arg1
PrefixDroppedParmName := 0;
ParmsFromVfl := 0;
UseDSParms := 1;
LockContents := 1;
ForbidOutsideParms := 0;
SaveSpareParms := 0;
CheckExternal := 1;
GzipContents := 1;
SaveCachedCode := 0;
MakeDefault := 1;
PrefixDroppedParmLabel := 0;
UnlockOnCreate := 0;
<?xml version="1.0" encoding="UTF-8"?>
<shelfDocument>
  <!-- This file contains definitions of shelves, toolbars, and tools.
 It should not be hand-edited when it is being used by the application.
 Note, that two definitions of the same element are not allowed in
 a single file. -->

  <tool name="$HDA_TABLE_$HDA_NAME" label="$HDA_LABEL" icon="$HDA_ICON">
    <toolMenuContext name="viewer">
      <contextNetType>DOP</contextNetType>
    </toolMenuContext>
    <toolMenuContext name="pop_viewer">
      <contextNetType>DOP</contextNetType>
    </toolMenuContext>
    <toolMenuContext name="network">
      <contextOpType>$HDA_TABLE/$HDA_NAME</contextOpType>
    </toolMenuContext>
    <toolSubmenu>Micro Solvers</toolSubmenu>
    <script scriptType="python"><![CDATA[import doptoolutils

doptoolutils.genericTool(kwargs, '$HDA_NAME')]]></script>
  </tool>
</shelfDocument>
      }ێ$rXKmK!0gCRܞʺבi\R#,%u!aMwLt72C_`?oo~5~2ogEGf%*o}LwfDVdVddddDe/yfOZ,6MwM-u{Ϟ_FEfb<9o&&͍xzw',&xv2o/rvr=^Qr2g'Ϟi2ǃu*I?6ȼ1	L2Ƿq#0lfDIKQ|<+mJ1GW<,mJq;.nj8<6Ǉ2Ӝlӛh|טbB&mNunnI`&WynGt	#*B`qss7/g>V_@:gP_@"Z֏ˤgOGu\ֵZH+j[CHSto@IAqyrZ'KkQF*?dQ~o~wokZ`.Һj}o߰[j^v`<FI|P}E@祒Ϗ %~
punEoR~^|8𗈴k0e`aEKP?xj_xZ!(̉ A->=?IGξ#\ͤ_fϲO<VN'BZO&bOOi씥OϿ߭M}A7>hx:C\ 뼸B7} d)+{Z,۲3*.3mFڟ1_,+eT$NPL:tX!=fr?IT6T*ѡ'to<D"0,P|_g~DO_Řuy>T}:SǵHV	+g*<?4PqVL|DUhO_NϞ=?;}ó6N?{"3̘/篢ilt<&<1F~b%Lę"={hF9 1øi4$sP3Sc, "ApdLM2%Q mwm!I},_ߌiύgs\r<g#a~AdƧ'm k:('/Q'I&8{ٿt 1v)tF^I|]r1)wim4.[OhK?Pd4Yd:=Ƹ Ijw2%4څjS3vr3=<%J_?Ne; -?CC =	RI# 7U?#VCBIsd;9Nڠ}>J.F6xK@[нaE:>81x-x-P-#`e##Hl!E6˽'O_?ӷG߃.NsYsǅ斅mȑӳhauޫ9_\jt}~_pO`HF{u5rSjQ?7Kf<veu\jEauQ^ь?6d$YK -aLW'/sXRS	-i,L{"&~7ɤطN9 $zV=}_uvCmhm>3e^4}Ea&i&N?{#Vooyx Mj~_wr3tZ_3RͿB:g?y~6}	GRnJ]°Yi~(ʶ%&wĲJi2Jn7B5D00l~1FYXBȬ>[`̲r̆cg2bTUTUUeŨ+.)2FUQ3h&^O
5oCqEZ-Znkq{&4ҸKst-VuQtmab2H
"}}W}ݗ}׼gdeXپF9۞J0,²FiBMҳgiܛ`hioi99>*eYĖ(+"(9DkƆ.bdFѝ4OYC"C,xC -Nf5o.s9C`8QRkTN:kV2D~:+SCmG0|eKYjg3,uE6ӧz/txŭxG&'h83Q<%Zim[6͒JG+Pd.l]	yy]f,e
N
_;W-ƳT|G~p:._4"?8u^;_#W	o_M]ͧlBUX18.-feTlSAZfev?/V[?)_m<v1ˈ$u4_Wɨ'u;ܚ-Ӽ5kv*fTx8!J[?wj~y\VϫgbsKX\FCЃo+]=di|tɅڥCG..3rV*hnLP=;^VCswDOM
R",SXvK2i`\نιhCn#pYćʲ敟ٻcǋT[lT6b[r15-.)Ј@0XIdG{rՁ3yՎW>Y`,}HxBEm0ڠ*вvL8@%&mRKӭi@Տ~F	ޑXcY**J2u{HȒ1߉\.	cf?}G& μH<RփTw1?mxq{.9\碰ʅ~4,5dr/9Um#GO \ lpIl~mFiPnl@!w!8N{7PM`m{AMƯʂ8/H_;/94ǯ'k2~5pD8<X,T,%u:tٜ+c\vT;_Ybb.bgNT7Jvܽuzr'_
B7kos>Η'/N+:gI<[[g>ptOk+D00i?]h"5ZJ;qCMC} TaNf.~o_rS[ô^pশ8i=_u*ˆ߫׏7/UG.=+hTdRV@VerLa?b[NE>kcPokd"&AtC3u<NhS;5YS;UTT-));Ut*[N*aP8UrS}NGi)<[Clfh°-^OA39VC=Y$H[蕁Ur}[,/+?C\eZ5byXAJ!vly1XAJ!jJp,$UaqquS[396>Onl*ͮ `8og8+Du<Mk?9Mx2ong2%e1^`GauшlFy2at5*14n`Ԇ<%r<OxFw("xdL z)b;8nA4rů'N3uyp|1.-B]`.*q6:ҟƸ,]G"@˻,h1]oQ2h4OQo0y$&dwB)f/w`x;Х*6iyi]ް S<F/)j'(Qk݋ZN'h_`9'dtU!I<|$qSNhV`=ӵ[:qBs+3>omlva<dtIE&6a(8S
}Lbjg8O$rz\!ecnOsfKx-Fw¯!!6`ʵj}K1$3	qX(otAHb'i91{Оb*qB+	S;pytG?ꈠ1U.dDwKG*^Lh">;e^zbvm<_K=b`hPxQ;7c(FUz<(7S~2C]&i4HiJ#(6NG BG (јwڿ'#!]gD~F7קN'I6<eSdvOI^Nݜdġ|/.T:di5h;;b:Z'h`Nq'jDZS=Rp{uo;ų <pky%EynLAX=f3k"~môqn"A˳iKv~K_m4Iz<D8=ͪ?/}E\uOqڎN3-jsTȏd4 2q@hu&u۸ȟ@
Ӈ [k32yaү_w:3P b2xKxHxBYa"Eqx+q%!%vi,kii(v>oAo++^UtiLF,j"eWM~SFzY*tIۺ/XP}5HחRM4f"*gx9LqlsSf[Uّףv_G#ua3_S3+lSlRUd]3>4+L~.ΆiN%$S;}LXи2ٙZ#t 	;Ec-=^p$X={Mt*xGOeE&}zoZLp^q]J|^GD4nlENh"!kNԚU:{!a(g"x,K5U}IF EI0d(S8鯻J2jҤN1>aR
UH/tֶ~.r,˕爯[ꘄ::հag}mӡZen/)Djϭe 4>NTM̱1o}x^CόcZ?ӧ1-z|v쌔/}~1MȚfT&a;B] ɬQ' d& g1K|f1U>xSW2+XE`Y@P=+4̖S\u\yU#xF&x#fL붤
6^+ASv(Q5/*cj@,qtT@y {!<)Fpb *sHqi璔"vE"\A+\j0yIkQ!,#jDRc,7EzmHԘ=(nF{)%grV	D 0SR.W0:P) 9{f2u6&{t'YցmgޤPł.a׳7 RmݷWx%x,nxѥgt/Ƌр񅫹;UeC;0ߦ(um#]ljpѬ?QqUO \&FY
@Q%OnB|T&Gwuol_8+a&6۪ /0p|%}2wRAs H6 cx@(":frP܊N'7ܸoDperWX{a	'PULg)G[Ps_9ix'\yʪރ|蹓& '0s⭷}'OO?oNtuSJ|"%(4!Ɉg$I(Y"1muKF SkkLt|kty!lW	Raｱ8KRD}̅͜#Wq}'E=.~Cq!n݄2)bݝV\w\ɫ-O0^l4m<4{!jqkƖQt3Zd1VCर#	B=hE8&pbqpnU}rLۯF;nF;n7C;z\ biV,d5qAP3{C5c3m;png L=6\l)ݎ&wp9͓UюdY)l=`m&Mx5&zc%KCgQk־ĔW5EAk)LŬ\odO~yi`	DCU	5 }<o<oub`]y[4w]Q:ͳ]?#j, p4Ȳy
5,o'\IDSFVEEJ<7
[)QQR!n"O&WPBDUEŭ#)]CPURU2ix,"*;Oz%8H)
ǛJzH)2*)QNDtUR1FV6bzb/`M+̜2cDna>AH08[g6(YChܪ8Jw~9@( ,bIxS2l:fw@uwrXAPȘ={a\Bi
Ԑ~]ͣHJYnǄ~O,IМ6g`s6؜.YJwza'Q h݆^/)A$y"rz<O۲%U>nLZF;_FM={m02Юnq{ֻh%=èҍbL@FؔoMyI-H84_Mh+ )UWr)ad\v8×FYm#z[b&Vkv͎wlG?H9~i.얷.i$<r{NhCk-Z.Bdՠp\joMd՜k5ZnV#Rs`K[	uۅrdn&D9f0		:.xqUt\x-'.-Kup:nqn6:n6:n6:u\V`;rhKI%Ev~ȯB"k@ ە)#qd8j-v"RYy셕g &Ŗ0R4;l7yf}=]1؞i#^H{p5>Zpxy<n]q.6ǉcĕqʘnIL$[GV>+ʊXeEP_N9H)-lj.LK!2ݳB'#Bȳ$F/C(I0]󅵼h><oYGgN*&ٕ1R+FJĬ*ۗ*M"EVx,{y.,i4q~ryc\K2\?\LFAlضJ\0RmѪPnlڍMi6Ƥ}&#O.xebf1]|JY,.܉*MLdG6ܞ
S[-[3ƭR|f`ApЉbRSeqmz|<2vhF?nF?nF?ބ~\&:*-;Ӑ}wrY>J.7֜ۏ-[a?ƴY5\Eb}XnVh5bzLE24n"-t}Gi\`@7H6R5#ǙiLúp8ތK SѦ]':e	oz{)?+IdL:=#h{}ʼ5E)9#N /b.CBڜO$hd9VH$D";nAF4AF;vh:Ju͓	0/Aa@&hMPG^){߂J(e	 *	YDQ.J(cQ%A ʘFTIel#$2U/Q%Aq Js,*	sDQ9J(Q%Aq 8GTIe#$B_9J(Q%Aq J(	2UD*	sDQ9J(Q%Aq2UD*	sDQ9J(Un$8GTIe#$2UD*	sDDq 8GTIe#$2UD*	T1p+Q%Aq 8GTIe#$ڿsDQ9J(Q%Aq 8GT 0N{pPQOIӫf*R=G@6gVo;@(xF))\m]/9
A{o3E̓Hq^v3r(\0+I(tH~R$'^C~8"y
:Yιp845Hppp1qj&z]ogPTK5Nvnzwq*c3SuΈDًۙx͵͵*kٙ'7ײ7ײoZ@2[q^V&LQNG;I*DpOlfsVCǗqN:.xE5kF5״E3s"sߒ~[n1x#p,Ӿ n80Rmфq80#ܹ=LuwHKa`myrTo,;QO3Y=,|I.֜ɐ eIMd9\qṿSYfV1Wsm>P.Hk\+Z%׊2XHhTުUdSq#"e6z^.l<ͱ6hqyA|:=-ZEn!Б=4W4vR1t4B;CH'&78;tQG{c]ǇmȪя!']h&[7q7Ê3g
5i|MH;QPuõLqH脁-r Q#mU.gV7XVd+ڀv44xl]-g&S%SQ;7΍ܨ:v+|aeqI.	M\K"'J(=O@eq`w.FVˣm>eX!	.7FMмfU|
QM-8Z9dKnsruYBIv!vR#/34irU dT>$ɔ\Bk2%sw)YdJL&Sɔ,Md	b)Y7%MddJ 6%)ygw&vwFj/,˝7|KX.5(=,(+wl%68pSE,:9|r9T%inOڸˌgA8۷+m_c#8naW.6=ǣǑ40Hj1IL*US',)Y[+<8g[D2 rW)E4KfY2*0Ѵ)	&#JV\k
n$N8i>e0xaA57YeY,& CX8YM&S)i{n𮼛Jv4lmB!,hčr;N/$d< >K  Db׆n0_ʨʨ}2*B	
veұYG܂3 ]hY$ks~ɟX$	9d撎!S HBvHTtȹ[7Ru%cx=Ǵ72a#g9$SeAIX>r xgm;Θ[K=ݨgQ$7	}J4AMPr%QҜK
&fW޹StI4f30=ra|Q纤qe)NMa ]^
|MFk?vPȤ琹n
aKz!(v;ZZM(d2Gzoq	}Oq>W0͒t;F;7b"zWߋ<&hS{><"V-|+F0Or=L#2b#֮!٪N$١Z!=86kj[Zĩ"2-!	Xv|hɒ6kCXI@b5yGġ<YP;GlH#&;"AlH#&;"AlH#7$Lpu/FԱve1𩒋(yp]US|mZ&rfkH(l,xk&rG:q/Bl" ݣ۸.v"b1q Uc^\rCÍ.jyLm]*P0 7d\3oR][R:l=e&7Y'xt5.TZi܇B#K%M=7>_׶i%"i1WiƓ(wP+I K^!H.7pБKؾ ed2ɏuF739.ڴͽ{MIQa\FFMEA2>7ɨ[wG<:nUamn%9mIpX4;pB3}`+
axSʣz%4F) ƩC㉅1ƭbW,1.wXc/_2wYB82\AR&%hɲGC-Y	|%&VB1\5tW.(rAe\P^pBYؽȷ/GnmV*LP5l$,rH#}T=JdK'DN1\ENҰ[  R2aPq~k$ϿrbIcEJ']4J\MrvǶθڶ?3ll,n&G,tt9\ģ~l|L[H$dibrܢIBz$d|B2P(꺏sJsY^P&ўxQs,r[[qF=t:O38r3-ř"
EY0OLFQnFQ.kjʇp	UYOwQPiαNx>Wהʒ$x^&Nn/L'I]bȗ'A{@= iGE^UEʢ!T 蠳
e-v𔌅xvmcN(w|0{`Nj/Ƌxt;#&(ٴߥE7mV"dͯWo}4b0'AZ	X8qڎN3NG5E~Gel_ VgQb	0}g";
8܋Ll>F<tdA ..hRvvtEH=}鯬t8K"qw؆(vڥpAv>a<`ID%;N;W:mN|av6nŰ{1܄?˘*v9(]v'O* ,U<-uL}|ǐׇAws$pPx\F.)ōaxvldߕ>+} |0IЄ7}Wdvs'+uD6DN(~hy*Fm>2dӂ=4b;Tm:_Δ9x6'199 B9C.Oȑ]b462uaI8iH9{A<=7 )~O#:qdKAj_[nCqM&}9aamB<ۊqzDзDDr>_XJ?c}}yL|YǋglOlo`WGɃh`7(ayzZ>Fty[ϥ!BLdgZf}_c$ʠLp^~W^ts>WwJu^Yӫ11pࣧY,^vSI 	׽=é[Ϟ~?~?3iٳON>6ƴٳ3RBx٣{7} {VħX}b̻*=ysdG<zzd+?_쩉r8¥=;U>xSW:5_9͐n=uzV̱xJ0ϾNq1cܠn(Ed)Uim/QqFȍ~\K$wY/yu,b|k*y啼&S2bVc	Ԥ­#fdIܩU/u}o*"[bYxő=$$,n2]/2MZZ+A[r^TqwY$tgҡv<\İ"]Ѱ[,Tͥ}{yB߾g+.5%Fq|djZUZCvbfTks׿PK]QtCu	a*R)%HRt{Cӑ0$:qj'srl?!˓|rضs GubV%5MTRD5AI+%$&it!IkU}Km97}ѦLB9s-q}ܪe1o%5N"܌ٶf*7뺨u]u]	?mw|5np>ߚh{uzcz׳0p*/߻8W;+
ÃۚO,q[{j<ׂo7Zp7ZQh+K2e2J*0l؛mUBHzza~R֑j$pڪ33if>Ffķ
lH@`pˬIP0-{ j"}qiwdccKD|Z%"WIN25WȥҎq&\%vVe2&&N	'5}2:}t%MϗR!k-B|ZF
q);R*ķeTȨR!-B|[F
q_.XCvo_rR$0Ep`F 9{ ;{rH)POI+%ʉ"0D=U$d('ÜtQ0sJSf.77 dͯawqb>\eHQBp{~ձEWȲa2~P|H}'x2<+7/4}Qp6.<'аBSnjkFM 
{k#ym'VkoDP"h#~|>B!0p2
jY Imʲwb8x	c/S/A<pov#zo@dkz9ʸVʶ`@G"Ur%	R-'[w"NCw3|f*YsK=
҄y<{VLEǯútRik>tf^ K<`_=/hٝ\ٵ@R&K^1i59Bɖ	%,#[!lG߿8*hSk/I"(ؚ jHez~v-y^?_d\pG)SS`n2͐	ͳl=y!u+jC`k9D"(!ۘ]нd2 Fa2:1PNݨr.=9e5MAAD4on#"\MdC8'M 㨁-c
	m0ppwV>_	qqv87{~{_%Hc#˱'ILYO\-Zȝon'dL9kݸT3zXhξZ]{\q
Zt9o<O0DDlϳ7UU\1U>?Vv yxa-a{{E0jn}z	$!yX-]Eoz*Bޝxv<܌7rcJNȹp~|ςƳ,h<ς7׳`ij8j7HGH{ǯL(ikxMoۖ3^߮"?VEQtEQtE]bC{,cH/>Gi:I.?7Ѥ%ʹewfI!]L`Dԍyk|x:"e2:ekC<٠~N?$92N5ǿh0X{dcϴ1CL5ؼM{!p"biCdmf#\33;W'",1@|)\wrss(YNK^*`߄ySd]v9ǵ uŋKG{:UNvnǎ'YP<J<pdFx,SĢڽgd3n3K(#F+I6lݼ7Ԉ.3|vok<{K2j¾id@W\`aS).%R|	
<c7v Z>̧MOȠxBw]N]MNuzW^$_JWwNw<4T?@tKMƠlίU	Lkш;`Pc!<*1}"4zAis"l&(
NbDCbCK7qdzʻ9 4^(vg!p'h !"wh|ٮwjx]|ͭzGglӫ]/F|aBZZ)k']|Z]˓kG<mJ81x<GIRiRF	K&SSeS\FfX]y@z+5)M뮒gpN.gogH9=!}}BF@]QT56fOJ(Eҥ	@L4Xpn0lŵ
@uҎWWE^a|?i<%x`ʗVVG2qeSGO_J&j{h
d]$#cD`6l.yS]kR;vgu&a ti 9`ݤs	C[2l{q@z{JB!l>&ՠβTKSQ2]vX5[d{H]'g prk߻+q.ZAܞㄖІ*#DwÔ->46fjӆ 4CEgd7TZN=Ra*FDۈ~ww&\ LxQZDPv}6'FM^(<]+ukDpVmwPgn-ZKZS[6ČChYOh4ZRZRҠ+]kyt)F6}Y?O/ƅG	Aڃ
3u&&1,+wB+ېT6
YCA=yYx;*obҭz6ki<*K*LI"'
	!Cwn00ь}RCr/܈!R=N gO)@f/("clkU;9yk H%cJ{.׳M3Tǂ j&T9sLCN"*`=AB2
,k>1  r>-.mbvMMy
_BG稕8O".?{)wޖ.lM!1!϶&r،ZsW6(3A;00	pkUKb tNڒrh`EXWb %]ݒi)c@)n4'w0~MFNn4"#<On:ge%3VA:E@զnrW-1*5&|f9Ũ˾zIX!5^ʬ6zMbrS:IVȩFm,Q'dZD0f;r3:H
ި)F,[o*ӓS2PۨĒzK[`^K Q3}RCi~)^K8~.hӪ41j
L5vVdg7ɬWW:Fvt+ҽ)0-C=m[!
BN`ǶϹϴJ>}u
d'H衶7.j0@C?@TEKΕh(_㕰+`_';Q_jEPjЯ $kUdr*|/sQky.ʑjnZ,()KK	bOA;IKWii)JKI4ROW`>'M5RUW2쩔>]0Y AKs-U%e[H\:m~/bU4$_'n~M~ܤnw#avE̻D0Wh&Ԩ$s PX)K0]he,-~w6(sP VGa6mZKelBv.	o.'`s#S5 6*]Chm{n:ys,Eaa,$KtD?Iǳ\gsNBc8ie~ko^MWݕMM1Ld~'x6^L	&䴌'Hj];5wnnr#
,&uDk9Mzz*y3n_3'Nc1Nem4Fjs݌q8.ocR3mۙCf$YMuHz_իs1UPcs(xZش:l7РB%L-x8qP9$0FXoPMe#=Rs?^('CfҰ&sQ0#^wgrd^1=zZWi[cn-jX2{ kNsl[ngk/ v/\>w0@OklVdu(M;OȉtkԀ~e+=FQǏ>O{U|˳gOY.w\vf.ٵw?ힰ49e3%Y*nDSힸt$Kliƛ赒KFJ'Xmx	o9;6{W4(fno;5;@j{Xc*wmPF,9 {aj-b>WnP3>Cwacx	Cb_Xy;~o~Ɉvq(K@BBV7!*1:Qk_!>6/X5L.&ȩtTFp\o4R4b ~<sc RG,dj /xsSDa50:%PJ7 T\ K¢y[WdMKUKK/-]tR͗_Z|i-˗_Z|i-˗/AjrVK[6UirÙ.gںi9L[3m]δL[3m]δL˙OA\R3dHGeHTU+2à.:fPGA]uePGA]ueP/:A<jFu*tuaKW-]]tljǖ.[˲ǖ.[˲'`Kjc1N3bI͝;=wzuOO?=]tS͟z-˟z-˟??^՜+9Wp	|˗._jK_/eK_/e2PeR~M/%_
$f/]t2@/5_|e˗|e˗|eq&d\Fr]Qrg+|Vzf*l2j˨QCmF5epYF5epYFE&S?|UlL.mǦo*9M%f e/\Zo
y
U
g75ӱț+аɛB.C([9?40jA8VpDe@"^!HHH$$%%m.:Gwx?zzNu9Y!Cz:aBS(S4h3ݒExm)*-HC:621csLYwn&zљTD:LMd8+!-OM<ۊ]ҷ$ay#IvZp&W>S5ewQ4.];$?G]Xr"Ԗh~tЩ/1EJo[hmهO[!"c98         nodeconntype       INDX              DialogScript      gFm+   CreateScript  g  AFm+   TypePropertiesOptions     Fm+   Help      Fm+   Contents.gz    Fm+   	OnCreated  
L   OECU   ExtraFileOptions  
   nFm+# Dialog script for linktosourceobject automatically generated 09/13/07 13:02:35

{
    name	linktosourceobject
    script	sourceobject
    label	"Link To Source Object"


    help {
	""
    }

    inputlabel	1	"Input 0"
    inputlabel	2	"Input 1"
    inputlabel	3	"Input 2"
    inputlabel	4	"Input 3"

    parm {
	name	"objpath"
	label	"OBJ Path"
	type	oppath
	default	{ "" }
	range	{ 0 1 }
	export	none
	parmtag	{ "oprelative" "." }
	parmtag	{ "opfilter" "!!OBJ!!" }
    }
    parm {
	name	"sharedata"
	label	"Data Sharing"
	type	ordinal
	default	{ "off" }
	menu	{
	    "off"	"Do Not Share Data"
	    "on"	"Share Data Across All Time"
	    "onestep"	"Share Data In One Timestep"
	}
	range	{ 0 1 }
	export	none
	parmtag	{ "autoscope" "0000000000000000" }
    }
    parm {
	name	"activation"
	label	"Activation"
	type	integer
	default	{ "1" }
	range	{ 0 10 }
	export	none
	parmtag	{ "autoscope" "0000000000000000" }
    }
    parm {
	name	"group"
	label	"Group"
	type	string
	default	{ "*" }
	menutoggle	{
	    [ "opmenu -l emptydata1 group" ]
	}
	range	{ 0 1 }
	export	none
	parmtag	{ "autoscope" "0000000000000000" }
    }
}
# Automatically generated script: Thursday September 13, 13:02
\set noalias = 1
#
#  Creation script for linktosourceobject operator
#

if ( "$arg1" == "" ) then
    echo This script is intended as a creation script
    exit
endif

# Node $arg1 (Dop/linktosourceobject)
opspareds "" $arg1
opexprlanguage -s hscript $arg1
ParmsFromVfl := 1;
PrefixDroppedParmName := 0;
UseDSParms := 1;
ForbidOutsideParms := 1;
LockContents := 1;
CheckExternal := 1;
GzipContents := 1;
MakeDefault := 1;
PrefixDroppedParmLabel := 0;
UnlockOnCreate := 0;
      WnF\&\% /VnUVqM6cf(3DqWyljV],ss>wO]~ O// |WoFrWPG^#Ovۇ|'KVr2'KNY*B}'Tx4Ѐ#yNDe\269ȱ=|3&
UEF :xzr`WEF$՛5(S8ZJӋTy-.)[R/tdpV,dDo wQISbfʊJ
yo
I$,KP9l|:N׻F{ #Lx>q:Ėo-Rҝޔ>G!~ЋOogmBTD\- ,36Pryl=c2cQdwa8&F`(ZDWb6z=FxCo~(w^]#>ryMtϡsgςo03/m;-\m\V񖖯3mnv_q0CE e$-щTuy'Z^|)rHI;{C^Ѝp8D-*upJ^	89lEuc{}#"
хŰ'pmJ^CNBl@ycX_WԀ5`r^8PrƠ-&OW19}	m%vĺtUFEߵ>Ha`$=wMMb=hm3Y@cc7ИI?ZZgKS~8;]Dk>\י-m?3b7bڈiR=uRݟ1@zO~  2965n4JsFQsU9@쟬C㸧ǲ6QXB-)_pG-rXVƣs涟W/iN-4Qit\/ɉ_  chadd -t 0 0 $arg1 activation
chkey -t 0 -v 1 -F 'constant()' $arg1/activation
    OnCreated/IsExpr        OnCreated/IsPython        OnCreated/IsScript       OnCreated/Source     INDX              DialogScript     }Ri@&   CreateScript }  rRi@&   TypePropertiesOptions   Ri@&   Help     Ri@&   Contents.gz   ;<Ri@&   InternalFileOptions Q   Ri@&   ExtraFileOptions k   Ri@&# Dialog script for smokeconfigureobject automatically generated 10/24/13 11:43:34

{
    name	smokeconfigureobject
    script	smokeconfigureobject
    label	"Smoke Configure Object"


    help {
	""
    }
    bindhandle sizex xform "Transformer" sx ""
    bindhandle sizey xform "Transformer" sy ""
    bindhandle sizez xform "Transformer" sz ""
    bindhandle tx xform "Transformer" tx ""
    bindhandle ty xform "Transformer" ty ""
    bindhandle tz xform "Transformer" tz ""

    inputlabel	1	"Objects to be processed"
    inputlabel	2	"Input 1"
    inputlabel	3	"Input 2"
    inputlabel	4	"Input 3"

    parm {
	name	"twod"
	label	"Two Dimensional"
	type	toggle
	nolabel
	joinnext
	default	{ "off" }
	range	{ 0 1 }
	export	all
	parmtag	{ "autoscope" "0000000000000000" }
    }
    parm {
	name	"voxelplane"
	label	"Two Dimensional"
	type	ordinal
	default	{ "xy" }
	menu	{
	    "xy"	"XY plane    "
	    "yz"	"YZ plane"
	    "zx"	"ZX plane"
	}
	range	{ 0 1 }
	export	none
	parmtag	{ "autoscope" "0000000000000000" }
    }
    parm {
	name	"uniformvoxels"
	label	"Division Method"
	type	ordinal
	default	{ "max" }
	menu	{
	    "nonsquare"	"Non Square"
	    "x"	"X Axis"
	    "y"	"Y Axis"
	    "z"	"Z Axis"
	    "max"	"Max Axis"
	    "size"	"By Size"
	}
	range	{ 0 1 }
	export	none
	parmtag	{ "autoscope" "0000000000000000" }
    }
    parm {
	name	"uniformdiv"
	label	"Uniform Divisions"
	type	integer
	default	{ "10" }
	disablewhen	"{ uniformvoxels == nonsquare } { uniformvoxels == size }"
	hidewhen	"{ uniformvoxels == nonsquare } { uniformvoxels == size }"
	range	{ 1! 300 }
	export	all
	parmtag	{ "autoscope" "0000000000000000" }
    }
    parm {
	name	"div"
	label	"Divisions"
	type	integer
	size	3
	default	{ "10" "10" "10" }
	disablewhen	"{ uniformvoxels != nonsquare }"
	hidewhen	"{ uniformvoxels != nonsquare }"
	range	{ 1! 1000 }
	export	none
	parmtag	{ "autoscope" "0000" }
    }
    parm {
	name	"divsize"
	label	"Division Size"
	type	float
	default	{ "0.1" }
	disablewhen	"{ uniformvoxels != size }"
	hidewhen	"{ uniformvoxels != size }"
	range	{ 0! 10 }
	export	none
	parmtag	{ "autoscope" "0000000000000000" }
	parmtag	{ "units" "m1" }
    }
    parm {
	name	"size"
	label	"Size"
	type	vector
	size	3
	default	{ "1" "1" "1" }
	range	{ 0! 10 }
	export	none
	parmtag	{ "autoscope" "0000" }
	parmtag	{ "units" "m1" }
    }
    parm {
	name	"t"
	label	"Center"
	type	vector
	size	3
	default	{ "0" "0" "0" }
	range	{ -1 1 }
	export	none
	parmtag	{ "autoscope" "0000" }
	parmtag	{ "units" "m1" }
    }
    group {
	name	"std_switcher_0"
	label	"Guides"

	group {
	    name	"folder0"
	    label	"Visualization"

	    parm {
		name	"multifield_showguide"
		label	"Multi"
		type	toggle
		nolabel
		joinnext
		default	{ "off" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"multifield_color"
		label	"Multi Field"
		type	color
		size	3
		default	{ "1" "1" "1" }
		range	{ 0! 1! }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"density_showguide"
		label	"Density         "
		type	toggle
		nolabel
		joinnext
		default	{ "on" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"density_color"
		label	"Density"
		type	color
		size	3
		default	{ "1" "1" "1" }
		range	{ 0! 1! }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"temperature1_showguide"
		label	"Temperature "
		type	toggle
		nolabel
		joinnext
		default	{ "off" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"temperature1_color"
		label	"Temperature"
		type	color
		size	3
		default	{ "1" "1" "1" }
		range	{ 0! 1! }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"fuel_showguide"
		label	"Fuel             "
		type	toggle
		nolabel
		joinnext
		default	{ "off" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"fuel_color"
		label	"Fuel"
		type	color
		size	3
		default	{ "0.9" "0" "0.9" }
		range	{ 0! 1! }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"divergence_showguide"
		label	"Divergence   "
		type	toggle
		nolabel
		joinnext
		default	{ "off" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"divergence_color"
		label	"Divergence"
		type	color
		size	3
		default	{ "1" "0.8" "0" }
		range	{ 0! 1! }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"burn_showguide"
		label	"Burn            "
		type	toggle
		nolabel
		joinnext
		default	{ "off" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"burn_color"
		label	"Burn"
		type	color
		size	3
		default	{ "1" "0.8" "0" }
		range	{ 0! 1! }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"heat_showguide"
		label	"Show Guide Geometry"
		type	toggle
		nolabel
		joinnext
		default	{ "off" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"heat_color"
		label	"Heat"
		type	color
		size	3
		default	{ "1" "1" "0" }
		range	{ 0! 1! }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"velocity_showguide"
		label	"Velocity        "
		type	toggle
		nolabel
		joinnext
		default	{ "off" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"velocity_color"
		label	"Velocity"
		type	color
		size	3
		default	{ "1" "1" "1" }
		range	{ 0! 1! }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"collisionmask1_showguide"
		label	"Collision       "
		type	toggle
		nolabel
		joinnext
		default	{ "off" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"collisionmask1_color"
		label	"Collision"
		type	color
		size	3
		default	{ "1" "1" "1" }
		range	{ 0! 1! }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"sourcemask1_showguide"
		label	"Source         "
		type	toggle
		nolabel
		joinnext
		default	{ "off" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"sourcemask1_color"
		label	"Source"
		type	color
		size	3
		default	{ "0" "0.9" "0" }
		range	{ 0! 1! }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"sinkmask1_showguide"
		label	"Sink             "
		type	toggle
		nolabel
		joinnext
		default	{ "off" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"sinkmask1_color"
		label	"Sink"
		type	color
		size	3
		default	{ "0.9" "0" "0" }
		range	{ 0! 1! }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	}

	group {
	    name	"folder0_1"
	    label	"Multi"
	    grouptag	{ "import_enable" "1" }
	    grouptag	{ "import_source" "op:multifield" }

	    parm {
		name	"multifield_usebox"
		label	"Bounding Box"
		type	toggle
		joinnext
		default	{ "off" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:multifield" }
		parmtag	{ "import_token" "usebox" }
	    }
	    parm {
		name	"multifield_useboxhash"
		label	"Bounding Box Hash"
		type	toggle
		default	{ "off" }
		disablewhen	"{ multifield_usebox == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:multifield" }
		parmtag	{ "import_token" "useboxhash" }
	    }
	    parm {
		name	"multifield_rangemin"
		label	"Minimum"
		type	float
		default	{ "0" }
		range	{ 0 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:multifield" }
		parmtag	{ "import_token" "rangemin" }
	    }
	    parm {
		name	"multifield_rangemax"
		label	"Maximum"
		type	float
		default	{ "1" }
		range	{ 0 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:multifield" }
		parmtag	{ "import_token" "rangemax" }
	    }
	    parm {
		name	"multifield_densityscale"
		label	"Density Scale"
		type	float
		default	{ "1" }
		range	{ 0! 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:multifield" }
		parmtag	{ "import_token" "densityscale" }
	    }
	    parm {
		name	"multifield_shadowscale"
		label	"Shadow Scale"
		type	float
		default	{ "1" }
		range	{ 0! 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:multifield" }
		parmtag	{ "import_token" "shadowscale" }
	    }
	    parm {
		name	"multifield_setmaxres"
		label	"Set Max Res"
		type	toggle
		nolabel
		joinnext
		default	{ "off" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:multifield" }
		parmtag	{ "import_token" "setmaxres" }
	    }
	    parm {
		name	"multifield_maxres"
		label	"Max Vis Res"
		type	integer
		default	{ "128" }
		disablewhen	"{ multifield_setmaxres == 0 }"
		range	{ 1! 512 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:multifield" }
		parmtag	{ "import_token" "maxres" }
	    }
	    group {
		name	"folder3"
		label	"Smoke"
		grouptag	{ "import_source" "op:multifield" }
		grouptag	{ "import_token" "emitswitcher:Smoke" }

		parm {
		    name	"multifield_densityfield"
		    label	"Density Field"
		    type	string
		    default	{ "" }
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		    parmtag	{ "import_source" "op:multifield" }
		    parmtag	{ "import_token" "densityfield" }
		}
		parm {
		    name	"multifield_densityrampmode"
		    label	"Mode"
		    type	ordinal
		    joinnext
		    default	{ "clamp" }
		    menu	{
			"none"	"No Ramp"
			"clamp"	"Clamped Ramp"
			"periodic"	"Periodic Ramp"
		    }
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		    parmtag	{ "import_source" "op:multifield" }
		    parmtag	{ "import_token" "densityrampmode" }
		}
		parm {
		    name	"multifield_densitypreset"
		    label	"Density"
		    type	ordinal
		    default	{ "none" }
		    menu	{
			"none"	"Presets"
			"increasing"	"Increasing"
			"descreasing"	"Decreasing"
			"hill"	"Hill"
			"valley"	"Valley"
			"step"	"Step"
			"square"	"Square"
		    }
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		    parmtag	{ "import_source" "op:multifield" }
		    parmtag	{ "import_token" "densitypreset" }
		}
		parm {
		    name	"multifield_densityramp"
		    label	"Density Ramp"
		    type	ramp_flt
		    default	{ "2" }
		    range	{ 1! 10 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		    parmtag	{ "import_source" "op:multifield" }
		    parmtag	{ "import_token" "densityramp" }
		    parmtag	{ "rampfloatdefault" "1pos ( 0 ) 1value ( 0 ) 1interp ( linear ) 2pos ( 1 ) 2value ( 1 ) 2interp ( linear )" }
		    parmtag	{ "rampshowcontrolsdefault" "0" }
		}
		parm {
		    name	"multifield_cdfield"
		    label	"Diffuse Field"
		    type	string
		    default	{ "" }
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		    parmtag	{ "import_source" "op:multifield" }
		    parmtag	{ "import_token" "cdfield" }
		}
		parm {
		    name	"multifield_cdrangeoverride"
		    label	"Diffuse Range"
		    type	toggle
		    nolabel
		    joinnext
		    default	{ "off" }
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		    parmtag	{ "import_source" "op:multifield" }
		    parmtag	{ "import_token" "cdrangeoverride" }
		}
		parm {
		    name	"multifield_cdrange"
		    label	"Diffuse Range"
		    type	float
		    size	2
		    default	{ "0" "1" }
		    disablewhen	"{ multifield_cdrangeoverride == 0 }"
		    range	{ 0 10 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		    parmtag	{ "import_source" "op:multifield" }
		    parmtag	{ "import_token" "cdrange" }
		}
		parm {
		    name	"multifield_cdrampmode"
		    label	"Mode"
		    type	ordinal
		    joinnext
		    default	{ "clamp" }
		    menu	{
			"none"	"No Ramp"
			"clamp"	"Clamped Ramp"
			"periodic"	"Periodic Ramp"
		    }
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		    parmtag	{ "import_source" "op:multifield" }
		    parmtag	{ "import_token" "cdrampmode" }
		}
		parm {
		    name	"multifield_cdpreset"
		    label	"Diffuse"
		    type	ordinal
		    default	{ "none" }
		    menu	{
			"none"	"Presets"
			"false"	"Infra-Red"
			"pink"	"White to Red"
			"mono"	"Grayscale"
			"blackbody"	"Black Body"
			"bipartite"	"Two-Tone"
		    }
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		    parmtag	{ "import_source" "op:multifield" }
		    parmtag	{ "import_token" "cdpreset" }
		}
		parm {
		    name	"multifield_cdramp"
		    label	"Diffuse Ramp"
		    type	ramp_rgb
		    default	{ "2" }
		    range	{ 1! 10 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		    parmtag	{ "import_source" "op:multifield" }
		    parmtag	{ "import_token" "cdramp" }
		    parmtag	{ "rampcolordefault" "1pos ( 0 ) 1c ( 0 0 0 ) 1interp ( linear ) 2pos ( 1 ) 2c ( 1 1 1 ) 2interp ( linear )" }
		    parmtag	{ "rampshowcontrolsdefault" "0" }
		}
	    }

	    group {
		name	"folder3_1"
		label	"Emission"
		grouptag	{ "import_source" "op:multifield" }
		grouptag	{ "import_token" "emitswitcher:Emission" }

		parm {
		    name	"multifield_emitscale"
		    label	"Emission Scale"
		    type	float
		    default	{ "0" }
		    range	{ 0! 10 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		    parmtag	{ "import_source" "op:multifield" }
		    parmtag	{ "import_token" "emitscale" }
		}
		parm {
		    name	"multifield_emitfield"
		    label	"Emission Field"
		    type	string
		    default	{ "" }
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		    parmtag	{ "import_source" "op:multifield" }
		    parmtag	{ "import_token" "emitfield" }
		}
		parm {
		    name	"multifield_emitrangeoverride"
		    label	"Emit Range"
		    type	toggle
		    nolabel
		    joinnext
		    default	{ "off" }
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		    parmtag	{ "import_source" "op:multifield" }
		    parmtag	{ "import_token" "emitrangeoverride" }
		}
		parm {
		    name	"multifield_emitrange"
		    label	"Emit Range"
		    type	float
		    size	2
		    default	{ "0" "1" }
		    disablewhen	"{ multifield_emitrangeoverride == 0 }"
		    range	{ 0 10 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		    parmtag	{ "import_source" "op:multifield" }
		    parmtag	{ "import_token" "emitrange" }
		}
		parm {
		    name	"multifield_emitrampmode"
		    label	"Mode"
		    type	ordinal
		    joinnext
		    default	{ "clamp" }
		    menu	{
			"none"	"No Ramp"
			"clamp"	"Clamped Ramp"
			"periodic"	"Periodic Ramp"
		    }
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		    parmtag	{ "import_source" "op:multifield" }
		    parmtag	{ "import_token" "emitrampmode" }
		}
		parm {
		    name	"multifield_emitpreset"
		    label	"Emission"
		    type	ordinal
		    default	{ "none" }
		    menu	{
			"none"	"Presets"
			"increasing"	"Increasing"
			"descreasing"	"Decreasing"
			"hill"	"Hill"
			"valley"	"Valley"
			"step"	"Step"
			"square"	"Square"
		    }
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		    parmtag	{ "import_source" "op:multifield" }
		    parmtag	{ "import_token" "emitpreset" }
		}
		parm {
		    name	"multifield_emitramp"
		    label	"Emission Ramp"
		    type	ramp_flt
		    default	{ "2" }
		    range	{ 1! 10 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		    parmtag	{ "import_source" "op:multifield" }
		    parmtag	{ "import_token" "emitramp" }
		    parmtag	{ "rampfloatdefault" "1pos ( 0 ) 1value ( 0 ) 1interp ( linear ) 2pos ( 1 ) 2value ( 1 ) 2interp ( linear )" }
		    parmtag	{ "rampshowcontrolsdefault" "0" }
		}
		parm {
		    name	"multifield_emitcdfield"
		    label	"Emission Color Field"
		    type	string
		    default	{ "" }
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		    parmtag	{ "import_source" "op:multifield" }
		    parmtag	{ "import_token" "emitcdfield" }
		}
		parm {
		    name	"multifield_emitcdrangeoverride"
		    label	"Emission Color Range"
		    type	toggle
		    nolabel
		    joinnext
		    default	{ "off" }
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		    parmtag	{ "import_source" "op:multifield" }
		    parmtag	{ "import_token" "emitcdrangeoverride" }
		}
		parm {
		    name	"multifield_emitcdrange"
		    label	"Emission Color Range"
		    type	float
		    size	2
		    default	{ "0" "1" }
		    disablewhen	"{ multifield_emitcdrangeoverride == 0 }"
		    range	{ 0 10 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		    parmtag	{ "import_source" "op:multifield" }
		    parmtag	{ "import_token" "emitcdrange" }
		}
		parm {
		    name	"multifield_emitcdrampmode"
		    label	"Mode"
		    type	ordinal
		    joinnext
		    default	{ "clamp" }
		    menu	{
			"none"	"No Ramp"
			"clamp"	"Clamped Ramp"
			"periodic"	"Periodic Ramp"
		    }
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		    parmtag	{ "import_source" "op:multifield" }
		    parmtag	{ "import_token" "emitcdrampmode" }
		}
		parm {
		    name	"multifield_emitcdpreset"
		    label	"Emission"
		    type	ordinal
		    default	{ "none" }
		    menu	{
			"none"	"Presets"
			"false"	"Infra-Red"
			"pink"	"White to Red"
			"mono"	"Grayscale"
			"blackbody"	"Black Body"
			"bipartite"	"Two-Tone"
		    }
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		    parmtag	{ "import_source" "op:multifield" }
		    parmtag	{ "import_token" "emitcdpreset" }
		}
		parm {
		    name	"multifield_emitcdramp"
		    label	"Emission Color Ramp"
		    type	ramp_rgb
		    default	{ "2" }
		    range	{ 1! 10 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		    parmtag	{ "import_source" "op:multifield" }
		    parmtag	{ "import_token" "emitcdramp" }
		    parmtag	{ "rampcolordefault" "1pos ( 0 ) 1c ( 0 0 0 ) 1interp ( linear ) 2pos ( 1 ) 2c ( 1 1 1 ) 2interp ( linear )" }
		    parmtag	{ "rampshowcontrolsdefault" "0" }
		}
	    }

	}

	group {
	    name	"folder0_2"
	    label	"Density"
	    grouptag	{ "import_enable" "1" }
	    grouptag	{ "import_source" "op:density" }

	    parm {
		name	"density_usebox"
		label	"Bounding Box"
		type	toggle
		joinnext
		default	{ "on" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:density" }
		parmtag	{ "import_token" "usebox" }
	    }
	    parm {
		name	"density_useboxhash"
		label	"Bounding Box Hash"
		type	toggle
		default	{ "on" }
		disablewhen	"{ density_usebox == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:density" }
		parmtag	{ "import_token" "useboxhash" }
	    }
	    parm {
		name	"density_usesmoke"
		label	"Use Smoke   "
		type	toggle
		joinnext
		default	{ "on" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:density" }
		parmtag	{ "import_token" "usesmoke" }
	    }
	    parm {
		name	"density_guideremapsmoke"
		label	"Remap Smoke"
		type	toggle
		default	{ "off" }
		disablewhen	"{ density_usesmoke == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:density" }
		parmtag	{ "import_token" "guideremapsmoke" }
	    }
	    parm {
		name	"density_guidesmokedensity"
		label	"Smoke Density"
		type	float
		default	{ "1" }
		disablewhen	"{ density_usesmoke == 0 }"
		range	{ 0! 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:density" }
		parmtag	{ "import_token" "guidesmokedensity" }
	    }
	    parm {
		name	"density_guideuseplane"
		label	"Use Plane     "
		type	toggle
		joinnext
		default	{ "off" }
		disablewhen	"{ density_usesmoke == 1 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:density" }
		parmtag	{ "import_token" "guideuseplane" }
	    }
	    parm {
		name	"density_guideplane"
		label	"Plane Orientation"
		type	ordinal
		default	{ "xy" }
		disablewhen	"{ density_usesmoke == 1 } { density_guideuseplane == 0 }"
		menu	{
		    "xy"	"XY Plane"
		    "yz"	"YZ Plane"
		    "zx"	"ZX Plane"
		}
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:density" }
		parmtag	{ "import_token" "guideplane" }
	    }
	    parm {
		name	"density_guideplaneval"
		label	"Plane Position"
		type	float
		default	{ "0" }
		disablewhen	"{ density_usesmoke == 1 } { density_guideuseplane == 0 }"
		range	{ -1! 1! }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:density" }
		parmtag	{ "import_token" "guideplaneval" }
	    }
	    parm {
		name	"density_guidevismode"
		label	"Visualization Mode"
		type	ordinal
		joinnext
		default	{ "false" }
		disablewhen	"{ density_usesmoke == 1 density_guideremapsmoke == 0 } { density_usesmoke == 0 density_guideuseplane == 0 }"
		menu	{
		    "none"	"No Mapping"
		    "false"	"Infra-Red"
		    "pink"	"White to Red"
		    "mono"	"Grayscale"
		    "blackbody"	"Black Body"
		    "bipartite"	"Two-Tone"
		}
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:density" }
		parmtag	{ "import_token" "guidevismode" }
	    }
	    parm {
		name	"density_guidevisdensitymode"
		label	"Alpha Mapping"
		type	ordinal
		default	{ "none" }
		disablewhen	"{ density_usesmoke == 1 density_guideremapsmoke == 0 } { density_usesmoke == 0 density_guideuseplane == 0 }"
		menu	{
		    "none"	"No Mapping"
		    "increasing"	"Increasing"
		    "decreasing"	"Decreasing"
		    "hill"	"Hill"
		    "valley"	"Valley"
		    "step"	"Step"
		    "square"	"Square"
		}
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:density" }
		parmtag	{ "import_token" "guidevisdensitymode" }
	    }
	    parm {
		name	"density_guiderangemode"
		label	"Specify Range by Min/Max"
		type	toggle
		default	{ "on" }
		disablewhen	"{ density_usesmoke == 1 density_guideremapsmoke == 0 } { density_usesmoke == 0 density_guideuseplane == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:density" }
		parmtag	{ "import_token" "guiderangemode" }
	    }
	    parm {
		name	"density_guiderange"
		label	"Guide Range"
		type	float
		size	2
		default	{ "0" "1" }
		hidewhen	"{ density_usesmoke == 1 density_guideremapsmoke == 0 } { density_usesmoke == 0 density_guideuseplane == 0 } { density_guiderangemode == 0 }"
		range	{ 0 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:density" }
		parmtag	{ "import_token" "guiderange" }
	    }
	    parm {
		name	"density_guiderangecenter"
		label	"Guide Range Center"
		type	float
		default	{ "0.5" }
		hidewhen	"{ density_usesmoke == 1 density_guideremapsmoke == 0 } { density_usesmoke == 0 density_guideuseplane == 0 } { density_guiderangemode == 1 }"
		range	{ -1 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:density" }
		parmtag	{ "import_token" "guiderangecenter" }
	    }
	    parm {
		name	"density_guiderangesize"
		label	"Guide Range Width"
		type	float
		default	{ "1" }
		hidewhen	"{ density_usesmoke == 1 density_guideremapsmoke == 0 } { density_usesmoke == 0 density_guideuseplane == 0 } { density_guiderangemode == 1 }"
		range	{ 0 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:density" }
		parmtag	{ "import_token" "guiderangesize" }
	    }
	    parm {
		name	"density_guideiso"
		label	"Iso Offset"
		type	float
		default	{ "0" }
		disablewhen	"{ density_usesmoke == 1 } { density_guideuseplane == 1 }"
		range	{ -5 5 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:density" }
		parmtag	{ "import_token" "guideiso" }
	    }
	    parm {
		name	"density_guideinvert"
		label	"Invert Iso"
		type	toggle
		default	{ "off" }
		disablewhen	"{ density_usesmoke == 1 } { density_guideuseplane == 1 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:density" }
		parmtag	{ "import_token" "guideinvert" }
	    }
	}

	group {
	    name	"folder0_3"
	    label	"Temperature"
	    grouptag	{ "import_enable" "1" }
	    grouptag	{ "import_source" "op:temperature1" }

	    parm {
		name	"temperature1_usebox"
		label	"Bounding Box"
		type	toggle
		joinnext
		default	{ "off" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:temperature1" }
		parmtag	{ "import_token" "usebox" }
	    }
	    parm {
		name	"temperature1_useboxhash"
		label	"Bounding Box Hash"
		type	toggle
		default	{ "off" }
		disablewhen	"{ temperature1_usebox == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:temperature1" }
		parmtag	{ "import_token" "useboxhash" }
	    }
	    parm {
		name	"temperature1_usesmoke"
		label	"Use Smoke   "
		type	toggle
		joinnext
		default	{ "off" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:temperature1" }
		parmtag	{ "import_token" "usesmoke" }
	    }
	    parm {
		name	"temperature1_guideremapsmoke"
		label	"Remap Smoke"
		type	toggle
		default	{ "off" }
		disablewhen	"{ temperature1_usesmoke == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:temperature1" }
		parmtag	{ "import_token" "guideremapsmoke" }
	    }
	    parm {
		name	"temperature1_guidesmokedensity"
		label	"Smoke Density"
		type	float
		default	{ "1" }
		disablewhen	"{ temperature1_usesmoke == 0 }"
		range	{ 0! 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:temperature1" }
		parmtag	{ "import_token" "guidesmokedensity" }
	    }
	    parm {
		name	"temperature1_guideuseplane"
		label	"Use Plane     "
		type	toggle
		joinnext
		default	{ "on" }
		disablewhen	"{ temperature1_usesmoke == 1 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:temperature1" }
		parmtag	{ "import_token" "guideuseplane" }
	    }
	    parm {
		name	"temperature1_guideplane"
		label	"Plane Orientation"
		type	ordinal
		default	{ "xy" }
		disablewhen	"{ temperature1_usesmoke == 1 } { temperature1_guideuseplane == 0 }"
		menu	{
		    "xy"	"XY Plane"
		    "yz"	"YZ Plane"
		    "zx"	"ZX Plane"
		}
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:temperature1" }
		parmtag	{ "import_token" "guideplane" }
	    }
	    parm {
		name	"temperature1_guideplaneval"
		label	"Plane Position"
		type	float
		default	{ "0" }
		disablewhen	"{ temperature1_usesmoke == 1 } { temperature1_guideuseplane == 0 }"
		range	{ -1! 1! }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:temperature1" }
		parmtag	{ "import_token" "guideplaneval" }
	    }
	    parm {
		name	"temperature1_guidevismode"
		label	"Visualization Mode"
		type	ordinal
		joinnext
		default	{ "blackbody" }
		disablewhen	"{ temperature1_usesmoke == 1 temperature1_guideremapsmoke == 0 } { temperature1_usesmoke == 0 temperature1_guideuseplane == 0 }"
		menu	{
		    "none"	"No Mapping"
		    "false"	"Infra-Red"
		    "pink"	"White to Red"
		    "mono"	"Grayscale"
		    "blackbody"	"Black Body"
		    "bipartite"	"Two-Tone"
		}
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:temperature1" }
		parmtag	{ "import_token" "guidevismode" }
	    }
	    parm {
		name	"temperature1_guidevisdensitymode"
		label	"Alpha Mapping"
		type	ordinal
		default	{ "none" }
		disablewhen	"{ temperature1_usesmoke == 1 temperature1_guideremapsmoke == 0 } { temperature1_usesmoke == 0 temperature1_guideuseplane == 0 }"
		menu	{
		    "none"	"No Mapping"
		    "increasing"	"Increasing"
		    "decreasing"	"Decreasing"
		    "hill"	"Hill"
		    "valley"	"Valley"
		    "step"	"Step"
		    "square"	"Square"
		}
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:temperature1" }
		parmtag	{ "import_token" "guidevisdensitymode" }
	    }
	    parm {
		name	"temperature1_guiderangemode"
		label	"Specify Range by Min/Max"
		type	toggle
		default	{ "on" }
		disablewhen	"{ temperature1_usesmoke == 1 temperature1_guideremapsmoke == 0 } { temperature1_usesmoke == 0 temperature1_guideuseplane == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:temperature1" }
		parmtag	{ "import_token" "guiderangemode" }
	    }
	    parm {
		name	"temperature1_guiderange"
		label	"Guide Range"
		type	float
		size	2
		default	{ "0" "1" }
		hidewhen	"{ temperature1_usesmoke == 1 temperature1_guideremapsmoke == 0 } { temperature1_usesmoke == 0 temperature1_guideuseplane == 0 } { temperature1_guiderangemode == 0 }"
		range	{ 0 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:temperature1" }
		parmtag	{ "import_token" "guiderange" }
	    }
	    parm {
		name	"temperature1_guiderangecenter"
		label	"Guide Range Center"
		type	float
		default	{ "0.5" }
		hidewhen	"{ temperature1_usesmoke == 1 temperature1_guideremapsmoke == 0 } { temperature1_usesmoke == 0 temperature1_guideuseplane == 0 } { temperature1_guiderangemode == 1 }"
		range	{ -1 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:temperature1" }
		parmtag	{ "import_token" "guiderangecenter" }
	    }
	    parm {
		name	"temperature1_guiderangesize"
		label	"Guide Range Width"
		type	float
		default	{ "1" }
		hidewhen	"{ temperature1_usesmoke == 1 temperature1_guideremapsmoke == 0 } { temperature1_usesmoke == 0 temperature1_guideuseplane == 0 } { temperature1_guiderangemode == 1 }"
		range	{ 0 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:temperature1" }
		parmtag	{ "import_token" "guiderangesize" }
	    }
	    parm {
		name	"temperature1_guideiso"
		label	"Iso Offset"
		type	float
		default	{ "0" }
		disablewhen	"{ temperature1_usesmoke == 1 } { temperature1_guideuseplane == 1 }"
		range	{ -5 5 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:temperature1" }
		parmtag	{ "import_token" "guideiso" }
	    }
	    parm {
		name	"temperature1_guideinvert"
		label	"Invert Iso"
		type	toggle
		default	{ "off" }
		disablewhen	"{ temperature1_usesmoke == 1 } { temperature1_guideuseplane == 1 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:temperature1" }
		parmtag	{ "import_token" "guideinvert" }
	    }
	}

	group {
	    name	"folder0_4"
	    label	"Fuel"
	    grouptag	{ "import_enable" "1" }
	    grouptag	{ "import_source" "op:fuel" }

	    parm {
		name	"fuel_usebox"
		label	"Bounding Box"
		type	toggle
		joinnext
		default	{ "off" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:fuel" }
		parmtag	{ "import_token" "usebox" }
	    }
	    parm {
		name	"fuel_useboxhash"
		label	"Bounding Box Hash"
		type	toggle
		default	{ "off" }
		disablewhen	"{ fuel_usebox == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:fuel" }
		parmtag	{ "import_token" "useboxhash" }
	    }
	    parm {
		name	"fuel_usesmoke"
		label	"Use Smoke   "
		type	toggle
		joinnext
		default	{ "on" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:fuel" }
		parmtag	{ "import_token" "usesmoke" }
	    }
	    parm {
		name	"fuel_guideremapsmoke"
		label	"Remap Smoke"
		type	toggle
		default	{ "off" }
		disablewhen	"{ fuel_usesmoke == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:fuel" }
		parmtag	{ "import_token" "guideremapsmoke" }
	    }
	    parm {
		name	"fuel_guidesmokedensity"
		label	"Smoke Density"
		type	float
		default	{ "1" }
		disablewhen	"{ fuel_usesmoke == 0 }"
		range	{ 0! 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:fuel" }
		parmtag	{ "import_token" "guidesmokedensity" }
	    }
	    parm {
		name	"fuel_guideuseplane"
		label	"Use Plane     "
		type	toggle
		joinnext
		default	{ "off" }
		disablewhen	"{ fuel_usesmoke == 1 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:fuel" }
		parmtag	{ "import_token" "guideuseplane" }
	    }
	    parm {
		name	"fuel_guideplane"
		label	"Plane Orientation"
		type	ordinal
		default	{ "xy" }
		disablewhen	"{ fuel_usesmoke == 1 } { fuel_guideuseplane == 0 }"
		menu	{
		    "xy"	"XY Plane"
		    "yz"	"YZ Plane"
		    "zx"	"ZX Plane"
		}
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:fuel" }
		parmtag	{ "import_token" "guideplane" }
	    }
	    parm {
		name	"fuel_guideplaneval"
		label	"Plane Position"
		type	float
		default	{ "0" }
		disablewhen	"{ fuel_usesmoke == 1 } { fuel_guideuseplane == 0 }"
		range	{ -1! 1! }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:fuel" }
		parmtag	{ "import_token" "guideplaneval" }
	    }
	    parm {
		name	"fuel_guidevismode"
		label	"Visualization Mode"
		type	ordinal
		joinnext
		default	{ "false" }
		disablewhen	"{ fuel_usesmoke == 1 fuel_guideremapsmoke == 0 } { fuel_usesmoke == 0 fuel_guideuseplane == 0 }"
		menu	{
		    "none"	"No Mapping"
		    "false"	"Infra-Red"
		    "pink"	"White to Red"
		    "mono"	"Grayscale"
		    "blackbody"	"Black Body"
		    "bipartite"	"Two-Tone"
		}
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:fuel" }
		parmtag	{ "import_token" "guidevismode" }
	    }
	    parm {
		name	"fuel_guidevisdensitymode"
		label	"Alpha Mapping"
		type	ordinal
		default	{ "none" }
		disablewhen	"{ fuel_usesmoke == 1 fuel_guideremapsmoke == 0 } { fuel_usesmoke == 0 fuel_guideuseplane == 0 }"
		menu	{
		    "none"	"No Mapping"
		    "increasing"	"Increasing"
		    "decreasing"	"Decreasing"
		    "hill"	"Hill"
		    "valley"	"Valley"
		    "step"	"Step"
		    "square"	"Square"
		}
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:fuel" }
		parmtag	{ "import_token" "guidevisdensitymode" }
	    }
	    parm {
		name	"fuel_guiderangemode"
		label	"Specify Range by Min/Max"
		type	toggle
		default	{ "on" }
		disablewhen	"{ fuel_usesmoke == 1 fuel_guideremapsmoke == 0 } { fuel_usesmoke == 0 fuel_guideuseplane == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:fuel" }
		parmtag	{ "import_token" "guiderangemode" }
	    }
	    parm {
		name	"fuel_guiderange"
		label	"Guide Range"
		type	float
		size	2
		default	{ "0" "1" }
		hidewhen	"{ fuel_usesmoke == 1 fuel_guideremapsmoke == 0 } { fuel_usesmoke == 0 fuel_guideuseplane == 0 } { fuel_guiderangemode == 0 }"
		range	{ 0 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:fuel" }
		parmtag	{ "import_token" "guiderange" }
	    }
	    parm {
		name	"fuel_guiderangecenter"
		label	"Guide Range Center"
		type	float
		default	{ "0.5" }
		hidewhen	"{ fuel_usesmoke == 1 fuel_guideremapsmoke == 0 } { fuel_usesmoke == 0 fuel_guideuseplane == 0 } { fuel_guiderangemode == 1 }"
		range	{ -1 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:fuel" }
		parmtag	{ "import_token" "guiderangecenter" }
	    }
	    parm {
		name	"fuel_guiderangesize"
		label	"Guide Range Width"
		type	float
		default	{ "1" }
		hidewhen	"{ fuel_usesmoke == 1 fuel_guideremapsmoke == 0 } { fuel_usesmoke == 0 fuel_guideuseplane == 0 } { fuel_guiderangemode == 1 }"
		range	{ 0 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:fuel" }
		parmtag	{ "import_token" "guiderangesize" }
	    }
	    parm {
		name	"fuel_guideiso"
		label	"Iso Offset"
		type	float
		default	{ "0" }
		disablewhen	"{ fuel_usesmoke == 1 } { fuel_guideuseplane == 1 }"
		range	{ -5 5 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:fuel" }
		parmtag	{ "import_token" "guideiso" }
	    }
	    parm {
		name	"fuel_guideinvert"
		label	"Invert Iso"
		type	toggle
		default	{ "off" }
		disablewhen	"{ fuel_usesmoke == 1 } { fuel_guideuseplane == 1 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:fuel" }
		parmtag	{ "import_token" "guideinvert" }
	    }
	}

	group {
	    name	"folder0_5"
	    label	"Divergence"
	    grouptag	{ "import_enable" "1" }
	    grouptag	{ "import_source" "op:divergence" }

	    parm {
		name	"divergence_usebox"
		label	"Bounding Box"
		type	toggle
		joinnext
		default	{ "off" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:divergence" }
		parmtag	{ "import_token" "usebox" }
	    }
	    parm {
		name	"divergence_useboxhash"
		label	"Bounding Box Hash"
		type	toggle
		default	{ "off" }
		disablewhen	"{ divergence_usebox == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:divergence" }
		parmtag	{ "import_token" "useboxhash" }
	    }
	    parm {
		name	"divergence_usesmoke"
		label	"Use Smoke   "
		type	toggle
		joinnext
		default	{ "on" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:divergence" }
		parmtag	{ "import_token" "usesmoke" }
	    }
	    parm {
		name	"divergence_guideremapsmoke"
		label	"Remap Smoke"
		type	toggle
		default	{ "off" }
		disablewhen	"{ divergence_usesmoke == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:divergence" }
		parmtag	{ "import_token" "guideremapsmoke" }
	    }
	    parm {
		name	"divergence_guidesmokedensity"
		label	"Smoke Density"
		type	float
		default	{ "1" }
		disablewhen	"{ divergence_usesmoke == 0 }"
		range	{ 0! 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:divergence" }
		parmtag	{ "import_token" "guidesmokedensity" }
	    }
	    parm {
		name	"divergence_guideuseplane"
		label	"Use Plane     "
		type	toggle
		joinnext
		default	{ "off" }
		disablewhen	"{ divergence_usesmoke == 1 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:divergence" }
		parmtag	{ "import_token" "guideuseplane" }
	    }
	    parm {
		name	"divergence_guideplane"
		label	"Plane Orientation"
		type	ordinal
		default	{ "xy" }
		disablewhen	"{ divergence_usesmoke == 1 } { divergence_guideuseplane == 0 }"
		menu	{
		    "xy"	"XY Plane"
		    "yz"	"YZ Plane"
		    "zx"	"ZX Plane"
		}
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:divergence" }
		parmtag	{ "import_token" "guideplane" }
	    }
	    parm {
		name	"divergence_guideplaneval"
		label	"Plane Position"
		type	float
		default	{ "0" }
		disablewhen	"{ divergence_usesmoke == 1 } { divergence_guideuseplane == 0 }"
		range	{ -1! 1! }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:divergence" }
		parmtag	{ "import_token" "guideplaneval" }
	    }
	    parm {
		name	"divergence_guidevismode"
		label	"Visualization Mode"
		type	ordinal
		joinnext
		default	{ "false" }
		disablewhen	"{ divergence_usesmoke == 1 divergence_guideremapsmoke == 0 } { divergence_usesmoke == 0 divergence_guideuseplane == 0 }"
		menu	{
		    "none"	"No Mapping"
		    "false"	"Infra-Red"
		    "pink"	"White to Red"
		    "mono"	"Grayscale"
		    "blackbody"	"Black Body"
		    "bipartite"	"Two-Tone"
		}
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:divergence" }
		parmtag	{ "import_token" "guidevismode" }
	    }
	    parm {
		name	"divergence_guidevisdensitymode"
		label	"Alpha Mapping"
		type	ordinal
		default	{ "none" }
		disablewhen	"{ divergence_usesmoke == 1 divergence_guideremapsmoke == 0 } { divergence_usesmoke == 0 divergence_guideuseplane == 0 }"
		menu	{
		    "none"	"No Mapping"
		    "increasing"	"Increasing"
		    "decreasing"	"Decreasing"
		    "hill"	"Hill"
		    "valley"	"Valley"
		    "step"	"Step"
		    "square"	"Square"
		}
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:divergence" }
		parmtag	{ "import_token" "guidevisdensitymode" }
	    }
	    parm {
		name	"divergence_guiderangemode"
		label	"Specify Range by Min/Max"
		type	toggle
		default	{ "on" }
		disablewhen	"{ divergence_usesmoke == 1 divergence_guideremapsmoke == 0 } { divergence_usesmoke == 0 divergence_guideuseplane == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:divergence" }
		parmtag	{ "import_token" "guiderangemode" }
	    }
	    parm {
		name	"divergence_guiderange"
		label	"Guide Range"
		type	float
		size	2
		default	{ "0" "1" }
		hidewhen	"{ divergence_usesmoke == 1 divergence_guideremapsmoke == 0 } { divergence_usesmoke == 0 divergence_guideuseplane == 0 } { divergence_guiderangemode == 0 }"
		range	{ 0 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:divergence" }
		parmtag	{ "import_token" "guiderange" }
	    }
	    parm {
		name	"divergence_guiderangecenter"
		label	"Guide Range Center"
		type	float
		default	{ "0.5" }
		hidewhen	"{ divergence_usesmoke == 1 divergence_guideremapsmoke == 0 } { divergence_usesmoke == 0 divergence_guideuseplane == 0 } { divergence_guiderangemode == 1 }"
		range	{ -1 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:divergence" }
		parmtag	{ "import_token" "guiderangecenter" }
	    }
	    parm {
		name	"divergence_guiderangesize"
		label	"Guide Range Width"
		type	float
		default	{ "1" }
		hidewhen	"{ divergence_usesmoke == 1 divergence_guideremapsmoke == 0 } { divergence_usesmoke == 0 divergence_guideuseplane == 0 } { divergence_guiderangemode == 1 }"
		range	{ 0 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:divergence" }
		parmtag	{ "import_token" "guiderangesize" }
	    }
	    parm {
		name	"divergence_guideiso"
		label	"Iso Offset"
		type	float
		default	{ "0" }
		disablewhen	"{ divergence_usesmoke == 1 } { divergence_guideuseplane == 1 }"
		range	{ -5 5 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:divergence" }
		parmtag	{ "import_token" "guideiso" }
	    }
	    parm {
		name	"divergence_guideinvert"
		label	"Invert Iso"
		type	toggle
		default	{ "off" }
		disablewhen	"{ divergence_usesmoke == 1 } { divergence_guideuseplane == 1 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:divergence" }
		parmtag	{ "import_token" "guideinvert" }
	    }
	}

	group {
	    name	"folder0_6"
	    label	"Burn"
	    grouptag	{ "import_enable" "1" }
	    grouptag	{ "import_source" "op:burn" }

	    parm {
		name	"burn_usebox"
		label	"Bounding Box"
		type	toggle
		joinnext
		default	{ "off" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:burn" }
		parmtag	{ "import_token" "usebox" }
	    }
	    parm {
		name	"burn_useboxhash"
		label	"Bounding Box Hash"
		type	toggle
		default	{ "off" }
		disablewhen	"{ burn_usebox == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:burn" }
		parmtag	{ "import_token" "useboxhash" }
	    }
	    parm {
		name	"burn_usesmoke"
		label	"Use Smoke   "
		type	toggle
		joinnext
		default	{ "on" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:burn" }
		parmtag	{ "import_token" "usesmoke" }
	    }
	    parm {
		name	"burn_guideremapsmoke"
		label	"Remap Smoke"
		type	toggle
		default	{ "off" }
		disablewhen	"{ burn_usesmoke == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:burn" }
		parmtag	{ "import_token" "guideremapsmoke" }
	    }
	    parm {
		name	"burn_guidesmokedensity"
		label	"Smoke Density"
		type	float
		default	{ "1" }
		disablewhen	"{ burn_usesmoke == 0 }"
		range	{ 0! 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:burn" }
		parmtag	{ "import_token" "guidesmokedensity" }
	    }
	    parm {
		name	"burn_guideuseplane"
		label	"Use Plane     "
		type	toggle
		joinnext
		default	{ "off" }
		disablewhen	"{ burn_usesmoke == 1 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:burn" }
		parmtag	{ "import_token" "guideuseplane" }
	    }
	    parm {
		name	"burn_guideplane"
		label	"Plane Orientation"
		type	ordinal
		default	{ "xy" }
		disablewhen	"{ burn_usesmoke == 1 } { burn_guideuseplane == 0 }"
		menu	{
		    "xy"	"XY Plane"
		    "yz"	"YZ Plane"
		    "zx"	"ZX Plane"
		}
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:burn" }
		parmtag	{ "import_token" "guideplane" }
	    }
	    parm {
		name	"burn_guideplaneval"
		label	"Plane Position"
		type	float
		default	{ "0" }
		disablewhen	"{ burn_usesmoke == 1 } { burn_guideuseplane == 0 }"
		range	{ -1! 1! }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:burn" }
		parmtag	{ "import_token" "guideplaneval" }
	    }
	    parm {
		name	"burn_guidevismode"
		label	"Visualization Mode"
		type	ordinal
		joinnext
		default	{ "false" }
		disablewhen	"{ burn_usesmoke == 1 burn_guideremapsmoke == 0 } { burn_usesmoke == 0 burn_guideuseplane == 0 }"
		menu	{
		    "none"	"No Mapping"
		    "false"	"Infra-Red"
		    "pink"	"White to Red"
		    "mono"	"Grayscale"
		    "blackbody"	"Black Body"
		    "bipartite"	"Two-Tone"
		}
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:burn" }
		parmtag	{ "import_token" "guidevismode" }
	    }
	    parm {
		name	"burn_guidevisdensitymode"
		label	"Alpha Mapping"
		type	ordinal
		default	{ "none" }
		disablewhen	"{ burn_usesmoke == 1 burn_guideremapsmoke == 0 } { burn_usesmoke == 0 burn_guideuseplane == 0 }"
		menu	{
		    "none"	"No Mapping"
		    "increasing"	"Increasing"
		    "decreasing"	"Decreasing"
		    "hill"	"Hill"
		    "valley"	"Valley"
		    "step"	"Step"
		    "square"	"Square"
		}
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:burn" }
		parmtag	{ "import_token" "guidevisdensitymode" }
	    }
	    parm {
		name	"burn_guiderangemode"
		label	"Specify Range by Min/Max"
		type	toggle
		default	{ "on" }
		disablewhen	"{ burn_usesmoke == 1 burn_guideremapsmoke == 0 } { burn_usesmoke == 0 burn_guideuseplane == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:burn" }
		parmtag	{ "import_token" "guiderangemode" }
	    }
	    parm {
		name	"burn_guiderange"
		label	"Guide Range"
		type	float
		size	2
		default	{ "0" "1" }
		hidewhen	"{ burn_usesmoke == 1 burn_guideremapsmoke == 0 } { burn_usesmoke == 0 burn_guideuseplane == 0 } { burn_guiderangemode == 0 }"
		range	{ 0 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:burn" }
		parmtag	{ "import_token" "guiderange" }
	    }
	    parm {
		name	"burn_guiderangecenter"
		label	"Guide Range Center"
		type	float
		default	{ "0.5" }
		hidewhen	"{ burn_usesmoke == 1 burn_guideremapsmoke == 0 } { burn_usesmoke == 0 burn_guideuseplane == 0 } { burn_guiderangemode == 1 }"
		range	{ -1 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:burn" }
		parmtag	{ "import_token" "guiderangecenter" }
	    }
	    parm {
		name	"burn_guiderangesize"
		label	"Guide Range Width"
		type	float
		default	{ "1" }
		hidewhen	"{ burn_usesmoke == 1 burn_guideremapsmoke == 0 } { burn_usesmoke == 0 burn_guideuseplane == 0 } { burn_guiderangemode == 1 }"
		range	{ 0 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:burn" }
		parmtag	{ "import_token" "guiderangesize" }
	    }
	    parm {
		name	"burn_guideiso"
		label	"Iso Offset"
		type	float
		default	{ "0" }
		disablewhen	"{ burn_usesmoke == 1 } { burn_guideuseplane == 1 }"
		range	{ -5 5 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:burn" }
		parmtag	{ "import_token" "guideiso" }
	    }
	    parm {
		name	"burn_guideinvert"
		label	"Invert Iso"
		type	toggle
		default	{ "off" }
		disablewhen	"{ burn_usesmoke == 1 } { burn_guideuseplane == 1 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:burn" }
		parmtag	{ "import_token" "guideinvert" }
	    }
	}

	group {
	    name	"folder0_7"
	    label	"Heat"
	    grouptag	{ "import_enable" "1" }
	    grouptag	{ "import_source" "op:heat" }

	    parm {
		name	"heat_usebox"
		label	"Bounding Box"
		type	toggle
		joinnext
		default	{ "off" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:heat" }
		parmtag	{ "import_token" "usebox" }
	    }
	    parm {
		name	"heat_useboxhash"
		label	"Bounding Box Hash"
		type	toggle
		default	{ "off" }
		disablewhen	"{ heat_usebox == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:heat" }
		parmtag	{ "import_token" "useboxhash" }
	    }
	    parm {
		name	"heat_usesmoke"
		label	"Use Smoke   "
		type	toggle
		joinnext
		default	{ "on" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:heat" }
		parmtag	{ "import_token" "usesmoke" }
	    }
	    parm {
		name	"heat_guideremapsmoke"
		label	"Remap Smoke"
		type	toggle
		default	{ "off" }
		disablewhen	"{ heat_usesmoke == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:heat" }
		parmtag	{ "import_token" "guideremapsmoke" }
	    }
	    parm {
		name	"heat_guidesmokedensity"
		label	"Smoke Density"
		type	float
		default	{ "1" }
		disablewhen	"{ heat_usesmoke == 0 }"
		range	{ 0! 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:heat" }
		parmtag	{ "import_token" "guidesmokedensity" }
	    }
	    parm {
		name	"heat_guideuseplane"
		label	"Use Plane     "
		type	toggle
		joinnext
		default	{ "off" }
		disablewhen	"{ heat_usesmoke == 1 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:heat" }
		parmtag	{ "import_token" "guideuseplane" }
	    }
	    parm {
		name	"heat_guideplane"
		label	"Plane Orientation"
		type	ordinal
		default	{ "xy" }
		disablewhen	"{ heat_usesmoke == 1 } { heat_guideuseplane == 0 }"
		menu	{
		    "xy"	"XY Plane"
		    "yz"	"YZ Plane"
		    "zx"	"ZX Plane"
		}
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:heat" }
		parmtag	{ "import_token" "guideplane" }
	    }
	    parm {
		name	"heat_guideplaneval"
		label	"Plane Position"
		type	float
		default	{ "0" }
		disablewhen	"{ heat_usesmoke == 1 } { heat_guideuseplane == 0 }"
		range	{ -1! 1! }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:heat" }
		parmtag	{ "import_token" "guideplaneval" }
	    }
	    parm {
		name	"heat_guidevismode"
		label	"Visualization Mode"
		type	ordinal
		joinnext
		default	{ "blackbody" }
		disablewhen	"{ heat_usesmoke == 1 heat_guideremapsmoke == 0 } { heat_usesmoke == 0 heat_guideuseplane == 0 }"
		menu	{
		    "none"	"No Mapping"
		    "false"	"Infra-Red"
		    "pink"	"White to Red"
		    "mono"	"Grayscale"
		    "blackbody"	"Black Body"
		    "bipartite"	"Two-Tone"
		}
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:heat" }
		parmtag	{ "import_token" "guidevismode" }
	    }
	    parm {
		name	"heat_guidevisdensitymode"
		label	"Alpha Mapping"
		type	ordinal
		default	{ "none" }
		disablewhen	"{ heat_usesmoke == 1 heat_guideremapsmoke == 0 } { heat_usesmoke == 0 heat_guideuseplane == 0 }"
		menu	{
		    "none"	"No Mapping"
		    "increasing"	"Increasing"
		    "decreasing"	"Decreasing"
		    "hill"	"Hill"
		    "valley"	"Valley"
		    "step"	"Step"
		    "square"	"Square"
		}
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:heat" }
		parmtag	{ "import_token" "guidevisdensitymode" }
	    }
	    parm {
		name	"heat_guiderangemode"
		label	"Specify Range by Min/Max"
		type	toggle
		default	{ "on" }
		disablewhen	"{ heat_usesmoke == 1 heat_guideremapsmoke == 0 } { heat_usesmoke == 0 heat_guideuseplane == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:heat" }
		parmtag	{ "import_token" "guiderangemode" }
	    }
	    parm {
		name	"heat_guiderange"
		label	"Guide Range"
		type	float
		size	2
		default	{ "0" "1" }
		hidewhen	"{ heat_usesmoke == 1 heat_guideremapsmoke == 0 } { heat_usesmoke == 0 heat_guideuseplane == 0 } { heat_guiderangemode == 0 }"
		range	{ 0 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:heat" }
		parmtag	{ "import_token" "guiderange" }
	    }
	    parm {
		name	"heat_guiderangecenter"
		label	"Guide Range Center"
		type	float
		default	{ "0.5" }
		hidewhen	"{ heat_usesmoke == 1 heat_guideremapsmoke == 0 } { heat_usesmoke == 0 heat_guideuseplane == 0 } { heat_guiderangemode == 1 }"
		range	{ -1 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:heat" }
		parmtag	{ "import_token" "guiderangecenter" }
	    }
	    parm {
		name	"heat_guiderangesize"
		label	"Guide Range Width"
		type	float
		default	{ "1" }
		hidewhen	"{ heat_usesmoke == 1 heat_guideremapsmoke == 0 } { heat_usesmoke == 0 heat_guideuseplane == 0 } { heat_guiderangemode == 1 }"
		range	{ 0 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:heat" }
		parmtag	{ "import_token" "guiderangesize" }
	    }
	    parm {
		name	"heat_guideiso"
		label	"Iso Offset"
		type	float
		default	{ "0" }
		disablewhen	"{ heat_usesmoke == 1 } { heat_guideuseplane == 1 }"
		range	{ -5 5 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:heat" }
		parmtag	{ "import_token" "guideiso" }
	    }
	    parm {
		name	"heat_guideinvert"
		label	"Invert Iso"
		type	toggle
		default	{ "on" }
		disablewhen	"{ heat_usesmoke == 1 } { heat_guideuseplane == 1 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:heat" }
		parmtag	{ "import_token" "guideinvert" }
	    }
	}

	group {
	    name	"folder0_8"
	    label	"Velocity"
	    grouptag	{ "import_enable" "1" }
	    grouptag	{ "import_source" "op:velocity" }

	    parm {
		name	"velocity_guideusebox"
		label	"Bounding Box"
		type	toggle
		joinnext
		default	{ "off" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:velocity" }
		parmtag	{ "import_token" "guideusebox" }
	    }
	    parm {
		name	"velocity_guideuseboxhash"
		label	"Bounding Box Hash"
		type	toggle
		default	{ "off" }
		disablewhen	"{ velocity_guideusebox == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:velocity" }
		parmtag	{ "import_token" "guideuseboxhash" }
	    }
	    parm {
		name	"velocity_guideusesmoke"
		label	"Use Smoke"
		type	toggle
		default	{ "off" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:velocity" }
		parmtag	{ "import_token" "guideusesmoke" }
	    }
	    parm {
		name	"velocity_guidescale"
		label	"Scale"
		type	float
		default	{ "1" }
		range	{ 0 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:velocity" }
		parmtag	{ "import_token" "guidescale" }
	    }
	    parm {
		name	"velocity_guideoverridediv"
		label	"Override Divisions"
		type	toggle
		default	{ "off" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:velocity" }
		parmtag	{ "import_token" "guideoverridediv" }
	    }
	    parm {
		name	"velocity_guidediv"
		label	"Divisions"
		type	intvector
		size	3
		default	{ "10" "10" "10" }
		disablewhen	"{ velocity_guideoverridediv == 0 }"
		range	{ 1! 1000 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:velocity" }
		parmtag	{ "import_token" "guidediv" }
	    }
	    parm {
		name	"velocity_guidebarbs"
		label	"Use Barbs on Vectors"
		type	toggle
		default	{ "on" }
		disablewhen	"{ velocity_guideusesmoke == 1 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:velocity" }
		parmtag	{ "import_token" "guidebarbs" }
	    }
	    parm {
		name	"velocity_guidepercomp"
		label	"Component Velocities"
		type	toggle
		default	{ "off" }
		disablewhen	"{ velocity_guideusesmoke == 1 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:velocity" }
		parmtag	{ "import_token" "guidepercomp" }
	    }
	    parm {
		name	"velocity_guideusestreamers"
		label	"Use Streamers"
		type	toggle
		joinnext
		default	{ "off" }
		disablewhen	"{ velocity_guideusesmoke == 1 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:velocity" }
		parmtag	{ "import_token" "guideusestreamers" }
	    }
	    parm {
		name	"velocity_guideuseplane"
		label	"Use Plane"
		type	toggle
		default	{ "off" }
		disablewhen	"{ velocity_guideusesmoke == 1 } { velocity_guideusestreamers == 1 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:velocity" }
		parmtag	{ "import_token" "guideuseplane" }
	    }
	    parm {
		name	"velocity_guideplane"
		label	"Plane Orientation"
		type	ordinal
		default	{ "xy" }
		disablewhen	"{ velocity_guideusesmoke == 1 } { velocity_guideusestreamers == 0 velocity_guideuseplane == 0 }"
		menu	{
		    "xy"	"XY Plane"
		    "yz"	"YZ Plane"
		    "zx"	"ZX Plane"
		}
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:velocity" }
		parmtag	{ "import_token" "guideplane" }
	    }
	    parm {
		name	"velocity_guideplaneval"
		label	"Plane Position"
		type	float
		default	{ "0" }
		disablewhen	"{ velocity_guideusesmoke == 1 } { velocity_guideusestreamers == 0 velocity_guideuseplane == 0 }"
		range	{ -1! 1! }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:velocity" }
		parmtag	{ "import_token" "guideplaneval" }
	    }
	    parm {
		name	"velocity_guidestreamerlen"
		label	"Streamer Length"
		type	float
		default	{ "1" }
		disablewhen	"{ velocity_guideusesmoke == 1 } { velocity_guideusestreamers == 0 }"
		range	{ 0 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:velocity" }
		parmtag	{ "import_token" "guidestreamerlen" }
	    }
	    parm {
		name	"velocity_guidestreamerminspeed"
		label	"Streamer Minimum Speed"
		type	float
		default	{ "0.001" }
		disablewhen	"{ velocity_guideusesmoke == 1 } { velocity_guideusestreamers == 0 }"
		range	{ 0 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:velocity" }
		parmtag	{ "import_token" "guidestreamerminspeed" }
	    }
	    parm {
		name	"velocity_guidevistype"
		label	"Visualization Type"
		type	ordinal
		default	{ "speed" }
		disablewhen	"{ velocity_guideusesmoke == 1 }"
		menu	{
		    "none"	"None"
		    "distance"	"Distance"
		    "speed"	"Speed"
		    "origin"	"Origin"
		    "dir"	"Direction"
		    "value"	"Value"
		}
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:velocity" }
		parmtag	{ "import_token" "guidevistype" }
	    }
	    parm {
		name	"velocity_guidevismode"
		label	"Visualization Mode"
		type	ordinal
		default	{ "false" }
		disablewhen	"{ velocity_guideusesmoke == 1 } { velocity_guidevistype != distance velocity_guidevistype != speed }"
		menu	{
		    "false"	"Infra-Red"
		    "pink"	"White to Red"
		    "mono"	"Grayscale"
		    "blackbody"	"Black Body"
		    "bipartite"	"Two-Tone"
		}
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:velocity" }
		parmtag	{ "import_token" "guidevismode" }
	    }
	    parm {
		name	"velocity_guidevisscale"
		label	"Visualization Scale"
		type	float
		default	{ "1" }
		disablewhen	"{ velocity_guideusesmoke == 1 }"
		range	{ 0 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:velocity" }
		parmtag	{ "import_token" "guidevisscale" }
	    }
	    parm {
		name	"velocity_guiderange"
		label	"Visualization Range"
		type	float
		size	2
		default	{ "0" "1" }
		disablewhen	"{ velocity_guideusesmoke == 1 }"
		range	{ 0 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:velocity" }
		parmtag	{ "import_token" "guiderange" }
	    }
	}

	group {
	    name	"folder0_9"
	    label	"Collision"
	    grouptag	{ "import_enable" "1" }
	    grouptag	{ "import_source" "op:collisionmask1" }

	    parm {
		name	"collisionmask1_usebox"
		label	"Bounding Box"
		type	toggle
		joinnext
		default	{ "off" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:collisionmask1" }
		parmtag	{ "import_token" "usebox" }
	    }
	    parm {
		name	"collisionmask1_useboxhash"
		label	"Bounding Box Hash"
		type	toggle
		default	{ "off" }
		disablewhen	"{ collisionmask1_usebox == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:collisionmask1" }
		parmtag	{ "import_token" "useboxhash" }
	    }
	    parm {
		name	"collisionmask1_usesmoke"
		label	"Use Smoke   "
		type	toggle
		joinnext
		default	{ "off" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:collisionmask1" }
		parmtag	{ "import_token" "usesmoke" }
	    }
	    parm {
		name	"collisionmask1_guideremapsmoke"
		label	"Remap Smoke"
		type	toggle
		default	{ "off" }
		disablewhen	"{ collisionmask1_usesmoke == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:collisionmask1" }
		parmtag	{ "import_token" "guideremapsmoke" }
	    }
	    parm {
		name	"collisionmask1_guidesmokedensity"
		label	"Smoke Density"
		type	float
		default	{ "1" }
		disablewhen	"{ collisionmask1_usesmoke == 0 }"
		range	{ 0! 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:collisionmask1" }
		parmtag	{ "import_token" "guidesmokedensity" }
	    }
	    parm {
		name	"collisionmask1_guideuseplane"
		label	"Use Plane     "
		type	toggle
		joinnext
		default	{ "off" }
		disablewhen	"{ collisionmask1_usesmoke == 1 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:collisionmask1" }
		parmtag	{ "import_token" "guideuseplane" }
	    }
	    parm {
		name	"collisionmask1_guideplane"
		label	"Plane Orientation"
		type	ordinal
		default	{ "xy" }
		disablewhen	"{ collisionmask1_usesmoke == 1 } { collisionmask1_guideuseplane == 0 }"
		menu	{
		    "xy"	"XY Plane"
		    "yz"	"YZ Plane"
		    "zx"	"ZX Plane"
		}
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:collisionmask1" }
		parmtag	{ "import_token" "guideplane" }
	    }
	    parm {
		name	"collisionmask1_guideplaneval"
		label	"Plane Position"
		type	float
		default	{ "0" }
		disablewhen	"{ collisionmask1_usesmoke == 1 } { collisionmask1_guideuseplane == 0 }"
		range	{ -1! 1! }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:collisionmask1" }
		parmtag	{ "import_token" "guideplaneval" }
	    }
	    parm {
		name	"collisionmask1_guidevismode"
		label	"Visualization Mode"
		type	ordinal
		joinnext
		default	{ "false" }
		disablewhen	"{ collisionmask1_usesmoke == 1 collisionmask1_guideremapsmoke == 0 } { collisionmask1_usesmoke == 0 collisionmask1_guideuseplane == 0 }"
		menu	{
		    "none"	"No Mapping"
		    "false"	"Infra-Red"
		    "pink"	"White to Red"
		    "mono"	"Grayscale"
		    "blackbody"	"Black Body"
		    "bipartite"	"Two-Tone"
		}
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:collisionmask1" }
		parmtag	{ "import_token" "guidevismode" }
	    }
	    parm {
		name	"collisionmask1_guidevisdensitymode"
		label	"Alpha Mapping"
		type	ordinal
		default	{ "none" }
		disablewhen	"{ collisionmask1_usesmoke == 1 collisionmask1_guideremapsmoke == 0 } { collisionmask1_usesmoke == 0 collisionmask1_guideuseplane == 0 }"
		menu	{
		    "none"	"No Mapping"
		    "increasing"	"Increasing"
		    "decreasing"	"Decreasing"
		    "hill"	"Hill"
		    "valley"	"Valley"
		    "step"	"Step"
		    "square"	"Square"
		}
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:collisionmask1" }
		parmtag	{ "import_token" "guidevisdensitymode" }
	    }
	    parm {
		name	"collisionmask1_guiderangemode"
		label	"Specify Range by Min/Max"
		type	toggle
		default	{ "on" }
		disablewhen	"{ collisionmask1_usesmoke == 1 collisionmask1_guideremapsmoke == 0 } { collisionmask1_usesmoke == 0 collisionmask1_guideuseplane == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:collisionmask1" }
		parmtag	{ "import_token" "guiderangemode" }
	    }
	    parm {
		name	"collisionmask1_guiderange"
		label	"Guide Range"
		type	float
		size	2
		default	{ "0" "1" }
		hidewhen	"{ collisionmask1_usesmoke == 1 collisionmask1_guideremapsmoke == 0 } { collisionmask1_usesmoke == 0 collisionmask1_guideuseplane == 0 } { collisionmask1_guiderangemode == 0 }"
		range	{ 0 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:collisionmask1" }
		parmtag	{ "import_token" "guiderange" }
	    }
	    parm {
		name	"collisionmask1_guiderangecenter"
		label	"Guide Range Center"
		type	float
		default	{ "0.5" }
		hidewhen	"{ collisionmask1_usesmoke == 1 collisionmask1_guideremapsmoke == 0 } { collisionmask1_usesmoke == 0 collisionmask1_guideuseplane == 0 } { collisionmask1_guiderangemode == 1 }"
		range	{ -1 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:collisionmask1" }
		parmtag	{ "import_token" "guiderangecenter" }
	    }
	    parm {
		name	"collisionmask1_guiderangesize"
		label	"Guide Range Width"
		type	float
		default	{ "1" }
		hidewhen	"{ collisionmask1_usesmoke == 1 collisionmask1_guideremapsmoke == 0 } { collisionmask1_usesmoke == 0 collisionmask1_guideuseplane == 0 } { collisionmask1_guiderangemode == 1 }"
		range	{ 0 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:collisionmask1" }
		parmtag	{ "import_token" "guiderangesize" }
	    }
	    parm {
		name	"collisionmask1_guideiso"
		label	"Iso Offset"
		type	float
		default	{ "0" }
		disablewhen	"{ collisionmask1_usesmoke == 1 } { collisionmask1_guideuseplane == 1 }"
		range	{ -5 5 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:collisionmask1" }
		parmtag	{ "import_token" "guideiso" }
	    }
	    parm {
		name	"collisionmask1_guideinvert"
		label	"Invert Iso"
		type	toggle
		default	{ "off" }
		disablewhen	"{ collisionmask1_usesmoke == 1 } { collisionmask1_guideuseplane == 1 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:collisionmask1" }
		parmtag	{ "import_token" "guideinvert" }
	    }
	}

	group {
	    name	"folder0_10"
	    label	"Source"
	    grouptag	{ "import_enable" "1" }
	    grouptag	{ "import_source" "op:sourcemask1" }

	    parm {
		name	"sourcemask1_usebox"
		label	"Bounding Box"
		type	toggle
		joinnext
		default	{ "off" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:sourcemask1" }
		parmtag	{ "import_token" "usebox" }
	    }
	    parm {
		name	"sourcemask1_useboxhash"
		label	"Bounding Box Hash"
		type	toggle
		default	{ "off" }
		disablewhen	"{ sourcemask1_usebox == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:sourcemask1" }
		parmtag	{ "import_token" "useboxhash" }
	    }
	    parm {
		name	"sourcemask1_usesmoke"
		label	"Use Smoke   "
		type	toggle
		joinnext
		default	{ "on" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:sourcemask1" }
		parmtag	{ "import_token" "usesmoke" }
	    }
	    parm {
		name	"sourcemask1_guideremapsmoke"
		label	"Remap Smoke"
		type	toggle
		default	{ "off" }
		disablewhen	"{ sourcemask1_usesmoke == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:sourcemask1" }
		parmtag	{ "import_token" "guideremapsmoke" }
	    }
	    parm {
		name	"sourcemask1_guidesmokedensity"
		label	"Smoke Density"
		type	float
		default	{ "1" }
		disablewhen	"{ sourcemask1_usesmoke == 0 }"
		range	{ 0! 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:sourcemask1" }
		parmtag	{ "import_token" "guidesmokedensity" }
	    }
	    parm {
		name	"sourcemask1_guideuseplane"
		label	"Use Plane     "
		type	toggle
		joinnext
		default	{ "off" }
		disablewhen	"{ sourcemask1_usesmoke == 1 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:sourcemask1" }
		parmtag	{ "import_token" "guideuseplane" }
	    }
	    parm {
		name	"sourcemask1_guideplane"
		label	"Plane Orientation"
		type	ordinal
		default	{ "xy" }
		disablewhen	"{ sourcemask1_usesmoke == 1 } { sourcemask1_guideuseplane == 0 }"
		menu	{
		    "xy"	"XY Plane"
		    "yz"	"YZ Plane"
		    "zx"	"ZX Plane"
		}
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:sourcemask1" }
		parmtag	{ "import_token" "guideplane" }
	    }
	    parm {
		name	"sourcemask1_guideplaneval"
		label	"Plane Position"
		type	float
		default	{ "0" }
		disablewhen	"{ sourcemask1_usesmoke == 1 } { sourcemask1_guideuseplane == 0 }"
		range	{ -1! 1! }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:sourcemask1" }
		parmtag	{ "import_token" "guideplaneval" }
	    }
	    parm {
		name	"sourcemask1_guidevismode"
		label	"Visualization Mode"
		type	ordinal
		joinnext
		default	{ "false" }
		disablewhen	"{ sourcemask1_usesmoke == 1 sourcemask1_guideremapsmoke == 0 } { sourcemask1_usesmoke == 0 sourcemask1_guideuseplane == 0 }"
		menu	{
		    "none"	"No Mapping"
		    "false"	"Infra-Red"
		    "pink"	"White to Red"
		    "mono"	"Grayscale"
		    "blackbody"	"Black Body"
		    "bipartite"	"Two-Tone"
		}
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:sourcemask1" }
		parmtag	{ "import_token" "guidevismode" }
	    }
	    parm {
		name	"sourcemask1_guidevisdensitymode"
		label	"Alpha Mapping"
		type	ordinal
		default	{ "none" }
		disablewhen	"{ sourcemask1_usesmoke == 1 sourcemask1_guideremapsmoke == 0 } { sourcemask1_usesmoke == 0 sourcemask1_guideuseplane == 0 }"
		menu	{
		    "none"	"No Mapping"
		    "increasing"	"Increasing"
		    "decreasing"	"Decreasing"
		    "hill"	"Hill"
		    "valley"	"Valley"
		    "step"	"Step"
		    "square"	"Square"
		}
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:sourcemask1" }
		parmtag	{ "import_token" "guidevisdensitymode" }
	    }
	    parm {
		name	"sourcemask1_guiderangemode"
		label	"Specify Range by Min/Max"
		type	toggle
		default	{ "on" }
		disablewhen	"{ sourcemask1_usesmoke == 1 sourcemask1_guideremapsmoke == 0 } { sourcemask1_usesmoke == 0 sourcemask1_guideuseplane == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:sourcemask1" }
		parmtag	{ "import_token" "guiderangemode" }
	    }
	    parm {
		name	"sourcemask1_guiderange"
		label	"Guide Range"
		type	float
		size	2
		default	{ "0" "1" }
		hidewhen	"{ sourcemask1_usesmoke == 1 sourcemask1_guideremapsmoke == 0 } { sourcemask1_usesmoke == 0 sourcemask1_guideuseplane == 0 } { sourcemask1_guiderangemode == 0 }"
		range	{ 0 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:sourcemask1" }
		parmtag	{ "import_token" "guiderange" }
	    }
	    parm {
		name	"sourcemask1_guiderangecenter"
		label	"Guide Range Center"
		type	float
		default	{ "0.5" }
		hidewhen	"{ sourcemask1_usesmoke == 1 sourcemask1_guideremapsmoke == 0 } { sourcemask1_usesmoke == 0 sourcemask1_guideuseplane == 0 } { sourcemask1_guiderangemode == 1 }"
		range	{ -1 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:sourcemask1" }
		parmtag	{ "import_token" "guiderangecenter" }
	    }
	    parm {
		name	"sourcemask1_guiderangesize"
		label	"Guide Range Width"
		type	float
		default	{ "1" }
		hidewhen	"{ sourcemask1_usesmoke == 1 sourcemask1_guideremapsmoke == 0 } { sourcemask1_usesmoke == 0 sourcemask1_guideuseplane == 0 } { sourcemask1_guiderangemode == 1 }"
		range	{ 0 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:sourcemask1" }
		parmtag	{ "import_token" "guiderangesize" }
	    }
	    parm {
		name	"sourcemask1_guideiso"
		label	"Iso Offset"
		type	float
		default	{ "0" }
		disablewhen	"{ sourcemask1_usesmoke == 1 } { sourcemask1_guideuseplane == 1 }"
		range	{ -5 5 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:sourcemask1" }
		parmtag	{ "import_token" "guideiso" }
	    }
	    parm {
		name	"sourcemask1_guideinvert"
		label	"Invert Iso"
		type	toggle
		default	{ "off" }
		disablewhen	"{ sourcemask1_usesmoke == 1 } { sourcemask1_guideuseplane == 1 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:sourcemask1" }
		parmtag	{ "import_token" "guideinvert" }
	    }
	}

	group {
	    name	"folder0_11"
	    label	"Sink"
	    grouptag	{ "import_enable" "1" }
	    grouptag	{ "import_source" "op:sinkmask1" }

	    parm {
		name	"sinkmask1_usebox"
		label	"Bounding Box"
		type	toggle
		joinnext
		default	{ "off" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:sinkmask1" }
		parmtag	{ "import_token" "usebox" }
	    }
	    parm {
		name	"sinkmask1_useboxhash"
		label	"Bounding Box Hash"
		type	toggle
		default	{ "off" }
		disablewhen	"{ sinkmask1_usebox == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:sinkmask1" }
		parmtag	{ "import_token" "useboxhash" }
	    }
	    parm {
		name	"sinkmask1_usesmoke"
		label	"Use Smoke   "
		type	toggle
		joinnext
		default	{ "on" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:sinkmask1" }
		parmtag	{ "import_token" "usesmoke" }
	    }
	    parm {
		name	"sinkmask1_guideremapsmoke"
		label	"Remap Smoke"
		type	toggle
		default	{ "off" }
		disablewhen	"{ sinkmask1_usesmoke == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:sinkmask1" }
		parmtag	{ "import_token" "guideremapsmoke" }
	    }
	    parm {
		name	"sinkmask1_guidesmokedensity"
		label	"Smoke Density"
		type	float
		default	{ "1" }
		disablewhen	"{ sinkmask1_usesmoke == 0 }"
		range	{ 0! 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:sinkmask1" }
		parmtag	{ "import_token" "guidesmokedensity" }
	    }
	    parm {
		name	"sinkmask1_guideuseplane"
		label	"Use Plane     "
		type	toggle
		joinnext
		default	{ "off" }
		disablewhen	"{ sinkmask1_usesmoke == 1 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:sinkmask1" }
		parmtag	{ "import_token" "guideuseplane" }
	    }
	    parm {
		name	"sinkmask1_guideplane"
		label	"Plane Orientation"
		type	ordinal
		default	{ "xy" }
		disablewhen	"{ sinkmask1_usesmoke == 1 } { sinkmask1_guideuseplane == 0 }"
		menu	{
		    "xy"	"XY Plane"
		    "yz"	"YZ Plane"
		    "zx"	"ZX Plane"
		}
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:sinkmask1" }
		parmtag	{ "import_token" "guideplane" }
	    }
	    parm {
		name	"sinkmask1_guideplaneval"
		label	"Plane Position"
		type	float
		default	{ "0" }
		disablewhen	"{ sinkmask1_usesmoke == 1 } { sinkmask1_guideuseplane == 0 }"
		range	{ -1! 1! }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:sinkmask1" }
		parmtag	{ "import_token" "guideplaneval" }
	    }
	    parm {
		name	"sinkmask1_guidevismode"
		label	"Visualization Mode"
		type	ordinal
		joinnext
		default	{ "false" }
		disablewhen	"{ sinkmask1_usesmoke == 1 sinkmask1_guideremapsmoke == 0 } { sinkmask1_usesmoke == 0 sinkmask1_guideuseplane == 0 }"
		menu	{
		    "none"	"No Mapping"
		    "false"	"Infra-Red"
		    "pink"	"White to Red"
		    "mono"	"Grayscale"
		    "blackbody"	"Black Body"
		    "bipartite"	"Two-Tone"
		}
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:sinkmask1" }
		parmtag	{ "import_token" "guidevismode" }
	    }
	    parm {
		name	"sinkmask1_guidevisdensitymode"
		label	"Alpha Mapping"
		type	ordinal
		default	{ "none" }
		disablewhen	"{ sinkmask1_usesmoke == 1 sinkmask1_guideremapsmoke == 0 } { sinkmask1_usesmoke == 0 sinkmask1_guideuseplane == 0 }"
		menu	{
		    "none"	"No Mapping"
		    "increasing"	"Increasing"
		    "decreasing"	"Decreasing"
		    "hill"	"Hill"
		    "valley"	"Valley"
		    "step"	"Step"
		    "square"	"Square"
		}
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:sinkmask1" }
		parmtag	{ "import_token" "guidevisdensitymode" }
	    }
	    parm {
		name	"sinkmask1_guiderangemode"
		label	"Specify Range by Min/Max"
		type	toggle
		default	{ "on" }
		disablewhen	"{ sinkmask1_usesmoke == 1 sinkmask1_guideremapsmoke == 0 } { sinkmask1_usesmoke == 0 sinkmask1_guideuseplane == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:sinkmask1" }
		parmtag	{ "import_token" "guiderangemode" }
	    }
	    parm {
		name	"sinkmask1_guiderange"
		label	"Guide Range"
		type	float
		size	2
		default	{ "0" "1" }
		hidewhen	"{ sinkmask1_usesmoke == 1 sinkmask1_guideremapsmoke == 0 } { sinkmask1_usesmoke == 0 sinkmask1_guideuseplane == 0 } { sinkmask1_guiderangemode == 0 }"
		range	{ 0 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:sinkmask1" }
		parmtag	{ "import_token" "guiderange" }
	    }
	    parm {
		name	"sinkmask1_guiderangecenter"
		label	"Guide Range Center"
		type	float
		default	{ "0.5" }
		hidewhen	"{ sinkmask1_usesmoke == 1 sinkmask1_guideremapsmoke == 0 } { sinkmask1_usesmoke == 0 sinkmask1_guideuseplane == 0 } { sinkmask1_guiderangemode == 1 }"
		range	{ -1 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:sinkmask1" }
		parmtag	{ "import_token" "guiderangecenter" }
	    }
	    parm {
		name	"sinkmask1_guiderangesize"
		label	"Guide Range Width"
		type	float
		default	{ "1" }
		hidewhen	"{ sinkmask1_usesmoke == 1 sinkmask1_guideremapsmoke == 0 } { sinkmask1_usesmoke == 0 sinkmask1_guideuseplane == 0 } { sinkmask1_guiderangemode == 1 }"
		range	{ 0 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:sinkmask1" }
		parmtag	{ "import_token" "guiderangesize" }
	    }
	    parm {
		name	"sinkmask1_guideiso"
		label	"Iso Offset"
		type	float
		default	{ "0" }
		disablewhen	"{ sinkmask1_usesmoke == 1 } { sinkmask1_guideuseplane == 1 }"
		range	{ -5 5 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:sinkmask1" }
		parmtag	{ "import_token" "guideiso" }
	    }
	    parm {
		name	"sinkmask1_guideinvert"
		label	"Invert Iso"
		type	toggle
		default	{ "off" }
		disablewhen	"{ sinkmask1_usesmoke == 1 } { sinkmask1_guideuseplane == 1 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:sinkmask1" }
		parmtag	{ "import_token" "guideinvert" }
	    }
	}

	group {
	    name	"folder0_12"
	    label	"Pump"
	    grouptag	{ "import_enable" "1" }
	    grouptag	{ "import_source" "op:pumpmask1" }

	    parm {
		name	"pumpmask1_showguide"
		label	"Show Guide Geometry"
		type	toggle
		default	{ "off" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:pumpmask1" }
		parmtag	{ "import_token" "showguide" }
	    }
	    parm {
		name	"pumpmask1_color"
		label	"Color"
		type	color
		size	3
		default	{ "0" "0" "1" }
		range	{ 0! 1! }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:pumpmask1" }
		parmtag	{ "import_token" "color" }
	    }
	    parm {
		name	"pumpmask1_usebox"
		label	"Bounding Box"
		type	toggle
		joinnext
		default	{ "off" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:pumpmask1" }
		parmtag	{ "import_token" "usebox" }
	    }
	    parm {
		name	"pumpmask1_useboxhash"
		label	"Bounding Box Hash"
		type	toggle
		default	{ "off" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:pumpmask1" }
		parmtag	{ "import_token" "useboxhash" }
	    }
	    parm {
		name	"pumpmask1_usesmoke"
		label	"Use Smoke   "
		type	toggle
		joinnext
		default	{ "off" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:pumpmask1" }
		parmtag	{ "import_token" "usesmoke" }
	    }
	    parm {
		name	"pumpmask1_guideremapsmoke"
		label	"Remap Smoke"
		type	toggle
		default	{ "off" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:pumpmask1" }
		parmtag	{ "import_token" "guideremapsmoke" }
	    }
	    parm {
		name	"pumpmask1_guidesmokedensity"
		label	"Smoke Density"
		type	float
		default	{ "1" }
		range	{ 0! 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:pumpmask1" }
		parmtag	{ "import_token" "guidesmokedensity" }
	    }
	    parm {
		name	"pumpmask1_guideuseplane"
		label	"Use Plane     "
		type	toggle
		joinnext
		default	{ "off" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:pumpmask1" }
		parmtag	{ "import_token" "guideuseplane" }
	    }
	    parm {
		name	"pumpmask1_guideplane"
		label	"Plane Orientation"
		type	ordinal
		default	{ "xy" }
		disablewhen	"{ pumpmask1_guideuseplane == 0 }"
		menu	{
		    "xy"	"XY Plane"
		    "yz"	"YZ Plane"
		    "zx"	"ZX Plane"
		}
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:pumpmask1" }
		parmtag	{ "import_token" "guideplane" }
	    }
	    parm {
		name	"pumpmask1_guideplaneval"
		label	"Plane Position"
		type	float
		default	{ "0" }
		disablewhen	"{ pumpmask1_guideuseplane == 0 }"
		range	{ -1! 1! }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:pumpmask1" }
		parmtag	{ "import_token" "guideplaneval" }
	    }
	    parm {
		name	"pumpmask1_guidevismode"
		label	"Visualization Mode"
		type	ordinal
		joinnext
		default	{ "false" }
		disablewhen	"{ pumpmask1_guideremapsmoke == 0 } { pumpmask1_guideuseplane == 0 }"
		menu	{
		    "none"	"No Mapping"
		    "false"	"Infra-Red"
		    "pink"	"White to Red"
		    "mono"	"Grayscale"
		    "blackbody"	"Black Body"
		    "bipartite"	"Two-Tone"
		}
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:pumpmask1" }
		parmtag	{ "import_token" "guidevismode" }
	    }
	    parm {
		name	"pumpmask1_guidevisdensitymode"
		label	"Alpha Mapping"
		type	ordinal
		default	{ "none" }
		disablewhen	"{ pumpmask1_guideremapsmoke == 0 } { pumpmask1_guideuseplane == 0 }"
		menu	{
		    "none"	"No Mapping"
		    "increasing"	"Increasing"
		    "decreasing"	"Decreasing"
		    "hill"	"Hill"
		    "valley"	"Valley"
		    "step"	"Step"
		    "square"	"Square"
		}
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:pumpmask1" }
		parmtag	{ "import_token" "guidevisdensitymode" }
	    }
	    parm {
		name	"pumpmask1_guiderangemode"
		label	"Specify Range by Min/Max"
		type	toggle
		default	{ "on" }
		disablewhen	"{ pumpmask1_guideremapsmoke == 0 } { pumpmask1_guideuseplane == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:pumpmask1" }
		parmtag	{ "import_token" "guiderangemode" }
	    }
	    parm {
		name	"pumpmask1_guiderange"
		label	"Guide Range"
		type	float
		size	2
		default	{ "0" "1" }
		hidewhen	"{ pumpmask1_guideremapsmoke == 0 } { pumpmask1_guideuseplane == 0 } { pumpmask1_guiderangemode == 0 }"
		range	{ 0 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:pumpmask1" }
		parmtag	{ "import_token" "guiderange" }
	    }
	    parm {
		name	"pumpmask1_guiderangecenter"
		label	"Guide Range Center"
		type	float
		default	{ "0.5" }
		hidewhen	"{ pumpmask1_guideremapsmoke == 0 } { pumpmask1_guideuseplane == 0 } { pumpmask1_guiderangemode == 1 }"
		range	{ -1 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:pumpmask1" }
		parmtag	{ "import_token" "guiderangecenter" }
	    }
	    parm {
		name	"pumpmask1_guiderangesize"
		label	"Guide Range Width"
		type	float
		default	{ "1" }
		hidewhen	"{ pumpmask1_guideremapsmoke == 0 } { pumpmask1_guideuseplane == 0 } { pumpmask1_guiderangemode == 1 }"
		range	{ 0 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:pumpmask1" }
		parmtag	{ "import_token" "guiderangesize" }
	    }
	    parm {
		name	"pumpmask1_guideiso"
		label	"Iso Offset"
		type	float
		default	{ "0" }
		disablewhen	"{ pumpmask1_guideuseplane == 1 }"
		range	{ -5 5 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:pumpmask1" }
		parmtag	{ "import_token" "guideiso" }
	    }
	    parm {
		name	"pumpmask1_guideinvert"
		label	"Invert Iso"
		type	toggle
		default	{ "off" }
		disablewhen	"{ pumpmask1_guideuseplane == 1 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:pumpmask1" }
		parmtag	{ "import_token" "guideinvert" }
	    }
	}

    }

    group {
	name	"std_switcher_0_1"
	label	"Initial Data"

	parm {
	    name	"density_soppath"
	    label	"Density SOP Path"
	    type	oppath
	    joinnext
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000" }
	    parmtag	{ "opfilter" "!!SOP!!" }
	    parmtag	{ "oprelative" "." }
	}
	parm {
	    name	"density_scalevalue"
	    label	"Scale"
	    type	float
	    default	{ "1" }
	    range	{ 0 10 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"temperature_soppath"
	    label	"Temperature SOP Path"
	    type	oppath
	    joinnext
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000" }
	    parmtag	{ "opfilter" "!!SOP!!" }
	    parmtag	{ "oprelative" "." }
	}
	parm {
	    name	"temperature_scalevalue"
	    label	"Scale"
	    type	float
	    default	{ "1" }
	    range	{ 0 10 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"fuel_soppath"
	    label	"Fuel SOP Path"
	    type	oppath
	    joinnext
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	    parmtag	{ "opfilter" "!!SOP!!" }
	    parmtag	{ "oprelative" "." }
	}
	parm {
	    name	"fuel_scalevalue"
	    label	"Scale"
	    type	float
	    default	{ "1" }
	    range	{ 0 10 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"velocity_soppath"
	    label	"Velocity SOP Path"
	    type	oppath
	    joinnext
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	    parmtag	{ "opfilter" "!!SOP!!" }
	    parmtag	{ "oprelative" "." }
	}
	parm {
	    name	"velocity_scalevalue"
	    label	"Scale"
	    type	float
	    default	{ "1" }
	    range	{ 0 10 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"usetransform"
	    label	"Use Object Transform"
	    type	toggle
	    default	{ "on" }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"closedends"
	    label	"Closed Boundaries"
	    type	toggle
	    joinnext
	    default	{ "on" }
	    range	{ 0 1 }
	    export	all
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"closexneg"
	    label	"-X"
	    type	toggle
	    joinnext
	    default	{ "on" }
	    disablewhen	"{ closedends == 0 }"
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"closexpos"
	    label	"+X"
	    type	toggle
	    joinnext
	    default	{ "on" }
	    disablewhen	"{ closedends == 0 }"
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"closeyneg"
	    label	"-Y"
	    type	toggle
	    joinnext
	    default	{ "on" }
	    disablewhen	"{ closedends == 0 }"
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"closeypos"
	    label	"+Y"
	    type	toggle
	    joinnext
	    default	{ "on" }
	    disablewhen	"{ closedends == 0 }"
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"closezneg"
	    label	"-Z"
	    type	toggle
	    joinnext
	    default	{ "on" }
	    disablewhen	"{ closedends == 0 }"
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"closezpos"
	    label	"+Z"
	    type	toggle
	    default	{ "on" }
	    disablewhen	"{ closedends == 0 }"
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"velocity_direction"
	    label	"Wind Tunnel Direction"
	    type	vector
	    size	3
	    default	{ "0" "0" "0" }
	    range	{ -1 1 }
	    export	none
	    parmtag	{ "autoscope" "0000" }
	}
	parm {
	    name	"border"
	    label	"Border Type"
	    type	ordinal
	    default	{ "constant" }
	    menu	{
		"constant"	"Constant"
		"repeat"	"Repeat"
		"streak"	"Streak"
	    }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"restfield"
	    label	"Add Rest Field"
	    type	toggle
	    default	{ "1" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"restresscale"
	    label	"Rest Division Scale"
	    type	float
	    default	{ "0.5" }
	    disablewhen	"{ restfield == 0 }"
	    range	{ 0! 2 }
	    export	none
	}
	parm {
	    name	"velocity_voxelsample"
	    label	"Velocity Sampling"
	    type	ordinal
	    default	{ "faces" }
	    menu	{
		"center"	"Center"
		"faces"	"Faces"
		"edges"	"Edges"
		"corner"	"Corner"
	    }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"positionpath"
	    label	"Position Data Path"
	    type	string
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
    }

    group {
	name	"std_switcher_0_2"
	label	"Fields"

	group {
	    name	"folder1"
	    label	"Dynamics"

	    parm {
		name	"enablevelocity"
		label	"Velocity"
		type	toggle
		default	{ "1" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"enabledensity"
		label	"Density"
		type	toggle
		default	{ "1" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"enabletemperature"
		label	"Temperature"
		type	toggle
		default	{ "1" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"enablefuel"
		label	"Fuel"
		type	toggle
		default	{ "1" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"enabledivergence"
		label	"Divergence"
		type	toggle
		default	{ "1" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"enableburn"
		label	"Burn"
		type	toggle
		default	{ "1" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"enablepressure"
		label	"Pressure"
		type	toggle
		default	{ "1" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"enablerest"
		label	"Rest"
		type	toggle
		default	{ "1" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"enableconfinement"
		label	"Confinement"
		type	toggle
		default	{ "1" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"enableheat"
		label	"Heat"
		type	toggle
		default	{ "1" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	}

	group {
	    name	"folder1_1"
	    label	"Masks"

	    parm {
		name	"enablesource"
		label	"Source"
		type	toggle
		default	{ "1" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"enablesourceindex"
		label	"Source Index"
		type	toggle
		default	{ "1" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"enablesink"
		label	"Sink"
		type	toggle
		default	{ "1" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"enablepump"
		label	"Pump"
		type	toggle
		default	{ "1" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"enablepumpindex"
		label	"Pump Index"
		type	toggle
		default	{ "1" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"enablecollision"
		label	"Collision"
		type	toggle
		default	{ "1" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"enablecollisionvelocity"
		label	"Collision Velocity"
		type	toggle
		default	{ "1" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	}

    }

    group {
	name	"std_switcher_0_3"
	label	"Slice"

	parm {
	    name	"slice"
	    label	"Slice"
	    type	integer
	    default	{ "0" }
	    range	{ 0! 10 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"slicediv"
	    label	"Slice Divisions"
	    type	integer
	    size	3
	    default	{ "1" "1" "1" }
	    range	{ 1! 5 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"sliceoverlapneg"
	    label	"Overlap Voxels Negative"
	    type	integer
	    size	3
	    default	{ "4" "4" "4" }
	    range	{ 0! 10 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"sliceoverlappos"
	    label	"Overlap Voxels Positive"
	    type	integer
	    size	3
	    default	{ "4" "4" "4" }
	    range	{ 0! 10 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
    }

}
# Automatically generated script: Thursday October 24, 11:43 2013
\set noalias = 1
#
#  Creation script for smokeconfigureobject operator
#

if ( "$arg1" == "" ) then
    echo This script is intended as a creation script
    exit
endif

# Node $arg1 (Dop/smokeconfigureobject)
opspareds "" $arg1
opexprlanguage -s hscript $arg1
opuserdata -n '___Version___' -v '' $arg1
SaveSpareParms := 1;
CheckExternal := 1;
GzipContents := 1;
UnlockOnCreate := 0;
SaveCachedCode := 0;
LockContents := 1;
MakeDefault := 1;
UseDSParms := 1;
ForbidOutsideParms := 1;
PrefixDroppedParmLabel := 0;
PrefixDroppedParmName := 1;
ParmsFromVfl := 1;
      }㸕fyf6b,cNǸ;۳.GulGRԔR]Y?>Ӿ %*Qrgw@s߽Cv''+:g~Qw-7ݫ֛~[d}|o}Jwl@d6yYwbx/wo~wƂ;Vɵu=<>>&wW|՟^?ymV/~ʇ$^O~??;r%U_zu[3Y~ܒº~4Ox-]jˮ1S|-ͷz=^zN\J/_~?Ѻ[o-N~1=ٺOVvOn-;~ܷvhW+21UoG*חd9p_d<2rce<LM.V>Foo=)9yyS)"w>l3>"X	Ŀ&Qݗj>$G_mgf[ |ڬjJ#ɮ7d	[)X)ɔ-d^O~I-Sź{m~F~ڔْ~LV!9o]Mi
zX.Ǆ%}aeYYV	ÅQ&Cu7_oPY氙aSCE|A_í}eZߨ!%d@xa2_6fi%3JooكC$6FJQ;.q1Ww6L`
+<Ob!و
]C#Oz5_?wdYZԏFgZ|N,07Y*_Zn9Ar=hoz-?aV'ܭ^{ۧpxAqxyemmWK/wX-׳[n*M\v#vp\YZݷߺpTKzu4)-8" 
p%Tþ/=i	x[`q_^}-nl[i
#)`a0_/-|iӨ7mAKf^&<K-ʫC~BWNwIO}[W 7	nuO"x''t7ߺ?~owt}}nyDP彝m6Kl.,^> Df;Pq"a a+ܞid k"YZ>m#cAH,'*9 pW>lqg9Nq/[
0NnT`"ݐYNّ\lX.՗pɨ"}e'GW?
yʊF~m[~AodelFƆ2xS)%,9{⓹ǷĴzJSsaJ՟5N֛'l3pn$u3mw`0VՋeF/L"k7֎;S
9 ѴVh >=-P1pzQV}vU+;PrϾػ{^A]r{_VT1px2CO /p38?N&]>o'}	g~E&wpb,2@vk }]l/|߲~RX8_!>j_#pGB8ˑ qB*D]
Qz^Aq}/%I" xpć@Yo[>_8H^;|\ ->;%~|t!Z+JG{
*ROv9۬Fw&ԄZSFzW
;kuP.YК
!5FC@OSdPrP/PCPR:ulgU[ֱ?mY{Y*hw	|LتjQO;YhpFW@oOsVx1)pnýV8B	/ti>zsxD+]cTf'_]?m~R
D/y|UCm-YY<xO]G\Q;#|ALv3gγUq$*=3a]r3"t1O)?BR*G U/G?Wi3I>uNIMB~l*W{(ZuH{X,wwI]%ϵ0sȢ{ZRWdƻZRWdrϽs-\+)ݹ nuj\Qm9YR>DJD슞̀*&io65~풻z	e	FFԷ5rn	y͑RUC*#J~]<TGCZ8nSH6 $i췳'm֬g-=|i;CݬGi'[$ʳzS!=kV|9U> #A-r\wK>mmpڗ@ۂep[tٮTRgYIׁk1}"l%QչQ ; dr7]CRBkq?/7`❅_v_e?iD8{~( HUU"Ҡh#`6c Pn9{E(8[	C^)dw0ѸkpL{RnRD@.Eh)v-a(e	Dé i 6,\T$3a'X
JbxR/`Sg旁+1vqR'eDJq=^%KWTs^T[p.3]3O82ȶ6AV[;h='7|0Sxہ:)xcO7=Κ}d3hA\B%\Bd%\BJݐԡ9-f/KL	a)ܨr^?f74\'+]uCz|q}݊k>rM܄]p,E}HUWp2sE(|uI|#){qA,Yv9TZX۝07Wt1NnGz9XyMxrك .2px^1s	s6ÅQװW|dikw^20rAK{.))V	e	)<^Fna@=	3;@m!T{;'HON{q`w߾2w }֠Ɨո/z5^;q'&ooS q*_I}M\<wB&yD&y.F&yG'%Yͼ or\jojSa)߶#?M	4?L09aq	&Qr"ʌz\g?vYbSKZ4r86sFL*yy{Aly-8zUw St"ֽqZ>*=x}8V7YcEkc.R	~a/dZ 2+r/	{nڴ-Z`\zu-dW3^o̿lb02Ǆ)vL#b:	ӱ>U66!NcDUvHYewp#c)OG"4g)`FR5Llx`6<ၕ]}mI뮐ၵVPMo;+8G!hKWhJ/Ѧ7I)[b$RHKTnϵ8w/UZRƗb֤b}J>uo-`.[ >w
 v5ๅg20[.>7ְ߀:
t"g7[ c1`L	؋0^t0=y'?Ze+vp7}V6O܆{MpTf<)0C`ùL{77EJt7gg;>_KnZl$yalwi mcG$=&6ymTϬBKdul
H6@dMB4ֶfT:duSgmq'Z|PLvPc ݷof6?2)RFMQ*Zc[VOv'@a"WOX">lC88GOWo7:Y#BQ\Hı|(-f956U:22S󹜨bQN?QZC iiT^#rj{3 IMZFVTr5iԘSEj7D@P,.	τKTZtZUh*oP'@@owȀxa!8`IJ`?Hn ^)kSqBC\R0D%vSfq,.)&%0ڄ)\4OQ4].%=TҜA֕aՕb /EwzBy,bjKV*2`BPB<:\m旘(n]q]ݰanvCvkw$P&d 
<"0p%|tmи*1Uרjp iAh0H/Ϩ*!х:2UMj;E<hcA7Xn0!h̆@x*PYV8Xi0hx0 1).W&3TZeT<LCLV4^'cn8楡+HV%9Ъ'#G4D>4> ނ.,^DABPdt/z؊@	?-Z:`xRPr-Y)\Cdv$bE9KgaFXIhAPq.69é*`K_SjRE+]T_@b$(L\Ꝣ-r*m@ry@6v?LSvT/s4/Gaʫu|Vl%OwQkX	C_EM1KPI5!im-B?IR9˪XVTSWt˴)ˊ-eZا~0)hAj
!TgUB..	uJfH9Qcz߈*ڭybDDMn>)HaSn.
*縞rGE2-F	l8}"(Z#h 2gBSt6j6lty{Վ	Dv}&T2xOdnjZ.~p経]OiqÞ`ɠkbQ.1U;̾cFAvsm·%|3/9Y~Ƞ3vSocx4rv 	Eg8jn#(FjcKKsl
* x)
^WuNawUM(5jwuQG?EZ]/=К
!5FC@%Kbi  '˜p)P\}V%ˎ}GS3u{&P>}_ɤSzCF|[9,޿,Y~[#8HGAu[>wsǐvs222OQ>Bvr:oп|O`1s??}q!*U$ƦM]o[N<}Cf>RBlbVHzG Zr]'gK6 "{]'(:*oX0_L/YF0\Դ95K[2c6TVMx <Ep.6}F&at8]zfDc8Ȼ$aV"\tGsDqKɀFboy's0pܓ)jCIU(1ikmThFHJ3da&x/io2Jh	 sQV`
^]*@uyZEtO4<<UmI>ԡpIBC1F:fl#d帾r6pgOgq	;h-qd<ζEFhQ r_kQ-g9cAxF1۞7ԍ86dFAfY-;.Ȍa1WVc-eOpTiXۮ{ᅌ9nrGz9y83}86;/LN&#bkv{:GX~\:`aH2e@rRa(9"Z]5ȣ"L	fM	C	Cn8τ!0dlMr_	CIB&YkL 2aMvCCidM	B6A&! !a\Ģ dJӅ{,POS/xoȇ/"5BI}$lK<Xm
炥iOQyuymQF9:4Gf\`4op4~j{2VdC>f>wؑ%so1ࢎ9:9昣`#9ho̢2ڸX|q=Pۑ{&DHci<HcqqҎ$TE!L~O~1'MEqDDDЉ
  riQ,|ŧ#(GAӰ-K8P2wЅy	u՜AW+0~Q+E!"AyHfta\+TiTⰭ.@^e]
Xmѥ#*XDa{nӜSZb"7Ω(wao:v^Tr[gwwز䌞}(E#6Y[!o=% -x)^8iEӀ].Ȁ]oꅱX: H=  1ivAxQ~b\@l>C.~+fF\j/$KC/6MiLag(>3ѓV=IbϪ2(U`GQ\>:Aett7kFGiѱ蘶Wns@h"'Y*wQixQHL`neeɰ8\X;zYŏͻyU2jǎ۟}C5?)8۷"3.)].Ao?KkMfKj"Xdi\&+Md)޲ҤMpRغcUBSD&ɢc,:=+dhɢ3 ]n>[&M5x@3)- B!^ul`$2	zM0tFK02D	"]bWU~W0JO*XȰ_'X{"gx\q2ΈY*P1r:Rx6^1Lt^nY#2V:&I=eROl^qdBqԑvÉ:Ǖ5?!ł*yӀi{adG1xS+j9Ԕ:x8n5yWTvԢSg̩E=A7-bCjcR	Zd\KC#.Z;2Z+d-9b/Ey{G"[`|4-h"և7a|LF.yYFw)zQF>UG	PE({{P`2sN3cϳ:#fЧ$DT7dޏ3T5Iз{4Q[;}ZlDd
m*FK8ܨzQqqp;#*VQ3HvWrgq2L:`l夣\P|!QG=hTQG#sԑ9.QGN!2:d1@z}nHȠIKq{1EpC.І8i5莮& ;>mIUOv鍓_BWԅ.o@+ғ䠠ȡKl`@iE4'3P]iPWp@w҂A:hu%C(JLN4*-QRC?B ԑеBBŎ+r^K{:,!|iCHBЋ 7JsuHE=tF_iˀƤ:ڟˏ~YLDĎ	 @t 1ONHLNgL/-I i@ |~&yTϋu6$$4g,F6OwLο(dr5/rȦ7LlJ갆UzG fϤٻ4{ԀeuRZ*ܨs'amt:D<q0]/x{^Ƒk\+JG=f6CZXMǐʹ!_uQ,|B|]!Cœ֧~#C~5ǭqk6<<pgǭcy/1E/;.2B&}oU/t@; rPR:ѽdA63yaױaL|[UjLNfbXk)6LaSlbeW0Lq_auR0ź+db2L 2Lqan\tdȰĆ%6,,qĆ'6<ቫ_ɻ䈩 \GL:bP}Pı3Gz4;3,P0=aQgX6q{%sc5Aرi+mׄv=G(1,=O4Qbp%QD(	P]O$u=pQt?A:()[i%C;Q4i%5; 4J
]˧Qzdi={2_[<4Js9{Ҝ=iΞٓ؞v PDEcWfE
0p"yOбaė&̈ёfN4sRq^Ҽ@3hfʹn͚1f&@3hftR鮐	4Z!h6 LYXiꆾ(aXidL35άlY&D(Fa(3" DO,HB*
2+>"->binQlEưf;(^zY/lzΖ?ΞwڄiN_8g#76GߔSk qJjS;谜966th:<Sg:<])1h{	,k7YDZK \FxUrH͆1d 2&. 2@pU+'F2:bG{9LjM>1<Ye2H 0/0 q|ϧ,,B+ d&dLKB0&xEvh&Dj՚$M.*x5BSL 2j+dNՊ|>	XN'lkؗ*7TĚ3qb'[~b8ՏNG^XaAmۧѬfVۦc8`,<'ȏ78^=vlm7f̠fK煳B?vHwt'R
gKJiJM8j4ɤ-5TqiK{m AMMB,{Xd_WGǰPȰ+dsmMs̰j>3<|I,XXUNaϭ_ΣUUٗҧ	i}<65crǗRgD^?:u*|hb)uLqO*T"^U"%Rջ=Ɨܭ6TnkaKqV_[.-JթG3?gk<9.ړu: ? glۣrgGEM Bp!ΜA|i*AOH{.U&2a g
 X486)ԇƂ-KW[,X]	5xa-/w㎡
Cw;
w(t@rQ<21Éx&6&d"k5uM!pa: JN W:exHf2$+@%ԯ?8)@Hƃc~#X	.B5BMf9EgBS6c$88q\Ǥ0Ɔ1aclcXcfcT0
Xkc< cd>=RPņ*֕*l>=8al3hx:<L&qDŨDt}X{ܱ:\6 1:c8/Gˏ=?,n;ޤŶxhŉ;¶V̧̎y IZOTTϛzZ`!ٲKnSV`97hx,jaJ10plrls&@
Kde횺P
|1=0h|)^ք_K ou&dT
d<=kkܜpT7o"
xj%`δjZQ%B2[͐8i5IaijTݺ-zJ{=74i%?+<Z(j#.Mt)v!sn0bh/ŅDkNS,aS*#C?5ŉ*5#JkJ%}~{ԍy&-E#+_{*@
i<j"e"h\(Up%Ю*"aR3"NK{?Л2(T@tw;jvL!~\M,-*JDÛphGAH	`p/# <kDVDj R-JCd#<X$;۱]+`JJ^fF:֥;HhRpfwQ8${z=P·JE;SJ8.aII6,I:ؤs^I(5جVd7=(Z4sk4+iK&n-O5f۝Lᗢ2wdپ
X=C7h]#}qV8JJɞ^5zNjz|
[jqtbMOIjJ[>Yͻ4 sHpq^$^DOÚBtVRbTK2@]E]u;+zGdU>I/ͪQS"t%u.tNN6mN[c sR9)[f},0,g0]/߹<,g<at֓<ނhH/x^Ɋ栚KEgMWXsPtLNsPGdI)e}8fIm-WlE	B砸Od=核5085iKut3ah9l2Z=ޚrM'Jꍵۦڬ=Wùi5EsSysIrMk65-ȶGХSSA^(T2Դc|RIa0wö(W9:eDFәpb[ԋ^Lq(3v3!MүW+,g
'Uַߟμ[KO.:=%0_8/Ғim79h=ݽ3Wozmj-V;]ЫfmS8g^=2'XRoHj'L(j VrsxtpDAxԼ:F1_Zj,dNro/q^"@Kgww+j^43"zNgy4e;:t+֓+v~`'F{NjD) Ssp'#L)E/̞'U2*`:Uov *ۙ]O	lNrľYΆh~E;]%&HoqAO9.5l-pNYbQh%f|F` cMoE=uC8
7`D+7Lo(35*܀5z]ae)d6jexPTwm g8DMvJ]t7kSigYys6G(0dgr|~3t?;>)2KlU=
QNuv]gTyx)lڌY#ʃƄ'Y}78->5\]VOSW:/˜"S5ڦuõLm	B=O?6<{Y(ghL"cNvѹ|q6׋Ta>3-'7QX5۶3dMzZ ]{ZdCM睭ɾ]o6S?'XL|8n>نk`ݗ֯mVjd*/:;2#dw6.nW
@Mu'P%p
R~eǹ^7_ɻ/r pg839k%/C61.4t4[ yC%"q(dGvl&NAO&,f
:hTAM̒p|DP	3ts'MH%ݎ1C
3a辕B:ı ]zNFr
gpS 2P.˙]Gt[$%L+qǡUgS"#ϴlwB,ppJKBtibQخn/_
^\1KRG9jA$GnQt=ٚD5c<$12
b8\[>ݰ;y-&[d˷j}o)"ۤ!PY4-:^"@qi;̖ϸrCѦ>Ox®;ϱiK;/`k7QжGvBl;(|KS~Fl`;{#|tJ^Jq9ScڍJ*0
\f̷Ľ@⾐H\L8y\""k>r_*ciJ2ed%2FܢL-)Ԍm݆ ;,A:qͽe6!ږReu ԁu`\hM:S8tnqiyImtF@P\[!ޫ FQo(WW3L (@Y9rTg>+,H|xEPwfPպP @"o!5.RÊh0ea @͠AQj7T?Zsc"ػVϑ))->?\̙i!>?ܙvzpg|m.T08)3􌯱}Kn֟zf""3ȱ3!  ggVgOA C:kA!*&="⣚؉Njd'::=[~?~r؉z;߇4%
eVQ.1Evo͝S܁kx]Οap8[?%m\7N hj@rxrHcH U mKvHΜ6#!}qNξ`+H Ts[gL-4jkMtOTLLMn]La	*%گ9TMT)MjJ͢zJi`UX7m.h2mu 7AƇqMIY!JQnHՔ"+i1Eqa&s"FtƃPeX=i8SU6IJ
f,O(˰%gT_Á-Hrid4Hn6
	%ӏX\-++O?idVM^+R:5X	( Rw'obm-WmyT$)1IYޜIYYɢ$o)z/۸d-6p~FwCn;uwIٕ+2mX@rjKJ*Sl$}JޢCɗ:̿~RauLUSNaGQ;4T:TaAoW7wϷ7	abAS3'SI|t7R	kI3% CYrDe$P1^xQ2KdUZ^8q]ܽFwr­7n\XS*əc,2RF;$,N~+ʫ(=ޭyoE~bqNd:wZ* pvmq7;$	Z͓X({bu|t4n74	=1Қ>oګ38;!+oW=K].M@gW0v;3.-hoF%ؼsό`+KZ	ΘSyEҶ1@po%-rV89D>}ׯ? 1     nodeconntype           INDX              DialogScript      [OP   CreateScript  [  HOP   TypePropertiesOptions    OP   Help      OP   Tools.shelf    mOP   Contents.gz    [OP   ExtraFileOptions  r   OP# Dialog script for gasdisturb automatically generated 06/14/12 17:00:25

{
    name	gasdisturb
    script	gasdisturb
    label	"Gas Disturbance"


    help {
	""
    }

    inputlabel	1	"Input 1"
    inputlabel	2	"Input 2"
    inputlabel	3	"Input 3"
    inputlabel	4	"Input 4"

    parm {
	name	"time_scale"
	label	"Time Scale"
	type	float
	default	{ "1" }
	range	{ 0 1 }
	export	none
	parmtag	{ "autoscope" "0000000000000000" }
	parmtag	{ "parmvop" "1" }
    }
    group {
	name	"settings"
	label	"Disturb Settings"

	parm {
	    name	"dist_scale"
	    label	"Disturbance"
	    type	float
	    default	{ "0.75" }
	    range	{ 0 10 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	    parmtag	{ "parmvop" "1" }
	}
	parm {
	    name	"cutoff"
	    label	"Cutoff"
	    type	float
	    default	{ "0.1" }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	    parmtag	{ "parmvop" "1" }
	}
	parm {
	    name	"override_block_size"
	    label	"Use Block Size"
	    type	toggle
	    default	{ "on" }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	    parmtag	{ "parmvop" "1" }
	}
	parm {
	    name	"block_size"
	    label	"Block Size"
	    type	float
	    default	{ "0.3" }
	    disablewhen	"{ override_block_size == 0 }"
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	    parmtag	{ "parmvop" "1" }
	}
	parm {
	    name	"locality"
	    label	"Locality"
	    type	integer
	    default	{ "1" }
	    disablewhen	"{ override_block_size == 1 }"
	    range	{ 1 10 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	    parmtag	{ "parmvop" "1" }
	}
    }

    group {
	name	"settings_1"
	label	"Control Settings"

	parm {
	    name	"use_control_field"
	    label	"Use Control Field"
	    type	toggle
	    nolabel
	    joinnext
	    default	{ "off" }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	    parmtag	{ "parmvop" "1" }
	}
	parm {
	    name	"control_field"
	    label	"Use Control Field"
	    type	string
	    default	{ "" }
	    disablewhen	"{ use_control_field == 0 }"
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"control_influence"
	    label	"Control Influence"
	    type	float
	    default	{ "0.5" }
	    disablewhen	"{ use_control_field == 0 }"
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	    parmtag	{ "parmvop" "1" }
	}
	parm {
	    name	"control_range"
	    label	"Control Range"
	    type	float
	    size	2
	    default	{ "0" "1" }
	    disablewhen	"{ use_control_field == 0 }"
	    range	{ 0 10 }
	    export	none
	}
	parm {
	    name	"remap_control_field"
	    label	"Remap Control Field"
	    type	toggle
	    default	{ "off" }
	    disablewhen	"{ use_control_field == 0 }"
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	    parmtag	{ "parmvop" "1" }
	}
	parm {
	    name	"control_field_ramp"
	    label	"Control Field Ramp"
	    type	ramp_flt
	    default	{ "2" }
	    disablewhen	"{ use_control_field == 0 } { remap_control_field == 0 }"
	    range	{ 1! 10 }
	    export	none
	    parmtag	{ "rampvalues_var" "control_field_ramp_the_key_values" }
	    parmtag	{ "rampkeys_var" "control_field_ramp_the_key_positions" }
	    parmtag	{ "rampbasis_var" "control_field_ramp_the_basis_strings" }
	    parmtag	{ "autoscope" "0000000000000000" }
	    parmtag	{ "rampfloatdefault" "1pos ( 0 ) 1value ( 0 ) 1interp ( linear ) 2pos ( 1 ) 2value ( 1 ) 2interp ( linear )" }
	    parmtag	{ "rampshowcontrolsdefault" "0" }
	    parmtag	{ "parmvop" "1" }
	    parmtag	{ "rampbasisdefault" "linear" }
	}
    }

    group {
	name	"settings_2"
	label	"Bindings"

	parm {
	    name	"vectordisturb"
	    label	"Disturb Field is Vector Field"
	    type	toggle
	    default	{ "0" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"disturb_field"
	    label	"Disturb Field"
	    type	string
	    default	{ "temperature" }
	    menureplace	{
		"temperature"	"Temperature"
		"vel"	"Velocity"
	    }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"thresh_field"
	    label	"Threshold Field"
	    type	string
	    default	{ "density" }
	    range	{ 0 1 }
	    export	none
	}
    }

    group {
	name	"settings_3"
	label	"Advanced"

	parm {
	    name	"opencl"
	    label	"Use OpenCL"
	    type	toggle
	    default	{ "0" }
	    range	{ 0 1 }
	    export	none
	}
    }

}
# Automatically generated script: Thursday June 14, 17:00 2012
\set noalias = 1
#
#  Creation script for gasdisturb operator
#

if ( "$arg1" == "" ) then
    echo This script is intended as a creation script
    exit
endif

# Node $arg1 (Dop/gasdisturb)
opexprlanguage -s hscript $arg1
opuserdata -n '___Version___' -v '' $arg1
PrefixDroppedParmName := 0;
ParmsFromVfl := 0;
UseDSParms := 1;
LockContents := 1;
ForbidOutsideParms := 0;
SaveSpareParms := 0;
CheckExternal := 1;
GzipContents := 1;
SaveCachedCode := 0;
MakeDefault := 1;
PrefixDroppedParmLabel := 0;
UnlockOnCreate := 0;
<?xml version="1.0" encoding="UTF-8"?>
<shelfDocument>
  <!-- This file contains definitions of shelves, toolbars, and tools.
 It should not be hand-edited when it is being used by the application.
 Note, that two definitions of the same element are not allowed in
 a single file. -->

  <tool name="$HDA_TABLE_$HDA_NAME" label="$HDA_LABEL" icon="$HDA_ICON">
    <toolMenuContext name="viewer">
      <contextNetType>DOP</contextNetType>
    </toolMenuContext>
    <toolMenuContext name="pop_viewer">
      <contextNetType>DOP</contextNetType>
    </toolMenuContext>
    <toolMenuContext name="network">
      <contextOpType>$HDA_TABLE/$HDA_NAME</contextOpType>
    </toolMenuContext>
    <toolSubmenu>Micro Solvers</toolSubmenu>
    <script scriptType="python"><![CDATA[import doptoolutils

doptoolutils.genericTool(kwargs, '$HDA_NAME')]]></script>
  </tool>
</shelfDocument>
      ]8 vvĮwXlnlJR۞.
U;s7+Sy(sj_7??LRII$%NfkQ0 F#rB?8 
 w\< ~g|5ƓW/Wt,nxJ&?Fx$M/6㗯;jBr]<,nzE%rdqǷqnn"]։MhY/ƛbߏ-tSmph1Ll}]?Wٳߍ<{_߯_տhR?vu_ߌ$WW)~ܫ+]]-	*WWyuf	AE>_/K4h;_??@mrE~YYoVZX_9H|Є+9MA>Uk$Д\yO*+ޜDŏ"reARxE3տv;${	~2&[Yy_9q."I}~s/^?-So{} q%]oSK_uyf_d'J
/&d,d?շ~ez/~bf[ۛdmOUlrě꽵Y`74fhkMy: Hb[bkI<nX&B{':FX)B~o4F6O+06YEj>OF$adrs@Ľ٬xczaoEY|aL<ޓq:-r<Q4/t2ߢ7x57ʞ~>¶R7d<YQ|6Q<,P?{_&3%Y#$w2>].֟x˭&|.u\hNY?goLv#CzWuASBqϽAEX/ e\vZx{B$zhDc$Dz?`OX Xw"I7hJz%_g_,V9~}S<~'QlƠ_t_+ɬ' wǝu#'/rGu_g,)flf2/axeJ2wdS~J.@wKރ#:`.(?+Mx_wSd$_\
`y:}2>%|2:eu_g9al%$߬bwVz`s.yItf1Myic:&#Mcq'w$N_3et6&dЕ=L sǱ+b+gcWVlߥMLP'یrl/* ~-ф.tq[hjD'Nr^(C>Alb[Sn
3KX֍niIsK6Z֍fIzKv[֋nIaK\K	&(osґ4^Iavwdry'|nw`jy|f>dby'l^fdZ5QsMlMafɮʺi2B7|nʺi0B/|vzi2B7l~&zi28NKM/0d;i2>d;i0>dh26dJ:y;z~\-r>gG?{"IEaEeim'߼'Mz=BGvVAQоm95ۖsm99[b~&~.kp}7֋y- meնf1̎(,=nLiɓ)9Cx(>#/Ogw㹇DvQZ9?껷C/zZ)BmobX4eH&3ۤ|d;H~4@LڐKodSOr&=*/|g#5<Jd<ιdA{X>úʧ6I{7{D~ߗxYt>xPi|6kfv5I9۠Q%{ 	-ch/U o?tb:"&?>$֫Ku(h/;TU;P'UJW+ze2ΐ83u+qo?%2a%FyݿwV-I?󯼕>u*;D
-L>T{HZ7g*(kFBR͈/`dg`A0oߧԲqP2XݠR0\*xA1;jR;zӤvP#Ԥ٠xUW\THݖKa+KDUf^iya< dk\yJ!+6{tLj'A~oC8YVUĆb^nwgǁU Ύ 6p,D8VUDJ>u#U3֝wl7/O`x -ϩA|\r'P{3=_ZӠ`Lӎz7Y4qbhtjX(m̊	niN2ۛ;;;;238,kqZA̳#ڰ
(wCrٸekrRӧ'}Qn*Wqc}|6V:9g__-p[9}jaG>)9AW֧ySfVeԓʍzk<Pw,.]{)ӛUrPn]rK~sٿ՗{80̾W:zYbX	ξm/l{C}a &ݿ#t'tDo?*T!*Bm-hGڥN*45IKVQ,3HI5g#r"veB(JH
q.NTd@$	 4@Hg~cj`Klm\[ZU㗎@8@[hx^ؐrc-"rᮏՠ2
n!h{*k 'RĂU'-UCѬ줍VvJj+{2|zR$FXgzX3HF#}$M6W-H}d|Ln5Nr~;	vdqK*%\ہ=ׇA2 }ᧄ~Lѓ||FtZGk1YhM|",bA .+~_]
r^eyxxE~IooMwx:ތ/دiO숋IL]8 {p$? ?"~C*ƃ GhLf!z6ޢMmY),?ޠM&L!7ގ3=dh4|^oױu=ٛ+|-vfjпF+8pŇ}<!_"?>?fI<yv/5&FT>=,φ!}Rq=!1r	C<\&?")h\lW8Hۈ\;á?ƫ+3fgtDnc9DpGr!!WKV{:FjME/h!Tcdf}pwXtqX zW^~e3ƭ7cL<hU`+`,!旪In sߢgLtz	T2%sTsԡI~}q:AǛM^17	h;bnAiG߭c)#4l\ Df?*JLqivz3,DliD@6a#Nqve'rlx:	myeH	#d&L2a6#͓l#dMo3~i?*NaJ˯HU|;^F7h?t.IgHObK`@OoxH-F1@[q#|`dyY9!VEI1>޾ݍWx|Gxc~7C-[nލIM?YfEVwYD_:9GUC̓4ÑnR4YjJsaoTۥ\#F[&SˉS\f\77w@Zzz*ώ%)}-VӤQ:bWI:U7cC-Y>ޱ7%+Bi-fwrũ6yz3^au}o5b2z%zIWFVGM釐ŃƈrXĎ2*2Oim3z^p^,?^e߆R** jnmӧ|ߡh^_GKneL(G$=كP9%P;'7UZ2ic]=Y#ǳ=B#>c#ɱϨzsAXX7q uc8]5gGM3lbg/-f d!$AeD6<ρ{{*)4c"VTa4 Nn~s;w!e)ps[/" 6J7gC΢TC}Nr%A'Ct#}Vo$tT^SrrJ%!ngdG+a%O*EFb]IA**ՍS⪜,bZatBB(}Gz.H	@BqLY_p(`9=,_:?>9C
pp~gڂYV
L<PW&z',ŝ?ۿ-g/gO~g֣8{뗯뛗߽~>/Rrgz"|JccI)+_!Hǭ ?}^U%rɽt\ (=`8J[(.
>mh\`	@APֱuF|bZBǆQOQeWR!K\	IЫmvY@eJՈ
JIC@|	
;uA*F:ʚf}Ѷt:sC*L܌WzAOH!a{Szv0D@5ףM]z#OPA͚lG?R<Wp8~RxPfoWr]Ww]ľxEN|(e<G<զs mcWC .fYeD쪓H=dǎ|?pM&N=4ތxloWIމE.@,9ʁ8h)QXrC T79-S'0f<,,Xfe=%JKћT>&.%ۺlFV7ϥx!OGO* ʗyKs20."YJ>#VhC'Z_D0cZ T,CQFБ,g+׌%?::*.n۽-vqB"=phI>j|]P^nOJP ┸־ ]94w%kU5е t
}>Y#@Z=u7MAk(~3	~g#[nx꽲Y$j8g/zTÆ/zĘb`#q~˯7o~		؍UMR<ZC2w/]6ZwAyjpzcZV;$hUvED#iXb5e?5h :FtWi45t2ߍ'?*pyիA +uB5JTWfz{FHkFlc%<tV`0ԗp]׍SRŎ۪v.e]Wj]0ZbaCΨvF;._KkLպol
Hy<K6g/DhE32,0@yFQbun<<w-L[z  Ϣ)>M	A|7AxEu1 k!/zŞzEwT꼨l}:ʳĐi]ߪ΁ |u2n@J(ެ]#!j2.MuT&@EA
uj:*dq'*T`wIQqi4AvAw:>jzb;j*R@w5ȶvHZA	^H4˔ԯM'>ZJjETXKItoT7)Rn*(єR (Qx
lk*HʏڗUhGf@N=P#jE7ΑXց0D[<<љcp$Mǌi
%zvu߉Ӥ4}#DȂ ]7}VT/Da2=Fk(l
Y\4Jɇb4Ç_T& ,ATj*),ĕRۘF'B'X.ulEqxz:4tslǉR~Ui{c}˖z)PsBxBp8ـSYlr&63YsK{(oǉ,gX`cyɝǂS;5v/L7t5~ŗ0UPC+kp4v@J[C6.w@wr,b-#șJʖdZ6_ܩ)_Qќ
+Q񍜪}|bu>ySB&oW$K%6hhyC~x.&%tnդ³5)qƨjJ,X_-M-ƶd5e\6K+B.[xVtSӣ)0|@\k͖J%4ȆAAQC#MEalslg;;tiV#'!ovYQV9@)SFcu	t?rp.vdƇwvaQd6XSg/>ذ<Cd4&㩙b4ZASљ찔/uf<u@~˯Fo`<d-7`X=R~o67y|@5[.++Q׌fԵ3Q.Gxl?8225e
 }e^rBMѧ(W u9<֔U$^#(?V	T(/QWWEcx\/0j܄dqT/8ξanMNBpK\3~=_;
|8W꠷1:@'3Y?O(sTX IR1TTZ*M-SKDj4}w-H٦܍W܀$ݑ<t#+CuUŇ|NW<.dSxr'xr'xrO0
'+uNɒhSpqf'i	;UjPA}_8#n箍74[og;Zg)Zg:Nxʆ9)qb]]ɉR)v;g;x%˰Z@!"  <D^OŘ]q
Sڶ#%g8%F,op2hNdvW KBSp7Y=j#xxnH%)A8V/iA,3 ~̧WFUipe]5/*?)=(DdKȍ20"]I},x}bU2-ȅ?{jF~b;5F H	nG8#G\c*ƆtWXe+É8<<ъu_@dQ'6qHd#
:Qma0j0V1h
F5h
F4h
F5h
Fj0i0V 	Q4tDQ.* A1
Hu,DӨQ6* A1
HVsT@ jssT@ 8G$:Q	sT@ 8G$B_9* Aq
HuDW9* Aq
HuD稀Q9* Aq
H}稀Q9* Aq
HuDrO9* Aq
HuD稀Q9* QtD稀Q9* Aq
HuDb_9* Aq
HuD稀Dq
HuD稀Q9* Aq
,l몰_;s]	Ţeyzhwّ@[Iv~WWX=`#<n)pKUΐǸ5lx%'31#4\$a\ƟZ԰M+tQ}5/KHo|=`1K'8[>'s:B_
ٟXdxbmx_`념VwUuRUr!ꀮ
mQS)X/җw]^WDJ:v"=nGewK1%1׭`C\܄D)pPwc[ݖ20q^lmZnj[DLZyƾ #:+kt[FhoF{3ڛU{배ۇ>q  |}0ڛv9>>起7ڛތf7+8:ox+M+htd4>:h UAz!N%A*ex*U)yZ ǱЪ,1
 *<](	:S\uM#|:ഷuc^l cZǥVJJJ X¨&׻lZ$B
H*Ʋ0-F ,<9c$,W
c0fFz(!wrl=Z~)M3i
nۺ!luc_o[
G	tba уCS @(>/ƮpH/<S#<|Z3BQ%vIPP͔J[~ޚjoꡄN cUEӣ%O%v{Ns:/'wrn'[|mLq[Yʁ7YYˣ9gO$ٙl3)$Dh!
t)wS!|ϫD^Z:gR6VH*Gg[<_	0hqmc+Ӯ=|-^kVs^kky9k+OAS)V9s|-|;
#b/_}z'E`$?k* dzCYcUu=s}mE_yKpf,oK]j{2=oEra;^u]L A#vӁW9՚瞢湯4N21H*"/t)j^(~^W\*g]GeajLs655ƹfɛDS\#MsqMsqLsqQM=7*μeBv>NBjwY\+"R(k;^#F^XRw*DYMT\z	[*:K7R&QH圲Nx zU"*#'BwC!'#BUީOGŨY@<86杂j4QpIǐk%:L>;Nj+_uw˒PkS_x^Dx׍P)Ր^BӋpŐ,֊bn1t,1&M5,o+=Df>H!2e.
<B:6Ǟ)O6G
ݫ,fV̓Pb}*'mЗj"y-9%|VΪqX+AYSȱA8ODpM#8r@_akƑ7M#^h5P'Gv-55ofq"U{]|z%xuG<y	$'dys)rRY=Aj"-ߢx,=tXǾ&A=5T+ bB@@PbJ>.A!Q蹞F8`>ԑ`.y&z9uh%HFO7<᭔q#8{i%zzE!j1tV譌"Q]3G4^VL0jHG,J6a?m(PwOpv^TgFAMJ8ZErOVC XL:T,Nfp5br x~ZR,֔[PɳC?<rJ6Wd$].͔[#rDSnAh-hM)A44܂є[ rDSnAh-45bOB)twՔ[pl'M|1GeVћtb;TyܳyA6GE饰)% Ѓ5i0A?Nv;P&^xxYM27dw}|mfY.6A29d|!{K#O&k?,?mua@x5uԳ${ڴI( ~U³36.|bZyo8(+ oB@FYAmt'AtwJ ?fM>(e*]TT&@EA
u9>(:*TȩPEծp*Qmܡ1'JVFi@E*kEy40*jɶvHZT(_*^rJjE%vHZT(_2^&@-n8qH(N*ʾfDj.GFz z/^8jS'(axi%[D0w6z*$Izξio>:{&O1dV6_M8Fnbet ßZedd"@l.7zOd|5)'c:o.zs.NidK)mܐ"DAA%5rڃj-}U[:nh/dk "w}&
C׏T^7'9gpk7F<GTx)89OWq\ 
RCDF9 QB.
PQqCԕr}!b͝$m&rhC(MCgtvunuvRSHz"p6z{߇>DC#w'J ׇata'K|qUQ"%ze5FrkS*3XZejJTC4:)OTQު[VNG*Q =;t"rFF|𸤑*i"Uq#Y,S.e:UyF4Oqݵ9ʾj73On	h7{m2zI<\ihXv,˕^yVb=s!<r|,*ZSfJA4^5KT{ jojMWojMWgjMWovY{۳Q!X[vAE:>,{ԮzJ8kӪޫ!P%R`H̛ZH	$OZuZ=8D@W+)8³'FA&xEo~wzb+wmwI~(Y ۥ*a7 ,m~Gۼu^lx;T6c(i:#vSK<t:^ΫB{+޸wh:<8~/ɹEl,6Ih f'D7ępg.?qZLE	HP;*&w
*$b$O|}JwpNn|yAnG[8~[Ҕ{ðYvx*뭢rdQcŔoTA"^>E䓰Z'GM;!u&>PVS$׎oA۾.["AkP],񡋫N`c{]^&Uk㊭`=߭3J6Ei
ݘa?l/=X?iR0inI:[^lo,~<믒tB~:I1:EzT4~~Xyш:GWDuR_-Rǐ5&>)fyɳtJt{~g#v"iV-Ty"cS;	K;*^Vy)ࡿ:RZA wW[(TMQI]e{"&hiM:Q@ דTㆶ `_-CgÑi ;*w?7<>M]-x!6Zoیf66',5Q|U,F3ˑևQ9XiR*mΉrCꕶˏG_#ޏe>7hJVX
W5U˪8.V&Q*4Aϧq-a=<҉t%C[jIR{<jTE-<އ0,xp8DY_pc(@Eɢp,_l"C#'sr!!FWKV<A].:IjrLU+?[?{$~/3c~&;:^{L35p֟=b_Ѯ3%.RԚkz}3FK?
z`NLzAPAE7h햓wP}F@ՠLq^-KNlI~}q:AǛփ~7F}dXzv	,vR4d0XK3f%fԸ4;?Ƈٖ}Pa`C_4" 0ߏq6e'rlx:	myeH	#d&L2a6#M~eMo3~i?*N),ugg&u7.#`1\ΐh#Z𐸕[8potDV=R1	Eټ:>i8F'ףj f3ģljѠ܀UvC*ɚdui?>@wVwmQlR4YjJaoTۥ\#F[&SˉS\f\77w@\zz*ώk.yOj~t3ZS*IjfwE0;Q޾#;rTxm71=NvЫ?+&C1 .I(î"Oq&;'y|H Um(Ґ.w>}׋/^--W+>Wb?R-:VdD%z('ENv芞ܤW?Nniϭ>kxSh\8!{§.2@~59Gu^on0+\?nzLi&TSL6eWH6Y_lAeD6<ρ{{**4 VY?;pTtSCء/Oi < SÌ" 6J7gCNTC͏~Nr%A'(U>+^TNlV*W)GKB^Xf;J2U싌!VU>UϧU9YĪ'脄<P$o+1I%l<sYQ@5:v/Agn}%x	3O~7XV֣?Y~'|٫߾["{{Ͽyf=G^~<!y'Bу/*w+sy?*+_Dӭ ?}']K08{yA+?jsX`ܜ,fBasAg+,HQ!(ʕ;.rI@>QWXh0*:V4R!K6^	IЫmY@GAPPBH0ey@5бQ{ԬnmKS<C$U19BTK^it[2UhHCrѦZ|=Xzg5_'7knTd#{~ǫ,_M|onVF}-uxe{@컊W.I]aQ,MH~VzIcR]"JؑG0~Inx)ndNoijrDX"X5Jե0Bʄ;%$JkܱCl7s|YOkl7ΤM(n ۺl놰ՍegY28z&am1*a*8p`#Ay0B:˯A#a:@R-<<0P1ܗVU1DGRHQ%ej
LSƔ1jΤT^"\Q<U!=ݏ[Nk{ZPޅ[2}o<B
GmU>UL)՚le<ʷ9|F;Η_z&
e&PStv#\\xl8qX*_PGs#˵}7#^.R IfzԵݕL
(֫	L C\gxV/Pid}+w,OȠGЋL\WY^$9W:&V~h!ݡKK_A"|y)^ѝRI)i h}~MPڠL
u
$6(S"BBRڠL
u9_x0gjP]GAt=Qr"T(+7.I<h:aTԮIhQRVEҢBIrSR`$-*/M/dw9t+5
j*zp45VQx
l}1l%G:V~,GY5m"_zπ`Y{J&Gn#;0kG¾r@&Ttfj?flTOZ𰋗/)<;|j1NTf2D!2;=hvDك-e!A,73Y)c{*gF5eFҌPAfxZ5::Aņ>{xtAb"'a=ysbT5݅48h^B6vW}xZ	jdζG/PZ#K{oa/b]Oz95''wNDV::[%=> 8ֶ@JC64w@w5<Sre"r#Pgvn<ʖgZƖKcIڒ +)rD9Dϕ'RiŮjkFpZhS~sPhM9S!,߆QUQjJ5٭*љ%]Yf@mcc>-gvlяm%n'YA~4*O[N,*(_\|ye5fKQD$,+aA }2_-~yend߀mYee!0"}JوS\${a ݏ܌,\˻8HR;_;2_0tEkcJJud~cdLLcbi,LcaCkUmdU71klA@3Tzgh=b]^QyȲu	|/jSBa>N6liVckӵ:/oaj5ΨqF;5KvS-L+LR%(sxnhv` /[i0	@0I	4ⱦȰ`F/ $Ai.IN@.Iu4͊½J.R)êJwFCrZ"Y"՛/vXh@}}*H{
_xRǹW^H'd[	ѩRC\)EVAҫh1bL)RfS)T9J1*8])USMwW7&Lw
w]}}ՇGB0<'//X5=o0)kckk'm\GLYQXʲo"i|®\\ډ"}s|~]  T{`.7cHV૰7[3QF3Q]xf\a8JKWk]4ȱ0 ~hyДzȋZ!" g <4`0r=ӮWҶ)wƗg;(wVvљ;Mvx2iĂv̎U6SJعv %>!\Z2NEV݈0!gJpgd9+F@<a)'zCYW0t t*w 79JSXZ}27وw%6V@]fm˺0  5PA& eG.ka9KKOu1|$91|\(>m/H{-QV.H8Q\I8e
JQ'mTqHd&ë
=Q-a0j0Vmh
F5h
F4h
F5h
Fj0i0V 	Q4tDQ.* A1
Hu,DӨQ6* A1
HVsT@ jssT@ 8G$:Q	sT@ 8G$B_9* Aq
HuDW9* Aq
HuD稀Q9* Aq
H}稀Q9* Aq
HuDrO9* Aq
HuD稀Q9* QtD稀Q9* Aq
HuDb_9* Aq
HuD稀Dq
HuD稀Q9* Aq
vvNuH'EJfhhaJ.R+ \u^W\dQw)]O}r<ݶa.9YᠡjаA,UQ>Cɠ^&UDߎx%Hĭܠv{7!NlT,\ZlE
(uMȷ֪:`*y9%u@W_10çU_2L}q}*I
`nazyWrUgϫU8M,pB"{M/id}LouxX/6ܷUҶYJ]75DM,$OyHCd?cއhueXvՙ}a7ZVg:՝Vaa'}P7؁XA  G`:h}h}kuo:huF;oCWZ"]14q23j`
Z)V~ІpS[aF:gpٺJGx:V?0q2,+KT%?òbH0i4G SJg
#v|
>B8 ~
;Ib4CZЁV.EPU+rmF5e.O'^P;D7o5G>e&a;f1
ffGrj27֣e<OjwAd;6lFV7\;$Ďe(\XT{H P
 zp  Mh3JkùXW+UXnd9u*d9tJzɊˬ&KX(i(vz+dTh	piu©TIܓ]\-ۉnddmg[boSVw%3Qprj9'3,\2vs̐$mSmlW#.'thq4;!Tnεr;[0hwm+=|-^S^sNlΉ99'k-թ6W~#ݴA;s5o\$MvF"/^jHuOF㋬H~TtbȪjCn(U*= 9YBàI.{qYmSHtWQ4R{*;.Q lTJI r}kPqɜjMxOQWVb'$UҒ}/+.sWrajLx655fɛDS^#MxMxLxQM=Lٖ7(*MμhO8
VyFHU/rC}ǅdԄ0~
Iyjc$9-Tu.ej"3j
	{}HP7W1Z>y*=Ae\\qwk&½O'v_uˈlVLJ"n
 _?y!~1
DPAuKh}mb_tGdo8ۘ^ˁ&D
Pf==Dj$"9rpb~"	H_d
.yx{<Y)zX]!4O<BAe	mN8p)$JzKwuU͉_и) |p8ӑk:9 /NuԬCMa'^X;CR-Ǯ1J:~qRU{]|j%cyuԕT<y%	}0$IxɞG˜Oh֕¶V-1ZۈCp;jӤL	s`pA(Z/[0e)sIj2]P0+yLhN5\I7҃G,Ox+A0G(!PvmIB=@dȃΊS&I4n؎) ~#ivS/+QJ
#v%[3VOQqUz/y`x5(LjP>*M*HFDzoN(B PIګ /1bTaM	;d/#oSFIIXL	9)#A4e$4є 2DSFBhHhM	)#A4e$4D;STHT~2Nn2~Aہ?v*zέv2o럵7ibSQv6Ezg&(&h60ؑ@ux"b<Ot/>&Ɏ-aJ|Ї{>6Iljr Y2=%zⶺ0y :=mw,
_+GC˟Vh695x}Y(+H(CH񲷍$NI@ެ邾_YڠL
u
$6(S"BbRGEA
u9>r!N5m@;t1D)C(-H9;s"(σFE:.I
%KEKNIbPR\4.I
%KF!S8ۇeo_ofZY'wK3y6>p
峗6N'4M^/({piCO^:$kn=g_i"Dn=XoPS(ojj[G+SG/XGnbftß:9nHBDt?6ILsk%ԢIϹ0eRXVltG%R
z.CU{!0TPNޫs8
NXO'#lv|ߵS`*p#?"=/Χpu@?Io߃Aw3çFLʾ,gk.еwb4&(Ty\<h	*8f+ؕFĠ;)IPiLH(Fi4JQQUTzoKM%# R2}	G~La5JNBtd,FUͯɇOtciQ6yeF<U]RWY<z@?n[;Ĕ0UgND.p(|Ҏ4R%"]R¨YT#`DFeJZ瑠j5\F*Ul9?L9=lFy9]l\F2ߦqmm0.7f-oJg.g]xT-*mjM[͒7Ul5F*DSV*DSV*DSV*ٴ8lE;kIF? mT]ExN, =^ꣁ:J8명C[	[-ث޶3TZT	*Tfu4\=8Dr
jW+;8³'RXUF6@'*BIw	{r/H@]2,6y2Vwͻ:YE%IWCE	ij018֏Ώ96ř#5uAۃߛ.\vuuV^܍XqxiE)VG:BP-`"LE&zK lCpRUCdI"O8t<o\-ۉ"RQd$Rm;E1PO~
φs=i;y!b C͢˖b5Xo2n.|U'
/r+&ĵ"|gBVW*hC*"lj7ZJRVv4}ڎܒvْ
Zʴz/cd]\p2;HV믲^Wo[nQ)S?g|Ϣvnՙ^MGU23m"IgՋsߏxUWH_')_X*]O4o:Q'h(Sj"E
R>GӬ!=yN	UWΓp_S>N8z\vC'grG?jnEI(\	ߠ+U,Vj~)i{K>h徕a#aYG'К6ENm%->_4U':t[2I
$,)=*?GR5_U3.W3oYZ?ѭ9~`-aJH5, YXPtU1m7G&o6EjΤ#8	Sׁ95ZEht|s/hrKх!(vƬ8ZӚ1&1ImLjcRI-ثi_(	\YfXu[Cwme2>7Ehu,<UiC,;(A,eBr]&JݹX| XqG7_S&;HkK>㛖,(ȃYl)<ټZNW鳴`~|@N:MסAp#,?$lScl3F#J8ܦw}C<	t:Cl'3>܊2a]o]l"]DZHA桙-ȩ.Tq&蓫/yw%UT(p'X8̺@ԳN'>.a%^Hy sPn?L o04F>zHz?l7H7#!RFD@џه`R^EJ?s5UVlw]-(l
rgVÙ @(Pߴ]?=]}m-yvp +Ou|(~$YVpЏmb2'PꐪxņEJ޻RGl_8r(8W}^H*F|=I,y#[dx1({\&<5Y4?a[38ǋeN|`O3#?X&=m!'
aCY,Âlz7:~),
cw.&خոKr;[n~pho 劺6eԪf	7kڲ1s湉|&eYڄU`T6<3E KevC֑C}48C]좚lP8FFECnd[D8MmYOӺ`jJXjhM)EXd!B0'8iXFO9cІ;8%I/eL^fǆeenJ#ơeǜҷiRьCt^Z%xDM^PĻqOҨ:{CT閪Υ-Y$oߍ-|,405CMn:'Dp:$
Cyԧ|7oH!`Mw?7cҝ+PDp}(/xk8ߠ,)F<e^TTBSP``wg_$FEPկ#P}\C@8ӧ$-)@\2mk8D2]CҖÐdN* DyLNRms`Ph5
o+m>j4,RvMs3KW.$DOٌ8,VzTJ~2|>EfklD_/hաճx"D8|^cȍPQOO}oT:}'L4Dga_}<{'\[;V     INDX              DialogScript      
VR(   CreateScript  
V  UR(   TypePropertiesOptions    R(   Help      R(   Tools.shelf    mR(   Contents.gz    hR(   ExtraFileOptions  '   R(   InternalFileOptions  '   R(# Dialog script for gasadvectfield automatically generated 09/05/13 14:44:46

{
    name	gasadvectfield
    script	gasadvectfield
    label	"Gas Advect Field"


    help {
	""
    }

    inputlabel	1	"Input 1"
    inputlabel	2	"Input 2"
    inputlabel	3	"Input 3"
    inputlabel	4	"Input 4"

    parm {
	name	"advecttype"
	label	"Advection Type"
	type	ordinal
	joinnext
	default	{ "modifiedmaccormack" }
	menu	{
	    "single"	"Single Stage"
	    "bfecc"	"BFECC"
	    "modifiedmaccormack"	"Modified MacCormack"
	}
	range	{ 0 1 }
	export	none
    }
    parm {
	name	"clampvalues"
	label	"Clamp Values"
	type	ordinal
	default	{ "revert" }
	disablewhen	"{ advecttype == single }"
	menu	{
	    "off"	"None"
	    "on"	"Clamp"
	    "revert"	"Revert"
	}
	range	{ 0 1 }
	export	none
    }
    parm {
	name	"field"
	label	"Field"
	type	string
	default	{ "" }
	range	{ 0 1 }
	export	none
	parmtag	{ "autoscope" "0000000000000000" }
    }
    parm {
	name	"velocity"
	label	"Velocity Field"
	type	string
	default	{ "" }
	range	{ 0 1 }
	export	none
	parmtag	{ "autoscope" "0000000000000000" }
    }
    parm {
	name	"advectmethod"
	label	"Advection Method"
	type	ordinal
	default	{ "trace" }
	menu	{
	    "single"	"Single Step"
	    "trace"	"Trace"
	    "midpoint"	"Trace Midpoint"
	    "hjweno"	"HJWENO"
	    "upwind"	"Upwind"
	}
	range	{ 0 1 }
	export	none
	parmtag	{ "autoscope" "0000000000000000" }
    }
    parm {
	name	"cflcond"
	label	"CFL Condition"
	type	float
	default	{ "1" }
	range	{ 0 10 }
	export	none
    }
    parm {
	name	"selfadvection"
	label	"Allow Self Advection"
	type	toggle
	default	{ "off" }
	range	{ 0 1 }
	export	none
	parmtag	{ "autoscope" "0000000000000000" }
    }
    parm {
	name	"usetimestep"
	label	"Use Timestep"
	type	toggle
	default	{ "on" }
	range	{ 0 1 }
	export	none
	parmtag	{ "autoscope" "0000000000000000" }
    }
    parm {
	name	"timescale"
	label	"Time Scale"
	type	float
	default	{ "1" }
	range	{ 0 10 }
	export	none
	parmtag	{ "autoscope" "0000000000000000" }
    }
    parm {
	name	"opencl"
	label	"Use OpenCL"
	type	toggle
	default	{ "0" }
	range	{ 0 1 }
	export	none
    }
    parm {
	name	"group"
	label	"Group"
	type	string
	default	{ "*" }
	menutoggle	{
	    [ "opmenu -l normal_advect group" ]
	}
	range	{ 0 1 }
	export	none
	parmtag	{ "autoscope" "0000000000000000" }
    }
    parm {
	name	"dataname"
	label	"Data Name"
	type	string
	default	{ "$OS" }
	range	{ 0 1 }
	export	none
	parmtag	{ "autoscope" "0000000000000000" }
    }
    parm {
	name	"uniquedataname"
	label	"Unique Data Name"
	type	toggle
	default	{ "on" }
	range	{ 0 1 }
	export	none
	parmtag	{ "autoscope" "0000000000000000" }
    }
}
# Automatically generated script: Thursday September 05, 14:44 2013
\set noalias = 1
#
#  Creation script for gasadvectfield operator
#

if ( "$arg1" == "" ) then
    echo This script is intended as a creation script
    exit
endif

# Node $arg1 (Dop/gasadvectfield)
opexprlanguage -s hscript $arg1
opuserdata -n '___Version___' -v '' $arg1
SaveSpareParms := 0;
CheckExternal := 1;
GzipContents := 1;
UnlockOnCreate := 0;
SaveCachedCode := 0;
LockContents := 1;
MakeDefault := 1;
UseDSParms := 1;
ForbidOutsideParms := 1;
PrefixDroppedParmLabel := 0;
PrefixDroppedParmName := 0;
ParmsFromVfl := 0;
<?xml version="1.0" encoding="UTF-8"?>
<shelfDocument>
  <!-- This file contains definitions of shelves, toolbars, and tools.
 It should not be hand-edited when it is being used by the application.
 Note, that two definitions of the same element are not allowed in
 a single file. -->

  <tool name="$HDA_TABLE_$HDA_NAME" label="$HDA_LABEL" icon="$HDA_ICON">
    <toolMenuContext name="viewer">
      <contextNetType>DOP</contextNetType>
    </toolMenuContext>
    <toolMenuContext name="pop_viewer">
      <contextNetType>DOP</contextNetType>
    </toolMenuContext>
    <toolMenuContext name="network">
      <contextOpType>$HDA_TABLE/$HDA_NAME</contextOpType>
    </toolMenuContext>
    <toolSubmenu>Micro Solvers</toolSubmenu>
    <script scriptType="python"><![CDATA[import doptoolutils

doptoolutils.genericTool(kwargs, '$HDA_NAME')]]></script>
  </tool>
</shelfDocument>
      ][u#/F`ȂbU%Du2k9ݜz?_SYR=\RSꜯ_]Y^/Y?Zcc-l)$Fw!:sd;1~6CȌ8d3V0<Em e߸ڤ}z:8İL\Wod&M"͒9pa>Ycn>Ãh؅yT!_YR|9cqE6ʊO+xJvi->O6xCU#E8P%N?}%,c]^BO8ܬ/yd}D<߆|?4|Sf_wa.Li1~6=JP-6w~V0M>FSy}tKet2:WϯOQv)Op]6i׉o?N)īn6`G|nչ.qMVoq[`f`u`5xnO]4%H	r<SrE &)W3>E(/{JA&({2эZbcXH`1i~[o/ad{~>k(.0)ܝXm/fTc:Ö&EsaJaجĤbOg/Z;F!?nF+z)=׷uMw;j׿Y)_ܫ~H1T9!A9UIn>6ځat&#+&a|w=hO$H}zʆV=r/IJ&Hag)cɩg4ǘ󘌮P?QW.}F-zFu'û(6|13lZɺUڽ9nrt9mV둫?~_dlÇB?x[	tBN@,+0"]Ek7!ȯq#bZ&rə<9lδޤB(T
oN2]:w%Ĵd`%8taCH pH0ŭ*Xۣ`""X\=fED1Аr"8R49CoRcFVr"f$}x$93RStR[CT_a)4yمN4@4Nm	lGmtА*?$xn(;5WT9jfNXԄ=xkSY^
uTdsYKe+ӱiz=h0CHFÌyEJ:S*RK8KEAG]jZ~+Gb*Jf+35ٸg3#6_Sܒ~61A=:#%7:菧<7]ei<f/蹳}_2DLX!c!};b!}`c|
鹨 L _߁`ЃTi<xh<yt4׈^#z5
ы@dl?I"q	n$p#ܦ"x9lgAQvGHtۋخUAWn#uvAYY?/6{}aLñ<[Butt[&;?mJw]>+k;8d6];u~H6!٘(m-ƈ`@,+7|<w2z=Hh1=ihP)`|T#$8u l
p|G;F}RR;J%$5wZA*_H;l*Ց_$a3L/e^r Pay: `	%>\dI ]IBPJ}@%(u%	}ty^.P%%/vxɄ)%W<AwF1&C"Zi'b,&1h=jbU'0&Ou DWй':dԨ:D4ϋ`*I;=%7i(~Lŕ=^_T ;$%ӫ=Syzo>DW~
o/f{u݊.׫}׫}dҕ0KæL> %2xH.`\6b+	ܷՕՕVnv[]9P{oV{o]ׯ7(Wy*~~=([$ɺhK& $eH.GxkDñ5א^CzU^ck@_7A`=W0:v/u鳬Ud\Yo Ӣwн`gd^"-kl?#ljLC{5^C{5^C7:A41ݷ(.(\4D}xOoSf4ƯQ".7{2e 2	7	䨝/c1 @V*:dd'@XS`{X{u}84ۇ0MT+lj t+lћQJtkfO'}^yq(K#{"xŵLmeyA*Mz#9lN^#H.sXڏps-1[K:<kyu;.gҜ2ԖC@1]89Q9\rl)ˏ:䨁ඐf.{4cU
O>6Gn_+m	rǻJ|m\׹U4.9`E}=iәLhrvuB-i;h79ّΎD 	KA"`]=ٵ.+2X32u}%]_it4Hf ɼ[uE0"8c-oylt-]zK*u-]zk[oCU{t&pSq%?Ȣis``){wY3"=L.׮N?m"V\#^wFh`L,6oW1:61LJۇ$T]%=DF$#TMWQ&
z9lլjKYJDϩ52ݫp֢tl;fUhU`D2pa۠5.=U߶VYDhVEhYk_V-4]ϾrmoZs!9IgXM|˷RK^Mr{0	-UmP49zBsyȺ`ÿ"%K>A}"cqGڅk]SviI9N$Q=-TmHn:Szԋvy<YA&<V&.N7!GqDظ
@-q]907h]<G+UD=v$Q(vC<\,713Y]W>LTnb*hJGWOhpE=r0?5r,y,;ڱiSCA1Cm0퟊gcGG]H.
E|C_U"m*O_"NH=6{}&Kq{J}}XhӺɢWW"kܵ0(3Wue-L1X]!a\ p>B_'Gٞ"0f_)6=etN=kBz?Fm~BC͊C功TrHFлwl"+m#lUY)h!ݟic`sw_2k1=<goSBh14dP
o0txk	!Pmu$kZE
,"0w_>jn8(m-ZwR4oQiͣ2HЧQShCڰDYdؑJqCL@("3VK"[	YU*qBmB=E.[U+h:D#*u?x`FyZQmPs[jgEkeky.>V;id;y%<iLp^pM!״7hy:R|_]W4y+jU"FU6|TU![BapeW2n]7^*ΚVsU١WB93~za&t|7+bom;fmf.)Ki`4F˾ս/U7P|Z5s9gL+*zB0#b:S»ɢ-t&	+<7`?^E'wkɪuj%H@w+3^JӀ "8	XiІOcwؗb&?gQ63Me%-nBĒ͌@S۷̼zD4GNE:c-7˖ǧWOw6)pK S5`n͗UaLǘʿouʢvy){t#Ѯ
kՋI|au/؇FFs;CF̺3?nĬ1=݈Y7b֍ֈy63tx3&Nw>xǸ&]{g|3A@{#R}#q%+4rh
plH\e5N6OiQ
bug3HÞC)Uvr*je"xhQ#[MzL5C_pwo?tNʬ@9SӦmVƞoeӹT%lŕU&+e]aļIζ$>Fmk8`Z&_~p鴋i+8m[ƂDZ^mUYDzg6#:/R֖[\4Bp:ϐL9YٞqmuBrr0|-H9oPL6Z+dzMJ}N?ZM9T_7Bgk4Һ)]ot?wS`JLYԼZ\0Vi 3˕4zMrdM5z	eZ{eR3I_:|Y/DX/e[:|Y/_e<qÏ)3MzN_Z5cGf~zda	OI>}1MLrǯ!t4^{5^{5^/"1o	FTFnZd[2lMcx[ݤً(t"Q㩶&n\w~vajxы0 yT*O_Ds{Lii<[LVqF	|;1nuwjqfwi80Qw=k {Uժs1^ZEGAq%rX`WTw%w6sGIG'TzKfw(2bcf[J/!gy{0G3m}yM67)9h]m e5vf7{;ޖ˻{f/?v{o&iP%$!$k	xH/&cg-Y(|rEP*Uq[ti}xϳh,KiW4mbV%D#U7IlE1)Z	ΠW{iǑ4[uP8)?|^uJSׁ=fU 8}nm>+QߜWe#_k%қz0& O4cgyD+ia҇fW_@!ꫫYUAo         nodeconntype       INDX              DialogScript      ;-OU9_   CreateScript  ;-  S    TypePropertiesOptions  <  OU9_   Help  =    OU9_   Tools.shelf  =  gOU9_   Contents.gz  AO  RS    ExtraFileOptions     OU9_   InternalFileOptions     S # Dialog script for smokesolver::2.0 automatically generated 03/05/12 17:08:31

{
    name	smokesolver::2.0
    script	smokesolver::2.0
    label	"Smoke Solver"


    help {
	""
    }

    inputlabel	1	Object
    inputlabel	2	Pre-solve
    inputlabel	3	"Velocity Update"
    inputlabel	4	Advection
    inputlabel	5	"Sourcing (post-solve)"

    group {
	name	"simulation"
	label	"Simulation"

	parm {
	    name	"timescale"
	    label	"Timescale"
	    type	float
	    default	{ "1" }
	    range	{ 0 10 }
	    export	none
	}
	parm {
	    name	"temp_diffusion"
	    label	"Temperature Diffusion"
	    type	float
	    default	{ "0.25" }
	    range	{ 0! 10 }
	    export	none
	    parmtag	{ "units" "m1" }
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"cooling_rate"
	    label	"Cooling Rate"
	    type	float
	    default	{ "0.5" }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"viscosity"
	    label	"Viscosity"
	    type	float
	    default	{ "0" }
	    range	{ 0 10 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"lift"
	    label	"Buoyancy Lift"
	    type	float
	    default	{ "5" }
	    range	{ 0 10 }
	    export	none
	    parmtag	{ "units" "kg1m1s-2" }
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"modify_heat"
	    label	"Modify Heat Through Shredding"
	    type	toggle
	    invisible
	    default	{ "off" }
	    disablewhen	"{ enable_shredding == 0 }"
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "parmvop" "1" }
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"buoyancy_dir"
	    label	"Buoyancy Dir"
	    type	direction
	    size	3
	    default	{ "0" "1" "0" }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
    }

    group {
	name	"simulation_1"
	label	"Relationships"

	parm {
	    name	"enable_relationships"
	    label	"Enable Relationships"
	    type	toggle
	    default	{ "1" }
	    range	{ 0 1 }
	    export	none
	}
	group {
	    name	"std_switcher_0_6"
	    label	"Sources"

	    parm {
		name	"enable_source_relationship"
		label	"Enabale Source Relationship"
		type	toggle
		default	{ "0" }
		disablewhen	"{ enable_relationships == 0 }"
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"sourcedest"
		label	"Add Source To"
		type	string
		default	{ "density" }
		disablewhen	"{ enable_relationships == 0 } { enable_source_relationship == 0 }"
		menureplace	{
		    "density"	"Density"
		    "temperature"	"Temperature"
		    "fuel"	"Fuel"
		}
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"sourcemerge"
		label	"Source Merge"
		type	ordinal
		joinnext
		default	{ "max" }
		disablewhen	"{ enable_relationships == 0 } { enable_source_relationship == 0 }"
		menu	{
		    "copy"	"Copy"
		    "add"	"Add"
		    "sub"	"Subtract"
		    "mul"	"Multiply"
		    "div"	"Divide"
		    "max"	"Maximum            "
		    "min"	"Minimum"
		    "average"	"Average"
		}
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"source_amount"
		label	"Scale"
		type	float
		default	{ "1" }
		disablewhen	"{ enable_relationships == 0 } { enable_source_relationship == 0 }"
		range	{ 0 10 }
		export	none
	    }
	    parm {
		name	"sourcevelmerge"
		label	"Velocity Merge"
		type	ordinal
		joinnext
		default	{ "wavg" }
		disablewhen	"{ enable_relationships == 0 } { enable_source_relationship == 0 }"
		menu	{
		    "none"	"None"
		    "wavg"	"Weighted Average"
		    "netnewsource"	"Net New Source"
		}
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"scale_vel"
		label	"Scale"
		type	float
		default	{ "1" }
		disablewhen	"{ enable_relationships == 0 } { enable_source_relationship == 0 }"
		range	{ 0 10 }
		export	none
	    }
	    parm {
		name	"sourcetemperaturemerge"
		label	"Temperature Merge"
		type	ordinal
		joinnext
		default	{ "wavg" }
		disablewhen	"{ enable_relationships == 0 } { enable_source_relationship == 0 }"
		menu	{
		    "none"	"None"
		    "wavg"	"Weighted Average"
		    "netnewsource"	"Net New Source"
		}
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"scale_temp"
		label	"Scale"
		type	float
		default	{ "1" }
		disablewhen	"{ enable_relationships == 0 } { enable_source_relationship == 0 }"
		range	{ 0 10 }
		export	none
	    }
	    parm {
		name	"veltype"
		label	"Velocity Type"
		type	ordinal
		default	{ "rigidvelocity" }
		disablewhen	"{ enable_relationships == 0 } { enable_source_relationship == 0 }"
		menu	{
		    "rigidvelocity"	"Rigid Velocity"
		    "pointvelocity"	"Point Velocity"
		    "volumevelocity"	"Volume Velocity   "
		}
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	}

	group {
	    name	"std_switcher_0_6_1"
	    label	"Pumps"

	    parm {
		name	"enable_pump_relationship"
		label	"Enable Pump Relationship"
		type	toggle
		default	{ "0" }
		disablewhen	"{ enable_relationships == 0 }"
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"pumpvelmerge"
		label	"Velocity Merge"
		type	ordinal
		joinnext
		default	{ "blend" }
		disablewhen	"{ enable_relationships == 0 } { enable_pump_relationship == 0 }"
		menu	{
		    "blend"	"Blend              "
		    "add"	"Add"
		}
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"pumpvelscale"
		label	"Scale"
		type	float
		default	{ "1" }
		disablewhen	"{ enable_relationships == 0 } { enable_pump_relationship == 0 }"
		range	{ 0 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"pumpveltype"
		label	"Velocity Type"
		type	ordinal
		default	{ "rigidvelocity" }
		disablewhen	"{ enable_relationships == 0 } { enable_pump_relationship == 0 }"
		menu	{
		    "rigidvelocity"	"Rigid Velocity"
		    "pointvelocity"	"Point Velocity"
		    "volumevelocity"	"Volume Velocity"
		}
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"pumptemperaturemerge"
		label	"Temperature Merge"
		type	ordinal
		default	{ "none" }
		disablewhen	"{ enable_relationships == 0 } { enable_pump_relationship == 0 }"
		menu	{
		    "none"	"None"
		    "setinterior"	"Set Interior      "
		}
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	}

	group {
	    name	"std_switcher_0_6_2"
	    label	"Collisions"

	    parm {
		name	"enable_collision_relationship"
		label	"Enable Collision Relationship"
		type	toggle
		default	{ "1" }
		disablewhen	"{ enable_relationships == 0 }"
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"collisiontemperaturemerge"
		label	"Temperature Merge"
		type	ordinal
		default	{ "collisioninterior" }
		disablewhen	"{ enable_relationships == 0 } { enable_collision_relationship == 0 }"
		menu	{
		    "none"	"None"
		    "collisioninterior"	"Collision Interior"
		}
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"collision_usebandwidth"
		label	"Restrict Mask to Bandwidth"
		type	toggle
		default	{ "on" }
		disablewhen	"{ enable_relationships == 0 } { enable_collision_relationship == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"collision_usepointvelocity"
		label	"Use Point Velocity for Collisions"
		type	toggle
		default	{ "off" }
		disablewhen	"{ enable_relationships == 0 } { enable_collision_relationship == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"collision_usevolumevelocity"
		label	"Use Volume Velocity for Collisions"
		type	toggle
		default	{ "off" }
		disablewhen	"{ enable_relationships == 0 } { enable_collision_relationship == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"collision_allownonsdf"
		label	"Collide with Non-SDF"
		type	toggle
		default	{ "off" }
		disablewhen	"{ enable_relationships == 0 } { enable_collision_relationship == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"extrapolatecollision"
		label	"Extrapolate into Collisions"
		type	toggle
		default	{ "off" }
		disablewhen	"{ enable_relationships == 0 } { enable_collision_relationship == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	}

	group {
	    name	"std_switcher_0_6_3"
	    label	"Sink"

	    parm {
		name	"enable_sink"
		label	"Enable Sink Relationship"
		type	toggle
		default	{ "0" }
		disablewhen	"{ enable_relationships == 0 }"
		range	{ 0 1 }
		export	none
	    }
	}

    }

    group {
	name	"simulation_2"
	label	"Advanced"

	parm {
	    name	"opencl"
	    label	"Use OpenCL"
	    type	toggle
	    default	{ "0" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"minimumsubsteps"
	    label	"Min Substeps"
	    type	integer
	    default	{ "1" }
	    range	{ 0 10 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"substeps"
	    label	"Max Substeps"
	    type	integer
	    default	{ "1" }
	    range	{ 0 10 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"cflcond"
	    label	"CFL Condition"
	    type	float
	    default	{ "1" }
	    range	{ 0 10 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"frames_before_solve"
	    label	"Frames Before Solve"
	    type	integer
	    default	{ "0" }
	    range	{ 0 10 }
	    export	none
	}
	group {
	    name	"rest_field_4"
	    label	"External Forces"

	    parm {
		name	"scaled_forces"
		label	"Scaled Forces"
		type	string
		default	{ "*" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"absolute_forces"
		label	"Absolute Forces"
		type	string
		default	{ "" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	}

	group {
	    name	"rest_field_4_1"
	    label	"Rest Field"

	    parm {
		name	"enable_rest"
		label	"Enable Rest"
		type	toggle
		default	{ "0" }
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"dual_rest_fields"
		label	"Dual Rest Fields"
		type	toggle
		default	{ "1" }
		disablewhen	"{ enable_rest == 0 }"
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"rest_framedelay"
		label	"Frames Between Solves"
		type	float
		default	{ "50" }
		disablewhen	"{ enable_rest == 0 }"
		range	{ 0 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"rest_frameoffset"
		label	"Frame Offset"
		type	float
		default	{ "1" }
		disablewhen	"{ enable_rest == 0 }"
		range	{ 0 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"rest_advectspeed"
		label	"Rest Advection Rate"
		type	float
		default	{ "0.2" }
		disablewhen	"{ enable_rest == 0 }"
		range	{ 0 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	}

	group {
	    name	"rest_field_4_2"
	    label	"Projection"

	    parm {
		name	"projection_method"
		label	"Projection Method"
		type	ordinal
		default	{ "1" }
		menu	{
		    "0"	"PCG"
		    "1"	"Multigrid                   "
		}
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"multigrid_minpass"
		label	"Multigrid Iterations"
		type	integer
		default	{ "1" }
		disablewhen	"{ projection_method == 0 }"
		range	{ 0! 20 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	}

	group {
	    name	"rest_field_4_3"
	    label	"Advection"

	    parm {
		name	"advecttype"
		label	"Advection Type"
		type	ordinal
		joinnext
		default	{ "modifiedmaccormack" }
		menu	{
		    "single"	"Single Stage"
		    "bfecc"	"BFECC"
		    "modifiedmaccormack"	"Modified MacCormack"
		}
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"clampvalues"
		label	"Clamp Values"
		type	ordinal
		default	{ "revert" }
		disablewhen	"{ advecttype == single }"
		menu	{
		    "off"	"None"
		    "on"	"Clamp"
		    "revert"	"Revert"
		}
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"vel_advecttype"
		label	"Vel Advection Type"
		type	ordinal
		joinnext
		default	{ "modifiedmaccormack" }
		menu	{
		    "single"	"Single Stage"
		    "bfecc"	"BFECC"
		    "modifiedmaccormack"	"Modified MacCormack"
		}
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"vel_clampvalues"
		label	"Clamp Values"
		type	ordinal
		default	{ "revert" }
		disablewhen	"{ advecttype == single }"
		menu	{
		    "off"	"None"
		    "on"	"Clamp"
		    "revert"	"Revert"
		}
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"advectmethod"
		label	"Advection Method"
		type	ordinal
		default	{ "trace" }
		menu	{
		    "single"	"Single Step"
		    "trace"	"Trace"
		    "midpoint"	"Trace Midpoint          "
		    "hjweno"	"HJWENO"
		    "upwind"	"Upwind"
		}
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"advect_cfl"
		label	"Advect CFL"
		type	float
		default	{ "1.5" }
		range	{ 0 10 }
		export	none
	    }
	}

	group {
	    name	"rest_field_4_4"
	    label	"Collisions"

	    parm {
		name	"correctcollision"
		label	"Correct Collisions"
		type	toggle
		default	{ "1" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"feedbackscale"
		label	"Feedback Scale"
		type	float
		default	{ "0" }
		range	{ 0 10 }
		export	none
		parmtag	{ "units" "kg1m1s-2" }
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	}

	group {
	    name	"rest_field_4_5"
	    label	"Clear Fields"

	    parm {
		name	"fieldsclear"
		label	"Fields to Clear"
		type	ordinal
		default	{ "none" }
		menu	{
		    "none"	"None"
		    "hidden"	"Hidden"
		    "static"	"Static"
		}
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"extraclear"
		label	"Additional"
		type	string
		default	{ "" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	}

    }

    parm {
	name	"addaffectors"
	label	"Make Objects Mutual Affectors"
	type	toggle
	default	{ "on" }
	range	{ 0 1 }
	export	none
	parmtag	{ "autoscope" "0000000000000000" }
    }
    parm {
	name	"uniquedataname"
	label	"Unique Data Name"
	type	toggle
	default	{ "off" }
	range	{ 0 1 }
	export	none
	parmtag	{ "autoscope" "0000000000000000" }
    }
    parm {
	name	"solverperobject"
	label	"Solver Per Object"
	type	toggle
	default	{ "on" }
	range	{ 0 1 }
	export	none
	parmtag	{ "autoscope" "0000000000000000" }
    }
    parm {
	name	"group"
	label	"Group"
	type	string
	default	{ "*" }
	menutoggle	{
	    [ "opmenu -l multisolver1 group" ]
	}
	range	{ 0 1 }
	export	none
	parmtag	{ "autoscope" "0000000000000000" }
    }
    parm {
	name	"dataname"
	label	"Data Name"
	type	string
	default	{ "Solver" }
	range	{ 0 1 }
	export	none
	parmtag	{ "autoscope" "0000000000000000" }
    }
}
# Automatically generated script: Monday March 03, 18:39 2014
\set noalias = 1
#
#  Creation script for smokesolver::2.0 operator
#

if ( "$arg1" == "" ) then
    echo This script is intended as a creation script
    exit
endif

# Node $arg1 (Dop/smokesolver::2.0)
opexprlanguage -s hscript $arg1
opuserdata -n '___Version___' -v '' $arg1
opuserdata -n '___toolcount___' -v '2' $arg1
opuserdata -n '___toolid___' -v 'dynamics_smokebox' $arg1
ParmsFromVfl := 0;
PrefixDroppedParmName := 0;
UseDSParms := 1;
ForbidOutsideParms := 0;
LockContents := 1;
SaveSpareParms := 0;
CheckExternal := 1;
GzipContents := 1;
MakeDefault := 1;
SaveCachedCode := 0;
PrefixDroppedParmLabel := 0;
UnlockOnCreate := 0;
<?xml version="1.0" encoding="UTF-8"?>
<shelfDocument>
  <!-- This file contains definitions of shelves, toolbars, and tools.
 It should not be hand-edited when it is being used by the application.
 Note, that two definitions of the same element are not allowed in
 a single file. -->

  <tool name="$HDA_TABLE_$HDA_NAME" label="$HDA_LABEL" icon="$HDA_ICON">
    <toolMenuContext name="viewer">
      <contextNetType>DOP</contextNetType>
    </toolMenuContext>
    <toolMenuContext name="pop_viewer">
      <contextNetType>DOP</contextNetType>
    </toolMenuContext>
    <toolMenuContext name="network">
      <contextOpType>$HDA_TABLE/$HDA_NAME</contextOpType>
    </toolMenuContext>
    <toolSubmenu>Solvers</toolSubmenu>
    <script scriptType="python"><![CDATA[import doptoolutils

doptoolutils.genericTool(kwargs, '$HDA_NAME')]]></script>
  </tool>
</shelfDocument>
      ݓ丵Z,z#OkϹ;Hc'zțɪJuV잺3G9b#6} UE28HY!ppp>>S#E8A.+ױ_w>[f/tϷx^|bxqIdX"<-%Uw4f_GFDjQ<nY鳯U_W?=}ׯͮgZzٳq.^ٳ½O5\߿w]ʯ:E?wSʿ>C߆rW7szU['i`dۂ?Ͽ\V|0|w(G_gceZ):O64gmr5.nxofxa9{\tӑgWDl]ϺPYX
GGe~:?]]wI49ec.n-R"[nq=:m(ݎ37$g>c|uz{l`VG?':q{47ۭdQX\dnrwv|.xr|~Xm<;sۯ^|Y\T:9C~l2z46E8}?^'d|?_ͮ?V8%h*=ΛCٲ\,*x'?YըZnemX^[xd}w_\~EϳYXb>)wKPx5Rn&u|tL%|3bCJM+>}ëx{,Tknf2ϝ=29~X5mqCq!'x?uqywq^MsQɚ_}cX,uJf@'u4^ϊ}*hM.~\ӵ8ڥvy'Y>U-!8d쁂:ͯu<đ{^~c7it]l~JK=cX]ZSfz+s1ꅾ+ַ%K bOUtv]w=߷leN`!}<Gyp[}
5u oߺrm$(utN}[Un^%4YnC6l2@hq7>|edν(Byrh:IV!rBh>,15ȪdC1raGE
Z[9-W+m$^Hٲ~n؏Y<׋x~^./.Wonf~LJ?U7q])Ld}0WR*/]9#6"Jd[@k0#|"˕yUew N/\"/tʖ&CHDЅkltS^\p	%,ߜ%?~L=].'hvӗǛ&BX{4,0W`x7+;زY#`%!¾0Y*m9|:nd\v_-n@n-=oΉn-~x\/׆疄_lbSzNuG$>0?{4 RAFCprw1	qB>|woЋh+X\Qxm:><DsDܿiODy8&j"߯ 7r%ȢmXiySVߋsMmgG0гOdG8,0* p @v+iNo;~ ?C_6	<QT ߦu\_"o#-5,oȇ|'B>>h( NݵU(Qغk4>ANaB.5էP}Ӹq]O4Tۀv%ΰ`-0?Kd(rAܸNA)WoA#m>K`;#<:ժ*W|Us5{OK~O7qׁE.Lyd|(~0<CHbx@v{߇'[D,6!}H}}Ņ{$͕3˦{WRLy$p  CVtb(lLP5SG4ƀ `W\\)4O0k
dDlP9!+
0T O!`C.@:4/ RH|Oh!|.&WA} A:"y (>}&B. (rC!07Z>
>-Ԭ/4y=݇2p1	Z
 99š՛鷯0뿟Na;|"0IaA{ >
@xYKXĥ{760! X|YKĒ'atUD^)Cl圸,;G`Kx
.#%$B>$ӿ}E^e"DXZŋVh6Ŭ~=
ݛ!@FFt>vUT@4N
xkh]jlH8apЩ$^[QPfDȄMtY_짣)2p)g;dWbk8PȈ^`L G}bn+^$f"sGؤK>HE2K!Vvl=';t펏J!#?bgX*ʼ	,YE{֐mYLRfj-kzmي>O[]6:[/4[%yo:x61k^]-)=[v8je` QyŰ'	=b-yyxZg\`~9V])nE~MՍ.{bz9i|VOpb.!9|ñmpRZ:Gu0T#KLμr+%>u-姜k[7eyoLÍ?lZyk$
E/%%	U2''':|r%p;oyLta:cغVf]/;b؃Oh* t4NjlHG=䫯SH>Rz6e˙26!ysOd>nR60Jh槴uv+8YFz+7nmFل=N"vΆ]xOSz"a-%1
 niXl 5Eީ0&<a66'w̽	rªÐj4_4
wc~WRMc!l]~`{{5|y2QYUPx\VW6U\Wgʎוqw~ jPP?jKCnDDfje3~y!m:p	AOzOY ǯ*o^@*g#$0NlHЫ; z%bY^ ۋk+6WY|*g!: ߚk		"@H&YfyЮTQǌ q)К'Ɋ&ǰSeɦz X`:zNq<E=ҽCUubǩgŨx:(	Dg_veIGψV]7v`s(N]c(	qzzN%,=U~y[:fP]lf.B8vyFB>wQfCWxi$>΋o
),՟$2d<RS(`7'νfTR[4]7bYm:PEıxx\mcia@^K73`ǚ,g>5ݙf2>`[ak	
]vUOav2*v^FسI  vh*1ߑC*|&sǭB?;ʼ*VV\  s0,ǖs>>,=^nvjK.$"Y
E3-A=7@cЃK&-49|e8 ;~E[O[S@ hf=$gr1d<i,KEuXSY*> ّdĉ(HBBu<_HU . U_|-wl͠-Qy2ūmb6hHF?KҐDv$'NYjh0oݭ\{pmTP-Ncq]C.YTgp|AK7e8\(kLTyd;!{.GF]:QTZ,Z&<We]"(>qy2p~ؼ#D%r溶	g/=YkRJwŨK[ ׻+wcۍ#Oˆx3)ŷ+w@U]	riǬe2?Q2glm>LMk:i/ڹj\<AW)^`d^675h'VbMBڣ 78|"rQ*'&ߡ
8;	2ؐSoY7V,/auخ})
^ZY" rؤr!:]_ޤFc 8y4щMCH6L̵|6[/XfeczNz{绶 PoSI1ٗэN2
 $3XՂw19ɓN<k~\§ǓG2T5F̐)B]k#dl@Uh`8֓mxqQ4D*KwgH/䗻V5U:OG͆NyZ'nhG.1sFh$_/&X(귈ppqY"߼:}]q`Ow4ؚ܍ n"juО*,QD=O_W|ߞN9* _)tYJ,L<8I_ۯޟoM
JoE7d:{4>qzND@R(E!%p˫UN_q"k:}d=r'?.=3(/ǝ°BbLrmwv g48u(81DN^ұo>kZytsV$[LxXP0`pcJ' iZLmק+R5=3olEKĹ#f
2͎ԹQ3uX{^Шpt*h:xCAWɢ~?2[C5=\%QА*ps 0"f ns>kR:aRwOLnJo:y7YCv&R!%,ni>6~	/D1Lz:<zǿ>Pst<D7\:u`1X8	Ş珰}ɯgp29R͠	wTwq+0&3Sp?oX3f;#;qKQ}\:@X{2N6WՀ.CX
wݬg<Wm}4QGn[,?!m%O(rXFϣϣ|(!<Z?gsW3ߌЍ+=FVAH<4~5	y)5)M*BL+RD"՝lW'fC\ENy/b1l
RL^l/a;+/8[/ϻtk-_'A16Kޖ>Clg"f${~"r:3q*n
vs78;sZU[<Ģ n9&Vm:j:ow܊|*9us󡵆^1E'M+H#aFj!wvݛH>^mj"񝷴b30g ۇkc-hVH[.-j?}mFkggpkK>aF	cG=ԛ^9=#WJ@n=x3qwǾ:2~R^33Bw"%#{4+
~rt{'(RLls#d>RflM}G	4֟(fRkMm\":pz|B^'aNj^'jQzHq1KA*Ǜ&~Q:nnV}#)g	MK'`ފ4uzTe)u*qa
y!Pt#*>E(*#ӏޅI,CN+6u6"F3Z{*kgum,*o{AXb$Yc̵#7ҊE׫)WO$@Դ	UA'{-ɉeyܼR$&tS!ZD>ME奈jA3%F6zԌlD&Zi=3
2&Z@?Bb\U0t.'>VfvclHת.ⓔ܎./܃&Z[spr˹ @^h#]TEqeG'oАuJp֔$Q
%?lKn1aR0v]fBݻlZ(86{:YZOrrmUS`/Ҍ|]8%/mVꚵWh9 84GSӪ@Vީi):nM=7@w);¿_Z.۹D@k{iγ&yUrSToQIf|,t3ľ>痲ݕC%{3YyNOz P4qhHB~{wE/ flH6#r SFd;d%;1{k yH:nfa78ö{}ם"Gs.ʵ)'ݮܾܭ1;Hus1_X=\Q##Ep.rL@Wi,rL4?6ixldj~PMq֛
X;CTg4y5Q.B&c$R7ЊMhOو}G8edEw4kn6oү]mQNyvD-d,<V0՚]{s!4fi(:H=r⹏MW
qV|ؼQ<<@58O-Z"}v77"R4R75'*$':,ٮyOTUy(%qfܒυ=pH;OoY	߮n|\VXn n&,ZI#7u3Z=ԼMdl5rN3	%gS9rSMIO%63jF-ѭ(j@)nN:$t4LodSbakB4|2:F[,)7Rxiѷc&JNi9eIrʖ2V_зNmF4n-6q(1]M]oe&3p9啦~ Q5"ThM3Ȏ|ǳNk?zNsdhMtV5eP ŐuT1q50R*O4mq
0J&t%BrND&Y X/x|k2^ݔ?=
fmbSgve&2:<'Њ"KY88DJE$xȹD]Iw͘JZc5{WpK.zK햫Y^>dD]}r	3wZulaذ>;8uGӽOLc1Y$ufS?,3Sm􇝲L0ڊ.+ձq%-gںko!sd4dfb{d 4
v<:ov-6	ݭ7~}HVmMb*O876lFotn٫53K.$]S0`omZ{V7Zj)gJW7r`K#?~ᥜP#w8h3\r)ҳjĠF^]b;c2`WOImJq;~ڗ?TeiY,Uhk"}''$AG>Ae}B%;vŒjh.k]=D%GCt=DGѐ֥!ئaM'W0I5jOgEyj 9>vu6Kxtͧ'~]
HIØ<ٽ;<OS	wA}/jpaE՜o,@VuNPE=?"34? M\W!;T??u(Ƌ%Ldga
fPT9Jy
5"G0ƱpvM[GܺXY;Ոً3.xSrm0;:ɇ}n%Vrx[ EԶ"< /@ S /0 /hNʜev%Æs?Dn)5K^L}YjeIs&>O,-T	VCJk==C!9zܭ\Qt@yOLv2#6CSuH9`(mAr\5>}bhk"w߬L/OxĕNC>u}h1G?/w9Hy$"M#g#=u<x#g<x#NxJۜbVg{"r|*JhMsvCz6B3aNY9"O)PսEaа:A:n l6/[F$0Lj-QeZzQ{zSʽhNmz=l.UJ{#C͑U1m!tp
9&
eY!"n£f-:JV%h'O(~zrs21';wN/ay`}@dKN00F}8Ԡ®$8ѴR	<ig{	;x	w{;A'5D
=b`i *|Q'Ww
5J%5pD#8@BXpW#3gV~ V~GoE-j;
4tHC7"03Zy
"\&>pyܼ.su^~8#Xٓt~0Q*FDr7/_M߼拷__w* n
nfn&O;ͤw6B}ܐ^3"GwBQWI)f9[ki]q<j4$d=TUCfEԳ,"FULidNS/4J9|\/SX1-C#Hdrk-SkOTf­LyCmB9=)DO؅OO=z>REl}O%g<䮖[W1p\ާXEUJuo*XqBKU}"|3j;Ԛl^zka;׆hj;Ar"$)qxWVG:.*=ㅫuuƀuK4؃9QAʱV2^ʥx	YPp9ϸC\ûC5-gOX~'6a#L$;[ %|<l}$̯afL֐ƓaxrwM6ƚL3[P	\m6SZCl^o8%xb;&b+gH$Ml{pRYx*o0с.ZaCјhjL4e`$SYƬRǬRͭYUdL+uo+w}>fm6iы][OJExG8ޑkail7$!4|!&eGoܮ"KTOIB*Tedܯ<Z:ẋ7|1|xx]=$~3]Fb9õ#XI~bDWqT]♷_R
DܽZ0Ma|Ơ#< (ː"O|H>.χe<*Ʃ?Vǩu>I(!6rvx:.|hw( m̡5uB|6,ɇLCT[V\1̌Zb߂ՎV0Se[P/)ר~6Ep)~^PwTđ2Ԕ>MˇlfN\;݅wp:
tIIre+eJ("9TW'O+X81@m<0i	'T4ݚ}݌mtgԉ7lT@v|'dT}:.1t.{FG3[{0u[-æ{߃0	v$TLi!wh;0tcģ ƉWD\/DBD=#79]w{i8RDCTc aýW { 	a|1b#!c #'!Ta!TgW΂]׻K!_qȼ	^dQ{>Мy>f):BSG
4La3BUam`x+oR-wMCk=NTd}JU!5iF4\m*f7RT=tbN9ÑYrpZbc1flx蚤KBJ1NgThB+s?*	9:*謲G*yg=!B0R~$WEv6\Uf}x%sUKxR1ػzw.Gޔg`vWLycr㱎M)}4NҾܩ2mV?ջrIO\MܪĶ>tw5zV=gԡwUifUJrEa0:[Vlm5z[h붸b72lq5{\@V%Qd";ڜs2'8~`C/Fۘ7ƪM0L,{]sC/%nFhww_lc@hcma1<C}@GjM(5M()a6X,h弗6{2?22dp1\txb%D
[%lbZa?5dm!МP$)l4Z#	a`UIO>ӣ<ú9ʽ&u=Մ7UNw#ViE,efGtxssCk"M89'Ax("X7[l<PVl,qCݐա&~$\@y-TL9dD'1x4>P AKM`h#~D11{*`WB *I(Dv֢
B9	p;ܦɼ0>Y/PP2xP'WaQwZ^d09Nd{qΧVV9>1A;;71sc;K?zXr.GCT.Gq;5w"f#%
~׻J{Grnmgak#LT+"GW `rYַ<$Cl 7\
rM~o	D*}*Vm7ϺxSZp;lTx暠	$|>&769Q W =`њˠrAŮ-ǅȨ*q-?#v'zde{A-@/
I%M8"zWl^苔 Hφ`X'ı?_].x=擸?
,/AQV+#u2F*zцmև?@G<&qE^P]RAI
Siď\KUSU==h^[Ot\mHrjL!ԗ?t,aZI@ύVc[\̮3:p6t︼1loSW*4O'^\F/O9MZD5raa-jJ#+Mvy~s}q[grN]1F(!8EMNP8A)5f	J<r'u7>PV|{VdH7Z+gn9" /jjƜN0i3h4 dXaY,?C<[lfތ֛z3ZoFh7fތ֛zD779vQ*WR;i#Ƿ 	XVEj+7% F/k?/<*f3cFsh19f4ǌ3cFs#2T<nѧIs`Qd8.3pGOy`Ƀ{IUPŚP\l9@"^#:[N#BG=b8q9yr\י*@uܩQ'^u2Ԑˇ7!4HW]-֓V|؊eF;AF6n7˳UfNj^Ӻ:uaK}qqy>I#ÁVEKL^$=)|AO	d'UG5×_JB5|&ށ-~)S4f#`2S>L+wႚ*d%eNc	ҐҴ!@Ɂ ;:!vAa0dig9Ce4C,dBR&]&9U&7RBaSVGBhϧks-O4QZ)mDiŸ9Ҳ*QJulHp;@a!};tAv0ԓ,*q:[/,XծZ~Ȥ_5-!xa<LEkמm98<|D՞MJ.N>2%=ٝrs2\2nbIdwl5W,zH5@Eo<6|P;a?h{Jz	ЕFi

ƚ!)dXV2?[sXP`O9I5$bhao$
 &#I;u2
)Xjb	}q5|a
Fˁarst5`փy05Yeo^e=P5<6ܨ5eʣǌ0!iBҦ%PcBo*v59t lZ+ IE _ ZnAme,稪Qt}p[$ |CB[l: (#'*}J=X|#,{Ro -~EgsFn nYdx# #|U4;EZmң,/WM?)zӴYm:4
*YnMr_K}`H`d?Ĩn]57{K	7sBbS-X59c܇zs2mtGLZ~;t6,wUE_f!\ԋ}Z	<qlGBH\°wp`)ýOrذ^P[iHiVJ
.G3x^'t#Lt{dvndxu,7AlE4A
*5lXqLph6P@y?qOn;FM8(<t]'[)Ի-ihcB[ir}=^6%vG%vvOgJ!p|{fBav㌭Hxt:KWpUуiz~<)=AC,?G.y!CڍO<L`st"<krƾi8gV&
B\Y¬=A@!4pgO4:_1BJi$;zHj3muZmϜɰM|לSlȸ۷P+RUuOhˆmdOgw<WvzZYfC<qpxJ~_ǕΤI4NvK'!'t0	zHu;P2H(+cS::E܎gցܷ_n-GLB#&?Ǟa0"'_Iuny/R5,ˡV}>đ*Qƺ֏T3?RGGo(xlO}	g·j<YMl=@5Qbuc6ʂ0{jtRjmYˮeBE J!z7	 `sZo^zZbޙOq%}Eȟ JbX@9^MtziL#(IbnJc>BC0,e*Fǳݭ56X
G*
)G  =ۅe>'kvނy|5.b[#ѝ`F~^nT'	򽞭0)f{2 HQt_ri@6|c}0@O<ق:s (8Ua)22Sp#{v'$,Ez!z(g 1^x?1I[ȁN|Vn>!fX}%"Xf~0,.q\jXϮm|%
g|W|ƢEXHH77eZ⼱-訓̦WTWTh|68(H n?<t2-WOLA%ۉ{<ʋjp1SI2PI傠e*'	bɐWIx
!]݃\eP容\HaVD	xFcE,6nZDpҪiUq=_,xM=Y|l ƎDJVB h,=~ %OIu͓$.:]K9n1ndJucbPn
8AH59}o^}ۯ_{;J")Wdą5g&K%uD,7(xl\ as~>..W}ɖ3}=riUA2pYC?PF_ 3: qC:D[Oa뇊s瓺I\fAg!U+YɆv\_mR,){x&B1ʞV32/9*FZf<ӯE'Kw*
aQطC=upO8i5Gov?J/aY\S +5{ɧ!׽+'o7w)v M=A6<zdl]lsMU*t 1],|	$˃t)K֕qDb>RGiK&>
]vI4r*OTz&Z6biz54|qyJ\7yrxX~ 6q]1bp-.R|wyN uZ~~[g@4`:\V	f⻏T!.rn36RVN,tBj< qɈKr%tMHԈ?ȵXful:(t#ڵq25%[.bm5eJڌxV=݀PļY":\R>Nd+r%	(nJT0\2‶zȊ2ϓ<>KvlsW={'J멙3q#Øa)1&Bxw ?"jJ:jZӪJM8vUgPt7]mʜT՝zdH.a]خU)'F%FZ1&XlRMsyø/oRym&8"{֔@'6YǘF3\g >.%T\DNB~)GN#}y5ykT M70RIiI@?v=dvŇw &|TGs؜zİ\yA0th#ވF׏c6e]*c?W/J~F_'Z[KkYcR.!,6 3#Wu3K[ȇ#Mr[zRNڴÝBR5"!au`l@*[eg1%*oT9$f-!qlꪡYԐ$#/>q+*bTt4W nz]bF}ZZG}G{/*QeCRȎ6x)!.K!L+`EՌZy@E(pPj8,CQ僆]0+?Ƣ6M2q	SB6H0!	\ӻOd=Y紲H^$YM/fl#X-llfEe
g@gQ`8.:
;iLWJu>OsUlewn[.;pk
ĬЋsgf8QXdWvZҘuԭ̀Q;j4n3QيRx7PK9[GcUuDdW|a͘^πѢmU1pP'pxTjǪm3swxNffJN"Bեժ戢ȡ@ށu.0[>+izDk+}-)*y$gwsՒ\' ]gVǵ׷:#T7D}nW>~ӼO6Ο(#e\_ILdj3[7$Zjab!Qva&Bъv^3t#<KO)_}1^\`eppu7d@iLc]$#7|~Wה6o,J[Mo!_FLfiYQ(gdBya#cMAdVe1(-'CM$TR1CT/	}V{<y~`.ӈbvQt-BHLRƢϦώUYgo_Ygŝ[XJ6C4H@U]!@B'ڛEW^#ᶈ!@"=ՇR97ϱ2WVcip4j8}9 G&m@\	=*BUfPy9fLiPhAR Af tx*|K =>IA (Ψǀݙ	l?( F + za]! Bc H[xp}3h4i_v10f P^_>5ɏ-)OSP  RJ\qQw0ZkNT*"vUb@[}x1u(ݠ*ܙWFv2{M˖jNTQ-)Al|aGHJ7`^}שHET$9I]o맣	Ǖ'A^^_,eOMl'tE-"[?}Ǌd^70#w^OO3z{smz!(bQK^Vx59>S\bniqhOd9tv%9-1:sV Y^pz7;mrq͝|Cz+z-~o?r潝;74Q<߹y݆[rPU~]v[ UW;Moخe]Lȝ(6)]>gr6ᶺ7(&0~WJ.*0lluĉ/T&p00NLЛ-	׊Ì5SZlJ6HnlZꈚQ>2*^&_zgX2سm%߲'lkewiIV2LvtV[lmdccPP|5+mJ/ahNw?9vKkX1ⲡmbzZh][虉VbrN>.W+ecgG̓%zEs֧\+߰!凎ql#}I^X/<zw^ւͫ7 Ovd ٧>p+g FU-=7i9oTsc0?,]ZSԮ^P~ *gH7mQVeAP!fA?K1|&UP[l˴l5rĿ*13M7;>Rk5|\ 1~M)ӕ
0YA\'kUQR罰%K?4!_5̀twϹzq;/:'!oV̦语_ҠWWzÑ8_vbU%!eG*+_WTϖh߂떃8W9i|F5P@զEHj@mˡ9gVMsn<$`;=`w 4<eyk>筓OO-,Har:+gnJeܮ\NPn˾{0 ph6á>uB_GrT
T<!UJws8lKAA]I3ACw&Vq^ w3]\㊜WbD׏JPJ>]%։nos]R0p{<Ba9cr-0fH_`ż2KP|Tz1K)$_&*gmE%|T98%@@%Km-׏#pxzĮ(UJcUqLRMi!HQO>zWlU)WV-yPX^\Ɠvׄl7
uB3%i"FD@{t#?xcմ4zHEw}4ViTX*"'BfܦH&Ԧ?KH҆zrN"腵96ysKz"Bi"E"fUB̨q<LoD2v	>VxP9rSW;3S!94߳5;od&IOM5}&=Td"gkD*]OP藍qfFj'2)ްݨ5XTANNHe-$m)̴u[I1%'ڌ~AN} j9eKt/[	6iZO7`{i[$;Z+$EXno;;:%7fzl`s|QNr;Ԕ[E
욢,װ}y5,٭:$o
NQ*v=llUyD7l4K!.8΀{r$W-l3vQ~
}sh#>v$̈́]M
C,iF~*y?/Rr/MgE53L'/}fZ
"|N߼拷__wqU*c+~.Wj`tO :wOwzS'K
}yY1C]	8PoFf_Olɸ('B^fJ5s-83I0~Z|#_}
7{]BBs=qfTGl/7EC2Kyuo+2'٢9vKSvR
w/`gt,t|jL]j*=#>K~s$wAW)?D>T(WpYs[7>Pp$o|7?mX&-         nodeconntype       INDX              DialogScript      Px^   CreateScript    S*   TypePropertiesOptions    Px^   Help      Px^   Tools.shelf    mPx^   Contents.gz  
  9S*   InternalFileOptions  U   S*   ExtraFileOptions  V	   Px^# Dialog script for gasresizefluiddynamic automatically generated 10/12/12 14:17:21

{
    name	gasresizefluiddynamic
    script	gasresizefluiddynamic
    label	"Gas Resize Fluid Dynamic"


    help {
	""
    }

    inputlabel	1	"Input 1"
    inputlabel	2	"Input 2"
    inputlabel	3	"Input 3"
    inputlabel	4	"Input 4"

    parm {
	name	"fluidtype"
	label	"Fluid Type"
	type	ordinal
	default	{ "smoke" }
	menu	{
	    "fire"	"Fire"
	    "smoke"	"Smoke"
	    "liquid"	"Liquid"
	}
	range	{ 0 1 }
	export	none
	parmtag	{ "autoscope" "0000000000000000" }
    }
    parm {
	name	"extrafields"
	label	"Extra Resize Fields"
	type	string
	default	{ "" }
	range	{ 0 1 }
	export	none
	parmtag	{ "autoscope" "0000000000000000" }
    }
    parm {
	name	"delay_frames"
	label	"Delay Frames"
	type	integer
	default	{ "0" }
	range	{ 0 10 }
	export	none
    }
    group {
	name	"folder0_1"
	label	"Bounds"

	parm {
	    name	"bound_padding"
	    label	"Padding"
	    type	float
	    default	{ "0.3" }
	    range	{ 0! 1 }
	    export	none
	    parmtag	{ "units" "m1" }
	}
	parm {
	    name	"weighted"
	    label	"Weigthed"
	    type	toggle
	    nolabel
	    joinnext
	    default	{ "1" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"bound_subtract"
	    label	"Subtract Threshold"
	    type	float
	    default	{ "0.2" }
	    disablewhen	"{ weighted == 0 }"
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "units" "m1" }
	}
	parm {
	    name	"padding_min_scale"
	    label	"Lower Padding Scale"
	    type	vector
	    size	3
	    default	{ "1" "1" "1" }
	    range	{ 0! 1 }
	    export	none
	}
	parm {
	    name	"padding_max_scale"
	    label	"Upper Padding Scale"
	    type	vector
	    size	3
	    default	{ "1" "1" "1" }
	    range	{ 0! 1 }
	    export	none
	}
	group {
	    name	"field"
	    label	"Field"

	    parm {
		name	"reference_field"
		label	"Reference Field"
		type	string
		default	{ "density" }
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"scale"
		label	"Resolution Scale"
		type	float
		default	{ "1" }
		range	{ 0! 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"field_cutoff"
		label	"Field Cutoff"
		type	float
		default	{ "0.005" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "parmvop" "1" }
	    }
	}

	group {
	    name	"field_1"
	    label	"Tracking Object"

	    parm {
		name	"use_tracking_objects"
		label	"Use Tracking Object"
		type	toggle
		nolabel
		joinnext
		default	{ "0" }
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"tracking_source"
		label	"Track By Object"
		type	ordinal
		default	{ "0" }
		disablewhen	"{ use_tracking_objects == 0 }"
		menu	{
		    "0"	"Sop"
		    "1"	"Dop"
		}
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"tracking_path"
		label	"Sop Path"
		type	oppath
		default	{ "" }
		disablewhen	"{ use_tracking_objects == 0 } { tracking_source == 1 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "oprelative" "." }
	    }
	    parm {
		name	"data_name"
		label	"Dop Path"
		type	string
		default	{ "resizebounds" }
		disablewhen	"{ use_tracking_objects == 0 } { tracking_source == 0 }"
		range	{ 0 1 }
		export	none
	    }
	}

    }

    group {
	name	"folder0_1_1"
	label	"Max Bounds"

	parm {
	    name	"use_max_bounds"
	    label	"Clamp To Maximum Size"
	    type	toggle
	    nolabel
	    joinnext
	    default	{ "1" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"bound_mode"
	    label	"Clamp To Maxium Size"
	    type	ordinal
	    default	{ "1" }
	    disablewhen	"{ use_max_bounds == 0 }"
	    menu	{
		"0"	"From Object"
		"1"	"Initialization Static"
		"2"	"Initialization Dynamic"
		"3"	"Manual"
	    }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"operator_path"
	    label	"Object"
	    type	oppath
	    default	{ "" }
	    disablewhen	"{ bound_mode == 1 } { bound_mode == 3 }"
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "oprelative" "." }
	}
	parm {
	    name	"bound_size"
	    label	"Size"
	    type	vector
	    size	3
	    default	{ "0" "0" "0" }
	    disablewhen	"{ bound_mode != 3 }"
	    range	{ -1 1 }
	    export	none
	    parmtag	{ "units" "m1" }
	}
	parm {
	    name	"bound_center"
	    label	"Center"
	    type	vector
	    size	3
	    default	{ "0" "0" "0" }
	    disablewhen	"{ bound_mode != 3 }"
	    range	{ -1 1 }
	    export	none
	}
	parm {
	    name	"enforce_boundaries"
	    label	"Enforce Boundaries"
	    type	toggle
	    joinnext
	    default	{ "0" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"minx"
	    label	"-X"
	    type	toggle
	    joinnext
	    default	{ "1" }
	    disablewhen	"{ enforce_boundaries == 0 }"
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"maxx"
	    label	"+X"
	    type	toggle
	    joinnext
	    default	{ "1" }
	    disablewhen	"{ enforce_boundaries == 0 }"
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"miny"
	    label	"-Y"
	    type	toggle
	    joinnext
	    default	{ "1" }
	    disablewhen	"{ enforce_boundaries == 0 }"
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"maxy"
	    label	"+Y"
	    type	toggle
	    joinnext
	    default	{ "1" }
	    disablewhen	"{ enforce_boundaries == 0 }"
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"minz"
	    label	"-Z"
	    type	toggle
	    joinnext
	    default	{ "1" }
	    disablewhen	"{ enforce_boundaries == 0 }"
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"maxz"
	    label	"+Z"
	    type	toggle
	    default	{ "1" }
	    disablewhen	"{ enforce_boundaries == 0 }"
	    range	{ 0 1 }
	    export	none
	}
    }

}
# Automatically generated script: Tuesday February 18, 22:50 2014
\set noalias = 1
#
#  Creation script for gasresizefluiddynamic operator
#

if ( "$arg1" == "" ) then
    echo This script is intended as a creation script
    exit
endif

# Node $arg1 (Dop/gasresizefluiddynamic)
opexprlanguage -s hscript $arg1
opuserdata -n '___Version___' -v '' $arg1
opuserdata -n '___toolcount___' -v '1' $arg1
opuserdata -n '___toolid___' -v 'dynamics_smokebox' $arg1
PrefixDroppedParmName := 0;
ParmsFromVfl := 0;
UseDSParms := 1;
LockContents := 1;
ForbidOutsideParms := 0;
SaveSpareParms := 0;
CheckExternal := 1;
GzipContents := 1;
SaveCachedCode := 0;
MakeDefault := 1;
PrefixDroppedParmLabel := 0;
UnlockOnCreate := 0;
<?xml version="1.0" encoding="UTF-8"?>
<shelfDocument>
  <!-- This file contains definitions of shelves, toolbars, and tools.
 It should not be hand-edited when it is being used by the application.
 Note, that two definitions of the same element are not allowed in
 a single file. -->

  <tool name="$HDA_TABLE_$HDA_NAME" label="$HDA_LABEL" icon="$HDA_ICON">
    <toolMenuContext name="viewer">
      <contextNetType>DOP</contextNetType>
    </toolMenuContext>
    <toolMenuContext name="pop_viewer">
      <contextNetType>DOP</contextNetType>
    </toolMenuContext>
    <toolMenuContext name="network">
      <contextOpType>$HDA_TABLE/$HDA_NAME</contextOpType>
    </toolMenuContext>
    <toolSubmenu>Micro Solvers</toolSubmenu>
    <script scriptType="python"><![CDATA[import doptoolutils

doptoolutils.genericTool(kwargs, '$HDA_NAME')]]></script>
  </tool>
</shelfDocument>
      }ےHXzfdᰟ\Ŷ
B⎱3۬*YRκ"*HC*u̓/~pO~?ⓙ$L Y,uK$''3O[</?ɑbLTV$Hj(yB|zN}tm84nWHz-bFs7~Ed$zt.~?
i?;Z\h;ym 0CN4W"X;ymA܎Y؛DG/_=Q/>+O۟_	@J{ٴٿeq|0>⣿zA](}^FHjg@$ \?8XQIϾH`(AI~4<HᯘQ?yqѣÀEWAǣd8G$2*`~:
<`B?.9}o^>^zq/Ґ%ݥIQ8?OE8_^.n8ĕcOz>Fe0O$7JAtI/G׍nS;4<@L,}X`@4 'mJ7=!JP,?xyO^w"D:>_cWo%E@橡觎mGh7ǹpg^-qO}-7<ȔOsoZ|L@xQo{W<{>RG
B`iXa+wN$&m|H@paTFh,6H]<Jx_{P^|n7_?LP@DRjR
~*p%,r=KG]Nc'2AoT`BnWbN[/ o~DzN1V#n.L	MOM
ZXj+\ʯgZIi#e lD4i+̀,GVQcwÉjSḍs'OV1KX}g~u+80@/+Vh7r&qƽ^I/"0!	*il|;/ػ{Tpe߻5r2]0:,gGn2.[ճOڂɤ39bvE6y	}gt:Hz<kXTܽr|rByWytD7޼f{Aq{Oz7A{tf WՙQW-Rp9YG 	H.N/N/N,/N3b.4RxSRe%a+PWeٟS@9˽<Emy72e7ۉ=]ϾfMDK,ޒ^&2K@<+j1ʀ'P(^ ID[05!GF(l e}lVL-U|/UrUˌ^֨TիUn\lFRQ+}Fʋ_N^V^buC$łUCP]0` ;y(=
 荇8 zhET>|@@ZO"~0x@8&{۰!ȉ >z ۷^XNXa=DK{u*Zν@I *(-}|SXt<0fmƑ7e	6inrOllW1+<&>M<L_ |m4~TF	Ai)eF66JY^f%gx r{	fR"m#i>zeOǊ|x݅?НmB_1fG-kz`np'ӥ?@#$aF^c8iiUGp6Ê`ПTYUՔ4Y\5O8iÓԽlOR8H3){NL0/ÿ |8  O/)p1Wtd𒆼9aЧ<*tQ}J!jp樖,[gGr?s~?ue@@Ne@CPX/7Di!">"xvK),{Iyi[BiPM6j8a8 _o7ҧP%8}7I0zX{(
Q8ŕ=ͼZh!jMh"uTʕi5bd%[[]5$PD4u:`WB}d14ŰĮd]`M5_ɣc@ҿ\.|9]2j,͏~_UG|Kn|NRzJ&mz=Vz{DtzU*0xoϴjUxC	pqXi$ݸ[V]DO&`,W}0ձ?[Лx$!+HFԫlOQ@buop}n8K,p≮"`ݠ>8{)jUHPx-J㶬4JEGY3U5/3kz]>2qA kB3@ٗR$ CMdI*56*ݺ}6Uj	;lX`K8K X 4xh>WՊ%j6Ua[:W
Lf#_*05d>a2Y|	c:0x|,HLc[!F#t!Az@wɆ/tggO~/z.z7oސ'۳o<}/	>򒷖^$=}*yfv4fcoڐc?třBs[y"NMlƶj8Sɮ]J>)>,}@΋KL 4
1W^xH?߀A1oU`cvq7x2}fXZyrĐ!T07q@ğʺ-/9>AŪK_Yy]Cq`FG}=O?}t//qԓab<'cNxMI&Q0	<y	+<8^FׇчC;͠x+i-VWw]`XgfXj#%5PdX"SfHHFmWoګ{+ˤ,%+R/?f$aG=5GPyQ]ا`O
fl(Xecb}?xdP9!웑}3oVξ9Mlc\[Y˴2\Q\=\;nl5}ߟ0қ<Y ]j{ftlRyUU§$ D,OMQ)2RxZ$ DٕͫR9F4[lxe$ay*KSI* 4[ 6J3=F4ZZ1ts6#ѵSuQqƩ9&L)~ǌ56L~C4A`?ś$y;v[Bvo<ґmŰU]f55}8LR\1e\,?[L4rk %-IOf^&%*wdEM"/ٖPU*Ln3V%#o,q^0$$sũdʥG#غR.wyr)[wTY\ֽ.PD8̜V@sjNqv`sS>,?fL^ԋpb<p|&73qXLEܐ6[תr%HbAߦAߡ4L7s#L",qnϢlN:sY>U//]odvCًXIoRY*f$IeiJ_]ȷԈԌSu^+(Sm@жUöRʶR9m#:۪6{m߶jb*,rR1Pg[5Rظ!*e2۽yuvU+\[kք\۔d*x5#э:.q$Fkg͹v-pmm>Oݩ]2ߕ#9BS'}bj'Vqzc+NOc|bOleO[WΟߚuP#b*l붎#M֥
$xB*aba}<R<VEuiunU}ޠ2I+OkXzP,{^x^"*ф%/
5QYJRGE4!Y>榒Y[̏`?!/aE8o:ڑmJ=/ 9 eR@"sY$D6$LjHifʙQX{c/]01As7"&E]M1(l^Qe6dި5ANS{nO+ӡ4Q}g*v/p-zcK5~e *°@{!C۽n	LN53+u{:]Gޤѥ}* 7}K>_`^+HE~aּ/ɍK%%zQs&s02X 
tLmQPi-ZcuKHѽnFuKHt)-!Eұu=g	Sr.5ԃm
#"?$]ek;04,J{VsǦjll1{vvk$(8Jkn'u~f0҄ٛ$^1;g-fkV%0LjaVȘ9`lcJH6t{m]B.!	=au2dS2nUkl/_0řZ(3YT5ILXVZfΖrw5	9L/%ٗ٢д:'\Wf\;Lt<	s5Slb_@1q% M^]k\vA2uKKTSWj@,| \}^TFTK K1D@WACa)_kx@("f2G܊|&ȬW߀pܙ!3X/R5`PBNo3bRg9:)&jiYKjxJ6u	Ms}ٓ>og%k77gCn7J8E\6a Z)P)
U .CQ)avG9ܤKx( RKJ.KGtzzS|{Mѕ%A?-9mﻏLy[+%i|(ɚ;u	D-z;vtG;6Bwl:I3+6juJ20yd=r|OfZgET۝yf#wxB؎ppAQĩ5YUGEv$Xh	Ck-v$\nj[ߑpoyGۑv$nGۑv$zG­ v$~ّhxGBaE6L(]]םV'bOKIt{.-$}{JÞIO}IĮ˶m)t!KCJ4ĎS8rDm;ٌl3b)ww%aeS5SU3Ysl]inN8v|e{7!;kȢ)oi|:XK3jS9:ئo>on`?{f`	ebWep@X*]7VSkVv=wcԎ\~s7J%7nɶ)2eQjYpve.vSz%~HswJVnln2cF!5Ǯwػ|wc׻|۱.{@:cߘ3o]ic[XoA>vcC>vSǮ(ނ|zc?|']oQ>v]>.^]>.I~wOq貟tOvDoI>v]>.{My]>Gwcㅷ1-Ǯwػ|wz..>zK뇟]wط]HtػnGۑv$nGbfGCǮwػ|h>vIt{/-$9ޢ|z͈.{6#9ޢ|zFco>|!c׻|]>V3-b]>)96]x[89ޢ|E\|xP.m̦cgp:(wd.g^Zt[Ws<gLՐNULu;IvȐK<֨ͮK`9"C)kmم8F>jFXNܩy"ׄc$+p%n,MҼ.~?G?Nf,P68*<BG1qba|[H81vMH'4p\)\/I'9;
qQՆr39#jurR<}c!fB0ū2evlԐ-C[D5ėʗ_ {+(""j7grϨy!##哇<މrp1`#C+'ߦϕ]ބ11N57
]3n5/Q#Ⱥb[0Umq&ı*֐tGlr0ױLݓ|) Ʈ&&<nMZW ֻK.YHQ/;kF!rTG]FJȐ5MDk.1"MDy>RXvR4QB"f-+db&fi*蕭 s}CsDTdT)zͮ=$9@B\u;s uy;q]Cq\EFȣ[\ܚs[U,1yC6,dҩ&P`]	*ق{/[HG5*qx5v+wUF#gZpjtf1r|	X H71ak06I HЋs5-=ׁAk 1џ@siUG1?&|>>9G'`g4cebԶf9̓: "/'B5rK LpgAnuTqZNAkP H<NHNfF-d8ҩ*yiN\ZUҐz=o>$Y`"Ig"3)0	 sw&bJlR*HUlFSk֋TʻÛ35_)3&S\cJYܚ%EFtjˊmZJo)#2D%d(r<-*aWvDN~|-^ʝ0k02v śT3Nߔ˱+K҆M)jQ<eNdKN&A>&"Z3Ih@A!.	T$WORB،ʖY/h,P	'˛?d8yH#px3i|=/?YaIn<!c?iׯbn6pF1}ػQVz88\IqZ-ݱtixYx/(Eb?}F%:x5Zp[[ȉO.*XJ"
4UaKNhjQ~P;L+Ξ]3m7b@%NllR&b࿆nvjʖ5}~2Q?	QB|_Te |!jӅRx
~pǏUih"V+ȝe7GOEPKV#DN1V;T-*J 8M2H2RLZmZȨ틢S+TB0 jcqA9ls$X/	=XXٜ"Sb'8W{S9;g8--	8lWtУ\dkZCw*<XR/t^^m|?x5xVo2N6TqxY.mVrng1 -L,~p"}?x?eMt@Qٓ߾X<1p' ~č|S;!X?Vs'G=zۻ?k4?޻y͍=ryJA݆<H6HlSʚU_L׶Y(jb5Yo\,a|R-,y&n2ܺj?f~OXW0\16҄Pr1Fe(,ܱ,wAU{}eT#*Ե/:7D3|t%1xZ~dJUGH2l:!klX`@2ʪ	oGrB["B|$h;T*CPwȘIFzvw{jt:9̀JC{\(h_oIBeU?^spG&gɩTxρ+DV
QYb:ȃƄiYr+L0	>x,L&jdY8_|1šwG1Еu랻8<^{vf8 [1=+kg0jYS#''R+2AGLYȔۙlՙ\'H/ūh'lPx6*ˑz+۪*"eJfOJN1!uқ}(!Fr1ufˢ=2ߖx[wS\F]E U}jmچ,6/n-lBx+sr)?]'䴿.9@<7oo=1o['.CU#E#{?9JiŸNZ Ytx:y3;f3C֟E
-`NfGPM8uk!|:9Y㜝&Ӯ^1sTFhB.]1$PȹEKOr1^3ſ$.")lE ]KL	wμxqX&8œ~ Ieꧢcs Caw3!5~	li|/%XxK ր{NM+fSjO!4B;MXm`Ftן'rvS)t7`d
۰
Va)Tݬt
-da~$lDB8혛R4}H"=YFd^[TT#c?hww H,̕SCl 7  8,G ].*MS/Vq5yt{gM꤁."́dV4VlM!
'cAzNQ5:SzGy覮ۛi^f+T8t%.oa Z-'Eۚ-`U*J"jEG"(g	-*wzA|f?׷d{8(6YE6`'׾u_͒jrViCn]7nyB[pR>[aJMenm~bt1f52E62e|	'v{	3ȋF1%^h!Y
Gپo,YEwxɡ"X<:n@ԫ޿qJeREoo?:Ľ=GyKN +iBoǐ"k&4YsQRU0u+%־XrVC*b0?tLkVM$TU޹[VzYձ;_CdxEV:*@:io-7LS)vjKREbv
f})Q8ahOaꞰJ,=a_X0xkؽM'ssR#|p_}EcZ]-hj,8WX&6>,#D$֗^#aM!MR4&Q\p	R2:X]#]Aiƺc|rBJpU&RN'E|w|C	؟NPb:AB	:	ATBϜr !vPbSH#C܇>	a_n& ݠ2ߵ>.{:dv,⣭߾Ɇ,lWdy5dVB{ep[/yC~\Bbm_A{#qdh]ݫnm[ʻn'p,pH^ѫU!&h ND߷Nw1dE;S7_[;eNE(e)vxyMwiwY߶MvI϶v+ǝԃ
*kֲmx7m:bkŶLw!3og"<{
2'DmoSQjOWz;=*#4ab"JI$
Um 8a8_^<Krr9ǩƄ
q__61SQ:dLSk}bI@ftd(rHȍ3W1~U{8_nwڙ;Kɱ{v5R`BeXښd牏0ȊAcԴՇ<W2fߴ움ՐᴖezVǫtY M sLisfCR7A9ۭoh0ePW`#s :W¿8{_}ZU^>]ZfnAv{]8V*r>!;n J	+UFPQ&= AkLj,SOVXDZ8<Pqe"1	ZhDq80&bT}qy0`~qrh8j4:ӫo7iw!U2ezTôuZWS%!RV:5-ZW$Q9	W3qmϚ2]ck;GZv/ U妠oszĮfƽ4ʹ/I-egގdJWcf1*ȅJ3a
<ASvN×!{֗RTd\ZyboP+g~<lуr0gJn1)<Oguh-PGY_V+?m/ӅHB'$~翇&aaճ'}! /嘾(򃋩G.Q	75DW!Ǐ2XiXLi@L4u.Gf͉Df H~":`[);;<Yk*b:&d3Lxw<`V;ArP8>l%CC9Xz~_yFO+^؝x:U9ͯ,UIz2<g:2t:ԾW8IO`0 a3nˠ)08W]g#$vk;CuXc#|0e4TS:5dKCZm2WMu͕^0)EC#U[^:LjN{j|;\sc{}8t|)[+uZڅ[C٥ DvQ"VjsY?zW,BTWw+usV) ~ LOWH|<h:_^)I3MS;pZS/g߼Y78(H~DdM	%EIz*.g=H1T)@8KY>3^JhǤI~7	(6WR%3$A?;Od3X}O>F:^Gfm<c쁠[P Ah!y)m`e.#T/:
':!10AcvձqtকTMKc?G2͝~po ǔoWyN]@BW#O"԰\lN񁤮Jcv	\, n>k%|&'{y|I|Hr%((ֹ\#jt1sװ
!49DV;l
]Ե䍂s;̬Ő?öS!i*ܖVfR-Mn64QɄH?~56Za	 K^h*Tm.#Ӻ
_Qaw"uɆ*;mhաN݁rV;i+5BbvA:Fz,aS1vsμ"8*wssVjLHyvJP%'-F-AJF-U&%(%Ul,[dRlT}>EQ޹_[V+J:PUCCLuޠN锚N锚[UjjܡZea0
ٖLjhɮ}>i%b-EFKHv4]Γ/2MU+MH=2*{XUJP1ɂi J`%ժsHr:2ژeN"DƲUWZ%:!D&`񙓌!$-X;^\JIY:	MJd9a;<"}l"Ru-G/Ym[2L[-\CLt.1?I@`(i(blG]CG^}>V0v0":A(Kc;#/ @8'ݏqt>ǱLb^-@yc}CZD	*"C-FT[bTjFz.e%Ueu &i8n=OR[04{evՊ5EXNwW.]E6EH<ܩ!g,d8\>B)Lb9щ]*t	oL)i*2˯oxomBX5&#vxAݣxjTnUYq
v5jW>'dV:5xv"/^ti!IY@Pړ,ֿ]qxEQڎOCdȨj'26M 9n )"&#:);g%Ƭ19LRBخ78U9qjj1|Rf/RdY0C
Ξg0p HzǏo_HwE/		*[Ǻk2R3ML*iLSkPŠˡk6Zt`4sCMDyRxa$WhW)yBWf'VbE+LZkd<cP]AѨ2{-^Wi3BEAwL[Icsl[8E<0bR#g@ˠߣ;m7hj~/aލiG!	9CEq,??1},N`n(	wΩwMOQʹ("ja^,Ƶ7t~lVrqmV6Lpsۜ8
8**c	XD(+DRRW054Ujpa8M]q\ )y|.(y%ٰN@rc%yN41\)NF	4?eJ/p.lIqH-p)ݺXJ챞@&IeqJC79Wc#Չ%!l)}BZ!KVPq?`tJʇtg=MY>$mD
Gx <NqޗG2;sܥ1l"Gg00xC
3s{oB T;Zű(M<?^lhOgWF~Y ȩ#iP<r%V!I(ϓa˱76DyƏ-w6J1q0%)?p'*V@PWP8';1P37O½W;WkD{g+`ZZUtOEZ)|˯;jY}F(0$$H9BG 
n1/R޽W|gG1^{     nodeconntype           INDX              DialogScript      O   CreateScript    UR`_   TypePropertiesOptions    O   Help  	    O   Tools.shelf  	  mO   Contents.gz  y  &CR`_   ExtraFileOptions  2   O   InternalFileOptions  2   R`_# Dialog script for gaslocalsharpen automatically generated 06/20/12 11:43:12

{
    name	gaslocalsharpen
    script	gaslocalsharpen
    label	"Gas Local Sharpen"


    help {
	""
    }

    inputlabel	1	"Input 1"
    inputlabel	2	"Input 2"
    inputlabel	3	"Input 3"
    inputlabel	4	"Input 4"

    group {
	name	"folder0"
	label	"Parameters"

	parm {
	    name	"field"
	    label	"Field to Sharpen"
	    type	string
	    default	{ "density" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"sharpenrate"
	    label	"Sharpen Rate"
	    type	float
	    default	{ "0.5" }
	    range	{ 0! 2 }
	    export	none
	}
	parm {
	    name	"locality"
	    label	"Locality"
	    type	integer
	    default	{ "4" }
	    range	{ 1! 10 }
	    export	none
	}
	parm {
	    name	"usetimestep"
	    label	"Use Timestep"
	    type	toggle
	    default	{ "1" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"timescale"
	    label	"Time Scale"
	    type	float
	    default	{ "1" }
	    range	{ 0 10 }
	    export	none
	}
    }

    group {
	name	"folder0_1"
	label	"Fields"

	parm {
	    name	"totalfield"
	    label	"Pre-Sharpen Total"
	    type	string
	    default	{ "temp_total" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"totalprimefield"
	    label	"Post-Sharpen Total"
	    type	string
	    default	{ "temp_totalprime" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"localmaxfield"
	    label	"Local Max"
	    type	string
	    default	{ "temp_localmax" }
	    range	{ 0 1 }
	    export	none
	}
    }

    group {
	name	"folder0_2"
	label	"Advanced"

	parm {
	    name	"opencl"
	    label	"Use OpenCL"
	    type	toggle
	    default	{ "0" }
	    range	{ 0 1 }
	    export	none
	}
    }

}
# Automatically generated script: Thursday October 17, 18:08 2013
\set noalias = 1
#
#  Creation script for gaslocalsharpen operator
#

if ( "$arg1" == "" ) then
    echo This script is intended as a creation script
    exit
endif

# Node $arg1 (Dop/gaslocalsharpen)
opexprlanguage -s hscript $arg1
opuserdata -n '___Version___' -v '' $arg1
PrefixDroppedParmName := 1;
ParmsFromVfl := 0;
UseDSParms := 1;
LockContents := 1;
ForbidOutsideParms := 1;
SaveSpareParms := 0;
CheckExternal := 1;
GzipContents := 1;
SaveCachedCode := 0;
MakeDefault := 1;
PrefixDroppedParmLabel := 1;
UnlockOnCreate := 0;
<?xml version="1.0" encoding="UTF-8"?>
<shelfDocument>
  <!-- This file contains definitions of shelves, toolbars, and tools.
 It should not be hand-edited when it is being used by the application.
 Note, that two definitions of the same element are not allowed in
 a single file. -->

  <tool name="$HDA_TABLE_$HDA_NAME" label="$HDA_LABEL" icon="$HDA_ICON">
    <toolMenuContext name="viewer">
      <contextNetType>DOP</contextNetType>
    </toolMenuContext>
    <toolMenuContext name="pop_viewer">
      <contextNetType>DOP</contextNetType>
    </toolMenuContext>
    <toolMenuContext name="network">
      <contextOpType>$HDA_TABLE/$HDA_NAME</contextOpType>
    </toolMenuContext>
    <toolSubmenu>Micro Solvers</toolSubmenu>
    <script scriptType="python"><![CDATA[import doptoolutils

doptoolutils.genericTool(kwargs, '$HDA_NAME')]]></script>
  </tool>
</shelfDocument>
      }[rȶ|G8?!>2	vб,K$u<<3ұ- n/s9=X;mvKYU}n`!( 2ʺhGs?mk?Y.uC,4[Ei_;16\>I3=9'O؛?zG{r2'a2~3'L+d.ky 8;a,26Rvbex>E:A|JəIh֤}:h4],.,}w?	ipӃׯX/|t@+4bgO2~	.躝P~$_dPcivv>ϝ,cD\?98o@dr).!?{R/>TW|ҏ?YGT=>ɤ8O/=f~4<9qFٷ4	Ay:OrԊ|!61K΋䚰? a./Bߧ̋_p@E*c׫jg/y/)Iq8	r/p/%Pm	c6Y/?|G7{>?r__!B'~p2
%ntz>y$F9n0>Bn0%0bttMIO<Ba~<(|g-Ag!ҋ~a0T':~"LqО?9Y ~y^~	;0HGu 5IzOַxP~liȱOO`2Ot#w%^4Ci@RoĴ;isțI}8	~o?CP$ t?b69zpf\,=ts/?ʓ+}}lpFW'<XM`"{qMc8p4y&~<q^תkjA2$'D\[LUL,AU>'+
Hg|Lh$qoxƷ. 8zs=^oK ,
Q0+VDLBsz	z=
.iwPnx^4;$mc3&>Ōg[02a4 iNQV&>De߄@N.˰ܫ0ZsR04(%A^hI^vBR*6
~kGyx:i0+McVl|6yn.9a0rf4><j%&gЈPtRfrTIj?UrI<#*BҀgMSʉSt3bZTrtTdS9g/Rך~r{$~oiJPD`^@`jg0}_CjAw_88| >BA|ެ }U!;e{¸B8>Z<dɗj/bO*_nV7EGT4#+0r(}Sm^Ѓ3OC<ۢhom*tdQt>OW9ukl^/8

pxa}D7_Mz?m'laFc&)cRg|pԝ?B~@uJ \3\ .K?1e49иu
覲'!jƕ
r#s`g(!ͭg(Dέg26Eй YwLfQ&B`
]XN
GuB4LNEWĤXMJ'YUOZ$=T Jנ<k%{(<
Hx<^p:-9	@Soّ߲##@ίDί~%?k@αZѬp浃-d$MvpڵӮ]vk']{9ͩE*N;Q"tVgGB0\YoE:h~.f68/w_<߻w'=0&hFemMfĝ/бxi<z3WPO~j4<
j,f\JQq\iu;,Qt8@;ㄧ^s2]'|IZU&8]O:ԏO;0o|H &Ηa05TL1Y	>߹yQw_=}ͳ0^~V9? Ð]|~ r`1®D+;]@{/H+:+	rtB2Ŋ8q7 x5L	J]w=xWcvەHhSmGhtPB܂F
W3e,p49AGuR1$!U=^{OozI;,͏ :W	yĳ~ͷTh55S2)%qP9S
\e2U2\1ƭ<w+y|jRaߚ;K{
+12naSVثK:z;|@6<*bQ0 ;U9%i<d2O/&[>Gڕȷf!<dg.>LJaebmkñc[O\"aPğB
G-1[-s<%1<:fnrtt~_,9ѯ'i 1_cԛK@]q"_ q
ojЀ%(ef@mND6Ff:Tҟ]i#in
n3B?]?{pa<|Ʉ9>%!D6ЌY:a:a}hjQ7$415<<<֋odUj^P7 ,qr.ؙ|
5,ƍud[CK!ghclǐsTۨ7@s lހZ֠)L;#݀j>ȎI+qemba}Z$T:"w\x0e[{IJօ{-awGl{9AHد,Ft;I\U1JisDwt&^Ƨn֍gd~S?8ŝIG@ѩ2
<')ѫtqD-'9O$M9Jt^tIH2	<W>f'I]g! nɩ=o]r)Rkmiz.SLO ^]nNRjkp%
ES$F]?|XOpg$Op1P9~IA/i>wO^vN`\XߤI)opÛ:Aif	Nu89f.v-ǖ7u439	vXhnr֝ [͒C#QEI@7Ǳ5¦3Dk;<-8NNH:7Q@< r&''Y69YTQJʗ!*Eх&]UZct2hj2@O$}şk跽={g9X\|6(2$	X4[M1@ pdGO>9F|yq^ϟ|9z챤{{h
A@/*Nek|
$9n2 Ix8AC&7񣷇o(4P@^e<(|,x (c_{2>e}FOA>HS<sP&,Szq2IDWpe]EZ3\#dtedFLnZCt6wElU\&U}5]U᫶mq+˩acdǶ9VG̛Φ^L7@?ѿF@=v|A~ˉV	`ؼM?6WV@HO¥NZ>:S[zU.a>tLa6J+cm+#.vJ$#kY6n_WrBmR$Q ,eJDQ0N,:.Cs띄g:^iBP(IXPPRB$#FsO@@+L3qn>$@Evo(ԏ1E""QYM9f,q5U#[4=C;ܗt0^$PjOJTISXϻ$'ټ9bMK-lhzᘄA?#{?>y8w/{KJC.Cs.Jn(QBL2+Ti`VjA$Y4AEBD(<;BƈdNNB<UK4ĜeawY] {D̟0g'^ ~	@;n͐͹2Kp:.ŖhZ&'np;/
+ 17pm6۶2ԥ\khM̀O}lM%mQ By\Y^>΋6nn3HYMsba)WuT'%/&
Uj_}^too9XcR'cY$CVokV4zcFzgW3osVhoA4!qNkchidFn4M{ shCra$qU'&G0|5QZñ&7r#w'g~,*WyS):*Ɖ@{ZwRIs=6#j9qǗsNdY,{6K`-_[+33Q<b+-6oq1İn.,Z.e6w䰍tcTծקJmm@bg+\N9%%;TU`XRѮ*ejx*p8׾ͶNNL(>_[l6ZM<o4& x=Ctt]-4`7|YH*Fq	qsWXQ/մfCk1v{To*k7Kqz?']ya]d;0-dJ#GN 1[-hZL.-tZ+6`Y7`ߦ$n@!Rm@=0Pjڞix}wٺPݾz&?p5CCfD@*6%3CX-pèz-6g`$/悒l *29 vOӆٗ1Ėm-ik|i3AN}݊*Uu)y7nnn.ӷoF7l%ly$
X*1,CZ5^b{pC -Yk&\jwlL0vz/-W*#trn;/Eط}^]1։b]E.b3zr:}[|]UJNȥ,ג;eZʲ5{"-Id5KΊx,Ԋy>,uiuc+-K_ݻdx1.\c	; r1I&wR+F<ְS[ظ/ȇa\!T^uagCWlH(ҍ"mFnq,a4"qwn('
څuܼlETEH3r>}^lf:E&􅫅HYGqԾ+ul7;*8>ήI̺\0yzl5g4Vo0{W݅mh:	vausO[k\0	tz;Nz{FϹg=iók?$`6u5݆c4XOÜ#`6As%s\	oˋdd.E
Ar$WNr@fVljBh@5aeۃ}6(kh2ko=&ﶇ#fջ^۾Af#$0ʙBѮ!Q1z_'@@$ڧc#%X6e| `;Jg>hh/7yK:nE"p:8c@ԱU^I});{ u5m׀|W^/&AWC`~w~w~o
] ޥ+^anz3b6Zñ1՗+M.dn|ZN/fK9ȵ`Y&/5.^jKv{pawcՄ|9\enrvi^|ջ;wK[,˨ݟ)U.u_!\1xn @p.ptٕ6˯^az^ѯt7N|gW][Nɉ~dK>
گfyUTy^s'DkEǞQu$i^4%B؆`#nhXu g7M{ՀWDUMu#þӥ6vhjM`TF$  TX(7K2"(#@2RrӲ߱wL50NyJx*tP<x~EɿWh7v8m ;z`~sAvw6CS&A}7QVoNY'~s"p# X7ٳz
|0ֽ$L;"ОdݦHPsۂEr)N[`E7l_x)Ѩo{ǻiWVtGr=o.UIVJM3d~y`Fp=`n9$KᒹmJg>	U>Au$Cx&''%7TfЧ!V *
9іq
BZ<)Ǉ^7I"HLMX.υHdx*XPqT?i!wِi\d7"
lxZ/PEK~|,FGJVR d-c$#wttC*A|X+?%o&q>YROJ9)4Ox"#[獔2n.fjnVg4f-F$dc:|#CC3CB)xiEZ HGoRe&-<QnG,&%RB(VL"uN =u+H[UϮ"#:[Wr	N6s-ncC\o3!q}8;iJ4A`y ]U4BXzGϻgdY	/aBxLֱ]4W>j4z&C{0vǑ_fj<amy}pk69mnp4m{0M=a*#TR/cґ=m٫NlGMn/psMCM}{ȝi|`6O.ld7V,̢Dac7GM
PL1ސS-%6ʼ?		.tLE]LRJڅ w,m}yJG)[Z\NW](%Q1Sq_WRӚIAkA,J*B
GvlaZ-Q zejdaaP%2Fr,:?3t_(=AG~=kؐ6m`s`úQޤ%Ö;0F8
 ?AwddNA4Ppc,;c9{:;{KF1&rћԔI2h1L/,FkڹBDZtn-.i6ņmW7Hm7oo7oo7oo7oo8dki|g5	j')A,Ff'De#c89f݁yہYN!WW"۫ammDgVWDȧNsTD'4I3yմNA<}hQ+jH.p^5a̒+X$pm,%TZ"U*9#U=0UdzvjVݺIMX;tJj&9UUnR5٩Z-]Sed4ZM[hpM.R	jحZZ,w-=uS*RMȴR&ӎKM4`SQrKdO(;Sv4I+~N8uin	:vmg)U,>xos|<(j]&h445R?oݜ_x0giQBn0$o̟S'yFNE|B}|;x;Ԋ$~ ri4͑Z)Y-nt4`x4]=bʍtqAiF{2ɋ"/YU<颠:yNczYP]%mTKԳW	E([K	D7s
$PPȷH/ʡ@ԴdZn!jBE/B H)*"{>
tuq4wWj [z[6N@zMnzܡt;sW&reյՍv{MqC?5y:KĢzɶE[}Ȼx?q7m rͶnl+#ܡ#meĚL&/5GU`i9wf煰n5jt0׷Yt
50~%| "W~7!z.IO:~!MeH-$<Yں(nwӬi\kh#a[[;f!^?x_Zc!d!ۍk7ӠaY\)ڠw r  p,=èpI&^1փwBKLRkGc$/cmd8%ְ%%:R.fMMV0_[HG|n#'eO#v?C/<$2q*Ozz%ޗ׾o|i0ʆ<" }Zzk}-zj} 1- #.HECc@ j~USA6}Q.#'ͤ7+)H)3@p0mv]=mhDʶ6"ۦ1b&$sN<ֆPI*񢼿]LT̽oWtnDsfB+Vqtށ*]{jس|=WQ]>RN.7HEk٠Ā[Q܅+F&lY]$ n .T7V4SoLU3VԻjު`s~IU?u~rƍ+YAn
wUP}Uջ)UA
z74qbz16/*wu	d}}{WofC}^~uIMJѮWF46t/W}68/w_<߻wgl,nR         nodeconntype       INDX              DialogScript      OQk   CreateScript    QR`_S   TypePropertiesOptions    OQk   Help      OQk   Tools.shelf    uOQk   Contents.gz  S  %R`_S   ExtraFileOptions  !x   OQk   InternalFileOptions  !|   R`_S# Dialog script for gascombustion automatically generated 06/14/12 17:02:35

{
    name	gascombustion
    script	gascombustion
    label	"Gas Combustion"


    help {
	""
    }

    inputlabel	1	"Input 0"
    inputlabel	2	"Input 1"
    inputlabel	3	"Input 2"
    inputlabel	4	"Input 3"

    parm {
	name	"enable_soot"
	label	"Enable Soot"
	type	toggle
	default	{ "1" }
	range	{ 0 1 }
	export	none
    }
    parm {
	name	"timescale"
	label	"Timescale"
	type	float
	default	{ "1" }
	range	{ 0 10 }
	export	none
	parmtag	{ "autoscope" "0000000000000000" }
    }
    group {
	name	"folder0"
	label	"Settings"

	parm {
	    name	"ignitiontemp"
	    label	"Ignition Temperature"
	    type	float
	    default	{ "0.1" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"burnrate"
	    label	"Burn Rate"
	    type	float
	    default	{ "0.9" }
	    range	{ 0! 1! }
	    export	none
	}
	parm {
	    name	"fuelinefficiency"
	    label	"Fuel Inefficiency"
	    type	float
	    default	{ "0" }
	    range	{ 0! 1! }
	    export	none
	}
	parm {
	    name	"heatoutput"
	    label	"Temperature Output"
	    type	float
	    default	{ "0.8" }
	    range	{ 0 10 }
	    export	none
	}
	parm {
	    name	"gasrelease"
	    label	"Gas Released"
	    type	float
	    default	{ "10" }
	    range	{ 0 10 }
	    export	none
	}
	parm {
	    name	"gas_heat_influence"
	    label	"Gas Heat Influence"
	    type	float
	    default	{ "1" }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"gas_burn_influence"
	    label	"Gas Burn Influence"
	    type	float
	    default	{ "1" }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"temp_heat_influence"
	    label	"Temp Heat Influence"
	    type	float
	    default	{ "1" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"temp_burn_influence"
	    label	"Temp Burn Influence"
	    type	float
	    default	{ "1" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"sootrate"
	    label	"Soot Rate"
	    type	float
	    default	{ "1" }
	    disablewhen	"{ enable_soot == 0 }"
	    range	{ 0 1 }
	    export	none
	}
    }

    group {
	name	"folder0_1"
	label	"Mappings"

	parm {
	    name	"temperature"
	    label	"Temperature Field"
	    type	string
	    default	{ "temperature" }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"fuel"
	    label	"Fuel Field"
	    type	string
	    default	{ "fuel" }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"soot"
	    label	"Soot Field"
	    type	string
	    default	{ "density" }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"divergence"
	    label	"Divergence Field"
	    type	string
	    default	{ "divergence" }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"burn"
	    label	"Burn Field"
	    type	string
	    default	{ "burn" }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"heat"
	    label	"Heat Field"
	    type	string
	    default	{ "heat" }
	    range	{ 0 1 }
	    export	none
	}
    }

    group {
	name	"folder0_2"
	label	"Advanced"

	parm {
	    name	"opencl"
	    label	"Use Open CL"
	    type	toggle
	    default	{ "0" }
	    range	{ 0 1 }
	    export	none
	}
    }

}
# Automatically generated script: Thursday October 17, 18:06 2013
\set noalias = 1
#
#  Creation script for gascombustion operator
#

if ( "$arg1" == "" ) then
    echo This script is intended as a creation script
    exit
endif

# Node $arg1 (Dop/gascombustion)
opexprlanguage -s hscript $arg1
opuserdata -n '___Version___' -v '' $arg1
PrefixDroppedParmName := 0;
ParmsFromVfl := 1;
UseDSParms := 1;
LockContents := 1;
ForbidOutsideParms := 1;
SaveSpareParms := 0;
CheckExternal := 1;
GzipContents := 1;
SaveCachedCode := 0;
MakeDefault := 1;
PrefixDroppedParmLabel := 0;
UnlockOnCreate := 0;
<?xml version="1.0" encoding="UTF-8"?>
<shelfDocument>
  <!-- This file contains definitions of shelves, toolbars, and tools.
 It should not be hand-edited when it is being used by the application.
 Note, that two definitions of the same element are not allowed in
 a single file. -->

  <tool name="$HDA_TABLE_$HDA_NAME" label="$HDA_LABEL" icon="DOP_gascombustion">
    <toolMenuContext name="viewer">
      <contextNetType>DOP</contextNetType>
    </toolMenuContext>
    <toolMenuContext name="pop_viewer">
      <contextNetType>DOP</contextNetType>
    </toolMenuContext>
    <toolMenuContext name="network">
      <contextOpType>$HDA_TABLE/$HDA_NAME</contextOpType>
    </toolMenuContext>
    <toolSubmenu>Micro Solvers</toolSubmenu>
    <script scriptType="python"><![CDATA[import doptoolutils

doptoolutils.genericTool(kwargs, '$HDA_NAME')]]></script>
  </tool>
</shelfDocument>
      ]mޢ_jw)N'z }Ci4_.rZɕkG;WRwI^;-p8p8$+eYz/E]7ma?K
#Vto_rd(+6nd^ԏB^_"Ky y+}KTϕm@2c_EcPGaHic:n`U{5Z[bvx)?Qnc~}{~%	 .4\ј7 e7 Vkѕz6Gx
T.MQ~Utu]Bs⇵^
_TuS8X7l p^_,ytρ_{*cOK|Gc%cQm w/ogUלbL^xnɮ+ c554dИ	
>b	7ۣ;ˇ7KrKz^BrBPmFtd:2WFqg!Γt:czF]V:T@mu<(_w/]Bhc, duR.Z $@3or*rKd\!:m)'VbB).JW4_ CzAb	]ŷ^ Uٶ
mX*J(%-܆
6&A
UbFUގt 3sڧJ)Wz{(	n<+%-feF]),"MVdE.9/W.,zDB@bƑ:kj1qr`.#!HZn+ (wI; ]{F1]-vA
JnpK+TޤVyz|ezah4OU8[/en5RJgNgB'_ꏳR
yf	R G1XmaL^Uo] .ඣe(@CD5@Dc4[iVj 0H Z 0bbf"ò_&n7F|⨢'7ܻwfZL=v-ˆDn/Q*}ž^e= \S2{h/psM{MC:4Im~a5pP$]ru&{>:
vN 񂠳^ZBr5ѾPq-[H]CsǺ!{ fxUaEMZd#'owG[g0it30FvMT|8w]d6uu${~Qѯ2 gVW< IƮawkO_w+qR,@qV\5]n>پʽrUfmZ2d<5 ojj#q<dJD'2٭O̝Hgi_Tx	呍(_*/L3?uD%teDkEKyH,QH#6-Bce5$J88 e5$J8[6h-W+]CAEs$,@nD$HJ!{d7aRKeR,rA>x3ոL~`гB'@ώH,"bc91l{	F'00-~?@Dz6`!zHzÆ	Bsa>;ogUMeIf9})@yJ2_kb6r=)3;}4s}VЯP-`BEgpZ䈵L q"gs- :{%rh:$)Y榆YaMNg\_ ͒MJ3;,9R_0 0X~\L<{as@yT!v#04%z}8 >`ٝpo$ZX@lhN*ʹ*[mi.Fu\pUhNpd6z/}0l lz-i	[+1f vRy0sAgR/QSIl]čpp#-XjItDsַAzJbwznsF{qi}̑h`&v{ݯ%=xR%FFfxz0z	^%F*3:\BIGZI5ZHslT-0.R(
BLƌN9deJe
 [ɠlo%1jCd:fJ{Ji#O[\`=nx!n'0QsLpjq
oG L+:I>ZV;Pi%ㄹ1E^Ұ2u.~ci8v1 ubeS<p|65S:=*//i2]4e>FcqarǔB"^1ppuk `}k["9tMH㯯h5N8]*SEUx{JⱰ=EUxֱB7!׶p|<PmoI#ܒpFLA dH0b&6HwBENQ0VICe߳0Sr$u$B8ĩ׷]`f>
fN?T@YFDhIغͿch!.̵BRq\N$drt@Ҏ%bM+Ӏz	gu1Y;⮷ҋ'E9!ޫ
54|*#ϕF<CP%R5~,a{k~Iei[M=_:T.floB,w5n2؆iob<9TP	LyTKt_ȩs&x&
〜4!~a35,cp`:Qۮ!ES޽N#!j^47DouJ>O*zsÄ(11tiQ" u^UE7oo*s)F":T_^a+ԁB$'\6xjfۈto9$Rl9rzfs-TˆNITx\E7̦)ԾmWW+$JK7}+yzldŕzIH<;3]p?Wzͭwgum$I
~~Ɂ]'9+ɉԋ3x'|ppV/rs6̞}r
۝1eKd074kags]2rN*bK˛$)7L`hn qt~Ŏcpw[P3?O8ZȎ.Q*F7HP$KJ2R*BXT8J:+F9Vpכiz} <@͟|W1/          nodeconntype       INDX              DialogScript      OQ   CreateScript    QR``   TypePropertiesOptions  %  OQ   Help   &    OQ   Tools.shelf   &  mOQ   Contents.gz  #  ;:R``   ExtraFileOptions  ^   OQ   InternalFileOptions  ^   R``# Dialog script for gasturbulence automatically generated 06/14/12 17:04:53

{
    name	gasturbulence
    script	gasturbulence
    label	"Gas Turbulence"


    help {
	""
    }

    inputlabel	1	"Input 1"
    inputlabel	2	"Input 2"
    inputlabel	3	"Input 3"
    inputlabel	4	"Input 4"

    parm {
	name	"vis_turbulence"
	label	"Visualize Turbulence"
	type	toggle
	default	{ "off" }
	range	{ 0 1 }
	export	none
	parmtag	{ "autoscope" "0000000000000000" }
    }
    parm {
	name	"timescale"
	label	"Time Scale"
	type	float
	default	{ "1" }
	range	{ 0 1 }
	export	none
	parmtag	{ "autoscope" "0000000000000000" }
	parmtag	{ "parmvop" "1" }
    }
    group {
	name	"settings"
	label	"Turbulence Settings"

	parm {
	    name	"turbulence_scale"
	    label	"Scale"
	    type	float
	    default	{ "0.15" }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	    parmtag	{ "parmvop" "1" }
	}
	parm {
	    name	"swirl_size"
	    label	"Swirl Size"
	    type	float
	    default	{ "0.65" }
	    range	{ 0 10 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"rough"
	    label	"Grain"
	    type	float
	    default	{ "0.5" }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	    parmtag	{ "parmvop" "1" }
	}
	parm {
	    name	"pulse_length"
	    label	"Pulse Length"
	    type	float
	    default	{ "0.5" }
	    range	{ 0 10 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"seed"
	    label	"Seed"
	    type	float
	    default	{ "2.4" }
	    range	{ 0 10 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"atten"
	    label	"Attenuation"
	    type	float
	    default	{ "1" }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	    parmtag	{ "parmvop" "1" }
	}
	parm {
	    name	"control_threshold"
	    label	"Influence Threshold"
	    type	float
	    default	{ "0.01" }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	    parmtag	{ "parmvop" "1" }
	}
	parm {
	    name	"turb"
	    label	"Turbulence"
	    type	integer
	    default	{ "2" }
	    range	{ 1 12 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	    parmtag	{ "parmvop" "1" }
	}
    }

    group {
	name	"settings_1"
	label	"Control Settings"

	parm {
	    name	"use_control_field"
	    label	"Use Control Field"
	    type	toggle
	    nolabel
	    joinnext
	    default	{ "off" }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	    parmtag	{ "parmvop" "1" }
	}
	parm {
	    name	"control_field"
	    label	"Control Field"
	    type	string
	    default	{ "density" }
	    disablewhen	"{ use_control_field == 0 }"
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"control_influence"
	    label	"Control Influence"
	    type	float
	    default	{ "0.5" }
	    disablewhen	"{ use_control_field == 0 }"
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	    parmtag	{ "parmvop" "1" }
	}
	parm {
	    name	"control_min"
	    label	"Control Min"
	    type	float
	    default	{ "0" }
	    disablewhen	"{ use_control_field == 0 }"
	    range	{ 0 10 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	    parmtag	{ "parmvop" "1" }
	}
	parm {
	    name	"control_max"
	    label	"Control Max"
	    type	float
	    default	{ "1" }
	    disablewhen	"{ use_control_field == 0 }"
	    range	{ 0 10 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	    parmtag	{ "parmvop" "1" }
	}
	parm {
	    name	"remap_control_field"
	    label	"Remap Control Field"
	    type	toggle
	    default	{ "off" }
	    disablewhen	"{ use_control_field == 0 }"
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	    parmtag	{ "parmvop" "1" }
	}
	parm {
	    name	"control_ramp"
	    label	"Control Field Ramp"
	    type	ramp_flt
	    default	{ "2" }
	    disablewhen	"{ use_control_field == 0 } { remap_control_field == 0 }"
	    range	{ 1! 10 }
	    export	none
	    parmtag	{ "rampvalues_var" "control_ramp_the_key_values" }
	    parmtag	{ "rampkeys_var" "control_ramp_the_key_positions" }
	    parmtag	{ "rampbasis_var" "control_ramp_the_basis_strings" }
	    parmtag	{ "autoscope" "0000000000000000" }
	    parmtag	{ "rampfloatdefault" "1pos ( 0 ) 1value ( 0 ) 1interp ( linear ) 2pos ( 1 ) 2value ( 1 ) 2interp ( linear )" }
	    parmtag	{ "rampshowcontrolsdefault" "0" }
	    parmtag	{ "parmvop" "1" }
	    parmtag	{ "rampbasisdefault" "linear" }
	}
    }

    group {
	name	"settings_2"
	label	"Visualization"

	parm {
	    name	"guideplane"
	    label	"Plane Orientation"
	    type	ordinal
	    default	{ "xy" }
	    disablewhen	"{ vis_turbulence == 0 }"
	    menu	{
		"xy"	"XY plane     "
		"yz"	"YZ plane"
		"zx"	"ZX plane"
	    }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"guidevistype"
	    label	"Visualization Type"
	    type	ordinal
	    default	{ "speed" }
	    disablewhen	"{ vis_turbulence == 0 }"
	    menu	{
		"none"	"None     "
		"distance"	"Distance"
		"speed"	"Speed"
		"origin"	"Origin"
		"dir"	"Direction     "
		"value"	"Value"
	    }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"guidevismode"
	    label	"Visualization Mode"
	    type	ordinal
	    default	{ "false" }
	    disablewhen	"{ vis_turbulence == 0 }"
	    menu	{
		"false"	"Infra-Red"
		"pink"	"White to Red"
		"mono"	"Grayscale"
		"blackbody"	"Black Body"
		"bipartite"	"Two-Tone"
	    }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"guidevisscale"
	    label	"Visualization Scale"
	    type	float
	    default	{ "1" }
	    disablewhen	"{ vis_turbulence == 0 }"
	    range	{ 0 10 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"guideplaneval"
	    label	"Plane Position"
	    type	float
	    default	{ "0" }
	    disablewhen	"{ vis_turbulence == 0 }"
	    range	{ -1! 1! }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"guidestreamerlen"
	    label	"Streamer Length"
	    type	float
	    default	{ "1" }
	    disablewhen	"{ vis_turbulence == 0 }"
	    range	{ 0 10 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"guidestreamerminspeed"
	    label	"Streamer Minimum Speed"
	    type	float
	    default	{ "0.001" }
	    disablewhen	"{ vis_turbulence == 0 }"
	    range	{ 0 10 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"guiderange"
	    label	"Visualization Range"
	    type	float
	    size	2
	    default	{ "0" "1" }
	    disablewhen	"{ vis_turbulence == 0 }"
	    range	{ 0 10 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
    }

    group {
	name	"settings_3"
	label	"Temporary Fields"

	parm {
	    name	"clear_temporary_fields"
	    label	"Clear Temporary Fields"
	    type	toggle
	    default	{ "1" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"forcevel"
	    label	"Force Velocity"
	    type	string
	    default	{ "forcevel_temp" }
	    range	{ 0 1 }
	    export	none
	}
    }

    group {
	name	"settings_4"
	label	"Bindings"

	parm {
	    name	"density_field"
	    label	"Density Field"
	    type	string
	    default	{ "density" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"velocity_field"
	    label	"Velocity Field"
	    type	string
	    default	{ "vel" }
	    range	{ 0 1 }
	    export	none
	}
    }

}
# Automatically generated script: Thursday October 17, 18:09 2013
\set noalias = 1
#
#  Creation script for gasturbulence operator
#

if ( "$arg1" == "" ) then
    echo This script is intended as a creation script
    exit
endif

# Node $arg1 (Dop/gasturbulence)
opexprlanguage -s hscript $arg1
opuserdata -n '___Version___' -v '' $arg1
PrefixDroppedParmName := 0;
ParmsFromVfl := 0;
UseDSParms := 1;
LockContents := 1;
ForbidOutsideParms := 0;
SaveSpareParms := 0;
CheckExternal := 1;
GzipContents := 1;
SaveCachedCode := 0;
MakeDefault := 1;
PrefixDroppedParmLabel := 0;
UnlockOnCreate := 0;
<?xml version="1.0" encoding="UTF-8"?>
<shelfDocument>
  <!-- This file contains definitions of shelves, toolbars, and tools.
 It should not be hand-edited when it is being used by the application.
 Note, that two definitions of the same element are not allowed in
 a single file. -->

  <tool name="$HDA_TABLE_$HDA_NAME" label="$HDA_LABEL" icon="$HDA_ICON">
    <toolMenuContext name="viewer">
      <contextNetType>DOP</contextNetType>
    </toolMenuContext>
    <toolMenuContext name="pop_viewer">
      <contextNetType>DOP</contextNetType>
    </toolMenuContext>
    <toolMenuContext name="network">
      <contextOpType>$HDA_TABLE/$HDA_NAME</contextOpType>
    </toolMenuContext>
    <toolSubmenu>Micro Solvers</toolSubmenu>
    <script scriptType="python"><![CDATA[import doptoolutils

doptoolutils.genericTool(kwargs, '$HDA_NAME')]]></script>
  </tool>
</shelfDocument>
      }˒#Ir⊤Ɍ',ۇe7:#Rٙef=MR34L(*jzl/:렣tAf<L72^tM'y<232ĳ
ُB!=#L~2}Af<"˲ \mx9	f`mz3_<V|q13ULt<HYqx5<'Id:_8z2_'/^΢s(:PhMEFIXR9l4ԕg6U8O4PU2Q΢4,/ӽǊ@D4/lUI@Mt_,J G^旋Yx+N'隖k./o$m=⓿m Ҟճ?曟/J"q6og [?
X[[YV!ܟsAkn~|4i[>_aϭ_|jjB?@wYZO/V/_@_/
7$xk2\I
XO$tD`^:OZ??`~bg),SgA|$0u` ZGW'  k7/J[y?-ǟfh11 m(`?,s}߅ϡ?Hs]~Xen`A|.d</[#(2݁>5-91?ɦb'e)G0N,SL?EFgò,}ߡ7:iGѧ,A ᛊx,SJف6'ZL;&89HO؁"Ǫ}XtԸﻰQ0o`V?RVU➂YB)Kl$
f7t(O/vʃ;Tm@6=;{Z?7hFJj4&D]SZ/e4&a&4i?A'6Kiv:wÚ׮B2h%ʊFfy8kwuKhC b쟴__dbaF˛׎័xķ𯚘5!ɸ!?$oIFa!ɟ'!K!!_C}1uȳx} ѥ?tDEy_QQ/j'ltU 4].AǠ*pT?~X$iF$E#4i9;v{Jf3,wʂ/:/g/^=3鋳?ϞaF'$4E2_$QHWƳ>5^eQcϗ lFB(?¸$h	#&8JGy
S] %w	E\FiAge7m%I8},M/@ܫeKot^X珌10k?`@~1g>)y]y<Iso٪QZW)iP=a2C0Ͽxٗ<y i4Y
#A.\/ Z4\](.D<i	f+@ϣ8\]R0mU2
vU\Zp	]R'"K+U V;ҿ+ƺА}Ehgc4}wUA5>demP槬/e0Bb($&_|Ec8̠i
qqqjN/KbW(vEWYyPWx$Wl~
f㺢CWCWb6+<+6u?sccZネީ}ˏ>L4*`wrHhdpHI<]]2Uͳ<+l}9Fp] "i&\QؼQ-%l`o(ímhJmT	jmT5jTQe<VU͑rʓydHUD<x49Tԙ1YY%I}W^'0Mj'AY+Vp4V"bMa\eĺ\eĚp(\m!Va("JvW'[G{vy:@Vd
YSl%B50_oGTƄr*(`̠QR |{@yL-AqRWcn9`w AvfleM7S x'bk$2K?Jb`'>(푷oee $L/2O	iȼ("`N{y  ʅB?6B6'IŸ[Il\v^yYL@:@>-iklŧ!dJa,9إU?G$e]bm(%ߨVHSC%HB*TDTy:˘ފ̤Y,ū%9N*&B_Y&Ke)Yԕ?/VNS4 N3$rpʲD;*JnQqbM+?&{6r{d|e@txyb5 	$08i+Pp<_V9|W	{)GF)."	
=kp{5Լ<*58dݚitb"DҌ{_䀟irFxsίxl1\+@LhS%pB'?0M%%~2*҉iP)jx0%h ] d9kd*HIwy r!J|Q4XG`b6\1FJ&88+`Tlœ[(N	g9t9a+".T
⊑mXWj+lb&3N88K`u`K3Y$b(J3W@tc7Cb+GnF):/(~:-997h$%^ՂT/}`l?Ăݱ^aS_`
mIwAiI\[Ai%U"><k?bGmq!B!]ڼ|6{!_]6}ɶ9om!i50?E)dMA~O50!f^%͢Dr^Bj]e02B:^cr¥KMN&]ބV9JdtYYdIn(='H]/.fa?O)Zo;۹l[6>ST5A:bhClnxVfNϰή|S%?H+uqZy~=pKjsd /JwRE}xS^9Xu!Š&h,۟Iw.(YuT&]@}̹P$0*@lp(u_!j'*Z;!9X!9&0jOoip8Ǉ߹tYr3c|-*!Ao&J<ݕh\͊$ّ0(;揃ۆoA$7<ZIf,V9tJ.Ķ_h~H2Ȩl'ra(A3s60Z,p|,F.͒wSQ;HIJ~˩*'BN)gƃR%0~bXq3X  d7aG͝6r-kdV}u Y?hQ9g\rE,}PKْ
S_xlДbu!4A%4rE0
ېxa#)Lad+FmEmXߪ5e:#Azj]W۾U֯͗^5U@81H!^o[l9EE.Zԋh٢:F)s,G0!
Y4A|Ӯ U@ԓng~5]5: :D2Cd\@15擉q	8#-CX?,e2/A},u;f)4  IÄ:.3OW1H15qh%!+)^Mbwʖ~4a96.MBx/HV"3K ʿ$(	q#ݷL >A#M>
,g$A/}dr0hI4}߇
 HG"'^?߁nd1`xI,/VEhLiz:iWx٨!4LpSUgM`~vʕi%L<:k&Q8_Dqr@ERMV,1B;t33v%y8ۄL4Fh|Gh}kPLѷ_a~*d>O67_|_Z^l[6ø1
xE"(IG8dBM30xRb$Ք*H27R5bj0R^.fٹL	մ2P^Z,$^LZ^^)V0}/+f(;dNCKHIx6q\`,+sCJ0;$f
P8,q(]?[@KM(~$p$i#ߞ,gA'yur! ,LOq٧8jacIطS8lyԈ'Eh5.qbɦ	wr~;zǩ
g˩d;)ZRJCJa5"_KX8e)v5`j<,Ad2¹ڕNsXWVa 7ZeW5$ߕEm~WtpJtnY
9#I#Э+Pbmn]ɮs8[bn^x3#AuccQ,;Ұ-U)ݧs~ͨeVge֊(Vl:VZRN>n8yn8`Z۞pD*H0y.fqI"፲fZ5cX\e.hk['qwŠq]Z7*\`,iEd"$2H9tXz;:e$hzKtpf~f.E+N1tkqvp|q&~ j5&?,q@Y_.95GL:+פt$KI21P b2P	)ڍ*tTUu"pEvc,c6C\+FO+;a2?4xc|wc&
6ǥ
A-n»`P87^V|*d :nmQrj;^:-9!i˻Iz4nQ4pfJn4pdnc@8	vedX&Ŀ{|g._FӇ_w+VJ%=:I(e+[ţ@O;௮!:-n3a2gX9úۜa9jKͨҦj1Xp9GeiiZ6]BApV[B5iYw 0Fb5K!j;.JfC||TLLw{DCt~|EdFj1@~nG3p\_$keڿ*-K|̑UG{KZ
ORks~h=o}k+ޑHUTްrn	ʮ]Z 6J\ѻ:W;hem|.4m;XJ^ޤleI hU69; ɐ~5o;i<Ӵճ?}3qH8#)_=}wY9ȮlgI`~ X dG !K
1~R _Eo`jU EږC|&t$*rˎ h'^&vaxxx'W) \J"
pEښ"e)"iy4nt#O~+M*[6%cYQf)+.ϔI3O2;Ka<⡭
3eUPU2eEN]J+AA3=5I$+<ѯ@q\x(ic$kismE.*٣.b̲ӶzIY&^dM~{bLж(؏8ൂSu%ErN!@YFZFG_+Lm(j1%DK\LdA! k=DZt$CEU&0#\ʎٵ6W\Iʸ[DqjX3=tvb:Z{.CЂ/f`VS,A,svFTaB}7c;0F QߍeQz.qpW1	8Hn4H G -\Wlݤ]N\<#hFw{rO jm`7Smd6	u+>1y;'zqH6;6U}TGdNN˂6W[@I^nDJa	y>	 ϶̻4i7Fdoh1DlHMhW1	8,U5Y}Z5ꟲ*2KGGqnwr`-!W-v'x<
g%i{jnU2T"2asDZֿtu)g-6\>\gQfx~3̌
Pb	ė7g{}eW+cCZFȜ&i9HI-H ꓦHVy.#ϲ,<rOZ%q4HCfg
B'L|BtYP"HpR:/D]q !=S'O8a"9"F/*{|vZGnFHA_Ix  vaGW2	fr >_hk&<7;=ǍAШ:o^08G2ꨋaRLA#On*~Ö`|G:2d#Ű2"('XU9Z[IM.)Mf	9ZdyK'%L
|Pދg{M\t)%7 Cѝz8*26G1̊>3P~kXLAor(BK[
i̯`tO#,4aK	ds/%BԹ#e3^O6T|xoXWnG3(S߳gkIkAcrCȭ߫	#/:>`{ƃfn/}մQ~Q~6_kr'5_X@DT 5wHxG=eY)HF%Fev϶}JE;:F>OG\<uD6VΛGaTvU(dтqŗ=ϺogZ܌s%Ά8uHކEQG	uJIԃ&C=;22JL=*Q{};|B6ڌ/:fTOovn7kou`n-=[ Թ5$Pk5wVo`=Ws{Qvyus7NՃ2w\A7f|KXbұn+GJ=mM``{z^6"ޠ|gu\u'2p*?fޮ2642Adw`gCɢfcl웍}6=og9>$&)yʝM2ܞ~%>7Fl&teu?w,8vlw XvP99͸ь͸ь5c.pzmʫc!ho8?Mg1ۆ/|yk[Ψ6<JeJ8$EЉa,6LY?WW	28BSOЇcqYFRي:wӓ*H`B8.Uru\/gZofAfyRq10$~>ldQXýR._Q*4xsajGt>ѡQ߭ONJ:=HqId+U¹Ntlah2!kqh>p=ƭmm134f23 iݘ.S7(P;'/GEkHU)v3kX9jVKjt'&1s 2-򋬎FO/zr6Jr$7Jr$_I,֢jI=YE^q5)(U)nQ[@I&}<WLNה\_TvP雖Ր?Urv>lђFKnFK>}-yEd-pI8[B*gvpۑqWm!#~Yg:LwՏ_M=?	nF9nY(Ǎr|W,zz<x?(\wP%TbB}<~׵m !tTb.vv }xzXe
o
}c1xڀ7FEnT~ܨȧ"QGӏK!Y(U<r	Ui2}{ݛ?x,(n<[|wf*Kؖᒛѕ٥'6Qf翕KlӾ\Lb(d#nVH{ߊDVa4q](y֠)0ASa4WhM|"5h<6Р)pVdD-h8XEIu̢$:vQeDè2	eTQ4LcU&A1*x2	sTQ+d4c8GIu$:QeD2	sTQ9LU&:QeD2	sTQ@i8q* 8GIu$:QeD2	sTdq* 8GIu$:QeDrG9LU&Aq* 8GIu$sTQ9LU&Aq* 8GIs\2	sTQ9LU&u$:QeD2	sTQ9ϗ7ϊV2y$[F3}&jD#<kbծeo5ۄdnnJ61mzB1bYd*P4lyIdL$䃙}s#&GҴo7PGF.ŹXoS*:ܩÛw;cs6\t@kq4R)xAS&ϗr}>B:^#[iiH]d4\!	cToP:\^DKLH|6;I-Adt;`'
P ./k<Y}Vˠ8A*NFdK#VbJ #"mq2EE x} MX^1z-#jkfqF S^D"aAlTl=0%ߡ	x=%^a|?@VT\$fЩl8Lzֆ}1y+sMr[& z4^uY  ٳ^QDBȪwLNö_ěֻ8It
X*oBHoY|(gcX,D{ǌ,'oXV`r771glʹcᇑD
ݥ1sg
:Jj<VlGY꾟(<[Цܒ9={CuӻӅ~d,ۓ^6lKū`V9tzeuA?=2	[n3c r L_G,s7)G~BҫAnw1[i'RCG֑=<"@6@ަ0H30`{;ܝܝj߫SܞKEޣ/Fأԃڈ6
,ucﺉ&ʙ))gTg,
`'<tk׽wuT'`:r b[zXZ6ĩ;NHK¥LfDV<kUu
0ݼ@bYfd.k2V:ɕoX9n?ٶ<˩7nzwD'ivvЖɾ.p%Bov;FDֺV1ힸܪ  mvx~nSls)|cv[\SWwsM|SEsCwC\S#655ubsM]\S 655ubsM]\S 655ubsM}.|+kUzrrz==Knݪ0gY/n|a]Šwº㉧1+0p7.[isAJoHp 2XQ"xC>R>Mrs,QUl ^˒Qmh<5>jLy-<55d4̍'yJCVxi=^lBT߷?!c&T{{2d<6{CFsa\R'sa:&
g]U]gX$Ca0g3GFGt+'cW(f6N%ƾANm'&M!΢#؎˳Yk9ΓUKA&J4]UV=e[)|>n.`u|z9XӝA9b:Al\5q 6uPظjAb:Al\5J:v+n ʍB\
Q`BA!\e%3{XAQ"yFcNU nG(CZ>ױܒhK!س *㡧	*Yfb5>}
Z'Je	yFc^%b㴍P5@bab˶c+hoc˅*2 .J.yFia
60Hr@z`b$%Mcf-/-|鄝,Jk$Q&Q c<F=5!<Y_q#X~~s'MFh떗ENp9>Z.)|aUfU8y4v*_0-s!!S>/&+ e=yv26 \A3VVFѳ
j"2*e0*dXBZ
u2uT U*EdTBƙk0H]A9Jb(-\
rV;y$@TASHNyZ;Q$%맊E!P~hJ(Y;a$%만orQɲsG9m,gqˢE)'Vm<`guuo=)4%t/WD
WD}ڞm[(9(7^=b,i޶in*Ǿj+2mNlnz=ޅн(Q|t%{@9j%e<m=;bwPƶ#ii@ߋyH;aGа+h؍h؍/a?'ְ5lL2*s-hvoދl Dv	5|Lo?yh=ѻѻQVz{07U./xJ͎+ox}h6Qkߤ)g,K=+uYʷ#9u;ZVfnSt^ᐨ6$})s8W턈sՎ8WGb C(q$zdEɐmZluˎ'XZv.}/[.,]A %+~va-6'~-t,͢QKh%eݔ7Y\U.voGcbǫ좦m96b 4nq<E<~ysm{
Ny0$9BXLJi`}ˆg-F7]^h	+dD# &kKc){n+1FX bF'6=]*	Mp}`zO/-,+tݶziG)j,"B_aVd?O4D?q 	^>TgRè	T$:I=kN.hSn{};BU&ndKصr:lT,g+M0c\pۄhFwlk#2ԗwr@;/f|!*M,S?SXjc`'q+DVz۾kg߶om52-aͷ`&z:fx(:gbQd6ZPsZPckLbILކ3!6!V` JZ$	ہQKe'X.ø:N['Y<yoRhf=W2ql= sqBX~ֱ7g}q$pa,ybsFo>wu,F'߭Nn gr2w~us5.ëb6?fSI:gx i6Q!н)px~3\F!l`	,78%t{!Nu2t5Dn1˷a2ǃD"pCWǎpHɭAZ~36wRc{m;L.=[CrlTT֎;/VwZs:3v0!UFI-F<:K".|A^q<`.sr l+.(+gkH '`ոU'HFp-#!=CPUu\r]U$̂hwzS,ԖW2ȌMn84}<A+U@̀YNlZd,Y!lF{^Y=)2
	=>|A?wֵIfn~6 _qFض$P`2!Gn%"kdHlMI8#EH~z ~g{['!t=YB"Jk]"a59}6p({门;	L\"eUz!PK(]-atdXڇE C:|ǣK>0;A /v
)s K7in$0E+ҡ(ZPB:b,jQu҂XbˑP&!"(Pb%r&B(,T 8[b=HK(Ã8[dR~!=x6ioWgحQ:Ӝl.oY, ĸ0H"iG+RyQtr/
	Y5Yw=vh?5Qq$kbHtS_ƲlJNZS.d2ukAL1P0@\Idqy-I4I"rʕ=s_@\I@@\IJ(_Rq!L=Zx_&&Llm\΢THb+ReV\I!%B@TIZ=׀#ųoaVä2E&5T:äY\5
8;@VZ׍
,nT0\L!IZXXҁBkH,() #𵤘euz?'~j>YCHڨ3Z©Nra;KjKz2Mb|(ooV+NwS&߮z_HSgHRkt[~}O}˟qgZnMv:_gdmδn  {;o(k=4{pp=@9M tJǧU@oA~UurvX}+֝S#G7&`}?[9پft~.7/V02w)D)uWN:!R(PWԻ2hmUk#zaeݥVQ.B{h+ć;qM)Ru5N0eH6௬u&
yuD߽s$#LK=enkii\Rʔ~&Br@B\elخKە<@D*F,D@II8LT^:k#ɞCkGKrd dydTo , _qzCۤX/X*E_[.ZOV%
,\AlPgVn
6(r,<iD0IVVD:{S2na6y˝:J!4G3y[2E*z~u>v\e77@]@Pb!d(})NP|Frf"":=ut>aϙA~' ҿd'0a]LT2G|O=زVӗ8Wi[q&É2dU 0ݡ9Ӑ=[ "Mcm纸J3JT4Ꙟ;,2e:W^mq)YUUL`LWw ,j.	4룭V~oU<H\4,BBG";
Ҙ!JvƮmZ'|*0_}gg^Sf         nodeconntype       INDX           	   DialogScript      #R`   CreateScript  #  R   TypePropertiesOptions  %Q  R`   Help  &R    R`   Tools.shelf  &R  mR`   Contents.gz  )  R   InternalFileOptions     R   PythonModule    	yR`   ExtraFileOptions  Z   R`# Dialog script for sourcevolume automatically generated 10/17/13 11:48:34

{
    name	sourcevolume
    script	fluidsource
    label	"Source Volume"


    help {
	""
    }

    inputlabel	1	Pre-Solve
    inputlabel	2	"Input 2"
    inputlabel	3	"Input 3"
    inputlabel	4	"Input 4"

    parm {
	name	"initialize"
	label	"Initialize"
	type	ordinal
	default	{ "0" }
	menu	{
	    "sourcing"	"Source Smoke"
	    "sourcefluid"	"Source Fluid"
	    "sink"	"Sink"
	    "collision"	"Collision"
	    "pump"	"Pump"
	    "expand"	"Expand"
	    "sourcefuel"	"Source Fuel"
	    "sourceflip"	"Source FLIP"
	    "sinkfluid"	"Sink Fluid"
	    "sinkflip"	"Sink FLIP"
	    "sourceoceanlayer"	"Source Ocean Layer"
	}
	range	{ 0 1 }
	export	none
	parmtag	{ "script_callback" "hou.node(\".\").hdaModule().set()" }
	parmtag	{ "script_callback_language" "python" }
    }
    parm {
	name	"source_path"
	label	"Volume Path"
	type	oppath
	default	{ "" }
	range	{ 0 1 }
	export	none
	parmtag	{ "autoscope" "0000000000000000" }
	parmtag	{ "opfilter" "!!SOP!!" }
	parmtag	{ "oprelative" "." }
    }
    parm {
	name	"activation"
	label	"Activation"
	type	float
	default	{ "1" }
	range	{ 0 1 }
	export	none
    }
    parm {
	name	"scale_source"
	label	"Scale Source Volume"
	type	float
	default	{ "1" }
	range	{ 0 10 }
	export	none
    }
    parm {
	name	"scale_temperature"
	label	"Scale Temperature"
	type	float
	default	{ "1" }
	range	{ 0 10 }
	export	none
    }
    parm {
	name	"scale_velocity"
	label	"Scale Velocity"
	type	float
	default	{ "1" }
	range	{ 0 10 }
	export	none
    }
    parm {
	name	"use_object_transform"
	label	"Use Object Transform"
	type	toggle
	default	{ "1" }
	range	{ 0 1 }
	export	none
    }
    group {
	name	"operation"
	label	"Volume Operation"

	parm {
	    name	"source_merge"
	    label	"Source Volume"
	    type	ordinal
	    joinnext
	    default	{ "add" }
	    menu	{
		"copy"	"Copy"
		"add"	"Add"
		"sub"	"Clamp Sub    "
		"mul"	"Multiply"
		"div"	"Divide"
		"max"	"Maximum"
		"min"	"Minimum"
		"average"	"Average             "
		"none"	"None"
	    }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"normalizesource"
	    label	"Normalize"
	    type	toggle
	    default	{ "1" }
	    disablewhen	"{ source_merge == none }"
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"temperature_merge"
	    label	"Temperature"
	    type	ordinal
	    joinnext
	    default	{ "add" }
	    menu	{
		"copy"	"Copy"
		"add"	"Add"
		"sub"	"Subtract"
		"mul"	"Multiply"
		"div"	"Divide"
		"max"	"Maximum"
		"min"	"Minimum"
		"average"	"Average             "
		"none"	"None"
	    }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"normalizetemp"
	    label	"Normalize"
	    type	toggle
	    default	{ "1" }
	    disablewhen	"{ temperature_merge == none }"
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"velocity_merge"
	    label	"Velocity"
	    type	ordinal
	    joinnext
	    default	{ "weighted_average" }
	    menu	{
		"copy"	"Copy"
		"add"	"Add"
		"sub"	"Subtract"
		"mul"	"Multiply"
		"div"	"Divide"
		"max"	"Maximum"
		"min"	"Minimum"
		"blended_average"	"Blended Average "
		"none"	"None"
	    }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"normalizevel"
	    label	"Normalize"
	    type	toggle
	    default	{ "1" }
	    disablewhen	"{ velocity_merge == none }"
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"tspeed"
	    label	"Target Speed"
	    type	float
	    default	{ "2" }
	    disablewhen	"{ velocity_merge != blended_average }"
	    range	{ 0 10 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	    parmtag	{ "parmvop" "1" }
	}
	parm {
	    name	"iscale"
	    label	"Target Influence"
	    type	float
	    default	{ "0.5" }
	    disablewhen	"{ velocity_merge != blended_average }"
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	    parmtag	{ "parmvop" "1" }
	}
	parm {
	    name	"maccel"
	    label	"Max Acceleration"
	    type	float
	    default	{ "1" }
	    disablewhen	"{ velocity_merge != blended_average }"
	    range	{ 0 10 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	    parmtag	{ "parmvop" "1" }
	}
    }

    group {
	name	"operation_1"
	label	"Particle Operation"

	parm {
	    name	"sourceparticles"
	    label	"Source Particles"
	    type	toggle
	    default	{ "0" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"ptgroup"
	    label	"Source Group"
	    type	string
	    default	{ "particles" }
	    disablewhen	"{ sourceparticles == 0 }"
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"particlefluidobjectname"
	    label	"Particle Fluid Object"
	    type	oppath
	    default	{ "" }
	    disablewhen	"{ sourceparticles == 0 }"
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "opfilter" "!!DOP!!" }
	    parmtag	{ "oprelative" "." }
	}
	parm {
	    name	"offsetscale"
	    label	"Time Offset Scale"
	    type	float
	    default	{ "1" }
	    disablewhen	"{ sourceparticles == 0 }"
	    range	{ 0 10 }
	    export	none
	}
	parm {
	    name	"offsetseed"
	    label	"Time Offset Seed"
	    type	float
	    default	{ "0" }
	    disablewhen	"{ sourceparticles == 0 }"
	    range	{ 0 10 }
	    export	none
	}
	parm {
	    name	"dolife"
	    label	"Life Expectancy"
	    type	toggle
	    nolabel
	    joinnext
	    default	{ "0" }
	    disablewhen	"{ sourceparticles == 0 }"
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"life"
	    label	"Life Expectancy"
	    type	float
	    default	{ "100" }
	    disablewhen	"{ sourceparticles == 0 } { dolife == 0 }"
	    range	{ 0 100 }
	    export	none
	}
	parm {
	    name	"lifevar"
	    label	"Life Variance"
	    type	float
	    default	{ "0" }
	    disablewhen	"{ sourceparticles == 0 } { dolife == 0 }"
	    range	{ 0 5 }
	    export	none
	}
	parm {
	    name	"killinside"
	    label	"Kill Inside"
	    type	toggle
	    nolabel
	    joinnext
	    default	{ "0" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"killinsidesource"
	    label	"Kill Inside"
	    type	string
	    default	{ "" }
	    disablewhen	"{ killinside == 0 }"
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"streamname"
	    label	"Stream Name"
	    type	string
	    default	{ "$OS" }
	    disablewhen	"{ sourceparticles == 0 }"
	    range	{ 0 1 }
	    export	none
	}
    }

    group {
	name	"operation_2"
	label	"Masks"

	parm {
	    name	"masklabel"
	    label	"Volume"
	    type	label
	    nolabel
	    default	{ "DOP Field To Use As Mask" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"source_mask"
	    label	"Source Volume"
	    type	string
	    joinnext
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"source_abs"
	    label	"Absolute"
	    type	toggle
	    default	{ "0" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"temperature_mask"
	    label	"Temperature Volume"
	    type	string
	    joinnext
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"temp_abs"
	    label	"Absolute"
	    type	toggle
	    default	{ "0" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"vel_mask"
	    label	"Velocity Volume"
	    type	string
	    joinnext
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"vel_abs"
	    label	"Absolute"
	    type	toggle
	    default	{ "0" }
	    range	{ 0 1 }
	    export	none
	}
    }

    group {
	name	"operation_3"
	label	"SOP To DOP Bindings"

	parm {
	    name	"source_name"
	    label	"Source Volume"
	    type	string
	    joinnext
	    default	{ "density" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"vol_sourcedest"
	    label	"Add To Field"
	    type	string
	    default	{ "density" }
	    menureplace	{
		"density"	"density"
		"fuel"	"fuel"
	    }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"temp_name"
	    label	"Temperature Volume"
	    type	string
	    joinnext
	    default	{ "temperature" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"vol_tempdest"
	    label	"Add To Field"
	    type	string
	    default	{ "temperature" }
	    menureplace	{
		"temperature"	"temperature"
	    }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"vel_name"
	    label	"Velocity Volume"
	    type	string
	    joinnext
	    default	{ "vel" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"vol_veldest"
	    label	"Add To Field"
	    type	string
	    default	{ "vel" }
	    menureplace	{
		"vel"	"vel"
	    }
	    range	{ 0 1 }
	    export	none
	}
    }

    group {
	name	"operation_4"
	label	"Instancing"

	parm {
	    name	"instancing"
	    label	"Instancing"
	    type	ordinal
	    default	{ "0" }
	    menu	{
		"auto"	"Auto Detect"
		"off"	"Off"
		"on"	"On"
	    }
	    range	{ 0 1 }
	    export	none
	}
    }

    group {
	name	"operation_5"
	label	"Clear"

	parm {
	    name	"fields_to_clear"
	    label	"Fields To Clear"
	    type	string
	    default	{ "tempvel source sourcelength" }
	    range	{ 0 1 }
	    export	none
	}
    }

}
# Automatically generated script: Wednesday November 20, 10:27 2013
\set noalias = 1
#
#  Creation script for sourcevolume operator
#

if ( "$arg1" == "" ) then
    echo This script is intended as a creation script
    exit
endif

# Node $arg1 (Dop/sourcevolume)
opexprlanguage -s hscript $arg1
opuserdata -n '___Version___' -v '' $arg1
opuserdata -n '___toolcount___' -v '3' $arg1
opuserdata -n '___toolid___' -v 'dynamics_burnsource' $arg1
SaveSpareParms := 0;
CheckExternal := 1;
GzipContents := 1;
UnlockOnCreate := 0;
SaveCachedCode := 0;
LockContents := 1;
MakeDefault := 1;
UseDSParms := 1;
ForbidOutsideParms := 0;
PrefixDroppedParmLabel := 0;
PrefixDroppedParmName := 0;
ParmsFromVfl := 0;
<?xml version="1.0" encoding="UTF-8"?>
<shelfDocument>
  <!-- This file contains definitions of shelves, toolbars, and tools.
 It should not be hand-edited when it is being used by the application.
 Note, that two definitions of the same element are not allowed in
 a single file. -->

  <tool name="$HDA_TABLE_$HDA_NAME" label="$HDA_LABEL" icon="$HDA_ICON">
    <toolMenuContext name="viewer">
      <contextNetType>DOP</contextNetType>
    </toolMenuContext>
    <toolMenuContext name="pop_viewer">
      <contextNetType>DOP</contextNetType>
    </toolMenuContext>
    <toolMenuContext name="network">
      <contextOpType>$HDA_TABLE/$HDA_NAME</contextOpType>
    </toolMenuContext>
    <toolSubmenu>Relationships</toolSubmenu>
    <script scriptType="python"><![CDATA[import doptoolutils

doptoolutils.genericTool(kwargs, '$HDA_NAME')]]></script>
  </tool>
</shelfDocument>
      M$G =ӑ`5D/S],{jĮfȎfdDtxDV&[t XwA@':
 tt @=>3"#3sg{>?:CA6]"\ ~G~섎{?fG_MO`2֓ϟ'`=Ɇ>,8%Y}2eO^got:O=t,gI|4ohZ`ƋhAwyjb'Wz|4(_/7u|w{6J+x<`Կnt0dJ'Ӌ䬿*|%DyD5`r5%Wxc+B unx(CE2JMmuL5aG\aDԆsvgG_|wG=7Ϟ}G?~X߸̱[X h£O~_ut_-xGGGy[XGG7::WяG:8:z
Zr=:GG/^Q??sg?KcrdM@1=_'yyT!_׏pr,?{>'z;ȯ/`ā?)S<;`%]iבp:_.Ft:DK:Ou釔~g 7\sr3rw1[%G?~>sii'z5w,?f+_Oi'⚥w/s~-~<y2+v&k7AQa~4
OF\	n;,5i%[ګ(e0+DU䦸\[ /2Md!2,D1!aG/@ t*`͟>ܛ~\?o-?E~Qhؓ gUÊPܹl #(]YjJZ(I4?<&TcC뗯^?o=׿K>=z{fV69>7ɼoe>ߤzv~?}>[ZqdYb`$ǸovA{lMf0I@1t:rna5MfWiq cZg%腡:\^M 7Y̭_'&rO<þeYg!'QP1PgČ.y/_ϒx\L wC<@i %=Oż`N9n}-
s Ȉ2bܟ/f	#[IQDpw C+TПH|M 5 _/
)@O
dvUDL]<Ht
9bSSL#LO"nt-t-L-4&bȧl:QoHe(wr{ܙNN~tб@ng8|q3iYXUdVdrci~~
_uIsEw D<VAlH9U(bCZGLK)Qg~L٠?TE;-Ö6mZ!Ќn7ܓvm7' ϲ9۽q_\|s՛xy>Mv~
R ??j~̠%fk|Ѫd7 Fd
 o_g{｣Z9`,r_'@4)ѭuY8eOlZ}!_mՊt
=-dhJ8Y]QXx-79	U\T<7m*ŧ]lw?Mǃ(f%oԼ)o|EK9,E:%pn}l<b;A`c}t=5e	DX"$xf8:W,[Slxd؝De>|ʆ-=܋uBGΙzO7Ꭓy>.LQNy}}oOٹ7,=ޜ<$Ka.a^M__:fڽtw7~?tw7~07^5\)&L>8!uUm6B|KPP1@T#p=^D_z Sh|oaJB䦗  u1o`Zu/:.ܟtPt/&_(oL4)PxG0LbebUݫl>i"	bdigqp]`rbӢa
݋	,g7(k>WL0z]+-3 [K&Zmu/$Ć0A

Xqbؒcd 2ô/Wa ôls'oZSaVl0.mQLM1L1d-Fi29;'34|ivi2|>Ӫ|f>h2|b^fh25X64dW-i20|nZ`rQUK6b&LKwZfdk2 ݖdr |nɖi0|>dec4X>H1ّM+v˷>}1hqSc~T >Oz=ˀ|闯9螀 gtq^},ŒNH-ZxY;(j=\\ٺ0Z_0=Y݋59&dX),%ES{xV)[k9]KHn}l.HuI7jAX`T=|ThAުeTdd[U:;0`6sO tt\qkqV?
6@U^h9p:(*@"cSɌ/~ϟ|3q>dA(dC1_[9oY''_tWdcP!CGiÕzbˠv2 A. Rk=E~[_cQHQ:_jq L#\%],.5a=c%\pg񼢹)ٗqw½EIVZUԮdU-+y'Ye*JV2U6"(=$},Oj}nt+ǆC!c㚏՘H|$Ǜ6opq
M7Џ`q<O@<byPOE<4H:Aw/EWhM_[^4}{VY#;1K#/^W;G,gOк&OPr?rl[zJO),RLq]*qoo	[W+_%h%?ߑ $엢}2K/E(n%?mߑ>~?M "U/ۥ?l>KS")>a+>ŃϩJ3ѽ/nTZh%џS/IMz6(cH6P(NOOϒ>a1}l߫ze.cj^Ԛ&܅5/Jי]A\-&c}U'\ˏ-uA
Ё:]#Y'mM+=pjT?Ѐ"I"2
E`" s-3 rrl,49Ot١:fݣ/?/?B4[ޟw[yZ&Gvp]sAS)j=AKӚw:~3TGݭb㮸ВŮ+ʛj:x~;7WUlǠpUSl+;zBGzCi

c#dSS@Cί`QF7.Cm$x~QUA"}z]A[k)K=jC.)j?AYPӥjCMW|JU%/P}J?CePڇz*z4{(_~oʓ>R=,0w+}@=5V\a1ӓUb}.o<[ʲvl,˳
<(+=Xc[.VDE^*rp/$
*̰qޝWӼk'CH{eQW7:9k`*Mut?(=O:_jS"|z!5aPqCB}hZsqFqkT1zxqs`e4)+
yz 7d6OntP M6՚S-S%H;ptȠ#,~Z@Y2f:He:!"2srXw ;91:+p^	/Kי]5a[z1$+Hh䷓._gߑ"*0NGP¸)jB%=
/rB̟ޡTu]r{5ĠlD,>R7s#,R=}z>Pv̦Mؕ6e}ؕ,îdiv(lV_n!1S|dX<7#Z&uEtΏ}pؗr:2pF-{mg@ p4\r_#NYu,0p}O( X	y:Q"L-PQaܺOj:%|9Lbf{pv;g1|!ϭri^|ɰ?/[g%7S-NǔUf/`; K/K0[h[ \X Eنi8dȍ8"fXrϟMnM&Xm;CޞҔLx!ؽ3+1gbʜuIĭM3a2,dDx q'Q:?ΝӳlLi6,sO3>X6aW׭ʂ!x(!/rzcq(lw=7p؅zcxy/>}_O?{wα'pGBɻ)tz$Nqd4	eÌ·縮gf~:\;h+.r(Fpl'3$v8\$ Γ`[|ai=V*= J0ya@J\҅76SX{bϨ\΂{[2;1|yC㏰Д]x3µE*ӊXDugEWz[Ǚg$gy۟].&yΝ✒Gd<H ]}@6XKbMR=œYNw)ޚf.M2_{\vr鬟F@G鴏ӿ: xtt?[dJ
ۥd!I@>NaEk<EE~0_dꗉog aHg:?{aӯ];f%sF8`)p4KM/BUWN	#x	yKO?-q1NHVMFvZ^+NpMo8NӄEGQKo0PN@<XP%8Θ:qa6і>~5$vhǣKaXI>E)~hd~s{h{98x{5)d\8ş`cՁ	/{BrwtnۯԷd5'+cn ]'Ƙ\oko\
NAr|D8Yhmы5JA|A9|l9vhe߳䂜>hk`
/>Y//?=}}$×7W%)^:zXUpF/H/>J'lb
&N2v"'4a]#y|Jx,X;_[vfֿ|бcj4vndt!r|P>]31+Fx^~=X'3w4m |ۿN&ӷ_<uK^~\!_߼n~CԮƊt3	!0+zu9Wf" 8(lƸ+ ^:F e%\i|C,ARC l<@`O x8Fr4PtIbvSpE!Zd辡&op@~,	 
!&)+-rq)/\6PӠN7{oШ6u$RFQUDx*"FDɔSgl-Һ.V2bT>f?An9noq2{L=)ַ5ev"sz(׳F.oߝ wdO)FW0]\	]x*.`NlI0F f#?[$7(&*:70΂v! \ A͍ aPCG^F-Dabխt&ZKʄ. 5 >\L]u+,C h	+ nTB9SQlw2lRSkÍ,pm+hbOP3U	]ڻ7Wfg1PuL|磪2Ag48]E]̾r]º ހJ{=P6|oF>LEU"^bYoL1̂F8u+jǠf=d ݳ:d@qp95Rc1Gg-
Ev;e2V@ߊUMF
|#2r;V;iYITݍ\t
Q9JBw6+9y, +.^X+[Ö7";s[V%`9p`=1u\K
vZ)[)"bV9`o9@ߕ:]d()
۱Nl}k  6FoU8ZefY[7JQw/Vm%Vm%V/W I}5RG}3Xi0Io\n"v+AK6#;syVnV71[)p|ݙ,1u9bM} rCs`E+G}Qԥ[S0rN<DqsJ3!Ρ[qo$~@m:Qh創F
q$?Ȓ"T,ߌna츌D@sd7OD_K5B^W ?Y`΅IB(9aO6=ĴXXg	=gyV96afZ!;g"v4/-q`([=KZᡞfq*P3<+"1ei~m(V,E
քoM5m&tӴn05MӆiH7MipMӆn6-2tӴnn5PLk$MĢk$Mk$Mk$M$k$MDk$Mdk$Mk$+D9FD9Fd(GH:(GH:(GH:(GH:(GH:(GH:(GHrtrtrtq2Pk]#h]#h]#h]#h]#h]#Mk$Mk$Mk$Mk$r<IGIGIGIGg]#h]#h]#h]#h]#h(GH:(GH:(GH:(GHIGIGIGIG׏u\/뮻3XNn3TW6Wn6}9n:kՉl/-;ء\L ۥBWfކ/JWe4nTV݊wrYsUgDBV|3ǚS0'26}W?xi!{aU;!}Ȃ́|YH,U-MNtΡH,7N$,&VRv*B5٭	 %A.lCW01C̬ǹҏ	.A21f2W(*SGb=,a	|)'izGZ0wwN->y|HSҶ0t'4_cd'diJ ˼蘾
7.916M?zkl
 g;l"a[	*@9PͲ~~US	*@.
BUT@F1Zs\"εDQ DbIJ1R`RVEQ~Fa.D%ce}4pLn%v$[59n:5j:~?pfdfLHcIz⠚	%vzlǑٝ`Կ\\ڴ!އa?qCqWَc֛=O.\KK7~7#AJ!]
Ѓe|IJypb0W{uJNsZha}YG5kfҬA&gj5Zˠ54MF˩Nj4F&@Upv48iLPk0Vh%R&M Dܼimtv g goފT9h'tˬϠ#ccG>̙։s(|th5|׮r;@Ȥ`
wuRzͨ)O2NQͨfQޥM,ɞMc6:¶sJ;jOq܅.<R!,%?p^sN{Gv}<^W}ݻzYxmg%<_k
C~cDD=LTںJ_.\fZ®Rf>ć|jrnUYbŜxv(_OT@kFIש:W~&9tvRĉ{Jpl*$gc$ՁBq99WOWXIE0*9-x%v=yRI({Tp_OW;L*מ8M
 6sndwL	-Ii3	j$hf4,6cILm&Af4tl3	d6cI w&A2	epә;1QqݕMQ^9Wq
֘RN	>%t"!RNNy1&؇7=pG)ɫI'/$'
2$/a3=JuE@([^s|@_OY$R̚2,y`rzv\=9K %t~^+ 1-IMoHn
qr;X]@ n'
b :Nf|'|WC;&kOۅ{|{M ut<X^ꊽ0
mb(ַIg?\@57U[*a|;BԺUzHϙpV~6[]AٯqxJqlD=9=WC3h --rRUatP''UT@o#&AaQQ7N伩M^Da/#:{~dx`w.i04;ܡ(ǊܲbϾV2ڲ;թ~wq:K1 b'-xf.π 7N[¼[7TPQD6
8׭!.dj~ҝ8i3[-٢&Pq?[gy-eļ8m&#çSv7~d|/p0yŁv;R(}fS"KIN	'fyJ
̭
Zyyy܊ .7w%7=N4]g+Zxeq<SvM%PUTY^m%֭69Agl!ۡBaSjDΡTa!J]%Fm9Es7Q5IL9W(WV*ٖ9hU,.t^B0
ā6Ce$ܪƃ[0i6Ph$O}&PWv?L.l:!,6ڠ`4l'u`xˀ0Wj>m&_s.	}̌5i7ԙX	*Y:f9	n)6*Gp1&7-1kdNMSq2cR}KGlbێaN%ir)I.Pz$uM5Mb zAAVDk
@S46	ٌVC
:sdJgw2%);!Vap}2Zt9u %1Q%t?lK#h Y*{&Y$	&/	kFI&'Lz@^+.|9$:!ҬgR0)NĂg 6V8nFN, zq8lrn2'([Cg'),i~)Ä 16[F]RѲwi/ip4Ig>3|Rn|er20:܏jy7~U]=4"PXF9Y)M?	
V|<IwQ5M췀x{|jGV#2RO^ YݞNNR ̓uˢb P{cXɵ G zgRx53	|rOlQkB+򆋯V,phn(H N5K%ہ$8(>(!Z__]Y~!\{YwWC:89}?V/a7Tpf:0H Kp:ug߈$t=.Nhou.!ntSs㏀="݄&f]:'yD08M:5X;Ěc	>)zngkoǃ	^>lP#E/fs'z}UC2H3zqv=K.7Ys=`ƈ.?=9E btI!(}ϧ?_t:3d'B9'br]L:{q ɀ
{"8e0Nfz_g>}Ʉ^{<{_>Nz/_+뛗zn(OJD<I-_݁/c2Xф(@	
h56 }ʐ)dgڠDZRQrm	qisXL'^A;Pω@_2kI}.g<]#{THmPHQzG)\cNpaT|`9|(2G"l|$JEqB@%ДM%!1T SR1J?SF<u6g4NcVURs4~Φ۸8X^WG4Er`CDMV/seEeM~́
-\_`_<]0wοc_T˦/	]SP|
OQ)^z%^xB9@nҦ@;+';J3āfw]׫@ʻ.]k}Y
'"~v蚅qoVw֡Lnzo|ݒƶ"oSb]k6q5鴦}\>i dq`QGXa''l:m! (.yZRB¦	{흑`#% LUɮai&W{씮oddds2~+Z0w֟F4lv$kklE;!BVWn	 4~ZrJPwSė-0D~9ӛ~~$JX#S!1r,-%,0.?v4L1Bu*4R"HEİtffw]$ebaRPU&K0
äv
LꗋaI1/-aB\[&{a!]Vy[1A/ blAe`PμIAF4-N qz
nY('{yw@K+<w}3+l<zXcyԄ65WqQ,ym|4Pi@\.󿂔JXY(_8gq1o}FV[:ME Hz#XkPubF愂s8,pxxJ.愡Sȉ~uuB@V.[-$ޡՖhK(utZD`b7|w'vo
6Nȷ^ٽVVf&pJ6"&Z'#qX]aDuǈ	zf${w׶7l~1}79uOPmsvpxV|Aw`(bj(θ{{j=Gq/p|^la>΍hn|	nz9N	;~B$Os6o_V[)̭ͭ&̭9&skѵƇɜjBI=[Sw5XW5*Vr6H+Z:p#B:}E.ֻ1'Sև6wwַDLZ^[_	/<|=ntWmnR _[kk|m5nַN*BΜ:SEi:̶^.2-Uy;t"$Eq^t8ޥN/쫅+^(ⅵ5WZF^:+a<Lmu t/sVcrEV{XRЀU|pjjK$H@J<
V뫷o>&Ѳu7X^BpQB$kT>f>OZ+IongVr6?
0d6r]|9[s}k75b$9qt\[vr	cS6YΫ#ΪvU	*&Qb+`6հ^8P<(otJqMRsfB2}X^F%Vg߻._ qg|¢٩mR5Ef<tIf)م=l0O={ fW!;8Jϕ힢3cz|\*y{|9oХ|QR.JIBtYWR1êÉ;#l	m?lÏML^ʎ\;,)[ <p*F;B>WbzMi2,pvqkS?sԖqǉA{6}h.4"L!h.)a|\vBGp)ˎXyrQJ  |Hg;܁zSg.G٠K/q-w!/dd>WSӟֵ^:h(94S;uO9y񧈿O	^,Au4pk)a1#+?c4NӇ)qD.2,*lUp"w~6S]1S%QRuǗt^IEnb6@)]M'Ad9%c,1brD_a+EIcXh;t7 W2o v% urHO!>6D)0dï0V
wxX+1:P~6J䐡1һ9dʞ>爳{\e}<i?==/hto/١	t*/Y6?_	b~bW-Y.MQV .  r>. [x!;8?[WaWn?Kפ_˚G(?si0.P$/1Ӏ~v#ٍmfj|`1Ż	\@'[}$MH;1y-KbNp2h_Gv#Տ!?5> '@<ctmܢ"a٬Z|{u%qjU7h=i:\>s"8e&T@
z鄡
rHS*$m[Lg$˷rFC`4`L9lmj*'X=KׄlmC:.F	)VZu1$VOo _xwʎe^8BgRbSӉٛ
^Fg;ks|2'̷2
,ԠuS_̈<'pp5ԝ<Od6	eĶb"P40$acۉq enjEF ?gA(v-YŖ`rtlK-j\;>|29΍KH!l=LR׈ݶ>9G^2IxACo	NӱFsOsPp;g}Kgٮ_f#ZDǿQ?g,rӃhP9)+1 &l׆ap՚00{]J}>Q8`n$)1]ҀB1𔫮;
k+FQէǩa;xԓ&llj"Bx[!p(* [fdKeU6UM:P>]/FۭJ^Q2%  MAЦ 8^袲#NP-+C݈^\@NHw{ >H>q b<tUy[+7Y`.<ƪt{zq{[Ѽ%V0oyb]0w]t[ZLv+6}B΍n%~S(#g	؋kh{+w	S!{|\|l(o;^T#wCwX_b3T9kv_#-wv맩f鴦}\>i dq`QGXawD%j\n˔J=Nkv~}Sn׀EAmÅ5䶓];&Qu6tϯ3 C2QO.MG>VPo\԰IknR<I'.j]^	f2)Zj/gњzP[f:жTOFaԏmjtuOpliw͚,☖jHMC3p&$|f7~oj>{Nm-eD.!WX.#oZR$@|C{2kJb	k+ĖÊ욾b%goZaG~tJIѨHow7U 8ֆ!ȱJXTX`XȱPME~~ULE~~F8SBUT@F1ZOr\"εDQ DS^Ƥ~)0]+Ţ`R\0LjI1\&EֶNĹT[YneWVKhYG}\9T3tTi?*񐤓YDBU2TO%R;r\MEEBFh	KQc儠j=l֤-FTrK0LMu౥&I	l&RE``*
VsR&h$APM6Z7Ls.J	p	v_qm
%ޕ1IU7OqSOq[o)>TbⰔlBzvKe_٢༄BqY^ώܓ\[μ<Cmm^jHkYj5SZԈΆADVlVH`]`XwdX/w(oPuCyc+M'oDrzv07.U)q$rz#+)2v2ǒ򯳔́)tZ;Zc9&3Jbǻi*bC\}o:|NL'j8vώmȍbs۾*"K!r^!<F(pǖEv#O't8I!f$Ufx+WF
Td]V/C	s\C+=AMAc[QWYjX>	6*R3!OE+oj^%dj6 *_olX:]#Bfi23qDQHeF 7>ؿveUT0Q`jJ寓hZ.i:̫eđ@糔0Ag@(
aFQ$׏F*-w;Feщx5,Aˉo#O3AMݓ
 uCjP4J@XXZs6Y2T)&#ѽPw׊k.GtdWh+B m4u?ѭ6-'MZd	0tk0uLa"#	Z͌M1f<j+mL:hCf27߈Ù 6dX3npȺٯEAf7bNMf?w%0Nٚ4=#t8جG;ωUB[$ɭ4j~>AEaO8"voMF:췀UNaٙEˆ2<9jhW1	pzN`<Ul?Ub*n*DY
BB	i0=?l/H~ť-.a&4x g q3vMgrҚ؉na0jk1KZZY`ZYk0kfl3.ퟵekYIGٙҾ+3:6^FU;)5te4^u6gbaZbpPo!L&1OQbڙLbvdhXm%[J:~=ƭ&cX-rl2<o[n\ȈnE=	B:qznfO;Kz&nǴ}+r72Zcca;qN|DN`%B6#:)i~)n	I
uR%`qpɻ4} ȥnШCWo>3Qjn|eJ"*aZJ\$6&4uSP+:A7FY\A.׮m%v@SP>ȖQzrvM}*dܿj \nŇcuC!P|xAd	RGz!o휲GnPMYSo ˡFߐCh}rLГϟxMwB@g o:^7?9)vxf\u51(b{-? "RbBM.*sW.#R MjS<=ҫvH@8T3"{h[ yDyFH'
 x6IIu#)b#KiLa/ [qƯj|XƗX4>doU:nN6]=`C
\f2w	5:/޹/YZH
JZK1qƛ4
*nns0C@:%H][2:FO)d j=)vdhN扜^۴ƍ54Ci)ރxcx{(2+h)hDVG,Yi`;GNe2js$.ಛhwafϯ`cycUJܐ *C6IDZS'a_'zu.DC*rl7	>yR/@c2'E*wU6^2t
#K^1 u1Knt$zp7`
bD'k-T.$_UI3p|\$c⣟ 9T9oOn\⓫5Zk=^$A^^454NJ$-3֭UI5eWȭM=QMxp9	NNxV,
3gϤY`Њ;a9(+GdE>Y)KRkU!G߁-#>~LN0ojJef}}<>ڏC$3\eh_/"㟠!r<|Ɣ޲M^wPJjn5&;ܾþG3M\p"$6T{ygdXk§j:߸~m%l'nV-{<Wd4ÉgG *_=ε㊀Yq2?Z?D/Jzg6\\P /\;"JY<<_5cw`'C CܯhN!-Jft|#}H:C΂m'p]4KH<F7`farb(N0u̥_-Fb\ژhnYBPdiu} F<H?[dR	Kwŷ@hP|:_x1
QEAUB6mn4cgԯ"$׆@!PmTe%]%wqŕM~OE']S%uCEQdvmc۱2MU%O<MAm|!1#UxVwM,Am@<Q(0YJlzHQEmm;,=KG	iolX: f	?<.֧ }ʏ;^"VVB|<hx+8=x5ӭ߃1oDC(94Iw
Vt*_'FltZghKjO#y%HȒ¯o`8dЬⵚ&ػw鉭Ȉ`ЏɈ@}Ӓ2q,c}>"]	NGIVdՃ)MrxͺoO٭VV+;Kǚn?*eR[,ï_"iemt(|mtI0d"{odo`qE'!`]58KngE)]j3lMyvA_ ;SajԻҠ+WRDEtщ̈́&
Iӭ%GemTI=dЎ%F#cy!5HqE[
@,GXhaMd' k1T'qJ}PFMd PYA6~Je4θ(m5 !/h;vbNX㸃#CƦi$KmrkD#lt)i2Icn)MB!퇹pTL4n-t皉۝nU[X\x:mn.^/D1T?@;۞Ė6=hA,שW1͵+ƪ XQ'&zXz@)+oیX/L7u%OސGw5u:Ó6f@Uuڨu0Fƭqmf	ҶQUd!b"(Bl3NVio_+WOG:ZwQҐNSDi0cP8Ndl^-cGg_
"(t~Q+ua"6aX\e-qۗYvȲ|ا^3]}"˦D)3}ϿV$#</.?kw3|>.Êf{(z=zjm@|5qn=wR)+R8B@T27*WD]ʳC
Zw>M%Gǯ8PfZ@1uz$HtcAPPC|B	qz:bFE n]lx`gyL}=)7:hƄ=P}Pǵk 0ي e,gY"8Def
!*Bčl&w] śdAM@BG
wS7Hi:L*:$FXiQ$F#遄;Lۆ0`-,v&wJ`5'$Q,QXMncdk_.uP<Fe(=҂UНM5KpפCս&=jL`l4su6ѭ('MSd	0t{0uHa"#	Z͌M1f|j+mL:hCe20߈ VdX3p3Ȇ,igS?P_:NyQKBwẛ=*)ecgz[پ;9.>_ԋ='}d4VQIG禰
[3&ޕ'(<d忠;M%+؃$[R=HsmMr%AK]"VNXl`XQacA/ر9Bkxwub[8l{:I??^o~2l^=)ȩʽ&cG~ n(1gEB$q
-ͅ:P
)[B	r/6*klw}8R
eoKc]6kx+=p6=(BCm3vAVpo?Zbqg|聾RS~ړ=hO>ړc'0,P'PI:+(ӑ_3b2#ʶR+<eu׻{(D3[ζ?l3lbpy,B&܊ˣLU5F#TCTqϒ@"Z0awǊ,8Jk̄qGxf5m܁ws白b᡽[ޑcP[	csسnSBu4a,_B"LbkL-bL8YnQ'DHi@F2V28Qe/v{J@hETNVc;x[)SQ$^*OƂNHv [[ڹr.oNNb#tAg*$"yx0
BHhمp<mƺX%3!lDqʏh,}Cf=yC`"ƭg](m(|/A9ِIJ{F{X*aFݟI)it~M^P$AmU┆Jvg^jw컌 
W[ r)-$!>#s0{xyZw}ֲqMm쒼n|ٺ<zGsqkn̵#ṋsܺ1ns}Z{
2KP;0	u)"=]HYE-E ޞTp{XUJǪujXe="WTmBx=׉nύ ݨt<wdrّT9=9;`D/n\N1.~}K;"v1|1SDdwb>?۩POboMy C]رpW"@̞KaZT8.Z!>IIZz[x/]qC@GPy&c4ɯ=KY0`{iaZ{iaZ{NZU'ie=W`x\YC\ô`lżR:h!C>\nob4Dpζ2Dٚ-pΏޜfjNݞip0$ӱcCaTK5kxHko5ݣ{5}gd}WYdGϾ_{vٙCf+8ϕ+'rtVeA!\ƴ'gQ/ĠRzY%NVOO{b֞'fY{b֞'fY{b֞鳹90C<05
Z->qpY:AM`MZ|)x(NYq\ӲQY(N}ǕzC_w*
KhOĴbt~NvPw*TLPb"q3<5 ^]Ϝbĺyz.K'a(c4t?8@*ΰof	!D)K;OЮNvXM!$ZH~G8[|x^Z6/5E/d;1NGh
TaU]NJ63`xMdxǟS+:{Th'Ӌ?"EHq萔Oa`1mEb`G.8+yW;wd~qt]rJ|MZ4b!Iۈۍ
{5IWÓ%`oF~8F,I/>dsHT{fQz&1U@9:[ơ@3,:&Ҭ퇭QTId-%R]mʱ*Fkw儋]Qn~b{vGn[Nxm$çƮSAb,SU>Pϰ .'Xvwқ+doFuBny109AZnϏk]ChuJ4cВ"̑r]t0lc:O=]Ah$WI(PArnX.!*Wqˈ7`U=<.=xIuٞ;6LuU mz	Ad\U*\2Emh0Pw҆a25 64iCCА64iCCА64Aٙebw`.U-w;S	ҩ.ey r9x#o̷f=']G#b;_YS]V>tHn0bjw&VoCj}ַj}ַj}s<c
-c 'زzd#τO_l׫q,N7tTCX$P,E\É~`8[G#hm"doOM:eLq%θh@'֕	/A#1=#n8Q`|5DB@O'47h<z>j!I	㿼M>p@>p>Zs Nypp2qސ|<9wB &]L҂<鈀扊=̫bV\xąL/Nq	gCD9HހZy'<OȚÐ5#{.C9ʉ"B':jpHO&w7oW\8<dy.o_~,;ѽ \ꋳ熱o `0Y)qIC#GM2;ǋD3aqr^/TekV/l)hɮ`9#CE++D(5><Y!9}&'8 e b.Sy<f
rBA\S~j[}%[|߷-Tؚ]taw/[}2Et:bubg	5g^X>Q=\vE։CD9<1U24Nr8lrn2SEԶjr~^:H?;W#ݣͳYgs4m끺Jp[nl'?r=y: z2:H&W|v/KWlM-D8Xt*>|l6?D皷>"[u]Ǎȉ/rl'bz|{;iNUi\`&8&ZC!^,z:.Pd7ՖQ1hs2KJF.b種]w5SH_êҁ8ivbRc/_x~Ǘixd6^vȗ@W	ȣ#z,_\	ƓoeH<>Df_;<H~6z۲sC"dkL~O_|g[!1^FpaZ`/*/~Rodn2iM(=FN,C:lNi$I9{By?æqRwW0|ʆUުv@*n	0fd)E',ڞ *5̻P`WpQn}f
nb?w)vh"p6:_y7T]a
ׯ4]%b7p<,_|9uʱ>{KFGܺ*%˸S,bpru-p0?+%
g$w6R#$@1nc('.esvc)ڗ40$^"'DnXm'0oTQqx)n9tӚnV<]ky~$	MGt(璭Ѵ6#{7c;yէ`Jiƫ~寞~۷FEMK<=5.%Ǉ=.:	z¾wk4RJlHv.
"'L,*@^z5ЕBp"I_
;v^	%Et^d7
 qTNq7Kd !	 ȰfD$0E^U
ohyb#lH̃][n{%@?}%nl+Ea}YmǒdZzGtE,=D)Ho bފl}ev@S-n଻,K QMvR:q W}zar
NYSg.SVx;oȞt1x7zo`i\īAi*}COs6SX6l*!j.Q#^y[nhVڅU&Ģۥxp&Q/?W&ީqlN)ILaӢoFu'bKI^ϱCϳN^d"	SX,G7CyNK=/*{ɂwE1.yưVb$&q/@DG[Z5N.Mhr;f6mͅ%%lfj_bq1ʦydaMC**QϏ`/o;UyXg4[L׵]pb"Ⱥ¤^$n\8TFlwO^AMeJ|}d}/hzmz:DC꾪]_|.Ic3U짪EdT䕨gg	-T?Д\f }LyGm;CLQ?Ksr)LK!͆+lev vҖ%#U.8ѳb<TcRu]NUkF?'zbɟEaqL=譵!F!Hvw na[q݋Ò`_QJ9ꥀ}wS
U<Y[O@㾞
DQLNe/QCYH30#C9U@& 2P|A7w*	uz:0*-8;y
U5l]˾Eڟ֙&Wg0:n{ .ijPB-=Uc#YeF:A5hc*1=ӘFq멎dҢ;}`|}>hl9l	ᮊZM&ܰa&B~'c:UZ%bN̍#4
ө̎`[SIJW:=q{>.KwttjV SZ4Amϻz57g9nSUA0jS.-~l\e*
NSGX%;qdE{5PSOi36>rz.i^}xڇuٯ2S@|;®-!GEњl;U4qFAk,e~\Qp:h3;
u 8=`H%4DE?&$uH8fe?/"_zc5#dW 3UZb,'dA6#3ȖZoG(VРN>RAw'pe?qݾ.XP#;"lۿSxiRD	);edGUrp
7hhHNKn?>Th"rpycl9
nP+L:ڔY6UwފM[ig/FMd+$DAZyO"9c.ضMp\9Ƿ)e&PA]üؓ)IA>@J"]0	*8`2U;Ć%N.suk{gIxfh@mդJűY E]J`IuP%kvE UKLn8!|KD|`\zv'@U1tz#׽N7Fໝ!Jkx{51$x[DR*kM"~wg{Z/_h<?S"M/J(ٳO<Sx]BD}_?{~%fgF퐥? G}Q qs	u=Y)d &BS^Jޣ3C3e657uzW;s.g07U7>c.\vUF-Ąn+A#/hHde(MrpN֎Z oYsyg֌Thom]B|Iګz#3pܸ SR_MA[+dbb(쫚`	5]چL7|R@xSh`ՇYB!ꙭ*|ۏ }Jh>Ap:ջꚳɷ	1Y'CTR<~ԭ)1"{meq/nPAu5rYo-bxf$`"=8Hb7% S͋.2" =z^$c469MY^6THZ%`S'n/Lb:Ͼ[ȢSd,2D=?!U^"Wn04&{na|y!Sds!H\'v>K1cҒ\ r*_1x .ӭDҗOdUKr="bw>`#Ӑ调p8T4(,5$B][e Ѐۼخ@pXBrjw|"@ 7yZڇqcoK0z5wP,K=޹gc]Bp5 	w
gV;F·0zߕx=;azY6e-WM+rwfYQ`M	inXTO:xxy$T1Gj9H.^w[tv .Ky3|sbW`4cGoֲ\?ۻ'm$_!X!Tśuruo%{V3uuF? @xđf	ݍƯWF;l9nTp$A=/M*␂#PO@î,:KkwE懎Ig숾Y^$	4wzrfՎ(Z,MC8_
꧙V*r9xl{ S,~(uǴLjv״kMRy֊L:O@"C_k44x/[覸EmG/U3CR_-ӻ;TCKwܨpje4_ockv|'QSmi-Zsl,iD劭VI
VKЊ<T^5`?hs[?Τ,^v4sE<oRA-]\+B)ȩ.cE.:Z-cg/:P8vh_jC楼Kʼa3[-oۭS;m3iZPѓls$V!a#R0@`[L&q3ǵdl1"08~b{cq.rB]nhk9.'v'	׎mu\	VIF֘(ّ-Vp	ԏy2h%̘Umƃ	TrĈQ	.ai}V'ܢkO1~yOxRdi>	ืێ΢1 "̈́.&/:<_<F`<F
H0"c/#r>nV_P6Nlk]'4i"neY"C;',1E a͊f2 !>6	~Vj~Hm뚴\#;RC^#MV=Z6&|}HZtnerkyjܬx{3^.^ۋTٜH|*ƞ:G fH#igW32^xf5WC^{(HrodS	RBI#YxޫJz'd-s.bc^ <SlzSG}
&fiuT[]B4P{ȥUa]
`N(܃= =sӊw	Vr Vnpfa%)P0Jqs+.n#ಘ@&왡#$gFZ;\q$ oq^scZبE	-c(˱)kYڨI$^Аb;dgNul#ƻ(h7v#FB6c+\r ד/r^l m~{[hSUf͢=cw=,D%{26-qqwk~nS(6Am4.A`
'[m־fcV3%W[:K/=J2#>@Keal>k_߅Y4TzCM茶GCn
W
NؑfCF9
j"VZ{P7^pP3Tμaq!h^<XO[4v$uJFIC\i6D{sŜ;w#.B(|8* AhQ{EjGX[Df̸E/AeB7j]=.t/ex˅$3Ǟ*ºv[ at?MzSz:cAF~z*`8,uC iPg%B։`07|n r
ٮL="Yoŋ-Iu(F0,&)2c9[.r>xpն#Eqz&"FT^4T`
5GÔcR +&-qâIC=rB;t
/ŋ'z7xC:{|.88^_׿oXk7Jw^?NfĢ+a/?<_ٰ͗7Ůr]
+_IO6z֞gxo޿Ϳ2Ð	͛cu38z|meFa\
rJ5vD10}N{;$C
C-#Ha㒹<7^ߐvB+&@Ic_~Msp;'ܮ[qKV+zExNE<QA;I$0WutԅtN規nJIÔ)wՊ@$*G|Gܤ
~?Np{}*o\#'B4ޙe byGS?@aiFr}zȧp)RCF88A:4]vǼ΅`f/}HOYipY9
NЫT?7KK̪s@3p],S;RN lUS_n'϶6ypr,~t^HӪ,aLGw8RM%E&o-D	uLRC~bU)!zfn+j}V[\gd
GBc±bXpXX;0V,+*_*]"ǼlZt?dyXLp&ȷ,L,%=Z T^q6E!1nk͗V?/%feؚ kkR͡xxMԏ
yӺGI<^RHFZv]+~V~WӼQ
%t%foV)2ϋ³h_j+Z=\~PU|?`oGQ=90 `*jF%gr_mݶn<~}ew=o#EF? TA٧2*{}܎TcPIv"ڭ8	DlrTX7&/Y'3&DCTpMy#-xS>7}8~KB7;PЅD6hcH˫$:-T8R=\cAw&'HP+!hCHm>[
RT&!1R*@a79܇>`;nGAv@dƣ)*QwN]yݔu)UÛ[⠈K.!TnmsotZ:L#i"aLX*rW$5-g>W˱2?ar>O{?@16Y֡זWj*諸\>*7t}t[A:V\ZF$L@gRhU7eVsSՠ'^UE'/Wn,] kEl֨%aU HL\l$8_bXu7r:Ebq3U#.Gg #IҌ:v\w0ukrT<љ6x/h"}"Wau^izZ ^:lư ~bH~L$ՂBd.UU4hAig|uh(lz=
흥Y^9>Q5e3L&ڵ5-\)aIKϪUR{sIF 7,\OW2صشRRjQnLXFzƦ^1J@]UQU%섲$VyS6*4d.HdwֵD<S2qU=U!+}jDN# L8ܪP`	{6Iwnc	][D-ԇ*[ߍz\JGg)4!8AlN.WS/ PK ԹŒ(i2;#qbyAWq;uNvjb/WGf?EʬDb]S__WB^:N'A&~5a |;I
 #8sXzi{jٔ0nSJvkTVP>I~azZF X]_&oAR%~?vt+z㊛1V+	y	٣Sd,"~_ElA"G[w PNaL+ӯqf0-rdƹ=z"ΉlsJ&:CG4D7X[jj089\LOL&ҷjP(d_ d#z_/>(hdYtgxLHU\A.ʯBvˁ
>6^Z2>F2jhkQ[T~U/Cc'h"=AD4y^J殯vt4hw6j(
3JD\VVn3Qrje)6r~6R 3uIG>wN._!<Ը=7ĖZoNv[RgA}0& ?==b>M@TsL:PʖT1.:vƝ=P|RðvBb_GE*C;xSBxΘp%&ohG[aMXiÂcqkχ-Ӡ!$<vּd! õ$E;{nB|烷m"cXa7[C0¤^}$փiVH_AȼXsReUP 2k2Hj&s
EIG`.0/)?
O>_h B}}ʷ}/g_w1*B`3B`Dp3b`F̈i9\>yrIux(6O(z	ŪXM@1c!ܪG4Dt:BO,ti%>f;f_,,Ku#ʣ,hl0yf$2qI0`bH~C 7vU~C#&3H;-NtEXӲ>n
ST(F!b 2LS35`	g_a	0ΦÀR3Hl2^QACF|0$.aZߋV1b`͍>/p6Qso`3փX3baF,̈CXUEbUZ@?jjf&
=Pǝ'~x4+3ra\i1r]^8zr$	Ù@>+)Wd# #GT6,ǯYlӹA6'_x;@	H1a<h(i{vM&ء!\8R;pb՛yBX /fq,x+wȧhI8?8oW     nodeconntype       def set(pnode='.', key=None):

    cnode = hou.node(pnode)

    # Preset parameter names.
    # Note these are the only parameters where any of the preset values are non-default,
    # so that as you switch between presets they will overwrite back to the default if
    # required.
    #
    # If you need to add a parameter to the preset, you can add to the end of
    # this list and add to the end of the values list in the presets dictionary.
    pnames = ['initialize', 'scale_source', 'scale_velocity', 'source_merge', 'normalizesource', 'temperature_merge', 
                'velocity_merge', 'normalizevel', 'sourceparticles', 'killinside', 'killinsidesource', 'vel_mask', 'vel_abs',
                'source_name', 'vol_sourcedest', 'temp_name', 'vol_tempdest', 'vel_name', 'vol_veldest', 'offsetscale']

    # Preset / values dict.
    presets = {
        "sourcing": [0, 1.0, 1.0, 1, 1, 1, 1, 1, 0, 0, '', 'density', 0, 'density', 'density', 'temperature', 'temperature', 'vel', 'vel', 1],
        "sourcefluid": [1, 1.0, 1.0, 6, 0, 1, 1, 1, 0, 0, '', 'surface', 1, 'surface', 'surface', 'temperature', 'temperature', 'vel', 'vel', 1],
        "sink": [2, 1.0, 1.0, 2, 1, 8, 8, 1, 0, 0, '', '', 0, 'sink', 'density', '', '', '', '', 1],
        "collision": [3, 1.0, 1.5, 5, 0, 8, 1, 0, 0, 0, '', '', 0, 'collision', 'collision', '', '', 'collisionvel', 'collisionvel', 1],
        "pump": [4, 1.0, 1.0, 0, 1, 8, 1, 1, 0, 0, '', 'pump', 0, 'pump', 'pump', '', '', 'pumpvel', 'vel', 1],
        "expand": [5, 1.0, 1.0, 1, 1, 8, 8, 1, 0, 0, '', '', 0, 'divergence', 'divergence', '', '', '', '', 1],
        "sourcefuel": [6, 1.0, 1.0, 1, 1, 1, 1, 1, 0, 0, '', 'fuel', 0, 'fuel', 'fuel', 'temperature', 'temperature', 'vel', 'vel', 1],
        "sourceflip": [7, 1.0, 1.0, 6, 0, 8, 8, 1, 1, 1, 'surface', '', 0, 'surface', 'surface', '', '', '', '', 1],
        "sinkfluid": [8, -1.0, 1.0, 5, 0, 8, 8, 1, 0, 0, '', '', 0, 'sink', 'surface', '', '', '', '', 1],
        "sinkflip": [9, -1.0, 1.0, 5, 0, 8, 8, 1, 0, 1, 'source', '', 0, 'sink', 'surface', '', '', '', '', 1],
        "sourceoceanlayer": [10, 1.0, 1.0, 6, 0, 8, 0, 0, 1, 1, 'surface', 'source', 1, 'surface', 'surface', '', '', 'vel', 'vel', 0]
        }

    if key == None:
        key = cnode.parm("initialize").evalAsString()
    else:
        cnode.parm("initialize").set(key)

    for p, v in zip(pnames, presets[key]):
        cnode.parm(p).set(v)
    PythonModule/Source      PythonModule/IsScript       PythonModule/IsExpr        PythonModule/Cursor                         PythonModule/IsPython      INDX              DialogScript      (O1   CreateScript  (  _R``*   TypePropertiesOptions    O1   Help      O1   Contents.gz    1R``*   ExtraFileOptions  M   O1   InternalFileOptions  M   R``*# Dialog script for gasvortexconfinement automatically generated 01/16/12 17:14:09

{
    name	gasvortexconfinement
    script	gasvortexconfinement
    label	"Gas Vortex Confinement"


    help {
	""
    }

    inputlabel	1	"Input 1"
    inputlabel	2	"Input 2"
    inputlabel	3	"Input 3"
    inputlabel	4	"Input 4"

    parm {
	name	"confinementscale"
	label	"Confinement Scale"
	type	float
	default	{ "0.1" }
	range	{ 0 10 }
	export	none
    }
    group {
	name	"control_settings"
	label	"Control Settings"

	parm {
	    name	"use_control_field"
	    label	"Use Control Field"
	    type	toggle
	    nolabel
	    joinnext
	    default	{ "1" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"control_field"
	    label	"Control Field"
	    type	string
	    default	{ "confinement" }
	    disablewhen	"{ use_control_field == 0 }"
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"remap_control_field"
	    label	"Remap Control Field"
	    type	toggle
	    default	{ "off" }
	    disablewhen	"{ use_control_field == 0 }"
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "parmvop" "1" }
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"control_min"
	    label	"Control Min"
	    type	float
	    default	{ "0" }
	    disablewhen	"{ use_control_field == 0 } { remap_control_field == 0 }"
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "parmvop" "1" }
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"control_max"
	    label	"Control Max"
	    type	float
	    default	{ "1" }
	    disablewhen	"{ use_control_field == 0 } { remap_control_field == 0 }"
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "parmvop" "1" }
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"control_influence"
	    label	"Control Influence"
	    type	float
	    default	{ "0.5" }
	    disablewhen	"{ use_control_field == 0 } { remap_control_field == 0 }"
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "parmvop" "1" }
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"control_field_ramp"
	    label	"Control Field Ramp"
	    type	ramp_flt
	    default	{ "2" }
	    disablewhen	"{ use_control_field == 0 } { remap_control_field == 0 }"
	    range	{ 1! 10 }
	    export	none
	    parmtag	{ "rampvalues_var" "control_field_ramp_the_key_values" }
	    parmtag	{ "rampkeys_var" "control_field_ramp_the_key_positions" }
	    parmtag	{ "rampbasis_var" "control_field_ramp_the_basis_strings" }
	    parmtag	{ "autoscope" "0000000000000000" }
	    parmtag	{ "rampfloatdefault" "1pos ( 0 ) 1value ( 0 ) 1interp ( linear ) 2pos ( 1 ) 2value ( 1 ) 2interp ( linear )" }
	    parmtag	{ "rampshowcontrolsdefault" "0" }
	    parmtag	{ "parmvop" "1" }
	    parmtag	{ "rampbasisdefault" "linear" }
	}
    }

    group {
	name	"control_settings_1"
	label	"Visualization"

	parm {
	    name	"visualize_confinement"
	    label	"Visualize Confinement"
	    type	toggle
	    default	{ "0" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"guideplane"
	    label	"Plane Orientation"
	    type	ordinal
	    default	{ "xy" }
	    disablewhen	"{ visualize_confinement == 0 }"
	    menu	{
		"xy"	"XY plane     "
		"yz"	"YZ plane"
		"zx"	"ZX plane"
	    }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"guidevistype"
	    label	"Visualization Type"
	    type	ordinal
	    default	{ "speed" }
	    disablewhen	"{ visualize_confinement == 0 }"
	    menu	{
		"none"	"None"
		"distance"	"Distance     "
		"speed"	"Speed"
		"origin"	"Origin"
		"dir"	"Direction"
		"value"	"Value"
	    }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"guidevismode"
	    label	"Visualization Mode"
	    type	ordinal
	    default	{ "false" }
	    disablewhen	"{ visualize_confinement == 0 }"
	    menu	{
		"false"	"Infra-Red"
		"pink"	"White to Red"
		"mono"	"Grayscale"
		"blackbody"	"Black Body"
		"bipartite"	"Two-Tone"
	    }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"guidevisscale"
	    label	"Visualization Scale"
	    type	float
	    default	{ "1" }
	    disablewhen	"{ visualize_confinement == 0 }"
	    range	{ 0 10 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"guideplaneval"
	    label	"Plane Position"
	    type	float
	    default	{ "0" }
	    disablewhen	"{ visualize_confinement == 0 }"
	    range	{ -1! 1! }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"guidestreamerlen"
	    label	"Streamer Length"
	    type	float
	    default	{ "1" }
	    disablewhen	"{ visualize_confinement == 0 }"
	    range	{ 0 10 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"guidestreamerminspeed"
	    label	"Streamer Minimum Speed"
	    type	float
	    default	{ "0.001" }
	    disablewhen	"{ visualize_confinement == 0 }"
	    range	{ 0 10 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"guiderange"
	    label	"Visualization Range"
	    type	float
	    size	2
	    default	{ "0" "1" }
	    disablewhen	"{ visualize_confinement == 0 }"
	    range	{ 0 10 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
    }

    group {
	name	"control_settings_2"
	label	"Temporary Fields"

	parm {
	    name	"cleartemp"
	    label	"Clear Temporary Fields"
	    type	toggle
	    default	{ "1" }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "script_callback" "1" }
	}
	parm {
	    name	"curl"
	    label	"Curl"
	    type	string
	    default	{ "curl" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"curlmag"
	    label	"Curl Magnitude"
	    type	string
	    default	{ "curlmag" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"vortexdir"
	    label	"Vortex Direction"
	    type	string
	    default	{ "vortexdir" }
	    range	{ 0 1 }
	    export	none
	}
    }

    group {
	name	"control_settings_3"
	label	"Bindings"

	parm {
	    name	"vel"
	    label	"Velocity Field"
	    type	string
	    default	{ "vel" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"confinement"
	    label	"Confinement Field"
	    type	string
	    default	{ "confinement" }
	    range	{ 0 1 }
	    export	none
	}
    }

    group {
	name	"control_settings_4"
	label	"Advanced"

	parm {
	    name	"timescale"
	    label	"Time Scale"
	    type	float
	    default	{ "1" }
	    range	{ 0 10 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"opencl"
	    label	"Use Open CL"
	    type	toggle
	    default	{ "0" }
	    range	{ 0 1 }
	    export	none
	}
    }

}
# Automatically generated script: Thursday October 17, 18:09 2013
\set noalias = 1
#
#  Creation script for gasvortexconfinement operator
#

if ( "$arg1" == "" ) then
    echo This script is intended as a creation script
    exit
endif

# Node $arg1 (Dop/gasvortexconfinement)
opexprlanguage -s hscript $arg1
opuserdata -n '___Version___' -v '' $arg1
ParmsFromVfl := 0;
PrefixDroppedParmName := 0;
UseDSParms := 1;
ForbidOutsideParms := 1;
LockContents := 1;
SaveSpareParms := 1;
CheckExternal := 1;
GzipContents := 1;
MakeDefault := 1;
SaveCachedCode := 0;
PrefixDroppedParmLabel := 0;
UnlockOnCreate := 0;
      }M#G53]X9nMLe5=խYK*LVdU`0`|5|2|'ȏ̈d"Eċ^xޣ,"( ]b12p=ۣk~rO3ʟ_Ls{\9'vL]	O|tN.'ɥ{/S81]ԩ(pg)G-#7SWRo/3L$XO [Nkۓh@2 B.iOT6}Iae87W%+N5g3sTM0	ΆDYlv3v&a'oҞ~W?cϾ]OB׳?E	j4܎OFg-#?F#xF5[hǵFW;+fFFu|h5?7<4eF_д˗UCZgi5M^?v`Ϝ sO}aFuyr5b[o5"ߦh>f{|K$ )/T>{! Ә+m$8e_|.F{LRl 0C0@}Z<5:|3Z$$0ϺBuz1~Qωj>'u>)B,0J~ft0ZN_z	2Cav3~W!!ŋƟs=	L:dz	J>K4FP&eKa'ǲ9}l̸hɩ4/:O\{_0Jҡoz:3vEOݻwsUFmZުf/4Fp<'Akq'АVۖ<P\)*iTMsgltQE1bBkhS)7ǎ7 t_!	 ?8/C oC _b!}C`ʅ&? ſ貟<0\w|>?+J>qpAc$8f򁱬{ًe4OFa~o~R \?Bd}0A0&¾m5szM2[f>B7UN>CNm7L!bKg:'nǩߵr
-b"fGw?w[ڻڋ/NoϞ=?#>hګK7Bxc?\ga7_jO'`P{z#$/ Y;wˑ3~D.g#&GS?zF{cw܅& 6wuJTv~>|oJI"@^.Yh{GsZ5۞=s?֌=Z{~b4Z?9]Bbk8چMצiBCX8ȇaO?{OA~r11F~xN`*+{HEk e'?oE^*⡌f
M=]:+rРa>q6׫dhT .{`efamG~I~EݑW4ԆokXxkBp']:/QY/|PQfs%璟2>=B<(ģ_*uLBӚ5"K~
111+0,{.3Ăb(v4s_ҡl.H.q[Up4K2K6t~JGyIFya҂1_1_a+'N{ɫዏ>}+hLDo?bLh)}HK<b]^r$(qIOD
d9LV<'5f4CZSԘbl}FWn|Fk6bV(oFIQ|F=,ӨQi29QiqFUUq2if;,>_W~"ԙ̱BB27\N,r#6E K[.5QbZ3VEಆ<5VXae9yj6$\.
5d!԰0,f4"𗰼KG}5<AúeVB[:`ج#;YgB65(ȞB>Ј y?FU:E͛xlr>R#$,WVWY;F^i\@g<O؏՗E,,37#]ڌh$5׵ȵ5׹lۀ	ӋxBd\`Vsq3w؜i  J
B?mxus7xz^*9zܟtoCۥ6=.SZ8cdB4)PԆQJirL#i0LIlP<<2OXȑ#[qñ\y|TH1#&s"ĽRP(%igipMJB##{47nF"$L3	HZD0\ۑz;1@F@JUVbJOjWjA)T~SaQP*C.:$d!Dwy.g+zGdM	Ɇ@UTLqG\yԭY(PE~pt ⬬˦F.M\g:{݇"85X?VO޴8%9~48LcΥ%繙#fWQ0/'`<xvHYW'.ڕcjuxNE^yDrz!ˤ	F `3V0lTs0
אvp/wƵEL5-5M988W<yeLOlQI&GH{S5}Y_VoR|&۞ljļRHy+~)[7|8N
9"ygkyW{G%&ڪ71?Wܣ]*b̳!ğ[zƅ^¹N\ڋzA-h	퀡MQ֞.jjiK/h[s?ti1[,llBZPGsR&S"?Z'm=;6('efvh'ovҏ %7x^\N?˸Wch_9c{a/H$zNՈﵘ? u͒P8J'Џ T4}t'7IZʹv	AM;@:篆t")wtc[M
w/풥f^` 1,C' ̉N@0|^K4И͐KʒrW07;z2:wtӄIg rf有UZl3`Mݦ0X֡+s !*>Nk+1__\.}^YtlڌBn?es.9CD(BaL.9?b*DUdzLvLډ%Ґ/mK3 'od{NIjZ|sl(anBHȽ@>Rm_Ȧ>z`*o?@t)[3`,9ͶgځRH#
D0O(
:!QŐHyEį c+Aa]&UPPë9cO;\7.4#εY,atYE$C$`fI9¾ECkOw|n0P]XK4%^3?Sg"`):rrMʆqҁ|B]oLp0I9`TjLe'549g98
uBg_9,LE,RDBF3w?JiYaúQ$UW@b6uf#$ Cr.jiKҩ=W v?4x/R>}ӆwԉ\+F4gd]RKOir{no3MPYU%#oo8A]OI$AbvRϜ0ؚ͖!0X!@Řcۡ	orK^ٹύ&ӈoDn?fD\G7ff	{N9Z2;T3O:4L[81ሯ|2X\C!ћqZmK򲍥~=t Åf$
%97htfѥ`IKVt"Đ4mLV*!bH=:th'X Flw_fXEA1ۍm)+Pm&;>Vi,ň*܃W܃W|܃qnR}c dtn@6_Ҋ|:MX_P&kC[T"A+-nk7IPmAS[l; lnBg:iGѦc-F`203 @nGj4g)+==OzvS=%==;{~FSח??{|oGbRT&-(` B5+ ` r6 OL"s[i莙x[ %.%+>%CQe(~0/拟:Is4I^5!M3ת ETdKqdOe"?eىi^KrZAU^2"Yaj(͋PE<m D$ ""q7x։`y 	@CRyG(*'d`1#V{\U#?=*&oȤ8Ԑ)<12:z!Lijњ1{#W&, \:\d,R/S=fOnT;e͜	\kG}ܠ+4BI5|`E[Тkljjm|6YӢ-bע}V<ТJcu3kD;ԓ=y9W<(#בi74uE/Mrgu:}
ݹ6y|fO!Lf#sAFǲ-V[kO)mTx"~7riųEE,]Tb~B,gf["IȟtKK4	i"XP#¡lWTU9c Ɗ\tFФUtZ;{BI /<)h_\L4v!H14F0yq=BjDH(Bba#KK>6VpW2l`bK:+"PYOPU#Ii-lm<-C,G!Exɴd]K
XO^8)aR ?-{oO>9_w/SJwmR:hmr|Q)p^Gs,	21eQ&-P	F0
X$WKiA8]P`%RMqĸ~0@l)Yi9\|n>yי
{ f< QӇ0qs\@¦>%dz0Jmv}NMKimcnQAdը߰G3ʞR7H&y^k@N%c3ۣ%Jp|&8HI6Yai0
^p.[CӫrƆvO*~$4֑R'͞&AykϢ]iIu?")ܢBi͊"7!eQQDS!/"y(
Q'f("䩐lZFh*CE!O)2*[Rz58GC%%*S!ɜ>#I"uβQĀ)))B4K)),%EQJe)%3FQH`PmQw;jopl$-HG5ͦ<׮inlZ[>(niN-.*||,Vk`& qʿ; kG>tRĵpnp	تipKp 薡4{wXpإwLnWHD`n<d<wQ[a9ǰU~ʏV*vb{b4$~
YiL|W N*cǩ[GJMqcX,qCc%@'8Xm(HD<u5y	i$[7:KY-P[#6-鴭{N(8 ŔICίR[@8'\wk'Yq*SG&[[zOfh[IO-@#t%U<o-AՖpt>wp~m	rm5n^^?tНgf3;ٴ܁5	YW[vu=}c߄F3}H$TO[e'EFq,qN>KsuXɠehig3r/E+&61'<z6#M"ޚ͓.]-_yS,H>Pr"H r(P FG0M
&
B@ U6<H6|4FI$0Mr&l]E6	d$0&l}E6	d(I`tuxK4QT"Ҍ*fiFȀ4ad@Q22 ͨbfTH3G3^92 ͨfT
`Ȁ4sd@Q92 ͨfTqH38GU#RfTqH38G
J9sd@Q92 ͨfTqH38GU#RfTqH38GU#ҌJF9sd@Q92 ͨfTqH38Gsd@Q92 ͨfTqH38Gs*ΑiFȀ4sd@Q92 U#Ҍ*ΑiFȀ4sd@Q92' ZM"Ngiy/Mݴ,	Y(D|df }a*18bAGrnrQJw&p_[`E蓠\8qh!Qz@WOh408yC7ؔ_vnq$ [H#ĀKШts{59#)Rn<wM.]W.&$VR=U)6Il.X\XyC9:f06~͍H)#1$N3)M>dlp `'
ԛ&|?*gJ)AD]N7Jڽ۪LUYaf#9XA "Kfa5Ƅ៾d8ӄ6x/q? }qʽ)	p3zu-i9:PEV=/1E_1jfHOvÎdM病kOy0"+])D~y</t'P%*֫ H.ק 5ъk)XM6/lN=u3nݤ8Mk;w|'P)5c%;!P	ѻk;Ue87׽~3I{Һ9.Ԑ_oFO%`#ew]Si4l;!Hl8~ZJTg^QHۢmå­YY,ܑ<h6a<lK09GBԔcp5ո{=rk|r{+|gg;mVg1|#u{n&jU;N=6̚o&%\cS1]p'*)%QqA)>ǋ]qǒ@(qgk3qZNy<}Txޗ57*ꂊfj҃tpkgAA Ux(,@Ѐƿh_aa$8eƗc.^GX	JPL9C{*SZ qB
i8u njHQKn_Eѭ Ɇd
Jһ+,˴EL[7ib[Kc+:]Oѥ  qi,BM<v&HB'D? d@1B⒀4&<zPf%?U-!.$řRA}uai#1I	s!c '*Dv,18gLc)-*t-/O?qSw	w2kSk֔)Qk{&tM+ĉ3$$}u01ix݂GZzJ;X@+X`Ҽ9V>Kp9e?wѴ$cI}vsY>eړ$'1hU0Qb+G	W`V6j_EK0(`J!%-8PʂHvZeY/"fjLE9X"0VmǱjV/xRE(n,etQ$;F,߈Ky6V2%YR#Z"xt`mk=A:X,*>:xE.{p]V^D=e	5mG_5
QeVe,yݙ(͜okG7Ò=<aؓNtcEY]OwL?pݙ2TwdΓj}T=-ZPk*ҋ8ݪGyݝ:-_
vRӵLUctj&TV̓WKRCe՚.Me4zի5lUGSk/VE\;-˽L)Qd~qtTȒ)W-֬SRT6uЕkMRZ঻Y0H*(K[YJeT;M4EPGql;=f2ى[Mzm,g>Z~kyQ*IyY7(Z;Ji@o s:ЛjOQgˏbdxz?`CR	\egj*n:ƪ~bB+[	QʌjJCqxGDf9Jf{SQ ҬpjK3"qfi $kJ!kL+ERiBПeYR4Ώ؞jV!;2ȕCeDhk[nF5^S,N.`nÊSb-*3hw+"r%#ݚJ$s1GTu;}CI0wQ%\,;NmBhb䐧}bR
ZlqCjE&Bٞ*K_VISMpǴpqb&3]Rʝ=cdળfQtqw'c\ڙzuLM;vp##q$t$Jc:J{Rg@y&ױKĎ!%yuWo	[.y	Sm+]dj!'׋Yx]V+i Q7ʒHq%BoO[`\r$$RZ+)v@x[+wox}Lj90Ԅ*<r	%Ƀ&w,zYי

}Y,=_lϑcLQ0a
J=Wkwٷ0sracʆI2EU&Zz|ٌJE_u>`Z@Ig)#SexV뵒AHh
UZAbPQЊK[`SarJhO0+cVI+~_I8U\XARѲpqT%^&Xhe	*k9<U]əEbK%uC/Ka];Pv|XEG]o YI*7>{ۋp"g%ﱆ0-9>3ߕ{E<ųٺ+g|V0:lo﯁OL)2>s6T7 S{+V~rWSA"87S DT(XjOKS슅*^,"*dҡz6}JARAQbhr
af޽٣w%YJwDp0=8ztClůdV{f4kc#5ȸaGh^͋}أ)eݚƯ[vhNhHᑏLM)C[zzA_tY4گr{H*BX_̹SܞVӚН3:J.R0Gq3kMm1<&-e3N#2CGT:OƦ![idԃÃ~Gp$6V<5_P`4ě%fL{Xt)7<ed$\eV cpsɞ̚d(==mw A3
)%\AC{}Ny%GB4?-2UIo١+m,9R.{\Yv)n6#Bl[%Ppx⾦KK%_&:t6ww3Dj81.>r:<kbfz|Wzu)Dz<Xzܷ%3uy37tdolpKJZ6.[՗Nƺq^v_Yf˰6}"}ϰ+MJoDd9t#T`32!ˈьV-e",%b	lh3z9ʠiH\#1QUF;ЯQe^hdX(鶘VGΜ ڻhԆswRmA"NIRU7N(i{d,Oco'V6$K<ZrcBIJG"5ƼSTXfRsirxhW8,y> ~+u9"G"s;8;vbK7, uqb/8U`x3X08_4'ex$K̲	\A$q604⋌iilF(08OZLJ$^ځ$8$-܊[C:U|Ecj]yA(8_mŋ(6m.5R.򋛬nH,y /n\#X|"}HYɬCʒO8^?!8}~b~~x'zQR{D/|G1D`t[Lu%LQ­8BƏ1gV<iT9"eyͶ/~ncC:^N%sw8;;vf~rCyAԃLiL!MP]o+a飀Xyr{=CÝڜ9<kF:,:Xs]/DWg1d -!8%ٗS>ugBԦbьMTC	Lh/VL)oZ@Hm &bC!`50ͽFZ%l6R@0;4bm<!qASұ[	1Ed[
,FP *@M|.c)\)ʋPT6= UFL&Aq*yObSXL
]@tJ{i_@ULer>8m*HjsɌ^7:aԑHGc=g.)GaYQE|_,ϒƈ0;i?wFa҆T(y'
,WbWv3ZrceggۢvmdQ,7#zTx!2$}S[}duRS~Z)gI2κ&a")!ңwqB]1p#~a'юfƼGh6Kt?]f6IݝْFrR/REc^-u_a/h$f`+OkV@慤K?>?]ʼ[%2쵢ZcR2-g!Z%|.g*od]:gk3         nodeconntype       INDX              DialogScript       F   CreateScript     &F   TypePropertiesOptions      F   Help      F   Contents.gz    F   ExtraFileOptions     F# Dialog script for null automatically generated 09/05/07 11:45:15

{
    name	null
    script	null
    label	Null


    help {
	""
    }

    inputlabel	1	"Input 0"
    inputlabel	2	"Input 1"
    inputlabel	3	"Input 2"
    inputlabel	4	"Input 3"

}
# Automatically generated script: Wednesday September 05, 11:45
\set noalias = 1
#
#  Creation script for null operator
#

if ( "$arg1" == "" ) then
    echo This script is intended as a creation script
    exit
endif

# Node $arg1 (Dop/null)
opspareds "" $arg1
opexprlanguage -s hscript $arg1
ParmsFromVfl := 1;
PrefixDroppedParmName := 1;
UseDSParms := 1;
ForbidOutsideParms := 1;
LockContents := 1;
CheckExternal := 1;
GzipContents := 1;
MakeDefault := 1;
PrefixDroppedParmLabel := 1;
UnlockOnCreate := 0;
      U[o0#ͯu`PbR4$4E&q.ڑT+~c]6psM~<#cx+(LBxYjWs@rNFg3dIMV1Dq؝L.L4Ե@dtdZ;`2dQ%ą;ɰeéanRHiUj;Utojļ@X DΔC8ݾVpIs'jb95MF"v3`	MkPBb(B&'ua`5T;ye3f='I:3ɁqH8a!:Su	f)NEҒ}ptLˤnbp/mJWa-#>F,]_Ntq=Lg_tovїGk,*١{#ٮGw_Z#}<a$H=cbo.8%3g+*f^Qn
)4vk5l[-7 kV4]B+[eb&DtZ*h؏cŔCz]8_Bga[$NztJd`F	a(7ˇ@T;U'>92>`~x1b:?::~R2      INDX              DialogScript      jQ%
   CreateScript  j  R`^Z   TypePropertiesOptions  %  Q%
   Help  &    Q%
   Tools.shelf  &  gQ%
   Contents.gz  ׍  R`^Z   InternalFileOptions    R`^Z   ExtraFileOptions    Q%
# Dialog script for pyrosolver::2.0 automatically generated 07/30/13 16:41:46

{
    name	pyrosolver::2.0
    script	pyrosolver::2.0
    label	"Pyro Solver"


    help {
	""
    }

    inputlabel	1	Object
    inputlabel	2	Pre-solve
    inputlabel	3	"Velocity Update"
    inputlabel	4	Advection
    inputlabel	5	"Sourcing (post-solve)"

    group {
	name	"combustion_1"
	label	"Simulation"

	parm {
	    name	"timescale"
	    label	"Timescale"
	    type	float
	    default	{ "1" }
	    range	{ 0 10 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"temp_diffusion"
	    label	"Temperature Diffusion"
	    type	float
	    default	{ "0.5" }
	    range	{ 0! 10 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	    parmtag	{ "units" "m1" }
	}
	parm {
	    name	"cooling_rate"
	    label	"Cooling Rate"
	    type	float
	    default	{ "0.75" }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"viscosity"
	    label	"Viscosity"
	    type	float
	    default	{ "0" }
	    range	{ 0 10 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"lift"
	    label	"Buoyancy Lift"
	    type	float
	    default	{ "5" }
	    range	{ 0 10 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	    parmtag	{ "units" "kg1m1s-2" }
	}
	parm {
	    name	"buoyancy_dir"
	    label	"Buoyancy Dir"
	    type	direction
	    size	3
	    default	{ "0" "1" "0" }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
    }

    group {
	name	"combustion_1_1"
	label	"Combustion"

	parm {
	    name	"enable_combustion"
	    label	"Enable Combustion"
	    type	toggle
	    default	{ "1" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"ignitiontemp"
	    label	"Ignition Temperature"
	    type	float
	    default	{ "0.1" }
	    disablewhen	"{ enable_combustion == 0 }"
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"burnrate"
	    label	"Burn Rate"
	    type	float
	    default	{ "0.9" }
	    disablewhen	"{ enable_combustion == 0 }"
	    range	{ 0! 1! }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"fuelinefficiency"
	    label	"Fuel Inefficiency"
	    type	float
	    default	{ "0.1" }
	    disablewhen	"{ enable_combustion == 0 }"
	    range	{ 0! 1! }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"heatoutput"
	    label	"Temperature Output"
	    type	float
	    default	{ "0.25" }
	    disablewhen	"{ enable_combustion == 0 }"
	    range	{ 0 10 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"gasrelease"
	    label	"Gas Released"
	    type	float
	    default	{ "15" }
	    disablewhen	"{ enable_combustion == 0 }"
	    range	{ 0 25 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	group {
	    name	"flames"
	    label	"Flames"

	    parm {
		name	"cooldown_time"
		label	"Flame Height"
		type	float
		default	{ "3" }
		disablewhen	"{ enable_combustion == 0 }"
		range	{ 0 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "parmvop" "1" }
	    }
	    parm {
		name	"enable_cooling_field"
		label	"Enable Cooling Field"
		type	toggle
		nolabel
		joinnext
		default	{ "1" }
		disablewhen	"{ enable_combustion == 0 }"
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"cooling_field"
		label	"Cooling Field"
		type	string
		default	{ "temperature" }
		disablewhen	"{ enable_cooling_field == 0 } { enable_combustion == 0 }"
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"cooling_field_range"
		label	"Cooling Field Range"
		type	float
		size	2
		default	{ "0" "1" }
		disablewhen	"{ enable_cooling_field == 0 } { enable_combustion == 0 }"
		range	{ 0 10 }
		export	none
	    }
	    parm {
		name	"remap_cooldown_time"
		label	"Remap Heat Cool Field"
		type	ramp_flt
		default	{ "2" }
		disablewhen	"{ enable_cooling_field == 0 } { enable_combustion == 0 }"
		range	{ 1! 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "parmvop" "1" }
		parmtag	{ "rampbasis_var" "remap_cooldown_time_the_basis_strings" }
		parmtag	{ "rampbasisdefault" "linear" }
		parmtag	{ "rampfloatdefault" "1pos ( 0 ) 1value ( 1 ) 1interp ( linear ) 2pos ( 1 ) 2value ( 0.10000000149011612 ) 2interp ( linear )" }
		parmtag	{ "rampkeys_var" "remap_cooldown_time_the_key_positions" }
		parmtag	{ "rampshowcontrolsdefault" "0" }
		parmtag	{ "rampvalues_var" "remap_cooldown_time_the_key_values" }
	    }
	}

	group {
	    name	"flames_1"
	    label	"Smoke"

	    parm {
		name	"emit_smoke"
		label	"Emit Smoke"
		type	toggle
		default	{ "1" }
		disablewhen	"{ enable_combustion == 0 }"
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"use_dense"
		label	"Create Dense Smoke"
		type	toggle
		default	{ "off" }
		disablewhen	"{ emit_smoke == 0 } { enable_combustion == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "parmvop" "1" }
	    }
	    parm {
		name	"source"
		label	"Source"
		type	ordinal
		default	{ "heat" }
		disablewhen	"{ emit_smoke == 0 } { enable_combustion == 0 }"
		menu	{
		    "burn"	"Burn    "
		    "heat"	"Heat"
		}
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"smoke_amount"
		label	"Smoke Amount"
		type	float
		default	{ "1" }
		disablewhen	"{ emit_smoke == 0 } { enable_combustion == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "parmvop" "1" }
	    }
	    parm {
		name	"heat_cutoff"
		label	"Heat Cutoff"
		type	float
		default	{ "0.2" }
		disablewhen	"{ emit_smoke == 0 } { enable_combustion == 0 } { source == burn }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "parmvop" "1" }
	    }
	    parm {
		name	"blend"
		label	"Blend Amount"
		type	float
		default	{ "0.2" }
		disablewhen	"{ emit_smoke == 0 } { enable_combustion == 0 } { source == burn }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "parmvop" "1" }
	    }
	}

	group {
	    name	"flames_2"
	    label	"Gas"

	    parm {
		name	"gas_heat_influence"
		label	"Flame Contribution"
		type	float
		default	{ "0.2" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"gas_burn_influence"
		label	"Burn Contribution"
		type	float
		default	{ "1" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	}

	group {
	    name	"flames_3"
	    label	"Temperature"

	    parm {
		name	"binf_temperature_to_flames"
		label	"Flames Influence Cooling Rate"
		type	toggle
		default	{ "0" }
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"temp_heat_influence"
		label	"Flame Contribution"
		type	float
		default	{ "0" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"temp_burn_influence"
		label	"Burn Contribution"
		type	float
		default	{ "1" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"flame_rate"
		label	"Drop Rate"
		type	float
		default	{ "1" }
		disablewhen	"{ binf_temperature_to_flames == 0 }"
		range	{ 0 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "parmvop" "1" }
	    }
	    parm {
		name	"flame_out_of_bound_influence"
		label	"Outer Area Drop Rate"
		type	float
		default	{ "0.5" }
		disablewhen	"{ binf_temperature_to_flames == 0 }"
		range	{ 0! 1! }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "parmvop" "1" }
	    }
	    parm {
		name	"flame_cutoff"
		label	"Flame Cutoff"
		type	float
		default	{ "2" }
		disablewhen	"{ binf_temperature_to_flames == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "parmvop" "1" }
	    }
	    parm {
		name	"flame_sharpness"
		label	"Sharpness"
		type	float
		default	{ "0.5" }
		disablewhen	"{ binf_temperature_to_flames == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "parmvop" "1" }
	    }
	}

	group {
	    name	"flames_4"
	    label	"Fuel"

	    parm {
		name	"advect_fuel"
		label	"Advect Fuel"
		type	toggle
		default	{ "0" }
		disablewhen	"{ enable_combustion == 0 }"
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"fuel_speed"
		label	"Fuel Speed"
		type	float
		default	{ "0.1" }
		disablewhen	"{ advect_fuel == 0 } { enable_combustion == 0 }"
		range	{ 0 10 }
		export	none
	    }
	}

    }

    group {
	name	"combustion_1_2"
	label	"Shape"

	parm {
	    name	"enable_dissipation"
	    label	"Dissipation"
	    type	toggle
	    nolabel
	    joinnext
	    default	{ "on" }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"evap"
	    label	"Dissipation"
	    type	float
	    default	{ "0.1" }
	    disablewhen	"{ enable_dissipation == 0 }"
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	    parmtag	{ "parmvop" "1" }
	}
	parm {
	    name	"enable_disturbance"
	    label	"Disturbance"
	    type	toggle
	    nolabel
	    joinnext
	    default	{ "0" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"dist_scale"
	    label	"Disturbance"
	    type	float
	    default	{ "0.5" }
	    disablewhen	"{ enable_disturbance == 0 }"
	    range	{ 0 10 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	    parmtag	{ "parmvop" "1" }
	}
	parm {
	    name	"enable_shredding"
	    label	"Shredding   "
	    type	toggle
	    nolabel
	    joinnext
	    default	{ "off" }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"shred_scale"
	    label	"Shredding"
	    type	float
	    default	{ "0.5" }
	    disablewhen	"{ enable_shredding == 0 }"
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"enable_sharpening"
	    label	"Sharpening"
	    type	toggle
	    nolabel
	    joinnext
	    default	{ "0" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"sharpenrate"
	    label	"Sharpening"
	    type	float
	    default	{ "0.5" }
	    disablewhen	"{ enable_sharpening == 0 }"
	    range	{ 0! 2 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"enable_turbulence"
	    label	"Turbulence"
	    type	toggle
	    nolabel
	    joinnext
	    default	{ "off" }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"turbulence_scale"
	    label	"Turbulence"
	    type	float
	    default	{ "0.1" }
	    disablewhen	"{ enable_turbulence == 0 }"
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	    parmtag	{ "parmvop" "1" }
	}
	parm {
	    name	"enable_confinement"
	    label	"Confinement  "
	    type	toggle
	    nolabel
	    joinnext
	    default	{ "off" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"confinementscale"
	    label	"Confinement"
	    type	float
	    default	{ "1" }
	    disablewhen	"{ enable_confinement == 0 }"
	    range	{ 0 10 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	group {
	    name	"wind_2"
	    label	"Dissipation"

	    parm {
		name	"use_dissipation_control_field"
		label	"Use Control Field"
		type	toggle
		nolabel
		joinnext
		default	{ "on" }
		disablewhen	"{ enable_dissipation == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "parmvop" "1" }
	    }
	    parm {
		name	"dissipation_control_field"
		label	"Control Field"
		type	string
		default	{ "temperature" }
		disablewhen	"{ use_dissipation_control_field == 0 } { enable_dissipation == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"dissipation_control_range"
		label	"Control Range"
		type	float
		size	2
		default	{ "0" "1" }
		disablewhen	"{ use_dissipation_control_field == 0 } { enable_dissipation == 0 }"
		range	{ 0 10 }
		export	none
	    }
	    parm {
		name	"remap_dissipation_field"
		label	"Remap Dissipation Field"
		type	ramp_flt
		default	{ "4" }
		disablewhen	"{ use_dissipation_control_field == 0 } { enable_dissipation == 0 }"
		range	{ 1! 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "parmvop" "1" }
		parmtag	{ "rampbasis_var" "remap_dissipation_field_the_basis_strings" }
		parmtag	{ "rampbasisdefault" "linear" }
		parmtag	{ "rampfloatdefault" "1pos ( 0 ) 1value ( 1 ) 1interp ( catmull-rom ) 2pos ( 0.17888999999999999 ) 2value ( 0.875 ) 2interp ( catmull-rom ) 3pos ( 0.36799999999999999 ) 3value ( 0.27000000000000002 ) 3interp ( catmull-rom ) 4pos ( 1 ) 4value ( 0 ) 4interp ( catmull-rom )" }
		parmtag	{ "rampkeys_var" "remap_dissipation_field_the_key_positions" }
		parmtag	{ "rampshowcontrolsdefault" "0" }
		parmtag	{ "rampvalues_var" "remap_dissipation_field_the_key_values" }
	    }
	}

	group {
	    name	"wind_2_1"
	    label	"Disturbance"

	    parm {
		name	"dist_target"
		label	"Field to Disturb"
		type	ordinal
		default	{ "vel" }
		disablewhen	"{ enable_disturbance == 0 }"
		menu	{
		    "temperature"	"Temperature"
		    "vel"	"Velocity"
		}
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"dist_density_cutoff"
		label	"Cutoff"
		type	float
		default	{ "0.15" }
		disablewhen	"{ enable_disturbance == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "parmvop" "1" }
	    }
	    parm {
		name	"dist_override_block_size"
		label	"Use Block Size"
		type	toggle
		default	{ "1" }
		disablewhen	"{ enable_disturbance == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "parmvop" "1" }
	    }
	    parm {
		name	"dist_block_size"
		label	"Block Size"
		type	float
		default	{ "0.2" }
		disablewhen	"{ dist_override_block_size == 0 } { enable_disturbance == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "parmvop" "1" }
	    }
	    parm {
		name	"dist_locality"
		label	"Locality"
		type	integer
		default	{ "1" }
		disablewhen	"{ enable_disturbance == 0 } { dist_override_block_size == 1 }"
		range	{ 1 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "parmvop" "1" }
	    }
	    group {
		name	"control_settings2"
		label	"Control Settings"

		parm {
		    name	"dist_use_control_field"
		    label	"Use Control Field"
		    type	toggle
		    nolabel
		    joinnext
		    default	{ "off" }
		    disablewhen	"{ enable_disturbance == 0 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		    parmtag	{ "parmvop" "1" }
		}
		parm {
		    name	"dist_control_field"
		    label	"Use Control Field"
		    type	string
		    default	{ "" }
		    disablewhen	"{ dist_use_control_field == 0 } { enable_disturbance == 0 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		}
		parm {
		    name	"dist_control_influence"
		    label	"Control Influence"
		    type	float
		    default	{ "0.5" }
		    disablewhen	"{ dist_use_control_field == 0 } { enable_disturbance == 0 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		    parmtag	{ "parmvop" "1" }
		}
		parm {
		    name	"dist_control_range"
		    label	"Control Range"
		    type	float
		    size	2
		    default	{ "0" "1" }
		    disablewhen	"{ dist_use_control_field == 0 } { enable_disturbance == 0 }"
		    range	{ 0 10 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		}
		parm {
		    name	"dist_remap_control_field"
		    label	"Remap Control Field"
		    type	toggle
		    default	{ "off" }
		    disablewhen	"{ dist_use_control_field == 0 } { enable_disturbance == 0 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		    parmtag	{ "parmvop" "1" }
		}
		parm {
		    name	"dist_control_field_ramp"
		    label	"Control Field Ramp"
		    type	ramp_flt
		    default	{ "2" }
		    disablewhen	"{ dist_use_control_field == 0 } { enable_disturbance == 0 } { dist_remap_control_field == 0 }"
		    range	{ 1! 10 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "rampbasis_var" "control_field_ramp_the_basis_strings" }
		    parmtag	{ "rampbasisdefault" "linear" }
		    parmtag	{ "rampfloatdefault" "1pos ( 0 ) 1value ( 0 ) 1interp ( linear ) 2pos ( 1 ) 2value ( 1 ) 2interp ( linear )" }
		    parmtag	{ "rampkeys_var" "control_field_ramp_the_key_positions" }
		    parmtag	{ "rampshowcontrolsdefault" "0" }
		    parmtag	{ "rampvalues_var" "control_field_ramp_the_key_values" }
		}
	    }

	    group {
		name	"control_settings2_1"
		label	"Bindings"

		parm {
		    name	"dist_thresh_field"
		    label	"Threshold Field"
		    type	string
		    default	{ "density" }
		    disablewhen	"{ enable_disturbance == 0 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		}
	    }

	}

	group {
	    name	"wind_2_2"
	    label	"Shredding"

	    parm {
		name	"shred_temp_threshold"
		label	"Temperature Threshold"
		type	float
		default	{ "0.75" }
		disablewhen	"{ enable_shredding == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "parmvop" "1" }
	    }
	    parm {
		name	"shred_fade"
		label	"Threshold Width"
		type	float
		default	{ "0.1" }
		disablewhen	"{ enable_shredding == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "parmvop" "1" }
	    }
	    parm {
		name	"shred_squash"
		label	"Squash"
		type	float
		default	{ "1" }
		disablewhen	"{ enable_shredding == 0 }"
		range	{ 0 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "parmvop" "1" }
	    }
	    parm {
		name	"shred_stretch"
		label	"Stretch"
		type	float
		default	{ "0.5" }
		disablewhen	"{ enable_shredding == 0 }"
		range	{ 0 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "parmvop" "1" }
	    }
	    parm {
		name	"clip_gradient"
		label	"Clip Influence Gradient"
		type	toggle
		nolabel
		joinnext
		default	{ "on" }
		disablewhen	"{ enable_shredding == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "parmvop" "1" }
	    }
	    parm {
		name	"clip_value"
		label	"Clip Gradient"
		type	float
		default	{ "7" }
		disablewhen	"{ clip_gradient == 0 } { enable_shredding == 0 }"
		range	{ 0 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "parmvop" "1" }
	    }
	    group {
		name	"shred_settings_2_1"
		label	"Control Settings"

		parm {
		    name	"shred_use_control_field"
		    label	"Use Control Field"
		    type	toggle
		    nolabel
		    joinnext
		    default	{ "off" }
		    disablewhen	"{ enable_shredding == 0 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		    parmtag	{ "parmvop" "1" }
		}
		parm {
		    name	"shred_control_field"
		    label	"Control Field"
		    type	string
		    default	{ "density" }
		    disablewhen	"{ shred_use_control_field == 0 } { enable_shredding == 0 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		}
		parm {
		    name	"shred_control_influence"
		    label	"Control Influence"
		    type	float
		    default	{ "0.5" }
		    disablewhen	"{ shred_use_control_field == 0 } { enable_shredding == 0 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		    parmtag	{ "parmvop" "1" }
		}
		parm {
		    name	"shred_control_range"
		    label	"Control Range"
		    type	vector2
		    size	2
		    default	{ "0" "1" }
		    disablewhen	"{ shred_use_control_field == 0 } { enable_shredding == 0 }"
		    range	{ -1 1 }
		    export	none
		}
		parm {
		    name	"remap_control_field"
		    label	"Remap Control Field"
		    type	toggle
		    default	{ "off" }
		    disablewhen	"{ shred_use_control_field == 0 } { enable_shredding == 0 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		    parmtag	{ "parmvop" "1" }
		}
		parm {
		    name	"control_field_ramp"
		    label	"Control Field Ramp"
		    type	ramp_flt
		    default	{ "2" }
		    disablewhen	"{ shred_use_control_field == 0 } { remap_control_field == 0 } { enable_shredding == 0 }"
		    range	{ 1! 10 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "rampbasis_var" "control_field_ramp_the_basis_strings" }
		    parmtag	{ "rampbasisdefault" "linear" }
		    parmtag	{ "rampfloatdefault" "1pos ( 0 ) 1value ( 0 ) 1interp ( linear ) 2pos ( 1 ) 2value ( 1 ) 2interp ( linear )" }
		    parmtag	{ "rampkeys_var" "control_field_ramp_the_key_positions" }
		    parmtag	{ "rampshowcontrolsdefault" "0" }
		    parmtag	{ "rampvalues_var" "control_field_ramp_the_key_values" }
		}
	    }

	    group {
		name	"shred_settings_2_1_1"
		label	"Visualization"

		parm {
		    name	"shred_visualize_shredding"
		    label	"Visualize Shredding"
		    type	toggle
		    default	{ "off" }
		    disablewhen	"{ enable_shredding == 0 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		}
		parm {
		    name	"shred_guideplane"
		    label	"Plane Orientation"
		    type	ordinal
		    default	{ "xy" }
		    disablewhen	"{ shred_visualize_shredding == 0 } { enable_shredding == 0 }"
		    menu	{
			"xy"	"XY plane     "
			"yz"	"YZ plane"
			"zx"	"ZX plane"
		    }
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		}
		parm {
		    name	"shred_guidevistype"
		    label	"Visualization Type"
		    type	ordinal
		    default	{ "speed" }
		    disablewhen	"{ enable_shredding == 0 } { shred_visualize_shredding == 0 }"
		    menu	{
			"none"	"None"
			"distance"	"Distance"
			"speed"	"Speed"
			"origin"	"Origin"
			"dir"	"Direction     "
			"value"	"Value"
		    }
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		}
		parm {
		    name	"shred_guidevismode"
		    label	"Visualization Mode"
		    type	ordinal
		    default	{ "false" }
		    disablewhen	"{ enable_shredding == 0 } { shred_visualize_shredding == 0 }"
		    menu	{
			"false"	"Infra-Red"
			"pink"	"White to Red"
			"mono"	"Grayscale"
			"blackbody"	"Black Body"
			"bipartite"	"Two-Tone"
		    }
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		}
		parm {
		    name	"shred_guidevisscale"
		    label	"Visualization Scale"
		    type	float
		    default	{ "1" }
		    disablewhen	"{ enable_shredding == 0 } { shred_visualize_shredding == 0 }"
		    range	{ 0 10 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		}
		parm {
		    name	"shred_guideplaneval"
		    label	"Plane Position"
		    type	float
		    default	{ "0" }
		    disablewhen	"{ enable_shredding == 0 } { shred_visualize_shredding == 0 }"
		    range	{ -1! 1! }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		}
		parm {
		    name	"shred_guidestreamerlen"
		    label	"Streamer Length"
		    type	float
		    default	{ "1" }
		    disablewhen	"{ enable_shredding == 0 } { shred_visualize_shredding == 0 }"
		    range	{ 0 10 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		}
		parm {
		    name	"shred_guidestreamerminspeed"
		    label	"Streamer Minimum Speed"
		    type	float
		    default	{ "0.001" }
		    disablewhen	"{ enable_shredding == 0 } { shred_visualize_shredding == 0 }"
		    range	{ 0 10 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		}
		parm {
		    name	"shred_guiderange"
		    label	"Visualization Range"
		    type	float
		    size	2
		    default	{ "0" "5" }
		    disablewhen	"{ enable_shredding == 0 } { shred_visualize_shredding == 0 }"
		    range	{ 0 10 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		}
	    }

	    group {
		name	"shred_settings_2_1_2"
		label	"Bindings"

		parm {
		    name	"shred_clear_temporary_fields"
		    label	"Clear Temporary Fields"
		    type	toggle
		    default	{ "on" }
		    disablewhen	"{ enable_shredding == 0 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		}
		parm {
		    name	"shred_temperature_field"
		    label	"Temperature Field"
		    type	string
		    default	{ "temperature" }
		    disablewhen	"{ enable_shredding == 0 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		}
		parm {
		    name	"shred_velocity_field"
		    label	"Velocity Field"
		    type	string
		    default	{ "vel" }
		    disablewhen	"{ enable_shredding == 0 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		}
	    }

	}

	group {
	    name	"wind_2_3"
	    label	"Sharpness"

	    parm {
		name	"sharpen_field"
		label	"Field Name"
		type	string
		default	{ "density" }
		disablewhen	"{ enable_sharpening == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"sharpen_locality"
		label	"Locality"
		type	integer
		default	{ "4" }
		disablewhen	"{ enable_sharpening == 0 }"
		range	{ 1! 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	}

	group {
	    name	"wind_2_4"
	    label	"Turbulence"

	    parm {
		name	"turb_swirl_size"
		label	"Swirl Size"
		type	float
		default	{ "1" }
		disablewhen	"{ enable_turbulence == 0 }"
		range	{ 0 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"turb_rough"
		label	"Grain"
		type	float
		default	{ "0.5" }
		disablewhen	"{ enable_turbulence == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "parmvop" "1" }
	    }
	    parm {
		name	"turb_pulse_length"
		label	"Pulse Length"
		type	float
		default	{ "0.5" }
		disablewhen	"{ enable_turbulence == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"turb_seed"
		label	"Seed"
		type	float
		default	{ "0" }
		disablewhen	"{ enable_turbulence == 0 }"
		range	{ 0 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"turb_control_threshold"
		label	"Influence Threshold"
		type	float
		default	{ "0.01" }
		disablewhen	"{ enable_turbulence == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "parmvop" "1" }
	    }
	    parm {
		name	"turb_turb"
		label	"Turbulence"
		type	integer
		default	{ "2" }
		disablewhen	"{ enable_turbulence == 0 }"
		range	{ 1 12 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "parmvop" "1" }
	    }
	    group {
		name	"control_settings"
		label	"Control Settings"

		parm {
		    name	"turb_use_control_field"
		    label	"Use Control Field"
		    type	toggle
		    nolabel
		    joinnext
		    default	{ "on" }
		    disablewhen	"{ enable_turbulence == 0 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		    parmtag	{ "parmvop" "1" }
		}
		parm {
		    name	"turb_control_field"
		    label	"Control Field"
		    type	string
		    default	{ "density" }
		    disablewhen	"{ turb_use_control_field == 0 } { enable_turbulence == 0 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		}
		parm {
		    name	"turb_control_influence"
		    label	"Control Influence"
		    type	float
		    default	{ "0.5" }
		    disablewhen	"{ turb_use_control_field == 0 } { enable_turbulence == 0 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		    parmtag	{ "parmvop" "1" }
		}
		parm {
		    name	"turb_control_range"
		    label	"Control Range"
		    type	float
		    size	2
		    default	{ "0" "1" }
		    disablewhen	"{ turb_use_control_field == 0 } { enable_turbulence == 0 }"
		    range	{ 0 10 }
		    export	none
		}
		parm {
		    name	"turb_remap_control_field"
		    label	"Remap Control Field"
		    type	toggle
		    default	{ "off" }
		    disablewhen	"{ turb_use_control_field == 0 } { enable_turbulence == 0 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		    parmtag	{ "parmvop" "1" }
		}
		parm {
		    name	"turb_control_ramp"
		    label	"Control Field Ramp"
		    type	ramp_flt
		    default	{ "2" }
		    disablewhen	"{ turb_use_control_field == 0 } { turb_remap_control_field == 0 } { enable_turbulence == 0 }"
		    range	{ 1! 10 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "rampbasis_var" "control_ramp_the_basis_strings" }
		    parmtag	{ "rampbasisdefault" "linear" }
		    parmtag	{ "rampfloatdefault" "1pos ( 0 ) 1value ( 0 ) 1interp ( linear ) 2pos ( 1 ) 2value ( 1 ) 2interp ( linear )" }
		    parmtag	{ "rampkeys_var" "control_ramp_the_key_positions" }
		    parmtag	{ "rampshowcontrolsdefault" "0" }
		    parmtag	{ "rampvalues_var" "control_ramp_the_key_values" }
		}
	    }

	    group {
		name	"control_settings_1"
		label	"Visualization"

		parm {
		    name	"turb_vis_turbulence"
		    label	"Visualize Turbulence"
		    type	toggle
		    default	{ "off" }
		    disablewhen	"{ enable_turbulence == 0 } { enable_turbulence == 0 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		}
		parm {
		    name	"turb_guideplane"
		    label	"Plane Orientation"
		    type	ordinal
		    default	{ "xy" }
		    disablewhen	"{ turb_vis_turbulence == 0 } { enable_turbulence == 0 }"
		    menu	{
			"xy"	"XY plane     "
			"yz"	"YZ plane"
			"zx"	"ZX plane"
		    }
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		}
		parm {
		    name	"turb_guidevistype"
		    label	"Visualization Type"
		    type	ordinal
		    default	{ "speed" }
		    disablewhen	"{ turb_vis_turbulence == 0 } { enable_turbulence == 0 }"
		    menu	{
			"none"	"None     "
			"distance"	"Distance"
			"speed"	"Speed"
			"origin"	"Origin"
			"dir"	"Direction     "
			"value"	"Value"
		    }
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		}
		parm {
		    name	"turb_guidevismode"
		    label	"Visualization Mode"
		    type	ordinal
		    default	{ "false" }
		    disablewhen	"{ turb_vis_turbulence == 0 } { enable_turbulence == 0 }"
		    menu	{
			"false"	"Infra-Red"
			"pink"	"White to Red"
			"mono"	"Grayscale"
			"blackbody"	"Black Body"
			"bipartite"	"Two-Tone"
		    }
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		}
		parm {
		    name	"turb_guidevisscale"
		    label	"Visualization Scale"
		    type	float
		    default	{ "1" }
		    disablewhen	"{ turb_vis_turbulence == 0 } { enable_turbulence == 0 }"
		    range	{ 0 10 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		}
		parm {
		    name	"turb_guideplaneval"
		    label	"Plane Position"
		    type	float
		    default	{ "0" }
		    disablewhen	"{ turb_vis_turbulence == 0 } { enable_turbulence == 0 }"
		    range	{ -1! 1! }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		}
		parm {
		    name	"turb_guidestreamerlen"
		    label	"Streamer Length"
		    type	float
		    default	{ "0.25" }
		    disablewhen	"{ turb_vis_turbulence == 0 } { enable_turbulence == 0 }"
		    range	{ 0 10 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		}
		parm {
		    name	"turb_guidestreamerminspeed"
		    label	"Streamer Minimum Speed"
		    type	float
		    default	{ "0.001" }
		    disablewhen	"{ turb_vis_turbulence == 0 } { enable_turbulence == 0 }"
		    range	{ 0 10 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		}
		parm {
		    name	"turb_guiderange"
		    label	"Visualization Range"
		    type	float
		    size	2
		    default	{ "0" "1" }
		    disablewhen	"{ turb_vis_turbulence == 0 } { enable_turbulence == 0 }"
		    range	{ 0 10 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		}
	    }

	    group {
		name	"control_settings_2"
		label	"Bindings"

		parm {
		    name	"turb_clear_temporary_fields"
		    label	"Clear Temporary Fields"
		    type	toggle
		    default	{ "on" }
		    disablewhen	"{ enable_turbulence == 0 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		}
		parm {
		    name	"turb_density_field"
		    label	"Density Field"
		    type	string
		    default	{ "temperature" }
		    disablewhen	"{ enable_turbulence == 0 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		}
		parm {
		    name	"turb_velocity_field"
		    label	"Velocity Field"
		    type	string
		    default	{ "vel" }
		    disablewhen	"{ enable_turbulence == 0 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		}
	    }

	}

	group {
	    name	"wind_2_5"
	    label	"Confinement"

	    parm {
		name	"conf_use_control_field"
		label	"Use Control Field"
		type	toggle
		nolabel
		joinnext
		default	{ "off" }
		disablewhen	"{ enable_confinement == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"conf_control_field"
		label	"Control Field"
		type	string
		default	{ "confinement" }
		disablewhen	"{ conf_use_control_field == 0 } { enable_confinement == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"conf_remap_control_field"
		label	"Remap Control Field"
		type	toggle
		default	{ "off" }
		disablewhen	"{ conf_use_control_field == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "parmvop" "1" }
	    }
	    parm {
		name	"conf_control_range"
		label	"Control Range"
		type	float
		size	2
		default	{ "0" "1" }
		disablewhen	"{ conf_use_control_field == 0 } { conf_remap_control_field == 0 } { enable_confinement == 0 }"
		range	{ 0 10 }
		export	none
	    }
	    parm {
		name	"conf_control_influence"
		label	"Control Influence"
		type	float
		default	{ "0.5" }
		disablewhen	"{ conf_use_control_field == 0 } { conf_remap_control_field == 0 } { enable_confinement == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "parmvop" "1" }
	    }
	    group {
		name	"visualization"
		label	"Visualization"

		parm {
		    name	"conf_visualize_confinement"
		    label	"Visualize Confinement"
		    type	toggle
		    default	{ "off" }
		    disablewhen	"{ enable_confinement == 0 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		}
		parm {
		    name	"conf_guideplane"
		    label	"Plane Orientation"
		    type	ordinal
		    default	{ "xy" }
		    disablewhen	"{ conf_visualize_confinement == 0 } { enable_confinement == 0 }"
		    menu	{
			"xy"	"XY plane     "
			"yz"	"YZ plane"
			"zx"	"ZX plane"
		    }
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		}
		parm {
		    name	"conf_guidevistype"
		    label	"Visualization Type"
		    type	ordinal
		    default	{ "speed" }
		    disablewhen	"{ conf_visualize_confinement == 0 } { enable_confinement == 0 }"
		    menu	{
			"none"	"None"
			"distance"	"Distance     "
			"speed"	"Speed"
			"origin"	"Origin"
			"dir"	"Direction"
			"value"	"Value"
		    }
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		}
		parm {
		    name	"conf_guidevismode"
		    label	"Visualization Mode"
		    type	ordinal
		    default	{ "false" }
		    disablewhen	"{ conf_visualize_confinement == 0 } { enable_confinement == 0 }"
		    menu	{
			"false"	"Infra-Red"
			"pink"	"White to Red"
			"mono"	"Grayscale"
			"blackbody"	"Black Body"
			"bipartite"	"Two-Tone"
		    }
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		}
		parm {
		    name	"conf_guidevisscale"
		    label	"Visualization Scale"
		    type	float
		    default	{ "1" }
		    disablewhen	"{ conf_visualize_confinement == 0 } { enable_confinement == 0 }"
		    range	{ 0 10 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		}
		parm {
		    name	"conf_guideplaneval"
		    label	"Plane Position"
		    type	float
		    default	{ "0" }
		    disablewhen	"{ conf_visualize_confinement == 0 } { enable_confinement == 0 }"
		    range	{ -1! 1! }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		}
		parm {
		    name	"conf_guidestreamerlen"
		    label	"Streamer Length"
		    type	float
		    default	{ "1" }
		    disablewhen	"{ conf_visualize_confinement == 0 } { enable_confinement == 0 }"
		    range	{ 0 10 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		}
		parm {
		    name	"conf_guidestreamerminspeed"
		    label	"Streamer Minimum Speed"
		    type	float
		    default	{ "0.001" }
		    disablewhen	"{ conf_visualize_confinement == 0 } { enable_confinement == 0 }"
		    range	{ 0 10 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		}
		parm {
		    name	"conf_guiderange"
		    label	"Visualization Range"
		    type	float
		    size	2
		    default	{ "0" "1" }
		    disablewhen	"{ conf_visualize_confinement == 0 } { enable_confinement == 0 }"
		    range	{ 0 10 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		}
	    }

	    group {
		name	"visualization_1"
		label	"Control Field Ramp"

		parm {
		    name	"conf_control_field_ramp2"
		    label	"Control Field Ramp"
		    type	ramp_flt
		    default	{ "2" }
		    disablewhen	"{ conf_use_control_field == 0 } { conf_remap_control_field == 0 } { enable_confinement == 0 }"
		    range	{ 1! 10 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "rampbasis_var" "control_field_ramp_the_basis_strings" }
		    parmtag	{ "rampbasisdefault" "linear" }
		    parmtag	{ "rampfloatdefault" "1pos ( 0 ) 1value ( 0 ) 1interp ( linear ) 2pos ( 1 ) 2value ( 1 ) 2interp ( linear )" }
		    parmtag	{ "rampkeys_var" "control_field_ramp_the_key_positions" }
		    parmtag	{ "rampshowcontrolsdefault" "0" }
		    parmtag	{ "rampvalues_var" "control_field_ramp_the_key_values" }
		}
	    }

	    group {
		name	"visualization_2"
		label	"Bindings"

		parm {
		    name	"conf_cleartemp"
		    label	"Clear Temporary Fields"
		    type	toggle
		    default	{ "on" }
		    disablewhen	"{ enable_confinement == 0 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		}
		parm {
		    name	"conf_vel"
		    label	"Velocity Field"
		    type	string
		    default	{ "vel" }
		    disablewhen	"{ enable_confinement == 0 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		}
		parm {
		    name	"conf_confinement"
		    label	"Confinement Field"
		    type	string
		    default	{ "confinement" }
		    disablewhen	"{ enable_confinement == 0 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		}
	    }

	}

    }

    group {
	name	"combustion_1_3"
	label	"Relationships"

	parm {
	    name	"enable_relationships"
	    label	"Enable Relationships"
	    type	toggle
	    default	{ "on" }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	group {
	    name	"std_switcher_0_6"
	    label	"Sources"

	    parm {
		name	"enable_source_relationship"
		label	"Enable Source Relationship"
		type	toggle
		default	{ "off" }
		disablewhen	"{ enable_relationships == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"sourcedest"
		label	"Add Source To"
		type	string
		default	{ "density" }
		disablewhen	"{ enable_relationships == 0 } { enable_source_relationship == 0 }"
		menureplace	{
		    "density"	"Density"
		    "temperature"	"Temperature"
		    "fuel"	"Fuel"
		}
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"sourcemerge"
		label	"Source Merge"
		type	ordinal
		joinnext
		default	{ "max" }
		disablewhen	"{ enable_relationships == 0 } { enable_source_relationship == 0 }"
		menu	{
		    "copy"	"Copy"
		    "add"	"Add"
		    "sub"	"Subtract"
		    "mul"	"Multiply"
		    "div"	"Divide"
		    "max"	"Maximum            "
		    "min"	"Minimum"
		    "average"	"Average"
		}
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"source_amount"
		label	"Scale"
		type	float
		default	{ "1" }
		disablewhen	"{ enable_relationships == 0 } { enable_source_relationship == 0 }"
		range	{ 0 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"sourcevelmerge"
		label	"Velocity Merge"
		type	ordinal
		joinnext
		default	{ "wavg" }
		disablewhen	"{ enable_relationships == 0 } { enable_source_relationship == 0 }"
		menu	{
		    "none"	"None"
		    "wavg"	"Weighted Average"
		    "netnewsource"	"Net New Source"
		}
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"scale_vel"
		label	"Scale"
		type	float
		default	{ "1" }
		disablewhen	"{ enable_relationships == 0 } { enable_source_relationship == 0 }"
		range	{ 0 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"sourcetemperaturemerge"
		label	"Temperature Merge"
		type	ordinal
		joinnext
		default	{ "wavg" }
		disablewhen	"{ enable_relationships == 0 } { enable_source_relationship == 0 }"
		menu	{
		    "none"	"None"
		    "wavg"	"Weighted Average"
		    "netnewsource"	"Net New Source"
		}
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"scale_temp"
		label	"Scale"
		type	float
		default	{ "1" }
		disablewhen	"{ enable_relationships == 0 } { enable_source_relationship == 0 }"
		range	{ 0 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"veltype"
		label	"Velocity Type"
		type	ordinal
		default	{ "rigidvelocity" }
		disablewhen	"{ enable_relationships == 0 } { enable_source_relationship == 0 }"
		menu	{
		    "rigidvelocity"	"Rigid Velocity"
		    "pointvelocity"	"Point Velocity"
		    "volumevelocity"	"Volume Velocity   "
		}
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	}

	group {
	    name	"std_switcher_0_6_1"
	    label	"Pumps"

	    parm {
		name	"enable_pump_relationship"
		label	"Enable Pump Relationship"
		type	toggle
		default	{ "off" }
		disablewhen	"{ enable_relationships == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"pumpvelmerge"
		label	"Velocity Merge"
		type	ordinal
		joinnext
		default	{ "blend" }
		disablewhen	"{ enable_relationships == 0 } { enable_pump_relationship == 0 }"
		menu	{
		    "blend"	"Blend              "
		    "add"	"Add"
		}
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"pumpvelscale"
		label	"Scale"
		type	float
		default	{ "1" }
		disablewhen	"{ enable_relationships == 0 } { enable_pump_relationship == 0 }"
		range	{ 0 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"pumpveltype"
		label	"Velocity Type"
		type	ordinal
		default	{ "rigidvelocity" }
		disablewhen	"{ enable_relationships == 0 } { enable_pump_relationship == 0 }"
		menu	{
		    "rigidvelocity"	"Rigid Velocity"
		    "pointvelocity"	"Point Velocity"
		    "volumevelocity"	"Volume Velocity"
		}
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"pumptemperaturemerge"
		label	"Temperature Merge"
		type	ordinal
		default	{ "none" }
		disablewhen	"{ enable_relationships == 0 } { enable_pump_relationship == 0 }"
		menu	{
		    "none"	"None"
		    "setinterior"	"Set Interior      "
		}
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	}

	group {
	    name	"std_switcher_0_6_2"
	    label	"Collisions"

	    parm {
		name	"enable_collision_relationship"
		label	"Enable Collision Relationship"
		type	toggle
		default	{ "on" }
		disablewhen	"{ enable_relationships == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"collisiontemperaturemerge"
		label	"Temperature Merge"
		type	ordinal
		default	{ "collisioninterior" }
		disablewhen	"{ enable_relationships == 0 } { enable_collision_relationship == 0 }"
		menu	{
		    "none"	"None"
		    "collisioninterior"	"Collision Interior"
		}
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"collision_usebandwidth"
		label	"Restrict Mask to Bandwidth"
		type	toggle
		default	{ "on" }
		disablewhen	"{ enable_relationships == 0 } { enable_collision_relationship == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"collision_usepointvelocity"
		label	"Use Point Velocity for Collisions"
		type	toggle
		default	{ "off" }
		disablewhen	"{ enable_relationships == 0 } { enable_collision_relationship == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"collision_usevolumevelocity"
		label	"Use Volume Velocity for Collisions"
		type	toggle
		default	{ "off" }
		disablewhen	"{ enable_relationships == 0 } { enable_collision_relationship == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"collision_allownonsdf"
		label	"Collide with Non-SDF"
		type	toggle
		default	{ "off" }
		disablewhen	"{ enable_relationships == 0 } { enable_collision_relationship == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"extrapolatecollision"
		label	"Extrapolate into Collisions"
		type	toggle
		default	{ "off" }
		disablewhen	"{ enable_relationships == 0 } { enable_collision_relationship == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"correctcollision"
		label	"Correct Collisions"
		type	toggle
		default	{ "on" }
		disablewhen	"{ enable_relationships == 0 } { enable_collision_relationship == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	}

	group {
	    name	"std_switcher_0_6_3"
	    label	"Sink"

	    parm {
		name	"enable_sink"
		label	"Enable Sink Relationship"
		type	toggle
		default	{ "off" }
		disablewhen	"{ enable_relationships == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	}

    }

    group {
	name	"combustion_1_4"
	label	"Advanced"

	parm {
	    name	"opencl"
	    label	"Use OpenCL"
	    type	toggle
	    default	{ "off" }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"minimumsubsteps"
	    label	"Min Substeps"
	    type	integer
	    default	{ "1" }
	    range	{ 0 10 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"substeps"
	    label	"Max Substeps"
	    type	integer
	    default	{ "1" }
	    range	{ 0 10 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"cflcond"
	    label	"CFL Condition"
	    type	float
	    default	{ "1" }
	    range	{ 0 10 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"frames_before_solve"
	    label	"Frames Before Solve"
	    type	integer
	    default	{ "0" }
	    range	{ 0 10 }
	    export	none
	}
	group {
	    name	"wind_6"
	    label	"External Forces"

	    parm {
		name	"scaled_forces"
		label	"Scaled Forces"
		type	string
		default	{ "*" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"absolute_forces"
		label	"Absolute Forces"
		type	string
		default	{ "" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	}

	group {
	    name	"wind_6_1"
	    label	"Rest Field"

	    parm {
		name	"enable_rest"
		label	"Enable Rest"
		type	toggle
		default	{ "off" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"dual_rest_fields"
		label	"Dual Rest Fields"
		type	toggle
		default	{ "on" }
		disablewhen	"{ enable_rest == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"rest_framedelay"
		label	"Frames Between Solves"
		type	float
		default	{ "50" }
		disablewhen	"{ enable_rest == 0 }"
		range	{ 0 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"rest_frameoffset"
		label	"Frame Offset"
		type	float
		default	{ "1" }
		disablewhen	"{ enable_rest == 0 }"
		range	{ 0 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"rest_advectspeed"
		label	"Rest Advection Rate"
		type	float
		default	{ "0.2" }
		disablewhen	"{ enable_rest == 0 }"
		range	{ 0 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	}

	group {
	    name	"wind_6_2"
	    label	"Projection"

	    parm {
		name	"projection_method"
		label	"Projection Method"
		type	ordinal
		default	{ "1" }
		menu	{
		    "0"	"PCG"
		    "1"	"Multigrid                   "
		}
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"multigrid_minpass"
		label	"Multigrid Iterations"
		type	integer
		default	{ "1" }
		disablewhen	"{ projection_method == 0 }"
		range	{ 0! 20 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	}

	group {
	    name	"wind_6_3"
	    label	"Advection"

	    parm {
		name	"advecttype"
		label	"Advection Type"
		type	ordinal
		joinnext
		default	{ "modifiedmaccormack" }
		menu	{
		    "single"	"Single Stage"
		    "bfecc"	"BFECC"
		    "modifiedmaccormack"	"Modified MacCormack"
		}
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"clampvalues"
		label	"Clamp Values"
		type	ordinal
		default	{ "revert" }
		disablewhen	"{ advecttype == single }"
		menu	{
		    "off"	"None"
		    "on"	"Clamp"
		    "revert"	"Revert"
		}
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"vel_advecttype"
		label	"Vel Advection Type"
		type	ordinal
		joinnext
		default	{ "modifiedmaccormack" }
		menu	{
		    "single"	"Single Stage"
		    "bfecc"	"BFECC"
		    "modifiedmaccormack"	"Modified MacCormack"
		}
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"vel_clampvalues"
		label	"Clamp Values"
		type	ordinal
		default	{ "revert" }
		disablewhen	"{ advecttype == single }"
		menu	{
		    "off"	"None"
		    "on"	"Clamp"
		    "revert"	"Revert"
		}
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"advectmethod"
		label	"Advection Method"
		type	ordinal
		default	{ "trace" }
		menu	{
		    "single"	"Single Step"
		    "trace"	"Trace"
		    "midpoint"	"Trace Midpoint          "
		    "hjweno"	"HJWENO"
		    "upwind"	"Upwind"
		}
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"advect_cfl"
		label	"Advect CFL"
		type	float
		default	{ "1.5" }
		range	{ 0 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	}

	group {
	    name	"wind_6_4"
	    label	"Timescale"

	    parm {
		name	"timescale_burn_influence"
		label	"Burn Influence"
		type	float
		default	{ "0" }
		range	{ 0! 1! }
		export	none
	    }
	    parm {
		name	"heat_influence"
		label	"Heat Influence"
		type	float
		default	{ "0.3" }
		range	{ 0! 1! }
		export	none
	    }
	}

	group {
	    name	"wind_6_5"
	    label	"Collisions"

	    parm {
		name	"correct_collisions"
		label	"Correct Collisions"
		type	toggle
		default	{ "1" }
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"feedbackscale"
		label	"Feedback Scale"
		type	float
		default	{ "0" }
		range	{ 0 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "units" "kg1m1s-2" }
	    }
	}

	group {
	    name	"wind_6_6"
	    label	"Clear Fields"

	    parm {
		name	"fieldsclear"
		label	"Fields to Clear"
		type	ordinal
		default	{ "none" }
		menu	{
		    "none"	"None"
		    "hidden"	"Hidden"
		    "static"	"Static"
		}
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"extraclear"
		label	"Additional"
		type	string
		default	{ "" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	}

    }

    parm {
	name	"addaffectors"
	label	"Make Objects Mutual Affectors"
	type	toggle
	default	{ "on" }
	range	{ 0 1 }
	export	none
	parmtag	{ "autoscope" "0000000000000000" }
    }
    parm {
	name	"uniquedataname"
	label	"Unique Data Name"
	type	toggle
	default	{ "off" }
	range	{ 0 1 }
	export	none
	parmtag	{ "autoscope" "0000000000000000" }
    }
    parm {
	name	"group"
	label	"Group"
	type	string
	default	{ "*" }
	menutoggle	{
	    [ "opmenu -l smokesolver_build2 group" ]
	}
	range	{ 0 1 }
	export	none
	parmtag	{ "autoscope" "0000000000000000" }
    }
    parm {
	name	"dataname"
	label	"Data Name"
	type	string
	default	{ "Solver" }
	range	{ 0 1 }
	export	none
	parmtag	{ "autoscope" "0000000000000000" }
    }
}
# Automatically generated script: Thursday October 17, 18:02 2013
\set noalias = 1
#
#  Creation script for pyrosolver::2.0 operator
#

if ( "$arg1" == "" ) then
    echo This script is intended as a creation script
    exit
endif

# Node $arg1 (Dop/pyrosolver::2.0)
opexprlanguage -s hscript $arg1
opuserdata -n '___Version___' -v '' $arg1
opuserdata -n '___toolcount___' -v '2' $arg1
opuserdata -n '___toolid___' -v 'dynamics_pyrobox' $arg1
SaveSpareParms := 0;
CheckExternal := 1;
GzipContents := 1;
UnlockOnCreate := 0;
SaveCachedCode := 0;
LockContents := 1;
MakeDefault := 1;
UseDSParms := 1;
ForbidOutsideParms := 1;
PrefixDroppedParmLabel := 0;
PrefixDroppedParmName := 0;
ParmsFromVfl := 0;
<?xml version="1.0" encoding="UTF-8"?>
<shelfDocument>
  <!-- This file contains definitions of shelves, toolbars, and tools.
 It should not be hand-edited when it is being used by the application.
 Note, that two definitions of the same element are not allowed in
 a single file. -->

  <tool name="$HDA_TABLE_$HDA_NAME" label="$HDA_LABEL" icon="$HDA_ICON">
    <toolMenuContext name="viewer">
      <contextNetType>DOP</contextNetType>
    </toolMenuContext>
    <toolMenuContext name="pop_viewer">
      <contextNetType>DOP</contextNetType>
    </toolMenuContext>
    <toolMenuContext name="network">
      <contextOpType>$HDA_TABLE/$HDA_NAME</contextOpType>
    </toolMenuContext>
    <toolSubmenu>Solvers</toolSubmenu>
    <script scriptType="python"><![CDATA[import doptoolutils

doptoolutils.genericTool(kwargs, '$HDA_NAME')]]></script>
  </tool>
</shelfDocument>
      [dI 5/1-&&=9Φ2#;#+#n_{##T| J !V++VB B/?puٽfv?=#"cvرcfǎ]d?fPeێi6ZcFbnOޗqu8p0q܏.^<s0=;gY8N8w^^L~I4XY4A쯤47#@G~w/9zIl2	)N&CH];{8^M'iptzhVφEZ1<1k$3M}NYtlu녣ԎNu^IinEJbU%&ip7]Yfa|EMƻ\IiVNNNቷhN'Չ/x-$?2S= \p)qﯠ,Bd5Z3 v0Ӈ+`iVIf%%|xf3 
XtZ4f>OyF޸VRQNoW4E$ѡl:-ԲRJS`5G^bn6N+htqG??=YWOt__|AJ6@HCߕ*ciwyR_T9srRL!amJ~,7fV*@O)E۱R)-J_RIlJB
.o>U*P*[RG`'TEbT*4JQ83R;GX2W*?bgJ~&J?'i	?M|_)dGlUw1U	RE)OBUwڃWh~*{_КJ!VeߘDU޻gMM彣꾴V\yﳿSGC`~T~x*4д;HxХG/B
mEoƆ{VxN8~{	K0;y-Q1J3q"|7)W2rOi*?x<r<0{7s%}'UO>dxi<D)k/{Ok${zCyk}ʷ>a぀O-S7ޭ|9\ нT7R炆Ef>Umڟ9}Z3G{|L8N:o&r-R[䀟`x-kD)˴K+?|`F>Q$2*&|B*rNƕr{?b@['~=T 5L gdT~f'uQy{R[e9Q3l*&4>.7Ufo
I-89#qd'y#G1N,6I/7z(oަ pz Ž5RieS>,ž'1FH<Z}/c)R{b8?_IJtL"7hi/7I7(g)f%)n~U>N2дb9{ò*31īǭHI- 2/70\ ǖ;heU5 SPO/'g=|[b<LtO\?R[OXdJg#(=IZ%;-%f~Z꿍ZO]vK4u2hqlb!.()D#ɿ?ыOO^>6,8LxoINzѥ1qǃ(PWm!q8d7"2z~6Hƣ`:ư1_3 MďFAR<04O.|*YB@2^QO#ߟ^Q810@>^3Y<n<at;Vp@2`UkFDƸC
_Tk7`d}d[7#B5A UȢ`3_{ÙO0Vq"!5ċFL\Aǲ|:G%TcU_&EʢtI04RI$I Yʄ`΀?0ޏ(ƕ(d*\*5?J7-+CӨ7ܼc,^E[ y5øAp>2 Gǆ^ycƷ	؟FhHjO/`Oßp&5| #~G}CJ}vG!fYE)5̚
>x1	 va ýƁCTEg
2 U֎_NԩZ?)@ḶKgǱ$3|"P;Vk*p<'0$xM(hؘI%QTkhmt!B	%G:>͚N|_DTk0@z8~$[K"&w2+P
>)<dpUk#]7}j\rR"ݤIZ4vsWP~n3Ƞ!<fh&U0gUA	w0\hm](
N1!`2amMD! z>ĩ!/ky!B7&v.AOf3:퍯H&}Y?쾸Y&RUN6L-M2|L") *nOZ'eH(0&d	j<龬Dj+UP#$Cיf!%sHUԞ}y&]uHط$Yb+r5`)a)&{s&U+<&>/@Ȍ<"
)r^/f5B7lZFXGsL¸t)$[,GxtmO]&3؎LLj	I^4<=Eت9/~\Pl/3滒Y}VNwQFp(^~HW+ Y Yoyo6Gzpxic?`gqǲulu,a=͆_Ialpgl]'x_*ztkPJt"qIYSa/^NPZŭd,|[Z<Iff-F!5ΥT,'W#?&g%{I5<<U(Ϳ@w'@}lH8G.pγ0$`(̺s-6ʧ)i\3jfi
r2?_Z^Mwڍ U|H 0MK46.S?lKיdc%Td,$i\5C{u3
a\v|/Sg`Gg$gr}L!a[;	U)s]7f	Z0ƫ3hH!n@1;(/M$H	GջV_$->&\DLYR"RImRic	?ݦ|\'֌*T*HB , Y	CXBݪ9UUЎW3mP	Ҋx1|(ӯUf1Vs2l8߂\ЖJOL@;+d	KA<]fc0 z@6ȏN}h=cɸ¨6y`</b#u6`r0Q=DXp')NI2HfIr?8G=Q ׻ 12##`0RfNT踢z#XFºSDk?lìx&kw~	E5q*Lj3?8=C+1N4?oH)֟7TmTtωjqTiV^&GvZ` L1IN㓬pA#s}7ω.>ʡ1Ǡ96 Zd
,2/69l4)0x'3wEl_ݤKf%rI
#k?r+nSz'۠ۄҵ^OWʋfڦoI;l2l?dIO(#)+)n1=+.z`HOJOs+%&$ˤ=y#%ynO&ifok>ڏMg^%:~#)&70N0AN~ڈ_FLYb+ew0|y@!>vi6@aǂ$`G$~Jk0R,p2g&˂,W#_zm?W>q-^g'Ϟ=Ʊaw6Ee,X/uڻj{1|wo>ziW<@<2gC`F Je~	m6^_U#0IPsJw&w(	|Ck61x'1ާ2_ńwPv7^~Jĳ3oM[y^
L^|.ۯɰ1)Fԩbw}iiBz%Hq$/xEu"3V#qdvʪuJ+Wfgv^DI~ tG,'%6%0
yq{D{?N6,psȈeckż&I}:E[C*!4e9dN߰7?iEѐ4Oǁb\-\?z=tsL`yB){2{=tÇOJ>g3U-QstM,{ގc$h*S<mkf0D;$t6:]^J^J"y+2rI֚PUk"r
S{`<	??$}6yOɇg͹4`Ѭ5r)eF/rۖm>$V0H+C'4(</
uu&L'}/JrBsR,}~L>$.O>lp=l*|3*ȧGKa;ϼ/aƳsh[@0SsOc73M==Sn<@#5sJ.*N(mJ.) Q.H~U]%{yhYρ	J6^ϑ6@%ޟ\se
Iѕ7%2}˴!Xk1ƒJ%M#G%CC#1kP/
F wbゃժ䑋BcV `dŢsh#nQEF2<&e4LLB?9?@6=!?@ 'x,MZ;7^&FP@2rd9|!.%1а?"K `9 ጄԡrE1fff~iPH=Q>r}:C}:#9cl@avt>U7VJwJT;_||ÐJ@o %S4&AWxumX\uFJub +t[Ut2-QL%,&iQC*ANʣPܽU<;cP'Q2Tsv
feNaT]N)ĐGab*/4.3O24L1[euw7)3D_W@~֖b39dKbPqSL&f&7**G8ǌjk?5O$@V$q-{[f`3.Y֪d"o~_K;po4+ge̻8z$6ǘCslpsj:req.;"%gxeEc<n&|i%JT4rմ"sD}ՕE:țԬ%Uj^PI#>M[a6Q܏"0'ðe7&AM!&T|ӽm^::QRݮ\OԒnoomlr^`ha&$GA2zsdb
%!.|6Ϣ5g>d)$-x0鄓pؑ&"o(Le7%*|4GD7$_"r\\L3Iր~NI~w0K=o_U6luϽfHj۝/.u#ByLhl~e6'^CP3p݃5nB2,\o߅78AMP-/9TUY5NY(%L!Ź{q_={r.EbQZa,yÑ$S`g%fU>x$c Ra`05jM"?>eǇ,P	rjx2^vC[~C
S73oe#b\rf;.a5wu)tqpD.l﷿<7cpA8'=sG}ҘcO^<]QolPu|gˎGYuӮoSLyXoq$	KNx(=<ف=f^qsoNň	/>}u]YGT24(pM;ݲ[I5|1dinORzR	ʿJLDv?.'Or
2cߛbd	j_R-fځ0]bYIʩ%BlXg&X(@n>9܌9,&|t`F9QE'Yrxk~qŲ0Oong^4Mcusɸ@_>5	p<c2rp#3ݍ{wŖdKlWCYmװ(F˿IGXM<#93Rf(ȏWJm,ɾ9٪;zEr=é76z+S@3\1Q`|c59.w!a(gEYX^+9d`]6)emކMC)̸ӨqA0x@0nD~ȸyAmGh
>fI7nw'FsWdcߺ}>1]!X6އ!CAxvE-)Xjp٪Bu0!٢#$-C̭YUG$峞>W{:8rk$caB W,-GR1jεHUA7'Yc< vLɤY7WW 0R~Z1#%VFhu8xEQӸb۸s!7%rA&y8>w`mns/!,$0f/v&|F"Zd-EjQ߯$1eYI8$9 - mBp;~ ?5#?&$
(D#9G%h(Uxꥀ䔐bYfYztQ,cޕ!H%9ٞA+[mnW/R)+T|*!r,lٜ>+~O/kjKnKRX쀼;-:s|M89'sj߱r:]VB\{ uǤta_3)ۋꋼIw	Gp/\[/f%\_[KR\y	<SKã/vao/	/h`puz4yJN>qM>dGt5qSAԮ#FMv-tS4[hI.\%1alhPT՛mwK
T5Y:Y{+IRP|wx;XHetF哙XefnMeQ/:C*xHq"qd:$5C%GIkuQ`J\pn'6{IZ&<r~[VT1ҕI	"
C372y|+̷eUn=˟_u@fCt\n:]yd\.2 U"o1ywsA<?_̟vДU#Rҁ[Ҹ)eڮvr&H(t$o3#/(ԣ
;`2~8$	Ź`&y4Eé]{4SDVۙW&1ZkD0^ecnW%/i;mo!nǺYYydKn7GXJM
m&H M GK;`AHPF-hhA~^vYGqƙJ2Os{Zf \(zqE5D_ۇ˷_jgL(uϕr&49{3KT]r(2K)xUZ,"5t"WBadGIpu?
µOՖj~e:	q΂X(x~y;$A }6/@#L!Mx*Rɉ?9|3^<2NKejy\O};7Pzgl{C$ƪ`4ǓRlf4x]uכBeźCL.#'USK8V+\<-ysF=+yRL CrZtH#Q-4!ִ9B]4w.{}?rͽpt2*)ulur/^yd3 ay-01Օb7C588&#C\R|Cx3cs5EZXE	)b zI{2$@jPY'3AL̃' 59:)&}cpm	? 3z8an3tK(aYE:@HPY$*`*n@2~P3kXZV$\ jSYps>T:3o2x&
Z&F)/7&(ɊԺ4?,%Ohv)eeha2W]icck\&/2mvE,BZVv34HQ6{ O.fm|R	
b/Q]qdS.0F|b2nޝm/]zӮ$62#a=./h^\| oigՄHU?e"$^ՈY:a0F^?Oztqi|,"-к]s
|e5wkKw}>ƃn~Y7/wsWT2qO|'oԣjpt{-w\Wox	9˗Em*ȳfʗ<zq&/ۂGyq&׶˶Rm[
˥r5iLW_5u2WUz^[S\+WQ{)KRmtl3O)KΡxlQËP+5M~.^0بo|q7VQgcD/}4+<@\쉓0oB-Zǀ\5f/pxCcJAG5/r/F'cwJ.VRDRK'MuRM/Uo*cUuQ싨jG]I{U]D#K{ь5!.F6qyy͏4I&%o/ySA~=m~.׀n6l.׊n6[!g^:k!Z(YY>Y^晤yK=z6LH9_ܡ˛o,Pls-r^)lrt1i5n\&,sARO[?Ԓ
.4SsS7Ǿ-yz_b_x +m`z6Gڇ}C(ɕB=x!=PlѓYX{ΑGdupI[z=йor@RЩazF@GâeKdv~\62ͭU+d!¾ll<c|h)ɓהZ{Q'Ģ$3@~?gM0FGOEV<n0=$}n_qU?xW71 	s{*JǛp|E)nE`(-cU>L:aϡ&(8d+.XbrՌ_nbd>z)sԍ㍌q𛙟gSn8(kH~32!:,r!Kb}s>GsD$%Fl<Q`{dxNa!آ$(INJ) {g?27>Ȁi܇޳][.|	D]5*ۡ`c6Cf!Amz4SLx&&,˪o
S&Qy%	Ts- j>:fjyK\ŏNj2' Uv R긚|~(ګxQM:
mpC]˝jTS$DVN1y^dD,<wt$8ʽ_9)9a&W1΢w2	>+_Y~~~y z'KCƶ1BKͣ͆8ǃ`쏐#r?ܺc5i	˽kvṬ2r87#!;\-2"E#:zq1[I6ywro\Y.PV4f/WZ\u]kM]܎{똫K2AQǨ(q%3[	;hND'pnnh&,q]4m؅nu-}\U6zleуD[ԿW.5U<Ot'겔EhnfځlvѦ	FיE0Mn~!v w/x桇Ef+d?; ȼTNSyJ2ji5>2{+mYb*UJpb,pU]{_!v
Ө v}o\C``ܼlܟs[,zeb|dnޘ1r!P0?Na"hŁnO,v<LPE5[zD\&|wۀa%I*u0;!'IBO|&JS	 'g= ^BN|&ݴn?Sy
d@o<KZ=PC=9׵~>i`B5'O?Sr]Y=Ji5*/k$5rYιa)@C4U'2H|fY{iH|jWXN2`rd,}-NY'\Yz^B4!O~c~d]Y-8>O5a.Ǔ4M#2HZq91kq/@א_Ҏ=܎R׌B|+ΓtOڰ7I5M%OZ7NugK6>4(NKᩕ-R
S+akTL@*29?ÖP{d&̰9$:#2%3a0ÆN*M,69J׌c\(-{.ꆖ$mDda\ųmnIIOI.eCl_2szVh&BٓeRqLҶ>%6#mY<<4lIҮx2eyiVRخdFdYa-g$2Me-ZlJ4.KںcϼLr$'$2I%3賮gf".mY&e7$m[<LJ4mGڲxeyi4]{ج$ed+@<Q %b✎AQQ\d>q!z{erw9]"r$
gs6lζ83uL FvY4aɭC+olf+g ~k&Ju7m|d$7o@A8sGt>I9˴*~!_8o\¢~~G[,)tC]P񵱒E.t,~&fY%YLͷL5W~|6x<Fy8!cY}ʹcq1cߵlA3er(9G Y͟7i$N;<3;QWw	wEȑaW^_c`?AQܼ*;GNc[
A0g$dnY0/G=}>+I[LD.ֆEI%#3.&K{`,8I*c[ܾ(<)
l.⸚?Z8hrU3|XsUYVKaVy?Aɿs8(#7
Q갼T	&xhO:g(,I7˶${i%0ʒhetPJMdJMTdVTR\artJ%MRJ	8vQ
V^Jt=劃
-eR,.ɔaSdx!:ee&c,G+YPȓJOD.{$\OBRfVyb6
-Bjp6U,GXRWt!2n6.!Oc);k~TesS"9B܏:,HޅiGWh.BgP]\pf<mPo4niޗF8Bt2$B".ˉc?$GGYpz6	l>{8-5D>	mB=p|@1
rw:h5d@pR<FVCa-AdeځMsjN6ͭٴFZhR	j%䓓|rO_Soozrڶi8%Ks,Ҽ5zOwy8޿C!^5j UzYo'@XhhOgީo躥/؏P߮|NpN%(wIxQ==ڏЮK,u3kn举yW(B7ta
^SQtB~~tP= Nm5-۵:M۶;7Az'[f2FmMcp CˬfZV8# ńQn9.jcv:H fڎKL0|:/'^?'KR#AtV?Ƨ>ΝypE=Ԩv0-i	=Ԩw\qZr띶e4a:q=V]c6vӲ,EIWÄ́(A${w0]ucE}ԪC'#N	Cm]Ԫ7:ۄN-˴V'E0:- t\mrA}OזZI5TՉ}S,^ӀphBnFuN-jkE2ۮ\2m6Ȧ#͖SڜT`n`YI~ZyZ.v	v\}~=_}v_>8Y
d95!4tӂA4:'8l-s`&1rjmhr:$J`:`sm6m@9ltVфNjJuW͘73:vC˩7[풜F*K(ܵwJx|/E~_XBz1uK.ҁj4fD	Ԁ.),s
vt
nI҅k6+1ۮLќ͢oh6H@s߅~fE?@;
hSasSC ͖abh5|v	z<;MBRx_ y$8;'^K.{á,}xXtڗ/p\ECԱI0K42٠$AVӍ|X>>,:!oW&lb'I	|<I88\h\(h
J6,nKب< 
PŎZIʐӎKyvJs7#=59Q=`n'
7sK5MX,a?=ɇ:`G	(	1*b8$nyΑM٦߶g>H|QVyY06$\խLWQl{rourjE2p6Bڄ \` GmMVC0G !~?RͶ}"1@SY0|ȧUIF/Plf	ͥCN
ǜ#.N@.P}"i߻r\?@@n-`V9w˿	#?Vl_
l owCH/oK%6WP;Xv8C}ߵ,>+Te0l-I$<;n9 V|{GUKj8y\^;~uD>I8g;?S$鮰F9y>E:u]w63o<d<"X1Sz͆HzNe vtk	N"5Ib-{t<Ӽf7#?2yAJ"WN}Z-rz a|f/)az^wBl	HU:؋ݡIM0UuzLq'l2)6d5{жM -Vdyy鹎]ࠃ>M]uqT?7*rr?2_VoVMw䀵e5A=lhP r/y^87H@W?6Cv'zơO|yG|}yg9WJVY'`|(&zK gK2#D>OP2~i n87U[DZґ8:F
~3*4wcS$ZmWX2rae"(C4E	PidIqLҹ9)#P CoN':A̺_wfʰlehW.i3CɬΌX%sҕĘ$5lcwԝaSm[鬆Tp!g|\oPg td耲,	0(dq~G0,]Z@PWt]ފJ*QE}ccYVZ	kYo'E˩5ݕCVZCR⽭6H+[z×Ҫ۶e;۵l퍐lS/ ~0q	(s5yePܽfܗFh#4bZ8҈n		P~L0sot-4$֏E #ORRڀKQ QsX	"eP# ax-9a0q:Ngʐ,yu$8u.&b[MCLM3E!`0!L+ѥ]{bd *K!=)3IgCقb`L^:&aP B8Y'w>y_>ts%ؼ}*<t7Ʋm:FΌDMTi=̃ibG9,txs~3eF;
%o#uFOUu5胱EV>3^VCJ톛Zz̛3s܍3FtW/h7b1]=M%Pl-\o6dvr0g*]%ܐ6]8l&cq
ovo~rF&{X4zF5I*nM,l2n${U`$|LFݵP %nYN[ę+Y6z&n5Ǳ%nfx^8~7}ݛ{Z)B̦yMaGN?@2"F'iwNr<NFnö0kYFKbv*	x`G}#(-Ph%_i9IvI?_h366lҸN*AiOWmV)ŔzmtZMp.6]εvkNf5)%g@s_WוO2*>E%D^HyŻXWln|pxx)N,u8۳_B-rDhk>7y]9m9Fڑ%.\XTX:X7P'a/qYr
}+ׯ1:5kvOE/XcBUFrPJFȒXtXe0]IvSܰkLiXfG<Zj){0qU08ZTڃ9Yxe|0ASTP>qDB^ٖv\m:RƩ#L#٥b3onc|)[n>3ѭp;*lhe7 X5iR'FN*Vk*WllNp;DuGX]}x֔ǩ?HێV\.r"|9g&HLy}F*/*<ҮCڸArhqGד[60?yn
掾
ڵ6c{cE"gMӱ:U["빈16ҧ*pi5l3,6wۙ!:U`r7F#0sv۹ks/)K76.t9tsxp60<񆢹F4bKg5:Mp5إ߱Om=4+
M?j_LdO5ӘvàMM#yqn0
N䏚>"𓎎iwˠ:Pƃ 97a޲,S0AeÜEgY#VsS*>9_QF?|ʗz!o(BzevhbM@4so=aCvqMϤC eETJp:'Yt"00i9]OJe	{ncJ}Dztk4&S{;F5}s˖xr>)}C'XSVu}Wi?uU_aYG"\9HV]Ŕ1di!W]9k*-2̶tÆ:#}6lТ82pGK#9ۻT1{{h' ;`l%.,qۮՄՀvWFzQrUQScSp.+N2\Q^'KvΰζwpSa袁*遼>_M0rE,t#|I^s(V.j<w*U0
ԓf7Vݳisou9MjjR}&<hQ4N/ٓSЪU)^+`L+&SVL!2뭘LCdȚ24d
"kk0Dѐ)`M]+P+(ItbBP'.* &	
	u"bBШP'6* &	
GNrT@LjFrl䨀P'9* &I
	ubB䨀P'9* &I
NrT@L$GĄ	J#9NrT@L$GĄ:Q1NrT@L:Q1NrT@L$GĄZF#9NrT@L$GĄ:Q1NrT@l$GĄ:Q1NrT@L$GĄZX#9䨀P'9* &I
	ub_'9* &I
	ubB䨀P'9*{sW׮ۚ\%Y78pț:lê7>ڪ{mq/np=5vnp93΅2xƂS|umg>fughAH\[]}ՆI-NoMV(	#R0hk7;s6+Yb&Ʋ;WP@y CIS:@8$=B#PG}Hn&&x`|OgdSC^P9G:qye-kQ_kEI%^jb%м͟Оz7Y-a& =3=3=35 9H`J_KqNΤ[5bK53:u(ʢjWކFrǒLk;mC'8VI_52ku~3FWfݨݬntfwwR79d{ZYx7`8maN%,]4mЪ[N8bpZpc-Vj	%,drΫi1뵔Dr{i"$Wo6o'ټ7fu0[Ͳv[M`7CڎMGjײM8OqE1>2/i1$-*QF]1M:BI8*qH*|rO.X}hw]e>vQv)CZӥ&-z5LAGJo29 %kk\g#Kƅ:ƅ:ʅ.'uuj,BBu"D9xs(
bV\8H4'	DphN&I`$M.qYH8)2\6׀g5pfk(f+M\_u+ڬZFvlm7Np(GLPy,K1Fjdj|FZX*pKVbct$-Dn (PJVHO#fb<g7rLCy@T;9wڭ6^;M6Z$qʇs {w5Z3	NrY06'Xnkk9q폸vk)vs[XF<,i`ٍIްh;nuZ'v[yh"KYQ=%>N# o,mYQ8QbȕLE-,K'a5 C4i>nQZ6H}Hq:"]'T~.?)NJȗ"_p/rs 	w7>D!rxНU+jeRuZnmvMm[_v.zknjXjLhh9N_f ,i{djA/k0N1_;C҆Pq<
D0 Dq~e`1 ۼ:ǀ7S> n0JwQIkܥ,3#te*ͦxfu5T\kp*m֭4,v2KڙJb;gJe4
gX!Wi?~9"r
/c:HA eA 8HR*lկUgdM +9i=}o{Ѣᤋ&`/ z>ͧL6KucJ;>汼3aO<Ɗ+Csy$%DZO2ؐ0WNqi0EHa~ب<i(Ӗx"ͨ"GIeiG?F /jwT܄q𛙿09'~Ga鋌L(:%ܤGz3U ,Oԏ*_%˗?r,b'XNg|	
ױIɋ~bl_
lhowD_9!vMyۗB%4s+VDԈ[Vt6
q{"$a9y|s[5NN߶g w{ot>4yJR5?.RwU֝m:]cI8g;?$鮰F9y/c O=UئevχEMvWZ$8*O~Q$L}Q%t&_ȡdmڎmTE4-S]|VI*0\j;ɯ2u;UsmL	S"+FX-AJ0nK$$:{.c8Qz0rJ0>W?y^87^>}O=~qՏÐ=㇯<q蓤/_)ѧ/>Fk@AUj)M`9=>PM<%rL.y:Ppﾫ2ěҺ1bV.WeW㊼/*xwU,:2	5%L*bO4s	5IWTY63Lz+N'U\y&='W@I(E_ɀ,Ki7g`{ en+Hax.`زRآMU<IVk)u-d7':ujiT8\Kf	ȇtxCѱ9ZxUz5i5{<ۻXpwNtm[#=B3إUNF]lKĎ^D.yZaoIKX=a*!;jVZvnU.6&	Q?E7ESImD4x%S	hm/%soG.=kYJ#Cy3$cQ-g*%Ԯ7;ޮixpor0ح1Ki,j	m@E|Mh	`:G/_Mn[ųk	Z2;"*ש:&ݳNyxM^bʚ mKFqvLޛ{3yo&fu5,L=S^Ʈ3N[NkNnBN{-dcU0SHlb✶Vc-b6p{om6;`7gS䥈R![le煮Rաo-v<m˨XMC؟^s$VKf77wmt5R^\Jĝ>(8]aCPh~Aruo!EY3yl3.y/k&&U;֕Yꪕ~*ukNg5kXuir߅z2QDheE#mh<5VNh3C:f3C:]$Hx7ŋٜAE/i&FtCE8\NjN9춛wKnj2`j`cj@0᠛;T<f.3}r!;}vA|R4Xn.S.E6wO3E(w%f&[gyT*@h¶6߶N:j7ڂEղ,nE^3́B؄~\ajX?V]êV{I+93neg\EK78u]ߵr'1vNCo_ X` &GSlS86}.Q2zpx3pmdoIlZ[Ȗlê$n5JnH\zD;^ЙIi5f25pdM|MB}dƸPgPAdq΂q΃r!&p> d\`\`r?4s;#MCQ" (GD)/Xƅf%͉oA08)(儓⡢ɅqR8X4	'EphN:޹<3Vd8F+$hr?IevDQ]a5FpdNUpztyOq8{ݎڹU	KZN91Ă*
>UJcr	݁%tn;QZ\5kDّ:,Nw&Aoenr"jXm%GVèfMBhq'itSZm#jR2a!QmI_;}d>CvTXNdJd?ֲʅi1tGJP;PuyT6b^5G!.)dA&6d,iZQ+`L)`L)`L)`!SYSC!LCdm:2wojE#)NTT@LEĄ:Q1NdT@LFĄ:QI
	ubBH$GĄ:Q1NrT@L$GĄ:QI
	ubB䨀P;Ai$I
	ubB䨀P'9* &I
	uy_'9* &I
	ubB䨀Pkh$I
	ubB䨀P'9* &I
M?䨀P'9* &I
	ubB䨀Pkk$$GĄ:Q1NrT@l$GĄ:Q1NrT@L$G\v{◱J]U%gRٍ.}.'zG¦j,8foa5'%.(vtȔ;GN(a+ו\0o>ݒDTƮ;f^I^{}y4ܜCjR$=$	vSe_7e5M[Q⦭TgK7s69m5KYn){Jpѕh͢6iEmjvk	'tkWKI>(-"Xj-_bof5Y#ڹ#o3UXĥkNbVʗrnաiմ g0[ӼWm%8ɘ:]y_wvyn|{$a"gy^H}.1qe.lSm;0]$n~{~]޾qo߼}a,\Mw}5{w_WCw}5{w_WCw}5{w_;o,:*nMݠo9wNt."ݬi/:nԔIZ|~lc*ޮ(KE{=ź^Nv[f=+q^y~ qNa*,,k7vxͩ)Τ+e{dbPq3@QiY+{BK5jW3Yoqت[mmꝁ
hMzkW[A^oRX6AH!6}ş?!hӨ!QpCP(,>5nځ2<Pƫ`K>~#iGnSQȅw]ln囯iW6?/Qʿ%Niơ[omS;q}3Yi4Ww}m# 'f2ȡ
eJECեɔ;rnzj/UO:zMrOX疕)=JN[T|͖VjתKXRWv4Ey
tR8l-D-Ҥ^Qy:)gB[I"EtKBfEGG9h>Qry4P7f)!tĩ AHѨe+>GqĖs}-q݆UtozGjl5굴AXmڎm#9ڴ%,C% F;aF~t`dtp)16@'R=1YHl2۪w6 ):`<oj1Lހa:Gh l{qd!/jFB|Qe|3qe[:ff,=ݼ{69y|){.I9E!E)1y:혖մEj)F&i	F[ԍ	S*Qh	`x(5rnc5-TX5l{ފFJct@§B?&W.K.UtB6jG^Nۤ~H%g*fnR8mJsS{ϼ!,һ+cVʇ,a?
c/-\Tmgh?Z_Y[BfW*Hݕ
2e2F7#p;cTEF8#6 vZnr$)R[հ+\0c'GbN '`-oxl2E>eIN0*޹йsUO>I[t
RMS=d1ŒT"0d!D)FtxyTDd)!Kq0@x1RJʓ ǣuN-	%ѩ"``[$A3d[[ٚV	OEǣXR6C'xx&2ªOOdL΢|q"S)La )V'mHO)V(h	&tQrSjaDu6xn+AUgE6Eq-UfvaDu6GQYQ=[3n#%rJIxQϼA®"q0`Y͇Ffϝd6D3WΙ"؋I|<^<?jVMt4;'\{izAZOIxL&x	DG"+Fd"`#r[-]nW k2WgԹ:9kSιjrܖqg*G<e]
̺ιP$UzV9inuۋ^沑I*HUMZInVYιliO+<LggǼ̆ߥ9ory¶NW)l\&\dIR  m:_vCߔ=XC_z=Mk[7ݶJ')2?}WLo.',Jw1XLc0:gne2LJzdq;,p5j5ݶhu4#EӒiϻ)蒴B)J[<,j\Z*=[;-9dx[r/%\Df' ,,Jz-iZb(ɆRt'sb_&	Q,>ɴ1Tdqnxi8hP)-J(&)t%y>zs"\c!:Ϭۍ9}o/$;IX'G`&W`J؆#%ňpDfO]VIC#@|Jyyi|JxJy}y߭MxawnsY10sNv8uuiN+kQ.Ԯui4phV,MtwϷ,[#ķNm%p[%I Eq DrFհܬVMц$<l}!)_H\z(!9q	z-v.+aC4	V薷9%5n-XVBdTU˶"5Fu)v(Y|2cJNWuU`רky}BCy+9uZI}GJ坤{Iq̖urVSrV9Jq{ë?K2_L55^N\ߚᭉ^IXzuqSk WQ)eu-"6oѕ;O(¥rS73/^%rORr괷w(=&¦rozk[OƺvxPsoK]YrW66XE]*ȹ(oUCJlpdE<4JexוxR/(v.jM04@dx:cV$-H|[\#(p74n6;`An?\[g<$	\+#"p"
A%XC(ut>iбX 
L	S(:Y*VQ:jS}}RX,H01.	LgoB#89'FV.ȓʥѩ7[eZuu?49F]Ο6
c3mn
LfvHbKlaN&EBʒUf_d	ƺuv}vJ,#3g;K*kSfXoBɕ;9ܡS_3yg{i8򺑭
gx0Q"d*U>C)od//#zG]ZCAwa&սD6$mW0XuAqL3Whg9NTZ0!7ЄYϹaf-cTk5hjȡ&Ć]Q׶MX&gÅOA4OO/`;~Ͼza)$*b4v%AK.H3YAD+)	4)跴%)j~c6wh-}?ipAB&ەOOyS
rnap\K3癗搕|:,Q%/pum<ÈѨF0gqcPZb'^1HF8,Rމ?÷0U4x
0|} ~zP|+f *R+_d4N23,sq п0à=`Bw_>Stܿyy'C{j;Ii	xBA64SA7L0L%ޅqJWh&/(E%MrP-Tz:Aq܋ A51L.P̈	y@C/h]f`K7tHr2T<s- /Q8s0xڏh9i׿/c:}N
B(B9QFI}=կUgjwx֑IS㓹ECd&_&|A)RصҎ|Rqig&<RIb'I	8|6:>IL}+'׸4XESXQMy@KruiF9J*CN;ժLxImBᮝ
}p6~3&'%IɯsӿH1	4H3VdȟQiCq,_r,|7X~˱`nysZ8IDXۗۻ![}NH]SP	J*v+fw"DmG\6IrΟDsnM~3&OщVV㾁Y.WYw?,v}pMvnsI]ar;/_!:LTy8žiTΓj,+vL|<#~VA<t"=AmliZ\/VEonSX;rbI<|:Lc;O{ZYrl?:3:LLBƕ-/[Ȗl;#[L_2k\8s	s0%0r
_]ǣ\?hv(sC  9<ygFo^t>ɧaHҎWO~8I/^ӗ5Z !*S։|^8BrCgbxU؍AZkc)D
>	{m$+ )<5G6b#6F޸;.vbm>!*dV,INi$Mw%@%D&ZԬ	!na_>ha`j&(F_6BgWP\'X.`aRuWσ`bw+	2r4ْiiat)oa<
	I8>'p>vd&Zˬ3<fQ@iS-'n;!ӄ&%aF4ļi┳-'Yps^;Mj:ѶӁkF[j0%U#鴙~H=nQUq>.L@ x́K¹)R=
TUD6wv_}ػ|Qhaxy&ԂZaݪo=ߩ3`r*z$Yƞі߫d}iNSv?<dKw#g:nn(q7_..id.g	Mdrўr~&n.B;q0VwGmYfL<P	L1qnJ*bFqwⰦ">9ry&lތ (炖l}274HY/OyէK:Fhhp7U%0.Zk ?b[t~gX ![e	l6AT-%c\c`19;'W]+d<SSG6SwI(Tn1.UWz~bR#51ekʲ^Fe|:+2/=}AJlMF+$iY.O31ؑ=.bKj+Y7!.b><:x+`x659n6s{QuJAP6i*\qT\^팃. _4ydҐ/P/J>QPՍPxY@C[r32a.4A4A4^P[puWnGwM%w38*o;!¤	
MFzBG^~ٖ]Xn[D]?](q4j0F!ӭlPfUdAYW&AA;跽Fl ߚLF6r uiųOoKP[	[擀%9Hg/[%w#e%̻28ϣfq½vL`Mhj3/3mn6"ѷ|N1qkGٍ_ iP85;Q	T9Cd3TB@Gq(PXq?bU	g1.UwSLtR&x*:bY.B"
BMft]>ݗ,)B7$>M˄6U9ڌ5qjq
Ntkq&'.`U%`Jw7u'm--(b$c.u֢Z^&R`rV6J`K}3$SBP ZN+D}	9_QYi(]5Uҿ JX6寉KgƅEuи\WmG=dlÒ=86>VFvBO6Q*l|jO[fz\3	&K?LB!xLzWEgV;*&Hle-66#OHWWi9W@&H~$x0$/]~U
v >#聥zc{|{So0'EC0=AC1}̃O5A){x~-n32]ڪ/m@&y}]M0p+
'	;d6z<Uʣ]hɲ"e^Q,rDC(iD#*Bcf>DrjOn#^Qw|[#¸0eX52X'XUSG<RRLbMqJHG?Xq4hKlr*VE!'VFzz0bBOɼȗa@;y7zer{w<E<!a2 %,rȒe^,4
hVthBy/*6@bHTO
xdh 1Ttiըحе'(oCcB1ҐPH;(8"HЄ~02?{F9_kC?LTJ!%hլwFq5/ [cpkny5..g%Wo/ v;jGG5(CD9Zt]r.HzsNq.nThYO[M<_XFIgƠ@|]jX7{O22G b|'tcF}"*x"NlY/bpYbAѤ͆u^6R_cJ(Q2U$3s_RGYZV~~bbl/XxΒJgb(F]Вg:0FQh L5S h@1$Z0!h L h	$Z0{@2
)c1f
c1
c1
c1Ɓjc"9P!BqT@@qT@@qT@@qTB1΁

qT@@qT@@qT@@c"9P!b"9P!91΁
1΁
T?s B8*Ds B8*Ds BDcsBs B8*Ds B8*1΁
1΁
*p ;͔i["4[ӾYQ BvWaG(xZ63Z-T(~.lYǲKxC!pNv)H:1<uwcC y	(Lc.wE!tr;	sp9kg]BdX QsB6{
ZRsC-/;\s>934qO56nu[{=A:qDhy]`PIHҴ-j2q:qEUuJB6r,[-򄶉z,Es֖Fx}Z4?m/E`ݤLGwX±ܸڞM=JZm/W/jZ%;ͿS}?Cy<Nxې̹;ś.#}Ta*԰%p%ppق
8lIEIGANU[RwQRQad,pXG`=Z% r~ |s"AW/օ$Q(i_*H/%%I\QҾ\^JJZܹ}2EѰ|9xnpmcߕvb୒*
чXxpBk))x*W=hfI3 &Y.!ƺ==X|\8	x>=`La6mcieU,|z,:۹4|QG_NeקSij&U28Z?fjbxn[>ʏR[6lj	!|
K+y"(uG0. qp p5%;벁dgmFpi7|mGKI<t{.у鎗lCFFJؕBYt6)vŮqږ>B!5tvRIc'aHba\M<<ˠ1)\@|0&ƤK3&tA+R R˧;-еM'IzħIrcy)iTxóVx+'V.4A3Oa-ZTȂb-ǳouxf-#e<R|q<<J}۴*xlCdAwӈygQ4oݍ8j3DrⲒ"6D\HpΛuyDv5L	,+Na_x+%[TQQs*$xuQ\WQnȍ+u#|1Ϯg [B)'h%c7M8\9Ofl~y?m ڪl?ZLF1vZҬfLo$\	KFo%ZfX wC/9|Ek<KXB.S-ly_$d9yݎ)~<]_}\<qXكfx+y$7*ӅP._g!'o<<EEe}VoPit ;|&\l]n(ɸ4HU%WzʧB˖cAd4,9\ݓ$FԧKz*	o(d;*Bd-|CMHV+^Uʄ,(]. ![ZC6 ɿ$߳ *;^I㧢KVyv`ʼA*y_]vn[:OyXqK=om aCN_K*;S؜ZGwvؕ!Dh|{K038]f~<3\ȗ+'7?W?o]eZ:|mF1vrK=οzx>fo{#ϛeus,}tĸ ŗIAy!:? O]PHt_ȸ/k$Un>nI۠?eMZhlNvC?AtA,ۧM*hW)-Jd/EJ$FⰋҬK[2Az 1OVlrS(PDaL1Mwwޫ޿F?w?{ȟ?WY|z~}?~xiwS;pLhJ*PxGiioiZnr~v΀*xlNKCr/oJ,k3}ͨ̓@l/IN׌٠0;r_1tET@P=.7PJMՑs/rnGN*Q@԰ꝦSn~ CQOǿ8N b UP]U@WE`yTwS0uNvB[t7
y)OmJIog/2Ro4d~#ÜT?N\ǫluz~1<eb{-n3;zޗdu\`18ExO]9>4O^Ii<ڔyrRO9? C{˅^Š2Ya2>O'ѿX|r+xњw|[#72i[ >,(= >cڅp:/	mv(=bg&h(8n΢Gt1#<Kor!O坽P3'J!cI$Ŏ)#s>fnh(3\r.9[k5y-vI_b_iG}O),,!3MNL|1$
bZ;	.[)q+ff#^Z#tMyki]y6{r6Q4jcauӨf@)yv6ГWKN$?S!Ʈy6䈂/9﫻UZvs!pΣۜG;N)X{]\oH.Za>^I<nP?MPaP7tq4@+}a!G2jŌ.a,n}r2"xrh =_vP
df~*ޔB)ly7Ɣ]3qw=Jhq܃ql8û/) PaJ3>\ޠ28.[a%Tĝ!X9]@828 >t؊/HP}Rl<Ƀ<ɟ|`ՒckZ2iE1(^lfHEUY؅ʴS$v+VufWuxPu&>t2.g҇C)E)܏YxBx<t$*DC&$vy[&4UxsMb爵*#U#I& 2	~#WcPԛwܩF9;֣"2k'S&ِUt߸:,r$̞Naancsvi
Wd/#`ǈtD^mnrj,r|![I*$}c?={	=HvR^3mdYJj-51U`ENZXoDYoI0E҂ fSF
 &р\q
I4 B`. D4 &"IA`-A DK4 >w}o QFA8`",P!b"0P!b,"4P!bl"8Pxs B8*DT C1΁
1΁
1΁
1΁Jc"9P!b"A!0΁
1΁
1΁
}s B8*Ds B8*DTA8c"9P!b"9P!bqT@@qT@@qTbpNqT@@qT@@c"9P!b"9P!b@w֚fdgX3bu/1jif5}StAA(ax'4K4Ŧ,Mc UuzvNm/8);2rltk;dxз4V\) I|ӘoNx0OFPTĕNKGKǳZr:W I	TPgW}6k\ 
-+ܨQ
KN+Uk0/׵W9+4h5
VhH	sFx)joF(ޏQPьݩQlP5Y((ph6SwQRQE|4Xن4b;޵5 [E}N**Z׉0\tRQҺV6ѢAIrAz))i]0Jڗ!0:Ӷ{s
/hϋ"/vx' m7Pr<$BjřZ̖;CJʩcAE]7UH:\8$q>
)vmν;j;9=$$
Q^LZp]Mq/IӋ1/a|zz8-viBaHr$"/X݈7MiW@m)"z5mfҭvyD=3[1=dUT%ʧd$v>58='4p99ɥ֬FBeb	m;+)P7=|QO);?Cv2Yj%]þo Vu	t4h+qb>O/bO>CNٙbyt S2'Qr)%Fe
6v]{j<N[uM1 p{LF5/nYlڭtVJO9˖aqI2f#RXILDB=#c2*;uy7:D%iHJT۾KwҐP7'bRE2CĢ6vF{7#,R<IO&%'f0z\)@Gc,%g-ꌶ^%]j/*&L%L.T=BnRB ek)|\7l!r-\#dۦKNNtM .hCn7Ar# Cnqȍ !78F@Ar# Knjȶ6I}ݜ5!]-ׅG2eB!k4qtqEǃĖmMyFVB=(DIiKgy186ǖhh	>MC	fG?b?fTEZP:hOIϼx4ZLFl"njUF(4YY G؜]ܛ{3/ե%KWiE,]jAcAgp53\unZv(Zun60u+YL19C55,P3 MevWЮ;-3M;?さ?wj%6gץKKK.mVHKKd;Y>d4<2V|+Z֜$QSkVjzaW3*o׼zLxPxPmah2TJzTaօɾ*U=ufďUIq1%6)O}m@S+ei"ȝ+$j18&)|^.f4ݏĉb=-[`laxS0P{1ԼE_I@)q)cBf^"'(o$J6YR@,$K.@ʂU?DWb~ K0w7HB|Su6/t+R `i/R+h7rJ
3ѭ3-3Qo'4I"
"[7?w\s}t ܵ<X8FZ)АoJ8Rc/.wb I6F7gaAC313%aXxc.F&#໛S$WL
Q-O;4(lۂ~Ўb/TaPEgۀЉLzrcb=Z	;O
W3Ӿ(vӴ,p)N>6gADpO&UZ?f>b΃5xBhviSɳ2'(OؿSZMs4+( yEP^i:f5^\lS7@@E>i)j=uW}1ݍ6rޯ65)skOi9!5J"hn./.~Ml_՗7#[iΖzջ}&%_TU]
r qq} L:Mjw6nMr3Dvjw}xES-G35 <[.>~z?gr5G.[2:xu4n Yv3S;݌R?K1o!tą>yDWa#.=T3GKweS&T<%_Պ̻yF&qY}c *f%abSCm"!||h*ǶKC_X*4<lY*M7٘l{r>5]-V{Yw9T務8=lݗeaэYmh@tc;P5GѪ]nޟ⌽8ƷboY#ywչFD6Ue&6XW#f]Po7):a*ՠgoMNS&Θ$}pGfދ싃,p2tV'EzI>DgN!dCEl)Rt/mٞ7Bo>ͩA#4&pdon"LZh?>/hOJdWVb6*݉/>7Ah}ʛHddPx~az/^sC(yz9~^H;ex䃔xn]bmϧDADt>}<6uykZ	Fseh甽>Co3 wԼiMaA:
Їd'5YhtnS9_ S~\TI/=z@8pNf)^H\~MIȋH
~B3 EͲ򸺀b$'i}{4Mfٽ\)f95_'37Fd:?;;a,Һsqw N_6O	nNx6[|/=GA|C!$g2>_aom(5LVIy봡cwճDǔQ4M(廌эkƈ=^}!9,>wF];a]fq?LTIi&]=+3wrwC>,Kv~깢-=Mzߪ=E;'yUThu@[M!R#u%z;j5;օa709OE:ʰXe
V{bq_iL亻fu,Kse?$xYyMp}?Z}KQ0jշcw9Qk VM"\D)D*,@AVH0*K|WN	_TbrZXS7]*tl@	5aIr,3NIwf9걞솮n,A[Wvѝ}oֺѡqF2ە_$f6CH7"%4^hh_oQ޴0ͻf8UP,.#?x+/@_w[6TdB&Ĝʪ[m:fn@Q&Kk j6o7Q.hS 7.n)q5Jnx+]m@福ֽ[yF<L$8"{;
DP@f;v)kMoz\k݂\js\(ԔP{X.V\&wZJU'#.n%3;}Z5ᄼGȞ.}q;n"fb_O'ėIۗ_Dr+_Wuگ:%ybwViwCkz:+2bv/T^NYj_Oյ&EBtk]кxz*p-fZ/{'rE`q2%iB9̺yk&r'~ȤH1z_XȩI32ЭHgft33>5OqI;mMXQeXtՃr2UbHy-Z{3YZjI#p[<d	sՋ4gŒ5T&jJ4An'œ)s+:o\WQ&L/8Q1EHxvEҋC3KD#DfR96v	3H%`!AȊVr҃T$l<]v$zTЈYCu7)qT̸0X'K!c,SzGdf|~4|+Y/i\g=SE;وcX4/IhW^FO)}LkT\LD*d<"?
#{ K4Y~t:S82<ooU)誯H7u1/wy-7>֩DfAΥeI+n{[X:9iReH#e:s݂4|n+ט_޼mw.؟jk&ZujNgն=0/6bv[Wܩn%f8A-'*t"89Є{qL%;G,B;pjy'>N*+"-vW䵙SFRZ"˘[JM?4P;~;+7<ܔꁫ
_KpP{_F7z==/eeb7,J0z%hp#'A{{Op#rK|NÝak[m7_̳bZf[G=VdaNk.ںZ6a4r"VWb__X8;\ˬ	s){}&mc.]*Ugھ#*f(v6_@KNEҲ6ٺKBmo!v7]>1n2cvf4pvAaMIӎo۔p}'14d]/uPghAueG;	._p^;zɴ.x{-V1{Rrpn%sb˦cUHߑAQEZԴ9hC8Mθ̶"ieΞ*Oƀ+	yۢ[5>6-SbXyrT_v(IfLBUj<ՓֶVMT$Z7~^Um[Mk-cvexYkzA/YJȞw4[	KfytBMv@O)^%8 z@ZI)N(=D$$Nྩ"Khm$F1TEKU7.<iPjQ.=3xI_4<xQ:]i]i-7a<lbralS%7(S|jOm>Cξ-*gA#j**hwJj{ߟHr;(3Ŝ&+'	n3ٙ qGޕ<i}3\k<i4+8HcZՔw5/Wx:DJ03^l'gl2ftw7_.-Ѓ9AWg`~q̼ueD4d]#G_3WsX|3A2㑓 P[~,uOy*eJP^=?Z<2yYid%V.{.DrS^y۪ZbIhЀ8rq
!Ob
H_$/WhZKFG"PC)Eͼ[	|8ǙKSL3*Bfax4$9˳
LSifeKVߖK@MäF4{OV.)ƻr"tQ꽢ԏRt8Lگ4W$p#J5(C]m+oBJ_X"a~⼘fw^dyjkZf	#5Ռxn'4ICdBZzeiJLkRI&OyV@(1RqNiIPB5pcq`1M9c8~FUk\taUĜnKrХX>Hؗ>>ܻܗ|֛X;i˝D^!2NdQL^};NKOt=	y{Y:Oh"/PɡO0^$ba)sRVB+A:jBb^b *	(O/8^0fI/85AS̏4&+8[J|Njx&ZeǕ,Ds:6NTGPJ8ŃpJB`k)%fn%kl$j<>Zu|<!m]9b{]/<^Cn2bGb_Wdڕ~
V4o.k9o9b.lVՇBAfu)άRҳga_hhd#?,I_|4|fR6X+fkDq.ڸT\%4d\_NsmI:h0sw\\#ڶtG(9bhnJV Cmw ɸ~B@P(<lw 8sJ50\:|16SLA<#L'8YS34B)|>r4`=_c[
7;JS_w;9rÁ69WO3q[Lx:t:!:Fyk* Rb?b4^xe􈟝j1L50vzTOCYBdElBd4\q}Ttӣ糚`*.d^F8"aBMwmhˑ@#{:&4}:[4rOB1pA0_m<h b.Y6^'2؅|kk OdQREFDjyz7Dq_qr,0ݳ''1J=:7ئF68^b: ~y3,F+Y3vLՁ({9zíT,T q!ӂDneޠuƫ7'O'MtXkT;/V\

$:++&,F0iOKk,(F>L=:[T CZفy<u	KGOH -O)p~vIu&v<CF>4Y9JohqM.ΡKs:]Mw|9 ow*3PTB#9YS:DV{PKN'bˑV=N,!|$S/WPEo)Ssgjcݨmsh.tDFCta#hDatKAdX&c}-Q-,0,aq?lϯ^GXfa][l^͢GHhN,3<^mLeO΋!	G)I;L}gL_=+Q82Cٽ<n&?tc99swmSIRL#sBH)ŷo_q%Na"(/p
v޼Ni:)ݫ;^z;2hs"qaFًZ{b
&yHaKvndd$NK;/erV_7KIR	]CzG5>|Nwy_όRwoɸRjRyny30,Lʙ	KR4>À0&4lK<[V,i]/GT.'("t߯QfCho)s-`VKn)c6BrE64aļ@/D?c[PЄY8P r
BAfQ@uPZi &%#EZ!lb̀xÊ_KMz:s,|;*Č, H\?O7ƫF:"
-EU-+uke(ãlU"yhy1սdR6֬ BFӹh.捻MϑXbE{SBm/󥝅MA7vWo#XAjC<R%UGU#TMϽ1׫J6jooF?_ᘽC1T|?}$jm'A$OD0ێ#vNv,vȐ|b$zdmcdm5;emc'xqA
&~x"?LOJ/MqM=b%'DT|Erzc>G2}Ur_0k/eD>{ O|:]639o)
lsVW}%1?DŪ\#e~,p0M?9]&D>(umO֏N.goGfAruI! 𹏌xjkcxӡTC <gaB⬂8/Tpq٩d4$ wC#k͌jrЎ Wj)Hb_x0.tyG[wԲyT+U+΍Ҷz0WXKTEfyMߖj^bE	R"Q
Q_ί<WbX*$aqr{;f^NTw0pL@H鰉|2{?
\-1E/7"h
/ܑpZQc5-:j=1bX6gBr1-/gts&l񬮈}Z|wfqL'/шfQ075ޫy~77OSW7X::r}~՗ށts,_!UxPKؼ:_{-V?5Ff+)珺n r%!I~D"#xmT9݆E@ۏvf&z:D`&z6Da&v*҈uf v:Ķ` v6Ķa ~*;3?[0?.߂_4$<)g4gEzUl2uX[M[Yպ89UmxuS2M7BHS4S(` c6C[HNw3O%d<JmfL:Z.3ids}1#nqܫ/3>HO_ӹ'W,b5jkaËm!w[V'3JLVDFCw0oTC)zh[Z#卖2եa.mC_4GC]f37[@Qڶ3%meJ
NjLI2%+SҮLIۙvfJڍ)iW2%Ɣ+Sm9wU)9ɑjʑő؏AyWd ڵ ̂,ȶeA֍YWd۲ b|[!ʇ͇5˻2(*$y;ʻq(ʡ|[8wP-6;42hʠaWaW`X`B3[ [_~ian}w1	c0$O6QN+JBb(4)uwmjXG^.CcТ$ÈFa*mh̺14ZwjT?NY{E;W^݀!:]粤aQf+%`D;?w3۾HH""?Diy[4
D#6Dkj ;yȵ[mengVyU(ɑs\p`3*J$x4@^}CzF|TRGҔV.׫Yttu^&(N|\<	H>q]/fvm^Ƴ;/FV?tL%/ʛ㛙LU~]=
IZrP6L8L@,p|H$X4Grhbw(Z"k %Ǯu^]WfצL.w+F3b~կ~h 4     nodeconntype           INDX              DialogScript     Ry;   CreateScript   Rlc   TypePropertiesOptions   Ry;   Help     Ry;   Contents.gz   GGRlc   InternalFileOptions    Rlc   ExtraFileOptions    Ry;# Dialog script for smokeobject automatically generated 11/05/13 13:40:55

{
    name	smokeobject
    script	smokeobject
    label	"Smoke Object"


    help {
	""
    }
    bindhandle sizex xform "Transformer" sx ""
    bindhandle sizey xform "Transformer" sy ""
    bindhandle sizez xform "Transformer" sz ""
    bindhandle tx xform "Transformer" tx ""
    bindhandle ty xform "Transformer" ty ""
    bindhandle tz xform "Transformer" tz ""

    inputlabel	1	"Input 0"
    inputlabel	2	"Input 1"
    inputlabel	3	"Input 2"
    inputlabel	4	"Input 3"

    group {
	name	"creation_1"
	label	"Properties"

	parm {
	    name	"twod"
	    label	"Two Dimensional"
	    type	toggle
	    nolabel
	    joinnext
	    default	{ "off" }
	    range	{ 0 1 }
	    export	all
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"voxelplane"
	    label	"Two Dimensional"
	    type	ordinal
	    default	{ "xy" }
	    menu	{
		"xy"	"XY plane     "
		"yz"	"YZ plane"
		"zx"	"ZX plane"
	    }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"uniformvoxels"
	    label	"Division Method"
	    type	ordinal
	    default	{ "size" }
	    menu	{
		"nonsquare"	"Non Square"
		"x"	"X Axis"
		"y"	"Y Axis"
		"z"	"Z Axis"
		"max"	"Max Axis"
		"size"	"By Size"
	    }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"divsize"
	    label	"Division Size"
	    type	float
	    default	{ "0.2" }
	    disablewhen	"{ uniformvoxels != size }"
	    hidewhen	"{ uniformvoxels != size }"
	    range	{ 0! 10 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	    parmtag	{ "units" "m1" }
	}
	parm {
	    name	"uniformdiv"
	    label	"Uniform Divisions"
	    type	integer
	    default	{ "10" }
	    disablewhen	"{ uniformvoxels == nonsquare } { uniformvoxels == size }"
	    hidewhen	"{ uniformvoxels == nonsquare } { uniformvoxels == size }"
	    range	{ 1! 300 }
	    export	all
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"div"
	    label	"Divisions"
	    type	integer
	    size	3
	    default	{ "10" "10" "10" }
	    disablewhen	"{ uniformvoxels != nonsquare }"
	    hidewhen	"{ uniformvoxels != nonsquare }"
	    range	{ 1! 1000 }
	    export	none
	    parmtag	{ "autoscope" "0000" }
	}
	parm {
	    name	"size"
	    label	"Size"
	    type	vector
	    size	3
	    default	{ "1" "1" "1" }
	    disablewhen	"{ instance_objects == 1 override_container_size == 1 }"
	    range	{ 0! 10 }
	    export	none
	    parmtag	{ "autoscope" "0000" }
	    parmtag	{ "units" "m1" }
	}
	parm {
	    name	"t"
	    label	"Center"
	    type	vector
	    size	3
	    default	{ "0" "0" "0" }
	    disablewhen	"{ instance_objects == 1 override_container_size == 1 }"
	    range	{ -1 1 }
	    export	none
	    parmtag	{ "autoscope" "0000" }
	    parmtag	{ "units" "m1" }
	}
    }

    group {
	name	"creation_1_1"
	label	"Creation"

	parm {
	    name	"usesimframe"
	    label	"Creation Frame Specifies Simulation Frame"
	    type	toggle
	    default	{ "0" }
	    disablewhen	"{ continuous == 1 instance_objects == 1 }"
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000" }
	}
	parm {
	    name	"createframe"
	    label	"Creation Frame"
	    type	integer
	    default	{ "ch(opcreator(\".\")+\"/startframe\")" }
	    disablewhen	"{ continuous == 1 instance_objects == 1 }"
	    range	{ 0 10 }
	    export	none
	    parmtag	{ "autoscope" "0000" }
	}
	parm {
	    name	"object_name"
	    label	"Object Name"
	    type	string
	    default	{ "$OS" }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000" }
	}
	parm {
	    name	"solvefirstframe"
	    label	"Solve on Creation Frame"
	    type	toggle
	    default	{ "off" }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"allowcaching"
	    label	"Allow Caching"
	    type	toggle
	    default	{ "on" }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
    }

    group {
	name	"creation_1_2"
	label	"Instancing"

	parm {
	    name	"instance_objects"
	    label	"Create Objects From Points"
	    type	toggle
	    default	{ "0" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"override_container_size"
	    label	"Override Container Size"
	    type	toggle
	    default	{ "1" }
	    disablewhen	"{ instance_objects == 0 }"
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"override_division_size"
	    label	"Override Division Size"
	    type	toggle
	    default	{ "0" }
	    disablewhen	"{ instance_objects == 0 }"
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"numobjects"
	    label	"Number of Objects"
	    type	integer
	    default	{ "1" }
	    disablewhen	"{ instance_objects == 1 }"
	    range	{ 0! 10 }
	    export	none
	    parmtag	{ "autoscope" "0000" }
	}
	parm {
	    name	"instance_points"
	    label	"Instance Points"
	    type	oppath
	    default	{ "" }
	    disablewhen	"{ instance_objects == 0 }"
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "oprelative" "." }
	}
	parm {
	    name	"continuous"
	    label	"Continuous"
	    type	toggle
	    default	{ "0" }
	    disablewhen	"{ instance_objects == 0 }"
	    range	{ 0 1 }
	    export	none
	}
    }

    parm {
	name	"size_unit_comp"
	label	"Unit Compensation"
	type	vector
	invisible
	size	3
	default	{ "ch(\"./divsize\")- ((ch(\"./sizex\")+ch(\"./tx\"))%ch(\"./divsize\"))" "ch(\"./divsize\")- ((ch(\"./sizey\")+ch(\"./ty\"))%ch(\"./divsize\"))" "ch(\"./divsize\")- ((ch(\"./sizez\")+ch(\"./tz\"))%ch(\"./divsize\"))" }
	range	{ -1 1 }
	export	none
    }
    group {
	name	"std_switcher_0"
	label	"Guides"
	grouptag	{ "import_enable" "1" }
	grouptag	{ "import_source" "op:smokeconfigureobject2" }
	grouptag	{ "import_token" "std_switcher_0:Guides" }

	group {
	    name	"folder0"
	    label	"Visualization"
	    grouptag	{ "import_source" "op:smokeconfigureobject2" }
	    grouptag	{ "import_token" "folder0:Visualization" }

	    parm {
		name	"multifield_showguide"
		label	"Multi"
		type	toggle
		nolabel
		joinnext
		default	{ "off" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "multifield_showguide" }
	    }
	    parm {
		name	"multifield_color"
		label	"Multi Field"
		type	color
		size	3
		default	{ "1" "1" "1" }
		range	{ 0! 1! }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "multifield_color" }
	    }
	    parm {
		name	"density_showguide"
		label	"Density         "
		type	toggle
		nolabel
		joinnext
		default	{ "on" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "density_showguide" }
	    }
	    parm {
		name	"density_color"
		label	"Density"
		type	color
		size	3
		default	{ "1" "1" "1" }
		range	{ 0! 1! }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "density_color" }
	    }
	    parm {
		name	"temperature1_showguide"
		label	"Temperature "
		type	toggle
		nolabel
		joinnext
		default	{ "off" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "temperature1_showguide" }
	    }
	    parm {
		name	"temperature1_color"
		label	"Temperature"
		type	color
		size	3
		default	{ "1" "1" "1" }
		range	{ 0! 1! }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "temperature1_color" }
	    }
	    parm {
		name	"fuel_showguide"
		label	"Fuel             "
		type	toggle
		nolabel
		joinnext
		default	{ "off" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "fuel_showguide" }
	    }
	    parm {
		name	"fuel_color"
		label	"Fuel"
		type	color
		size	3
		default	{ "0.9" "0" "0.9" }
		range	{ 0! 1! }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "fuel_color" }
	    }
	    parm {
		name	"divergence_showguide"
		label	"Divergence   "
		type	toggle
		nolabel
		joinnext
		default	{ "off" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "divergence_showguide" }
	    }
	    parm {
		name	"divergence_color"
		label	"Divergence"
		type	color
		size	3
		default	{ "1" "0.8" "0" }
		range	{ 0! 1! }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "divergence_color" }
	    }
	    parm {
		name	"burn_showguide"
		label	"Burn            "
		type	toggle
		nolabel
		joinnext
		default	{ "off" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "burn_showguide" }
	    }
	    parm {
		name	"burn_color"
		label	"Burn"
		type	color
		size	3
		default	{ "1" "0.8" "0" }
		range	{ 0! 1! }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "burn_color" }
	    }
	    parm {
		name	"heat_showguide"
		label	"Show Guide Geometry"
		type	toggle
		nolabel
		joinnext
		default	{ "off" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "heat_showguide" }
	    }
	    parm {
		name	"heat_color"
		label	"Heat"
		type	color
		size	3
		default	{ "1" "1" "0" }
		range	{ 0! 1! }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "heat_color" }
	    }
	    parm {
		name	"velocity_showguide"
		label	"Velocity        "
		type	toggle
		nolabel
		joinnext
		default	{ "off" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "velocity_showguide" }
	    }
	    parm {
		name	"velocity_color"
		label	"Velocity"
		type	color
		size	3
		default	{ "1" "1" "1" }
		range	{ 0! 1! }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "velocity_color" }
	    }
	    parm {
		name	"collisionmask1_showguide"
		label	"Collision       "
		type	toggle
		nolabel
		joinnext
		default	{ "off" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "collisionmask1_showguide" }
	    }
	    parm {
		name	"collisionmask1_color"
		label	"Collision"
		type	color
		size	3
		default	{ "1" "1" "1" }
		range	{ 0! 1! }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "collisionmask1_color" }
	    }
	    parm {
		name	"sourcemask1_showguide"
		label	"Source         "
		type	toggle
		nolabel
		joinnext
		default	{ "off" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "sourcemask1_showguide" }
	    }
	    parm {
		name	"sourcemask1_color"
		label	"Source"
		type	color
		size	3
		default	{ "0" "0.9" "0" }
		range	{ 0! 1! }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "sourcemask1_color" }
	    }
	    parm {
		name	"sinkmask1_showguide"
		label	"Sink             "
		type	toggle
		nolabel
		joinnext
		default	{ "off" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "sinkmask1_showguide" }
	    }
	    parm {
		name	"sinkmask1_color"
		label	"Sink"
		type	color
		size	3
		default	{ "0.9" "0" "0" }
		range	{ 0! 1! }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "sinkmask1_color" }
	    }
	}

	group {
	    name	"folder0_1"
	    label	"Multi"
	    grouptag	{ "import_source" "op:smokeconfigureobject2" }
	    grouptag	{ "import_token" "folder0:Multi" }

	    parm {
		name	"multifield_usebox"
		label	"Bounding Box"
		type	toggle
		joinnext
		default	{ "off" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "multifield_usebox" }
	    }
	    parm {
		name	"multifield_useboxhash"
		label	"Bounding Box Hash"
		type	toggle
		default	{ "off" }
		disablewhen	"{ multifield_usebox == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "multifield_useboxhash" }
	    }
	    parm {
		name	"multifield_rangemin"
		label	"Minimum"
		type	float
		default	{ "0" }
		range	{ 0 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "multifield_rangemin" }
	    }
	    parm {
		name	"multifield_rangemax"
		label	"Maximum"
		type	float
		default	{ "1" }
		range	{ 0 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "multifield_rangemax" }
	    }
	    parm {
		name	"multifield_densityscale"
		label	"Density Scale"
		type	float
		default	{ "1" }
		range	{ 0! 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "multifield_densityscale" }
	    }
	    parm {
		name	"multifield_shadowscale"
		label	"Shadow Scale"
		type	float
		default	{ "1" }
		range	{ 0! 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "multifield_shadowscale" }
	    }
	    parm {
		name	"multifield_setmaxres"
		label	"Set Max Res"
		type	toggle
		nolabel
		joinnext
		default	{ "off" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "multifield_setmaxres" }
	    }
	    parm {
		name	"multifield_maxres"
		label	"Max Vis Res"
		type	integer
		default	{ "128" }
		disablewhen	"{ multifield_setmaxres == 0 }"
		range	{ 1! 512 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "multifield_maxres" }
	    }
	    group {
		name	"folder14"
		label	"Smoke"
		grouptag	{ "import_source" "op:smokeconfigureobject2" }
		grouptag	{ "import_token" "folder3:Smoke" }

		parm {
		    name	"multifield_densityfield"
		    label	"Density Field"
		    type	string
		    default	{ "" }
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		    parmtag	{ "import_source" "op:smokeconfigureobject2" }
		    parmtag	{ "import_token" "multifield_densityfield" }
		}
		parm {
		    name	"multifield_densityrampmode"
		    label	"Mode"
		    type	ordinal
		    joinnext
		    default	{ "clamp" }
		    menu	{
			"none"	"No Ramp"
			"clamp"	"Clamped Ramp"
			"periodic"	"Periodic Ramp"
		    }
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		    parmtag	{ "import_source" "op:smokeconfigureobject2" }
		    parmtag	{ "import_token" "multifield_densityrampmode" }
		}
		parm {
		    name	"multifield_densitypreset"
		    label	"Density"
		    type	ordinal
		    default	{ "none" }
		    menu	{
			"none"	"Presets"
			"increasing"	"Increasing"
			"descreasing"	"Decreasing"
			"hill"	"Hill"
			"valley"	"Valley"
			"step"	"Step"
			"square"	"Square"
		    }
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		    parmtag	{ "import_source" "op:smokeconfigureobject2" }
		    parmtag	{ "import_token" "multifield_densitypreset" }
		}
		parm {
		    name	"multifield_densityramp"
		    label	"Density Ramp"
		    type	ramp_flt
		    default	{ "2" }
		    range	{ 1! 10 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		    parmtag	{ "import_source" "op:smokeconfigureobject2" }
		    parmtag	{ "import_token" "multifield_densityramp" }
		    parmtag	{ "rampfloatdefault" "1pos ( 0 ) 1value ( 0 ) 1interp ( linear ) 2pos ( 1 ) 2value ( 1 ) 2interp ( linear )" }
		    parmtag	{ "rampshowcontrolsdefault" "0" }
		}
		parm {
		    name	"multifield_cdfield"
		    label	"Diffuse Field"
		    type	string
		    default	{ "" }
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		    parmtag	{ "import_source" "op:smokeconfigureobject2" }
		    parmtag	{ "import_token" "multifield_cdfield" }
		}
		parm {
		    name	"multifield_cdrangeoverride"
		    label	"Diffuse Range"
		    type	toggle
		    nolabel
		    joinnext
		    default	{ "off" }
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		    parmtag	{ "import_source" "op:smokeconfigureobject2" }
		    parmtag	{ "import_token" "multifield_cdrangeoverride" }
		}
		parm {
		    name	"multifield_cdrange"
		    label	"Diffuse Range"
		    type	float
		    size	2
		    default	{ "0" "1" }
		    disablewhen	"{ multifield_cdrangeoverride == 0 }"
		    range	{ 0 10 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		    parmtag	{ "import_source" "op:smokeconfigureobject2" }
		    parmtag	{ "import_token" "multifield_cdrange" }
		}
		parm {
		    name	"multifield_cdrampmode"
		    label	"Mode"
		    type	ordinal
		    joinnext
		    default	{ "clamp" }
		    menu	{
			"none"	"No Ramp"
			"clamp"	"Clamped Ramp"
			"periodic"	"Periodic Ramp"
		    }
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		    parmtag	{ "import_source" "op:smokeconfigureobject2" }
		    parmtag	{ "import_token" "multifield_cdrampmode" }
		}
		parm {
		    name	"multifield_cdpreset"
		    label	"Diffuse"
		    type	ordinal
		    default	{ "none" }
		    menu	{
			"none"	"Presets"
			"false"	"Infra-Red"
			"pink"	"White to Red"
			"mono"	"Grayscale"
			"blackbody"	"Black Body"
			"bipartite"	"Two-Tone"
		    }
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		    parmtag	{ "import_source" "op:smokeconfigureobject2" }
		    parmtag	{ "import_token" "multifield_cdpreset" }
		}
		parm {
		    name	"multifield_cdramp"
		    label	"Diffuse Ramp"
		    type	ramp_rgb
		    default	{ "2" }
		    range	{ 1! 10 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		    parmtag	{ "import_source" "op:smokeconfigureobject2" }
		    parmtag	{ "import_token" "multifield_cdramp" }
		    parmtag	{ "rampcolordefault" "1pos ( 0 ) 1c ( 0 0 0 ) 1interp ( linear ) 2pos ( 1 ) 2c ( 1 1 1 ) 2interp ( linear )" }
		    parmtag	{ "rampshowcontrolsdefault" "0" }
		}
	    }

	    group {
		name	"folder14_1"
		label	"Emission"
		grouptag	{ "import_source" "op:smokeconfigureobject2" }
		grouptag	{ "import_token" "folder3:Emission" }

		parm {
		    name	"multifield_emitscale"
		    label	"Emission Scale"
		    type	float
		    default	{ "0" }
		    range	{ 0! 10 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		    parmtag	{ "import_source" "op:smokeconfigureobject2" }
		    parmtag	{ "import_token" "multifield_emitscale" }
		}
		parm {
		    name	"multifield_emitfield"
		    label	"Emission Field"
		    type	string
		    default	{ "" }
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		    parmtag	{ "import_source" "op:smokeconfigureobject2" }
		    parmtag	{ "import_token" "multifield_emitfield" }
		}
		parm {
		    name	"multifield_emitrangeoverride"
		    label	"Emit Range"
		    type	toggle
		    nolabel
		    joinnext
		    default	{ "off" }
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		    parmtag	{ "import_source" "op:smokeconfigureobject2" }
		    parmtag	{ "import_token" "multifield_emitrangeoverride" }
		}
		parm {
		    name	"multifield_emitrange"
		    label	"Emit Range"
		    type	float
		    size	2
		    default	{ "0" "1" }
		    disablewhen	"{ multifield_emitrangeoverride == 0 }"
		    range	{ 0 10 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		    parmtag	{ "import_source" "op:smokeconfigureobject2" }
		    parmtag	{ "import_token" "multifield_emitrange" }
		}
		parm {
		    name	"multifield_emitrampmode"
		    label	"Mode"
		    type	ordinal
		    joinnext
		    default	{ "clamp" }
		    menu	{
			"none"	"No Ramp"
			"clamp"	"Clamped Ramp"
			"periodic"	"Periodic Ramp"
		    }
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		    parmtag	{ "import_source" "op:smokeconfigureobject2" }
		    parmtag	{ "import_token" "multifield_emitrampmode" }
		}
		parm {
		    name	"multifield_emitpreset"
		    label	"Emission"
		    type	ordinal
		    default	{ "none" }
		    menu	{
			"none"	"Presets"
			"increasing"	"Increasing"
			"descreasing"	"Decreasing"
			"hill"	"Hill"
			"valley"	"Valley"
			"step"	"Step"
			"square"	"Square"
		    }
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		    parmtag	{ "import_source" "op:smokeconfigureobject2" }
		    parmtag	{ "import_token" "multifield_emitpreset" }
		}
		parm {
		    name	"multifield_emitramp"
		    label	"Emission Ramp"
		    type	ramp_flt
		    default	{ "2" }
		    range	{ 1! 10 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		    parmtag	{ "import_source" "op:smokeconfigureobject2" }
		    parmtag	{ "import_token" "multifield_emitramp" }
		    parmtag	{ "rampfloatdefault" "1pos ( 0 ) 1value ( 0 ) 1interp ( linear ) 2pos ( 1 ) 2value ( 1 ) 2interp ( linear )" }
		    parmtag	{ "rampshowcontrolsdefault" "0" }
		}
		parm {
		    name	"multifield_emitcdfield"
		    label	"Emission Color Field"
		    type	string
		    default	{ "" }
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		    parmtag	{ "import_source" "op:smokeconfigureobject2" }
		    parmtag	{ "import_token" "multifield_emitcdfield" }
		}
		parm {
		    name	"multifield_emitcdrangeoverride"
		    label	"Emission Color Range"
		    type	toggle
		    nolabel
		    joinnext
		    default	{ "off" }
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		    parmtag	{ "import_source" "op:smokeconfigureobject2" }
		    parmtag	{ "import_token" "multifield_emitcdrangeoverride" }
		}
		parm {
		    name	"multifield_emitcdrange"
		    label	"Emission Color Range"
		    type	float
		    size	2
		    default	{ "0" "1" }
		    disablewhen	"{ multifield_emitcdrangeoverride == 0 }"
		    range	{ 0 10 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		    parmtag	{ "import_source" "op:smokeconfigureobject2" }
		    parmtag	{ "import_token" "multifield_emitcdrange" }
		}
		parm {
		    name	"multifield_emitcdrampmode"
		    label	"Mode"
		    type	ordinal
		    joinnext
		    default	{ "clamp" }
		    menu	{
			"none"	"No Ramp"
			"clamp"	"Clamped Ramp"
			"periodic"	"Periodic Ramp"
		    }
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		    parmtag	{ "import_source" "op:smokeconfigureobject2" }
		    parmtag	{ "import_token" "multifield_emitcdrampmode" }
		}
		parm {
		    name	"multifield_emitcdpreset"
		    label	"Emission"
		    type	ordinal
		    default	{ "none" }
		    menu	{
			"none"	"Presets"
			"false"	"Infra-Red"
			"pink"	"White to Red"
			"mono"	"Grayscale"
			"blackbody"	"Black Body"
			"bipartite"	"Two-Tone"
		    }
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		    parmtag	{ "import_source" "op:smokeconfigureobject2" }
		    parmtag	{ "import_token" "multifield_emitcdpreset" }
		}
		parm {
		    name	"multifield_emitcdramp"
		    label	"Emission Color Ramp"
		    type	ramp_rgb
		    default	{ "4" }
		    range	{ 1! 10 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		    parmtag	{ "import_source" "op:smokeconfigureobject2" }
		    parmtag	{ "import_token" "multifield_emitcdramp" }
		    parmtag	{ "rampcolordefault" "1pos ( 0 ) 1c ( 0 0 0 ) 1interp ( linear ) 2pos ( 0.54000002145767212 ) 2c ( 1 0.43200001120567322 0 ) 2interp ( catmull-rom ) 3pos ( 0.89300000667572021 ) 3c ( 1 0.88330000638961792 0 ) 3interp ( catmull-rom ) 4pos ( 1 ) 4c ( 1 1 1 ) 4interp ( catmull-rom )" }
		    parmtag	{ "rampshowcontrolsdefault" "0" }
		}
	    }

	}

	group {
	    name	"folder0_2"
	    label	"Density"
	    grouptag	{ "import_source" "op:smokeconfigureobject2" }
	    grouptag	{ "import_token" "folder0:Density" }

	    parm {
		name	"density_usebox"
		label	"Bounding Box"
		type	toggle
		joinnext
		default	{ "on" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "density_usebox" }
	    }
	    parm {
		name	"density_useboxhash"
		label	"Bounding Box Hash"
		type	toggle
		default	{ "on" }
		disablewhen	"{ density_usebox == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "density_useboxhash" }
	    }
	    parm {
		name	"density_usesmoke"
		label	"Use Smoke   "
		type	toggle
		joinnext
		default	{ "on" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "density_usesmoke" }
	    }
	    parm {
		name	"density_guideremapsmoke"
		label	"Remap Smoke"
		type	toggle
		default	{ "off" }
		disablewhen	"{ density_usesmoke == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "density_guideremapsmoke" }
	    }
	    parm {
		name	"density_guidesmokedensity"
		label	"Smoke Density"
		type	float
		default	{ "1" }
		disablewhen	"{ density_usesmoke == 0 }"
		range	{ 0! 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "density_guidesmokedensity" }
	    }
	    parm {
		name	"density_guideuseplane"
		label	"Use Plane     "
		type	toggle
		joinnext
		default	{ "off" }
		disablewhen	"{ density_usesmoke == 1 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "density_guideuseplane" }
	    }
	    parm {
		name	"density_guideplane"
		label	"Plane Orientation"
		type	ordinal
		default	{ "xy" }
		disablewhen	"{ density_usesmoke == 1 } { density_guideuseplane == 0 }"
		menu	{
		    "xy"	"XY Plane"
		    "yz"	"YZ Plane"
		    "zx"	"ZX Plane"
		}
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "density_guideplane" }
	    }
	    parm {
		name	"density_guideplaneval"
		label	"Plane Position"
		type	float
		default	{ "0" }
		disablewhen	"{ density_usesmoke == 1 } { density_guideuseplane == 0 }"
		range	{ -1! 1! }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "density_guideplaneval" }
	    }
	    parm {
		name	"density_guidevismode"
		label	"Visualization Mode"
		type	ordinal
		joinnext
		default	{ "false" }
		disablewhen	"{ density_usesmoke == 1 density_guideremapsmoke == 0 } { density_usesmoke == 0 density_guideuseplane == 0 }"
		menu	{
		    "none"	"No Mapping"
		    "false"	"Infra-Red"
		    "pink"	"White to Red"
		    "mono"	"Grayscale"
		    "blackbody"	"Black Body"
		    "bipartite"	"Two-Tone"
		}
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "density_guidevismode" }
	    }
	    parm {
		name	"density_guidevisdensitymode"
		label	"Alpha Mapping"
		type	ordinal
		default	{ "none" }
		disablewhen	"{ density_usesmoke == 1 density_guideremapsmoke == 0 } { density_usesmoke == 0 density_guideuseplane == 0 }"
		menu	{
		    "none"	"No Mapping"
		    "increasing"	"Increasing"
		    "decreasing"	"Decreasing"
		    "hill"	"Hill"
		    "valley"	"Valley"
		    "step"	"Step"
		    "square"	"Square"
		}
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "density_guidevisdensitymode" }
	    }
	    parm {
		name	"density_guiderangemode"
		label	"Specify Range by Min/Max"
		type	toggle
		default	{ "on" }
		disablewhen	"{ density_usesmoke == 1 density_guideremapsmoke == 0 } { density_usesmoke == 0 density_guideuseplane == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "density_guiderangemode" }
	    }
	    parm {
		name	"density_guiderange"
		label	"Guide Range"
		type	float
		size	2
		default	{ "0" "1" }
		hidewhen	"{ density_usesmoke == 1 density_guideremapsmoke == 0 } { density_usesmoke == 0 density_guideuseplane == 0 } { density_guiderangemode == 0 }"
		range	{ 0 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "density_guiderange" }
	    }
	    parm {
		name	"density_guiderangecenter"
		label	"Guide Range Center"
		type	float
		default	{ "0.5" }
		hidewhen	"{ density_usesmoke == 1 density_guideremapsmoke == 0 } { density_usesmoke == 0 density_guideuseplane == 0 } { density_guiderangemode == 1 }"
		range	{ -1 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "density_guiderangecenter" }
	    }
	    parm {
		name	"density_guiderangesize"
		label	"Guide Range Width"
		type	float
		default	{ "1" }
		hidewhen	"{ density_usesmoke == 1 density_guideremapsmoke == 0 } { density_usesmoke == 0 density_guideuseplane == 0 } { density_guiderangemode == 1 }"
		range	{ 0 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "density_guiderangesize" }
	    }
	    parm {
		name	"density_guideiso"
		label	"Iso Offset"
		type	float
		default	{ "0" }
		disablewhen	"{ density_usesmoke == 1 } { density_guideuseplane == 1 }"
		range	{ -5 5 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "density_guideiso" }
	    }
	    parm {
		name	"density_guideinvert"
		label	"Invert Iso"
		type	toggle
		default	{ "off" }
		disablewhen	"{ density_usesmoke == 1 } { density_guideuseplane == 1 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "density_guideinvert" }
	    }
	}

	group {
	    name	"folder0_3"
	    label	"Temperature"
	    grouptag	{ "import_source" "op:smokeconfigureobject2" }
	    grouptag	{ "import_token" "folder0:Temperature" }

	    parm {
		name	"temperature1_usebox"
		label	"Bounding Box"
		type	toggle
		joinnext
		default	{ "off" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "temperature1_usebox" }
	    }
	    parm {
		name	"temperature1_useboxhash"
		label	"Bounding Box Hash"
		type	toggle
		default	{ "off" }
		disablewhen	"{ temperature1_usebox == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "temperature1_useboxhash" }
	    }
	    parm {
		name	"temperature1_usesmoke"
		label	"Use Smoke   "
		type	toggle
		joinnext
		default	{ "off" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "temperature1_usesmoke" }
	    }
	    parm {
		name	"temperature1_guideremapsmoke"
		label	"Remap Smoke"
		type	toggle
		default	{ "off" }
		disablewhen	"{ temperature1_usesmoke == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "temperature1_guideremapsmoke" }
	    }
	    parm {
		name	"temperature1_guidesmokedensity"
		label	"Smoke Density"
		type	float
		default	{ "1" }
		disablewhen	"{ temperature1_usesmoke == 0 }"
		range	{ 0! 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "temperature1_guidesmokedensity" }
	    }
	    parm {
		name	"temperature1_guideuseplane"
		label	"Use Plane     "
		type	toggle
		joinnext
		default	{ "on" }
		disablewhen	"{ temperature1_usesmoke == 1 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "temperature1_guideuseplane" }
	    }
	    parm {
		name	"temperature1_guideplane"
		label	"Plane Orientation"
		type	ordinal
		default	{ "xy" }
		disablewhen	"{ temperature1_usesmoke == 1 } { temperature1_guideuseplane == 0 }"
		menu	{
		    "xy"	"XY Plane"
		    "yz"	"YZ Plane"
		    "zx"	"ZX Plane"
		}
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "temperature1_guideplane" }
	    }
	    parm {
		name	"temperature1_guideplaneval"
		label	"Plane Position"
		type	float
		default	{ "0" }
		disablewhen	"{ temperature1_usesmoke == 1 } { temperature1_guideuseplane == 0 }"
		range	{ -1! 1! }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "temperature1_guideplaneval" }
	    }
	    parm {
		name	"temperature1_guidevismode"
		label	"Visualization Mode"
		type	ordinal
		joinnext
		default	{ "blackbody" }
		disablewhen	"{ temperature1_usesmoke == 1 temperature1_guideremapsmoke == 0 } { temperature1_usesmoke == 0 temperature1_guideuseplane == 0 }"
		menu	{
		    "none"	"No Mapping"
		    "false"	"Infra-Red"
		    "pink"	"White to Red"
		    "mono"	"Grayscale"
		    "blackbody"	"Black Body"
		    "bipartite"	"Two-Tone"
		}
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "temperature1_guidevismode" }
	    }
	    parm {
		name	"temperature1_guidevisdensitymode"
		label	"Alpha Mapping"
		type	ordinal
		default	{ "none" }
		disablewhen	"{ temperature1_usesmoke == 1 temperature1_guideremapsmoke == 0 } { temperature1_usesmoke == 0 temperature1_guideuseplane == 0 }"
		menu	{
		    "none"	"No Mapping"
		    "increasing"	"Increasing"
		    "decreasing"	"Decreasing"
		    "hill"	"Hill"
		    "valley"	"Valley"
		    "step"	"Step"
		    "square"	"Square"
		}
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "temperature1_guidevisdensitymode" }
	    }
	    parm {
		name	"temperature1_guiderangemode"
		label	"Specify Range by Min/Max"
		type	toggle
		default	{ "on" }
		disablewhen	"{ temperature1_usesmoke == 1 temperature1_guideremapsmoke == 0 } { temperature1_usesmoke == 0 temperature1_guideuseplane == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "temperature1_guiderangemode" }
	    }
	    parm {
		name	"temperature1_guiderange"
		label	"Guide Range"
		type	float
		size	2
		default	{ "0" "1" }
		hidewhen	"{ temperature1_usesmoke == 1 temperature1_guideremapsmoke == 0 } { temperature1_usesmoke == 0 temperature1_guideuseplane == 0 } { temperature1_guiderangemode == 0 }"
		range	{ 0 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "temperature1_guiderange" }
	    }
	    parm {
		name	"temperature1_guiderangecenter"
		label	"Guide Range Center"
		type	float
		default	{ "0.5" }
		hidewhen	"{ temperature1_usesmoke == 1 temperature1_guideremapsmoke == 0 } { temperature1_usesmoke == 0 temperature1_guideuseplane == 0 } { temperature1_guiderangemode == 1 }"
		range	{ -1 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "temperature1_guiderangecenter" }
	    }
	    parm {
		name	"temperature1_guiderangesize"
		label	"Guide Range Width"
		type	float
		default	{ "1" }
		hidewhen	"{ temperature1_usesmoke == 1 temperature1_guideremapsmoke == 0 } { temperature1_usesmoke == 0 temperature1_guideuseplane == 0 } { temperature1_guiderangemode == 1 }"
		range	{ 0 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "temperature1_guiderangesize" }
	    }
	    parm {
		name	"temperature1_guideiso"
		label	"Iso Offset"
		type	float
		default	{ "0" }
		disablewhen	"{ temperature1_usesmoke == 1 } { temperature1_guideuseplane == 1 }"
		range	{ -5 5 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "temperature1_guideiso" }
	    }
	    parm {
		name	"temperature1_guideinvert"
		label	"Invert Iso"
		type	toggle
		default	{ "off" }
		disablewhen	"{ temperature1_usesmoke == 1 } { temperature1_guideuseplane == 1 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "temperature1_guideinvert" }
	    }
	}

	group {
	    name	"folder0_4"
	    label	"Fuel"
	    grouptag	{ "import_source" "op:smokeconfigureobject2" }
	    grouptag	{ "import_token" "folder0:Fuel" }

	    parm {
		name	"fuel_usebox"
		label	"Bounding Box"
		type	toggle
		joinnext
		default	{ "off" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "fuel_usebox" }
	    }
	    parm {
		name	"fuel_useboxhash"
		label	"Bounding Box Hash"
		type	toggle
		default	{ "off" }
		disablewhen	"{ fuel_usebox == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "fuel_useboxhash" }
	    }
	    parm {
		name	"fuel_usesmoke"
		label	"Use Smoke   "
		type	toggle
		joinnext
		default	{ "on" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "fuel_usesmoke" }
	    }
	    parm {
		name	"fuel_guideremapsmoke"
		label	"Remap Smoke"
		type	toggle
		default	{ "off" }
		disablewhen	"{ fuel_usesmoke == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "fuel_guideremapsmoke" }
	    }
	    parm {
		name	"fuel_guidesmokedensity"
		label	"Smoke Density"
		type	float
		default	{ "1" }
		disablewhen	"{ fuel_usesmoke == 0 }"
		range	{ 0! 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "fuel_guidesmokedensity" }
	    }
	    parm {
		name	"fuel_guideuseplane"
		label	"Use Plane     "
		type	toggle
		joinnext
		default	{ "off" }
		disablewhen	"{ fuel_usesmoke == 1 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "fuel_guideuseplane" }
	    }
	    parm {
		name	"fuel_guideplane"
		label	"Plane Orientation"
		type	ordinal
		default	{ "xy" }
		disablewhen	"{ fuel_usesmoke == 1 } { fuel_guideuseplane == 0 }"
		menu	{
		    "xy"	"XY Plane"
		    "yz"	"YZ Plane"
		    "zx"	"ZX Plane"
		}
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "fuel_guideplane" }
	    }
	    parm {
		name	"fuel_guideplaneval"
		label	"Plane Position"
		type	float
		default	{ "0" }
		disablewhen	"{ fuel_usesmoke == 1 } { fuel_guideuseplane == 0 }"
		range	{ -1! 1! }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "fuel_guideplaneval" }
	    }
	    parm {
		name	"fuel_guidevismode"
		label	"Visualization Mode"
		type	ordinal
		joinnext
		default	{ "false" }
		disablewhen	"{ fuel_usesmoke == 1 fuel_guideremapsmoke == 0 } { fuel_usesmoke == 0 fuel_guideuseplane == 0 }"
		menu	{
		    "none"	"No Mapping"
		    "false"	"Infra-Red"
		    "pink"	"White to Red"
		    "mono"	"Grayscale"
		    "blackbody"	"Black Body"
		    "bipartite"	"Two-Tone"
		}
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "fuel_guidevismode" }
	    }
	    parm {
		name	"fuel_guidevisdensitymode"
		label	"Alpha Mapping"
		type	ordinal
		default	{ "none" }
		disablewhen	"{ fuel_usesmoke == 1 fuel_guideremapsmoke == 0 } { fuel_usesmoke == 0 fuel_guideuseplane == 0 }"
		menu	{
		    "none"	"No Mapping"
		    "increasing"	"Increasing"
		    "decreasing"	"Decreasing"
		    "hill"	"Hill"
		    "valley"	"Valley"
		    "step"	"Step"
		    "square"	"Square"
		}
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "fuel_guidevisdensitymode" }
	    }
	    parm {
		name	"fuel_guiderangemode"
		label	"Specify Range by Min/Max"
		type	toggle
		default	{ "on" }
		disablewhen	"{ fuel_usesmoke == 1 fuel_guideremapsmoke == 0 } { fuel_usesmoke == 0 fuel_guideuseplane == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "fuel_guiderangemode" }
	    }
	    parm {
		name	"fuel_guiderange"
		label	"Guide Range"
		type	float
		size	2
		default	{ "0" "1" }
		hidewhen	"{ fuel_usesmoke == 1 fuel_guideremapsmoke == 0 } { fuel_usesmoke == 0 fuel_guideuseplane == 0 } { fuel_guiderangemode == 0 }"
		range	{ 0 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "fuel_guiderange" }
	    }
	    parm {
		name	"fuel_guiderangecenter"
		label	"Guide Range Center"
		type	float
		default	{ "0.5" }
		hidewhen	"{ fuel_usesmoke == 1 fuel_guideremapsmoke == 0 } { fuel_usesmoke == 0 fuel_guideuseplane == 0 } { fuel_guiderangemode == 1 }"
		range	{ -1 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "fuel_guiderangecenter" }
	    }
	    parm {
		name	"fuel_guiderangesize"
		label	"Guide Range Width"
		type	float
		default	{ "1" }
		hidewhen	"{ fuel_usesmoke == 1 fuel_guideremapsmoke == 0 } { fuel_usesmoke == 0 fuel_guideuseplane == 0 } { fuel_guiderangemode == 1 }"
		range	{ 0 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "fuel_guiderangesize" }
	    }
	    parm {
		name	"fuel_guideiso"
		label	"Iso Offset"
		type	float
		default	{ "0" }
		disablewhen	"{ fuel_usesmoke == 1 } { fuel_guideuseplane == 1 }"
		range	{ -5 5 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "fuel_guideiso" }
	    }
	    parm {
		name	"fuel_guideinvert"
		label	"Invert Iso"
		type	toggle
		default	{ "off" }
		disablewhen	"{ fuel_usesmoke == 1 } { fuel_guideuseplane == 1 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "fuel_guideinvert" }
	    }
	}

	group {
	    name	"folder0_5"
	    label	"Divergence"
	    grouptag	{ "import_source" "op:smokeconfigureobject2" }
	    grouptag	{ "import_token" "folder0:Divergence" }

	    parm {
		name	"divergence_usebox"
		label	"Bounding Box"
		type	toggle
		joinnext
		default	{ "off" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "divergence_usebox" }
	    }
	    parm {
		name	"divergence_useboxhash"
		label	"Bounding Box Hash"
		type	toggle
		default	{ "off" }
		disablewhen	"{ divergence_usebox == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "divergence_useboxhash" }
	    }
	    parm {
		name	"divergence_usesmoke"
		label	"Use Smoke   "
		type	toggle
		joinnext
		default	{ "on" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "divergence_usesmoke" }
	    }
	    parm {
		name	"divergence_guideremapsmoke"
		label	"Remap Smoke"
		type	toggle
		default	{ "off" }
		disablewhen	"{ divergence_usesmoke == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "divergence_guideremapsmoke" }
	    }
	    parm {
		name	"divergence_guidesmokedensity"
		label	"Smoke Density"
		type	float
		default	{ "1" }
		disablewhen	"{ divergence_usesmoke == 0 }"
		range	{ 0! 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "divergence_guidesmokedensity" }
	    }
	    parm {
		name	"divergence_guideuseplane"
		label	"Use Plane     "
		type	toggle
		joinnext
		default	{ "off" }
		disablewhen	"{ divergence_usesmoke == 1 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "divergence_guideuseplane" }
	    }
	    parm {
		name	"divergence_guideplane"
		label	"Plane Orientation"
		type	ordinal
		default	{ "xy" }
		disablewhen	"{ divergence_usesmoke == 1 } { divergence_guideuseplane == 0 }"
		menu	{
		    "xy"	"XY Plane"
		    "yz"	"YZ Plane"
		    "zx"	"ZX Plane"
		}
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "divergence_guideplane" }
	    }
	    parm {
		name	"divergence_guideplaneval"
		label	"Plane Position"
		type	float
		default	{ "0" }
		disablewhen	"{ divergence_usesmoke == 1 } { divergence_guideuseplane == 0 }"
		range	{ -1! 1! }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "divergence_guideplaneval" }
	    }
	    parm {
		name	"divergence_guidevismode"
		label	"Visualization Mode"
		type	ordinal
		joinnext
		default	{ "false" }
		disablewhen	"{ divergence_usesmoke == 1 divergence_guideremapsmoke == 0 } { divergence_usesmoke == 0 divergence_guideuseplane == 0 }"
		menu	{
		    "none"	"No Mapping"
		    "false"	"Infra-Red"
		    "pink"	"White to Red"
		    "mono"	"Grayscale"
		    "blackbody"	"Black Body"
		    "bipartite"	"Two-Tone"
		}
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "divergence_guidevismode" }
	    }
	    parm {
		name	"divergence_guidevisdensitymode"
		label	"Alpha Mapping"
		type	ordinal
		default	{ "none" }
		disablewhen	"{ divergence_usesmoke == 1 divergence_guideremapsmoke == 0 } { divergence_usesmoke == 0 divergence_guideuseplane == 0 }"
		menu	{
		    "none"	"No Mapping"
		    "increasing"	"Increasing"
		    "decreasing"	"Decreasing"
		    "hill"	"Hill"
		    "valley"	"Valley"
		    "step"	"Step"
		    "square"	"Square"
		}
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "divergence_guidevisdensitymode" }
	    }
	    parm {
		name	"divergence_guiderangemode"
		label	"Specify Range by Min/Max"
		type	toggle
		default	{ "on" }
		disablewhen	"{ divergence_usesmoke == 1 divergence_guideremapsmoke == 0 } { divergence_usesmoke == 0 divergence_guideuseplane == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "divergence_guiderangemode" }
	    }
	    parm {
		name	"divergence_guiderange"
		label	"Guide Range"
		type	float
		size	2
		default	{ "0" "1" }
		hidewhen	"{ divergence_usesmoke == 1 divergence_guideremapsmoke == 0 } { divergence_usesmoke == 0 divergence_guideuseplane == 0 } { divergence_guiderangemode == 0 }"
		range	{ 0 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "divergence_guiderange" }
	    }
	    parm {
		name	"divergence_guiderangecenter"
		label	"Guide Range Center"
		type	float
		default	{ "0.5" }
		hidewhen	"{ divergence_usesmoke == 1 divergence_guideremapsmoke == 0 } { divergence_usesmoke == 0 divergence_guideuseplane == 0 } { divergence_guiderangemode == 1 }"
		range	{ -1 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "divergence_guiderangecenter" }
	    }
	    parm {
		name	"divergence_guiderangesize"
		label	"Guide Range Width"
		type	float
		default	{ "1" }
		hidewhen	"{ divergence_usesmoke == 1 divergence_guideremapsmoke == 0 } { divergence_usesmoke == 0 divergence_guideuseplane == 0 } { divergence_guiderangemode == 1 }"
		range	{ 0 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "divergence_guiderangesize" }
	    }
	    parm {
		name	"divergence_guideiso"
		label	"Iso Offset"
		type	float
		default	{ "0" }
		disablewhen	"{ divergence_usesmoke == 1 } { divergence_guideuseplane == 1 }"
		range	{ -5 5 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "divergence_guideiso" }
	    }
	    parm {
		name	"divergence_guideinvert"
		label	"Invert Iso"
		type	toggle
		default	{ "off" }
		disablewhen	"{ divergence_usesmoke == 1 } { divergence_guideuseplane == 1 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "divergence_guideinvert" }
	    }
	}

	group {
	    name	"folder0_6"
	    label	"Burn"
	    grouptag	{ "import_source" "op:smokeconfigureobject2" }
	    grouptag	{ "import_token" "folder0:Burn" }

	    parm {
		name	"burn_usebox"
		label	"Bounding Box"
		type	toggle
		joinnext
		default	{ "off" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "burn_usebox" }
	    }
	    parm {
		name	"burn_useboxhash"
		label	"Bounding Box Hash"
		type	toggle
		default	{ "off" }
		disablewhen	"{ burn_usebox == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "burn_useboxhash" }
	    }
	    parm {
		name	"burn_usesmoke"
		label	"Use Smoke   "
		type	toggle
		joinnext
		default	{ "on" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "burn_usesmoke" }
	    }
	    parm {
		name	"burn_guideremapsmoke"
		label	"Remap Smoke"
		type	toggle
		default	{ "off" }
		disablewhen	"{ burn_usesmoke == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "burn_guideremapsmoke" }
	    }
	    parm {
		name	"burn_guidesmokedensity"
		label	"Smoke Density"
		type	float
		default	{ "1" }
		disablewhen	"{ burn_usesmoke == 0 }"
		range	{ 0! 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "burn_guidesmokedensity" }
	    }
	    parm {
		name	"burn_guideuseplane"
		label	"Use Plane     "
		type	toggle
		joinnext
		default	{ "off" }
		disablewhen	"{ burn_usesmoke == 1 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "burn_guideuseplane" }
	    }
	    parm {
		name	"burn_guideplane"
		label	"Plane Orientation"
		type	ordinal
		default	{ "xy" }
		disablewhen	"{ burn_usesmoke == 1 } { burn_guideuseplane == 0 }"
		menu	{
		    "xy"	"XY Plane"
		    "yz"	"YZ Plane"
		    "zx"	"ZX Plane"
		}
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "burn_guideplane" }
	    }
	    parm {
		name	"burn_guideplaneval"
		label	"Plane Position"
		type	float
		default	{ "0" }
		disablewhen	"{ burn_usesmoke == 1 } { burn_guideuseplane == 0 }"
		range	{ -1! 1! }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "burn_guideplaneval" }
	    }
	    parm {
		name	"burn_guidevismode"
		label	"Visualization Mode"
		type	ordinal
		joinnext
		default	{ "false" }
		disablewhen	"{ burn_usesmoke == 1 burn_guideremapsmoke == 0 } { burn_usesmoke == 0 burn_guideuseplane == 0 }"
		menu	{
		    "none"	"No Mapping"
		    "false"	"Infra-Red"
		    "pink"	"White to Red"
		    "mono"	"Grayscale"
		    "blackbody"	"Black Body"
		    "bipartite"	"Two-Tone"
		}
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "burn_guidevismode" }
	    }
	    parm {
		name	"burn_guidevisdensitymode"
		label	"Alpha Mapping"
		type	ordinal
		default	{ "none" }
		disablewhen	"{ burn_usesmoke == 1 burn_guideremapsmoke == 0 } { burn_usesmoke == 0 burn_guideuseplane == 0 }"
		menu	{
		    "none"	"No Mapping"
		    "increasing"	"Increasing"
		    "decreasing"	"Decreasing"
		    "hill"	"Hill"
		    "valley"	"Valley"
		    "step"	"Step"
		    "square"	"Square"
		}
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "burn_guidevisdensitymode" }
	    }
	    parm {
		name	"burn_guiderangemode"
		label	"Specify Range by Min/Max"
		type	toggle
		default	{ "on" }
		disablewhen	"{ burn_usesmoke == 1 burn_guideremapsmoke == 0 } { burn_usesmoke == 0 burn_guideuseplane == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "burn_guiderangemode" }
	    }
	    parm {
		name	"burn_guiderange"
		label	"Guide Range"
		type	float
		size	2
		default	{ "0" "1" }
		hidewhen	"{ burn_usesmoke == 1 burn_guideremapsmoke == 0 } { burn_usesmoke == 0 burn_guideuseplane == 0 } { burn_guiderangemode == 0 }"
		range	{ 0 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "burn_guiderange" }
	    }
	    parm {
		name	"burn_guiderangecenter"
		label	"Guide Range Center"
		type	float
		default	{ "0.5" }
		hidewhen	"{ burn_usesmoke == 1 burn_guideremapsmoke == 0 } { burn_usesmoke == 0 burn_guideuseplane == 0 } { burn_guiderangemode == 1 }"
		range	{ -1 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "burn_guiderangecenter" }
	    }
	    parm {
		name	"burn_guiderangesize"
		label	"Guide Range Width"
		type	float
		default	{ "1" }
		hidewhen	"{ burn_usesmoke == 1 burn_guideremapsmoke == 0 } { burn_usesmoke == 0 burn_guideuseplane == 0 } { burn_guiderangemode == 1 }"
		range	{ 0 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "burn_guiderangesize" }
	    }
	    parm {
		name	"burn_guideiso"
		label	"Iso Offset"
		type	float
		default	{ "0" }
		disablewhen	"{ burn_usesmoke == 1 } { burn_guideuseplane == 1 }"
		range	{ -5 5 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "burn_guideiso" }
	    }
	    parm {
		name	"burn_guideinvert"
		label	"Invert Iso"
		type	toggle
		default	{ "off" }
		disablewhen	"{ burn_usesmoke == 1 } { burn_guideuseplane == 1 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "burn_guideinvert" }
	    }
	}

	group {
	    name	"folder0_7"
	    label	"Heat"
	    grouptag	{ "import_source" "op:smokeconfigureobject2" }
	    grouptag	{ "import_token" "folder0:Heat" }

	    parm {
		name	"heat_usebox"
		label	"Bounding Box"
		type	toggle
		joinnext
		default	{ "off" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "heat_usebox" }
	    }
	    parm {
		name	"heat_useboxhash"
		label	"Bounding Box Hash"
		type	toggle
		default	{ "off" }
		disablewhen	"{ heat_usebox == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "heat_useboxhash" }
	    }
	    parm {
		name	"heat_usesmoke"
		label	"Use Smoke   "
		type	toggle
		joinnext
		default	{ "on" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "heat_usesmoke" }
	    }
	    parm {
		name	"heat_guideremapsmoke"
		label	"Remap Smoke"
		type	toggle
		default	{ "off" }
		disablewhen	"{ heat_usesmoke == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "heat_guideremapsmoke" }
	    }
	    parm {
		name	"heat_guidesmokedensity"
		label	"Smoke Density"
		type	float
		default	{ "1" }
		disablewhen	"{ heat_usesmoke == 0 }"
		range	{ 0! 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "heat_guidesmokedensity" }
	    }
	    parm {
		name	"heat_guideuseplane"
		label	"Use Plane     "
		type	toggle
		joinnext
		default	{ "off" }
		disablewhen	"{ heat_usesmoke == 1 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "heat_guideuseplane" }
	    }
	    parm {
		name	"heat_guideplane"
		label	"Plane Orientation"
		type	ordinal
		default	{ "xy" }
		disablewhen	"{ heat_usesmoke == 1 } { heat_guideuseplane == 0 }"
		menu	{
		    "xy"	"XY Plane"
		    "yz"	"YZ Plane"
		    "zx"	"ZX Plane"
		}
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "heat_guideplane" }
	    }
	    parm {
		name	"heat_guideplaneval"
		label	"Plane Position"
		type	float
		default	{ "0" }
		disablewhen	"{ heat_usesmoke == 1 } { heat_guideuseplane == 0 }"
		range	{ -1! 1! }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "heat_guideplaneval" }
	    }
	    parm {
		name	"heat_guidevismode"
		label	"Visualization Mode"
		type	ordinal
		joinnext
		default	{ "blackbody" }
		disablewhen	"{ heat_usesmoke == 1 heat_guideremapsmoke == 0 } { heat_usesmoke == 0 heat_guideuseplane == 0 }"
		menu	{
		    "none"	"No Mapping"
		    "false"	"Infra-Red"
		    "pink"	"White to Red"
		    "mono"	"Grayscale"
		    "blackbody"	"Black Body"
		    "bipartite"	"Two-Tone"
		}
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "heat_guidevismode" }
	    }
	    parm {
		name	"heat_guidevisdensitymode"
		label	"Alpha Mapping"
		type	ordinal
		default	{ "none" }
		disablewhen	"{ heat_usesmoke == 1 heat_guideremapsmoke == 0 } { heat_usesmoke == 0 heat_guideuseplane == 0 }"
		menu	{
		    "none"	"No Mapping"
		    "increasing"	"Increasing"
		    "decreasing"	"Decreasing"
		    "hill"	"Hill"
		    "valley"	"Valley"
		    "step"	"Step"
		    "square"	"Square"
		}
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "heat_guidevisdensitymode" }
	    }
	    parm {
		name	"heat_guiderangemode"
		label	"Specify Range by Min/Max"
		type	toggle
		default	{ "on" }
		disablewhen	"{ heat_usesmoke == 1 heat_guideremapsmoke == 0 } { heat_usesmoke == 0 heat_guideuseplane == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "heat_guiderangemode" }
	    }
	    parm {
		name	"heat_guiderange"
		label	"Guide Range"
		type	float
		size	2
		default	{ "0" "1" }
		hidewhen	"{ heat_usesmoke == 1 heat_guideremapsmoke == 0 } { heat_usesmoke == 0 heat_guideuseplane == 0 } { heat_guiderangemode == 0 }"
		range	{ 0 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "heat_guiderange" }
	    }
	    parm {
		name	"heat_guiderangecenter"
		label	"Guide Range Center"
		type	float
		default	{ "0.5" }
		hidewhen	"{ heat_usesmoke == 1 heat_guideremapsmoke == 0 } { heat_usesmoke == 0 heat_guideuseplane == 0 } { heat_guiderangemode == 1 }"
		range	{ -1 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "heat_guiderangecenter" }
	    }
	    parm {
		name	"heat_guiderangesize"
		label	"Guide Range Width"
		type	float
		default	{ "1" }
		hidewhen	"{ heat_usesmoke == 1 heat_guideremapsmoke == 0 } { heat_usesmoke == 0 heat_guideuseplane == 0 } { heat_guiderangemode == 1 }"
		range	{ 0 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "heat_guiderangesize" }
	    }
	    parm {
		name	"heat_guideiso"
		label	"Iso Offset"
		type	float
		default	{ "0" }
		disablewhen	"{ heat_usesmoke == 1 } { heat_guideuseplane == 1 }"
		range	{ -5 5 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "heat_guideiso" }
	    }
	    parm {
		name	"heat_guideinvert"
		label	"Invert Iso"
		type	toggle
		default	{ "on" }
		disablewhen	"{ heat_usesmoke == 1 } { heat_guideuseplane == 1 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "heat_guideinvert" }
	    }
	}

	group {
	    name	"folder0_8"
	    label	"Velocity"
	    grouptag	{ "import_source" "op:smokeconfigureobject2" }
	    grouptag	{ "import_token" "folder0:Velocity" }

	    parm {
		name	"velocity_guideusebox"
		label	"Bounding Box"
		type	toggle
		joinnext
		default	{ "off" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "velocity_guideusebox" }
	    }
	    parm {
		name	"velocity_guideuseboxhash"
		label	"Bounding Box Hash"
		type	toggle
		default	{ "off" }
		disablewhen	"{ velocity_guideusebox == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "velocity_guideuseboxhash" }
	    }
	    parm {
		name	"velocity_guideusesmoke"
		label	"Use Smoke"
		type	toggle
		default	{ "off" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "velocity_guideusesmoke" }
	    }
	    parm {
		name	"velocity_guidescale"
		label	"Scale"
		type	float
		default	{ "1" }
		range	{ 0 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "velocity_guidescale" }
	    }
	    parm {
		name	"velocity_guideoverridediv"
		label	"Override Divisions"
		type	toggle
		default	{ "off" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "velocity_guideoverridediv" }
	    }
	    parm {
		name	"velocity_guidediv"
		label	"Divisions"
		type	intvector
		size	3
		default	{ "10" "10" "10" }
		disablewhen	"{ velocity_guideoverridediv == 0 }"
		range	{ 1! 1000 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "velocity_guidediv" }
	    }
	    parm {
		name	"velocity_guidebarbs"
		label	"Use Barbs on Vectors"
		type	toggle
		default	{ "on" }
		disablewhen	"{ velocity_guideusesmoke == 1 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "velocity_guidebarbs" }
	    }
	    parm {
		name	"velocity_guidepercomp"
		label	"Component Velocities"
		type	toggle
		default	{ "off" }
		disablewhen	"{ velocity_guideusesmoke == 1 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "velocity_guidepercomp" }
	    }
	    parm {
		name	"velocity_guideusestreamers"
		label	"Use Streamers"
		type	toggle
		joinnext
		default	{ "on" }
		disablewhen	"{ velocity_guideusesmoke == 1 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "velocity_guideusestreamers" }
	    }
	    parm {
		name	"velocity_guideuseplane"
		label	"Use Plane"
		type	toggle
		default	{ "off" }
		disablewhen	"{ velocity_guideusesmoke == 1 } { velocity_guideusestreamers == 1 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "velocity_guideuseplane" }
	    }
	    parm {
		name	"velocity_guideplane"
		label	"Plane Orientation"
		type	ordinal
		default	{ "xy" }
		disablewhen	"{ velocity_guideusesmoke == 1 } { velocity_guideusestreamers == 0 velocity_guideuseplane == 0 }"
		menu	{
		    "xy"	"XY Plane"
		    "yz"	"YZ Plane"
		    "zx"	"ZX Plane"
		}
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "velocity_guideplane" }
	    }
	    parm {
		name	"velocity_guideplaneval"
		label	"Plane Position"
		type	float
		default	{ "0" }
		disablewhen	"{ velocity_guideusesmoke == 1 } { velocity_guideusestreamers == 0 velocity_guideuseplane == 0 }"
		range	{ -1! 1! }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "velocity_guideplaneval" }
	    }
	    parm {
		name	"velocity_guidestreamerlen"
		label	"Streamer Length"
		type	float
		default	{ "1" }
		disablewhen	"{ velocity_guideusesmoke == 1 } { velocity_guideusestreamers == 0 }"
		range	{ 0 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "velocity_guidestreamerlen" }
	    }
	    parm {
		name	"velocity_guidestreamerminspeed"
		label	"Streamer Minimum Speed"
		type	float
		default	{ "0.001" }
		disablewhen	"{ velocity_guideusesmoke == 1 } { velocity_guideusestreamers == 0 }"
		range	{ 0 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "velocity_guidestreamerminspeed" }
	    }
	    parm {
		name	"velocity_guidevistype"
		label	"Visualization Type"
		type	ordinal
		default	{ "speed" }
		disablewhen	"{ velocity_guideusesmoke == 1 }"
		menu	{
		    "none"	"None"
		    "distance"	"Distance"
		    "speed"	"Speed"
		    "origin"	"Origin"
		    "dir"	"Direction"
		    "value"	"Value"
		}
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "velocity_guidevistype" }
	    }
	    parm {
		name	"velocity_guidevismode"
		label	"Visualization Mode"
		type	ordinal
		default	{ "false" }
		disablewhen	"{ velocity_guideusesmoke == 1 } { velocity_guidevistype != distance velocity_guidevistype != speed }"
		menu	{
		    "false"	"Infra-Red"
		    "pink"	"White to Red"
		    "mono"	"Grayscale"
		    "blackbody"	"Black Body"
		    "bipartite"	"Two-Tone"
		}
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "velocity_guidevismode" }
	    }
	    parm {
		name	"velocity_guidevisscale"
		label	"Visualization Scale"
		type	float
		default	{ "1" }
		disablewhen	"{ velocity_guideusesmoke == 1 }"
		range	{ 0 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "velocity_guidevisscale" }
	    }
	    parm {
		name	"velocity_guiderange"
		label	"Visualization Range"
		type	float
		size	2
		default	{ "0" "1" }
		disablewhen	"{ velocity_guideusesmoke == 1 }"
		range	{ 0 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "velocity_guiderange" }
	    }
	}

	group {
	    name	"folder0_9"
	    label	"Collision"
	    grouptag	{ "import_source" "op:smokeconfigureobject2" }
	    grouptag	{ "import_token" "folder0:Collision" }

	    parm {
		name	"collisionmask1_usebox"
		label	"Bounding Box"
		type	toggle
		joinnext
		default	{ "off" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "collisionmask1_usebox" }
	    }
	    parm {
		name	"collisionmask1_useboxhash"
		label	"Bounding Box Hash"
		type	toggle
		default	{ "off" }
		disablewhen	"{ collisionmask1_usebox == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "collisionmask1_useboxhash" }
	    }
	    parm {
		name	"collisionmask1_usesmoke"
		label	"Use Smoke   "
		type	toggle
		joinnext
		default	{ "off" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "collisionmask1_usesmoke" }
	    }
	    parm {
		name	"collisionmask1_guideremapsmoke"
		label	"Remap Smoke"
		type	toggle
		default	{ "off" }
		disablewhen	"{ collisionmask1_usesmoke == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "collisionmask1_guideremapsmoke" }
	    }
	    parm {
		name	"collisionmask1_guidesmokedensity"
		label	"Smoke Density"
		type	float
		default	{ "1" }
		disablewhen	"{ collisionmask1_usesmoke == 0 }"
		range	{ 0! 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "collisionmask1_guidesmokedensity" }
	    }
	    parm {
		name	"collisionmask1_guideuseplane"
		label	"Use Plane     "
		type	toggle
		joinnext
		default	{ "off" }
		disablewhen	"{ collisionmask1_usesmoke == 1 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "collisionmask1_guideuseplane" }
	    }
	    parm {
		name	"collisionmask1_guideplane"
		label	"Plane Orientation"
		type	ordinal
		default	{ "xy" }
		disablewhen	"{ collisionmask1_usesmoke == 1 } { collisionmask1_guideuseplane == 0 }"
		menu	{
		    "xy"	"XY Plane"
		    "yz"	"YZ Plane"
		    "zx"	"ZX Plane"
		}
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "collisionmask1_guideplane" }
	    }
	    parm {
		name	"collisionmask1_guideplaneval"
		label	"Plane Position"
		type	float
		default	{ "0" }
		disablewhen	"{ collisionmask1_usesmoke == 1 } { collisionmask1_guideuseplane == 0 }"
		range	{ -1! 1! }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "collisionmask1_guideplaneval" }
	    }
	    parm {
		name	"collisionmask1_guidevismode"
		label	"Visualization Mode"
		type	ordinal
		joinnext
		default	{ "false" }
		disablewhen	"{ collisionmask1_usesmoke == 1 collisionmask1_guideremapsmoke == 0 } { collisionmask1_usesmoke == 0 collisionmask1_guideuseplane == 0 }"
		menu	{
		    "none"	"No Mapping"
		    "false"	"Infra-Red"
		    "pink"	"White to Red"
		    "mono"	"Grayscale"
		    "blackbody"	"Black Body"
		    "bipartite"	"Two-Tone"
		}
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "collisionmask1_guidevismode" }
	    }
	    parm {
		name	"collisionmask1_guidevisdensitymode"
		label	"Alpha Mapping"
		type	ordinal
		default	{ "none" }
		disablewhen	"{ collisionmask1_usesmoke == 1 collisionmask1_guideremapsmoke == 0 } { collisionmask1_usesmoke == 0 collisionmask1_guideuseplane == 0 }"
		menu	{
		    "none"	"No Mapping"
		    "increasing"	"Increasing"
		    "decreasing"	"Decreasing"
		    "hill"	"Hill"
		    "valley"	"Valley"
		    "step"	"Step"
		    "square"	"Square"
		}
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "collisionmask1_guidevisdensitymode" }
	    }
	    parm {
		name	"collisionmask1_guiderangemode"
		label	"Specify Range by Min/Max"
		type	toggle
		default	{ "on" }
		disablewhen	"{ collisionmask1_usesmoke == 1 collisionmask1_guideremapsmoke == 0 } { collisionmask1_usesmoke == 0 collisionmask1_guideuseplane == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "collisionmask1_guiderangemode" }
	    }
	    parm {
		name	"collisionmask1_guiderange"
		label	"Guide Range"
		type	float
		size	2
		default	{ "0" "1" }
		hidewhen	"{ collisionmask1_usesmoke == 1 collisionmask1_guideremapsmoke == 0 } { collisionmask1_usesmoke == 0 collisionmask1_guideuseplane == 0 } { collisionmask1_guiderangemode == 0 }"
		range	{ 0 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "collisionmask1_guiderange" }
	    }
	    parm {
		name	"collisionmask1_guiderangecenter"
		label	"Guide Range Center"
		type	float
		default	{ "0.5" }
		hidewhen	"{ collisionmask1_usesmoke == 1 collisionmask1_guideremapsmoke == 0 } { collisionmask1_usesmoke == 0 collisionmask1_guideuseplane == 0 } { collisionmask1_guiderangemode == 1 }"
		range	{ -1 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "collisionmask1_guiderangecenter" }
	    }
	    parm {
		name	"collisionmask1_guiderangesize"
		label	"Guide Range Width"
		type	float
		default	{ "1" }
		hidewhen	"{ collisionmask1_usesmoke == 1 collisionmask1_guideremapsmoke == 0 } { collisionmask1_usesmoke == 0 collisionmask1_guideuseplane == 0 } { collisionmask1_guiderangemode == 1 }"
		range	{ 0 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "collisionmask1_guiderangesize" }
	    }
	    parm {
		name	"collisionmask1_guideiso"
		label	"Iso Offset"
		type	float
		default	{ "0" }
		disablewhen	"{ collisionmask1_usesmoke == 1 } { collisionmask1_guideuseplane == 1 }"
		range	{ -5 5 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "collisionmask1_guideiso" }
	    }
	    parm {
		name	"collisionmask1_guideinvert"
		label	"Invert Iso"
		type	toggle
		default	{ "on" }
		disablewhen	"{ collisionmask1_usesmoke == 1 } { collisionmask1_guideuseplane == 1 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "collisionmask1_guideinvert" }
	    }
	}

	group {
	    name	"folder0_10"
	    label	"Source"
	    grouptag	{ "import_source" "op:smokeconfigureobject2" }
	    grouptag	{ "import_token" "folder0:Source" }

	    parm {
		name	"sourcemask1_usebox"
		label	"Bounding Box"
		type	toggle
		joinnext
		default	{ "off" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "sourcemask1_usebox" }
	    }
	    parm {
		name	"sourcemask1_useboxhash"
		label	"Bounding Box Hash"
		type	toggle
		default	{ "off" }
		disablewhen	"{ sourcemask1_usebox == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "sourcemask1_useboxhash" }
	    }
	    parm {
		name	"sourcemask1_usesmoke"
		label	"Use Smoke   "
		type	toggle
		joinnext
		default	{ "on" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "sourcemask1_usesmoke" }
	    }
	    parm {
		name	"sourcemask1_guideremapsmoke"
		label	"Remap Smoke"
		type	toggle
		default	{ "off" }
		disablewhen	"{ sourcemask1_usesmoke == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "sourcemask1_guideremapsmoke" }
	    }
	    parm {
		name	"sourcemask1_guidesmokedensity"
		label	"Smoke Density"
		type	float
		default	{ "1" }
		disablewhen	"{ sourcemask1_usesmoke == 0 }"
		range	{ 0! 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "sourcemask1_guidesmokedensity" }
	    }
	    parm {
		name	"sourcemask1_guideuseplane"
		label	"Use Plane     "
		type	toggle
		joinnext
		default	{ "off" }
		disablewhen	"{ sourcemask1_usesmoke == 1 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "sourcemask1_guideuseplane" }
	    }
	    parm {
		name	"sourcemask1_guideplane"
		label	"Plane Orientation"
		type	ordinal
		default	{ "xy" }
		disablewhen	"{ sourcemask1_usesmoke == 1 } { sourcemask1_guideuseplane == 0 }"
		menu	{
		    "xy"	"XY Plane"
		    "yz"	"YZ Plane"
		    "zx"	"ZX Plane"
		}
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "sourcemask1_guideplane" }
	    }
	    parm {
		name	"sourcemask1_guideplaneval"
		label	"Plane Position"
		type	float
		default	{ "0" }
		disablewhen	"{ sourcemask1_usesmoke == 1 } { sourcemask1_guideuseplane == 0 }"
		range	{ -1! 1! }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "sourcemask1_guideplaneval" }
	    }
	    parm {
		name	"sourcemask1_guidevismode"
		label	"Visualization Mode"
		type	ordinal
		joinnext
		default	{ "false" }
		disablewhen	"{ sourcemask1_usesmoke == 1 sourcemask1_guideremapsmoke == 0 } { sourcemask1_usesmoke == 0 sourcemask1_guideuseplane == 0 }"
		menu	{
		    "none"	"No Mapping"
		    "false"	"Infra-Red"
		    "pink"	"White to Red"
		    "mono"	"Grayscale"
		    "blackbody"	"Black Body"
		    "bipartite"	"Two-Tone"
		}
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "sourcemask1_guidevismode" }
	    }
	    parm {
		name	"sourcemask1_guidevisdensitymode"
		label	"Alpha Mapping"
		type	ordinal
		default	{ "none" }
		disablewhen	"{ sourcemask1_usesmoke == 1 sourcemask1_guideremapsmoke == 0 } { sourcemask1_usesmoke == 0 sourcemask1_guideuseplane == 0 }"
		menu	{
		    "none"	"No Mapping"
		    "increasing"	"Increasing"
		    "decreasing"	"Decreasing"
		    "hill"	"Hill"
		    "valley"	"Valley"
		    "step"	"Step"
		    "square"	"Square"
		}
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "sourcemask1_guidevisdensitymode" }
	    }
	    parm {
		name	"sourcemask1_guiderangemode"
		label	"Specify Range by Min/Max"
		type	toggle
		default	{ "on" }
		disablewhen	"{ sourcemask1_usesmoke == 1 sourcemask1_guideremapsmoke == 0 } { sourcemask1_usesmoke == 0 sourcemask1_guideuseplane == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "sourcemask1_guiderangemode" }
	    }
	    parm {
		name	"sourcemask1_guiderange"
		label	"Guide Range"
		type	float
		size	2
		default	{ "0" "1" }
		hidewhen	"{ sourcemask1_usesmoke == 1 sourcemask1_guideremapsmoke == 0 } { sourcemask1_usesmoke == 0 sourcemask1_guideuseplane == 0 } { sourcemask1_guiderangemode == 0 }"
		range	{ 0 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "sourcemask1_guiderange" }
	    }
	    parm {
		name	"sourcemask1_guiderangecenter"
		label	"Guide Range Center"
		type	float
		default	{ "0.5" }
		hidewhen	"{ sourcemask1_usesmoke == 1 sourcemask1_guideremapsmoke == 0 } { sourcemask1_usesmoke == 0 sourcemask1_guideuseplane == 0 } { sourcemask1_guiderangemode == 1 }"
		range	{ -1 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "sourcemask1_guiderangecenter" }
	    }
	    parm {
		name	"sourcemask1_guiderangesize"
		label	"Guide Range Width"
		type	float
		default	{ "1" }
		hidewhen	"{ sourcemask1_usesmoke == 1 sourcemask1_guideremapsmoke == 0 } { sourcemask1_usesmoke == 0 sourcemask1_guideuseplane == 0 } { sourcemask1_guiderangemode == 1 }"
		range	{ 0 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "sourcemask1_guiderangesize" }
	    }
	    parm {
		name	"sourcemask1_guideiso"
		label	"Iso Offset"
		type	float
		default	{ "0" }
		disablewhen	"{ sourcemask1_usesmoke == 1 } { sourcemask1_guideuseplane == 1 }"
		range	{ -5 5 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "sourcemask1_guideiso" }
	    }
	    parm {
		name	"sourcemask1_guideinvert"
		label	"Invert Iso"
		type	toggle
		default	{ "off" }
		disablewhen	"{ sourcemask1_usesmoke == 1 } { sourcemask1_guideuseplane == 1 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "sourcemask1_guideinvert" }
	    }
	}

	group {
	    name	"folder0_11"
	    label	"Sink"
	    grouptag	{ "import_source" "op:smokeconfigureobject2" }
	    grouptag	{ "import_token" "folder0:Sink" }

	    parm {
		name	"sinkmask1_usebox"
		label	"Bounding Box"
		type	toggle
		joinnext
		default	{ "off" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "sinkmask1_usebox" }
	    }
	    parm {
		name	"sinkmask1_useboxhash"
		label	"Bounding Box Hash"
		type	toggle
		default	{ "off" }
		disablewhen	"{ sinkmask1_usebox == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "sinkmask1_useboxhash" }
	    }
	    parm {
		name	"sinkmask1_usesmoke"
		label	"Use Smoke   "
		type	toggle
		joinnext
		default	{ "on" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "sinkmask1_usesmoke" }
	    }
	    parm {
		name	"sinkmask1_guideremapsmoke"
		label	"Remap Smoke"
		type	toggle
		default	{ "off" }
		disablewhen	"{ sinkmask1_usesmoke == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "sinkmask1_guideremapsmoke" }
	    }
	    parm {
		name	"sinkmask1_guidesmokedensity"
		label	"Smoke Density"
		type	float
		default	{ "1" }
		disablewhen	"{ sinkmask1_usesmoke == 0 }"
		range	{ 0! 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "sinkmask1_guidesmokedensity" }
	    }
	    parm {
		name	"sinkmask1_guideuseplane"
		label	"Use Plane     "
		type	toggle
		joinnext
		default	{ "off" }
		disablewhen	"{ sinkmask1_usesmoke == 1 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "sinkmask1_guideuseplane" }
	    }
	    parm {
		name	"sinkmask1_guideplane"
		label	"Plane Orientation"
		type	ordinal
		default	{ "xy" }
		disablewhen	"{ sinkmask1_usesmoke == 1 } { sinkmask1_guideuseplane == 0 }"
		menu	{
		    "xy"	"XY Plane"
		    "yz"	"YZ Plane"
		    "zx"	"ZX Plane"
		}
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "sinkmask1_guideplane" }
	    }
	    parm {
		name	"sinkmask1_guideplaneval"
		label	"Plane Position"
		type	float
		default	{ "0" }
		disablewhen	"{ sinkmask1_usesmoke == 1 } { sinkmask1_guideuseplane == 0 }"
		range	{ -1! 1! }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "sinkmask1_guideplaneval" }
	    }
	    parm {
		name	"sinkmask1_guidevismode"
		label	"Visualization Mode"
		type	ordinal
		joinnext
		default	{ "false" }
		disablewhen	"{ sinkmask1_usesmoke == 1 sinkmask1_guideremapsmoke == 0 } { sinkmask1_usesmoke == 0 sinkmask1_guideuseplane == 0 }"
		menu	{
		    "none"	"No Mapping"
		    "false"	"Infra-Red"
		    "pink"	"White to Red"
		    "mono"	"Grayscale"
		    "blackbody"	"Black Body"
		    "bipartite"	"Two-Tone"
		}
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "sinkmask1_guidevismode" }
	    }
	    parm {
		name	"sinkmask1_guidevisdensitymode"
		label	"Alpha Mapping"
		type	ordinal
		default	{ "none" }
		disablewhen	"{ sinkmask1_usesmoke == 1 sinkmask1_guideremapsmoke == 0 } { sinkmask1_usesmoke == 0 sinkmask1_guideuseplane == 0 }"
		menu	{
		    "none"	"No Mapping"
		    "increasing"	"Increasing"
		    "decreasing"	"Decreasing"
		    "hill"	"Hill"
		    "valley"	"Valley"
		    "step"	"Step"
		    "square"	"Square"
		}
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "sinkmask1_guidevisdensitymode" }
	    }
	    parm {
		name	"sinkmask1_guiderangemode"
		label	"Specify Range by Min/Max"
		type	toggle
		default	{ "on" }
		disablewhen	"{ sinkmask1_usesmoke == 1 sinkmask1_guideremapsmoke == 0 } { sinkmask1_usesmoke == 0 sinkmask1_guideuseplane == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "sinkmask1_guiderangemode" }
	    }
	    parm {
		name	"sinkmask1_guiderange"
		label	"Guide Range"
		type	float
		size	2
		default	{ "0" "1" }
		hidewhen	"{ sinkmask1_usesmoke == 1 sinkmask1_guideremapsmoke == 0 } { sinkmask1_usesmoke == 0 sinkmask1_guideuseplane == 0 } { sinkmask1_guiderangemode == 0 }"
		range	{ 0 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "sinkmask1_guiderange" }
	    }
	    parm {
		name	"sinkmask1_guiderangecenter"
		label	"Guide Range Center"
		type	float
		default	{ "0.5" }
		hidewhen	"{ sinkmask1_usesmoke == 1 sinkmask1_guideremapsmoke == 0 } { sinkmask1_usesmoke == 0 sinkmask1_guideuseplane == 0 } { sinkmask1_guiderangemode == 1 }"
		range	{ -1 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "sinkmask1_guiderangecenter" }
	    }
	    parm {
		name	"sinkmask1_guiderangesize"
		label	"Guide Range Width"
		type	float
		default	{ "1" }
		hidewhen	"{ sinkmask1_usesmoke == 1 sinkmask1_guideremapsmoke == 0 } { sinkmask1_usesmoke == 0 sinkmask1_guideuseplane == 0 } { sinkmask1_guiderangemode == 1 }"
		range	{ 0 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "sinkmask1_guiderangesize" }
	    }
	    parm {
		name	"sinkmask1_guideiso"
		label	"Iso Offset"
		type	float
		default	{ "0" }
		disablewhen	"{ sinkmask1_usesmoke == 1 } { sinkmask1_guideuseplane == 1 }"
		range	{ -5 5 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "sinkmask1_guideiso" }
	    }
	    parm {
		name	"sinkmask1_guideinvert"
		label	"Invert Iso"
		type	toggle
		default	{ "off" }
		disablewhen	"{ sinkmask1_usesmoke == 1 } { sinkmask1_guideuseplane == 1 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "sinkmask1_guideinvert" }
	    }
	}

	group {
	    name	"folder0_12"
	    label	"Pump"
	    grouptag	{ "import_source" "op:smokeconfigureobject2" }
	    grouptag	{ "import_token" "folder0:Pump" }

	    parm {
		name	"pumpmask1_showguide"
		label	"Show Guide Geometry"
		type	toggle
		default	{ "off" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "pumpmask1_showguide" }
	    }
	    parm {
		name	"pumpmask1_color"
		label	"Color"
		type	color
		size	3
		default	{ "0" "0" "1" }
		range	{ 0! 1! }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "pumpmask1_color" }
	    }
	    parm {
		name	"pumpmask1_usebox"
		label	"Bounding Box"
		type	toggle
		joinnext
		default	{ "off" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "pumpmask1_usebox" }
	    }
	    parm {
		name	"pumpmask1_useboxhash"
		label	"Bounding Box Hash"
		type	toggle
		default	{ "off" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "pumpmask1_useboxhash" }
	    }
	    parm {
		name	"pumpmask1_usesmoke"
		label	"Use Smoke   "
		type	toggle
		joinnext
		default	{ "off" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "pumpmask1_usesmoke" }
	    }
	    parm {
		name	"pumpmask1_guideremapsmoke"
		label	"Remap Smoke"
		type	toggle
		default	{ "off" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "pumpmask1_guideremapsmoke" }
	    }
	    parm {
		name	"pumpmask1_guidesmokedensity"
		label	"Smoke Density"
		type	float
		default	{ "1" }
		range	{ 0! 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "pumpmask1_guidesmokedensity" }
	    }
	    parm {
		name	"pumpmask1_guideuseplane"
		label	"Use Plane     "
		type	toggle
		joinnext
		default	{ "off" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "pumpmask1_guideuseplane" }
	    }
	    parm {
		name	"pumpmask1_guideplane"
		label	"Plane Orientation"
		type	ordinal
		default	{ "xy" }
		disablewhen	"{ pumpmask1_guideuseplane == 0 }"
		menu	{
		    "xy"	"XY Plane"
		    "yz"	"YZ Plane"
		    "zx"	"ZX Plane"
		}
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "pumpmask1_guideplane" }
	    }
	    parm {
		name	"pumpmask1_guideplaneval"
		label	"Plane Position"
		type	float
		default	{ "0" }
		disablewhen	"{ pumpmask1_guideuseplane == 0 }"
		range	{ -1! 1! }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "pumpmask1_guideplaneval" }
	    }
	    parm {
		name	"pumpmask1_guidevismode"
		label	"Visualization Mode"
		type	ordinal
		joinnext
		default	{ "false" }
		disablewhen	"{ pumpmask1_guideremapsmoke == 0 } { pumpmask1_guideuseplane == 0 }"
		menu	{
		    "none"	"No Mapping"
		    "false"	"Infra-Red"
		    "pink"	"White to Red"
		    "mono"	"Grayscale"
		    "blackbody"	"Black Body"
		    "bipartite"	"Two-Tone"
		}
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "pumpmask1_guidevismode" }
	    }
	    parm {
		name	"pumpmask1_guidevisdensitymode"
		label	"Alpha Mapping"
		type	ordinal
		default	{ "none" }
		disablewhen	"{ pumpmask1_guideremapsmoke == 0 } { pumpmask1_guideuseplane == 0 }"
		menu	{
		    "none"	"No Mapping"
		    "increasing"	"Increasing"
		    "decreasing"	"Decreasing"
		    "hill"	"Hill"
		    "valley"	"Valley"
		    "step"	"Step"
		    "square"	"Square"
		}
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "pumpmask1_guidevisdensitymode" }
	    }
	    parm {
		name	"pumpmask1_guiderangemode"
		label	"Specify Range by Min/Max"
		type	toggle
		default	{ "on" }
		disablewhen	"{ pumpmask1_guideremapsmoke == 0 } { pumpmask1_guideuseplane == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "pumpmask1_guiderangemode" }
	    }
	    parm {
		name	"pumpmask1_guiderange"
		label	"Guide Range"
		type	float
		size	2
		default	{ "0" "1" }
		hidewhen	"{ pumpmask1_guideremapsmoke == 0 } { pumpmask1_guideuseplane == 0 } { pumpmask1_guiderangemode == 0 }"
		range	{ 0 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "pumpmask1_guiderange" }
	    }
	    parm {
		name	"pumpmask1_guiderangecenter"
		label	"Guide Range Center"
		type	float
		default	{ "0.5" }
		hidewhen	"{ pumpmask1_guideremapsmoke == 0 } { pumpmask1_guideuseplane == 0 } { pumpmask1_guiderangemode == 1 }"
		range	{ -1 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "pumpmask1_guiderangecenter" }
	    }
	    parm {
		name	"pumpmask1_guiderangesize"
		label	"Guide Range Width"
		type	float
		default	{ "1" }
		hidewhen	"{ pumpmask1_guideremapsmoke == 0 } { pumpmask1_guideuseplane == 0 } { pumpmask1_guiderangemode == 1 }"
		range	{ 0 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "pumpmask1_guiderangesize" }
	    }
	    parm {
		name	"pumpmask1_guideiso"
		label	"Iso Offset"
		type	float
		default	{ "0" }
		disablewhen	"{ pumpmask1_guideuseplane == 1 }"
		range	{ -5 5 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "pumpmask1_guideiso" }
	    }
	    parm {
		name	"pumpmask1_guideinvert"
		label	"Invert Iso"
		type	toggle
		default	{ "off" }
		disablewhen	"{ pumpmask1_guideuseplane == 1 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "pumpmask1_guideinvert" }
	    }
	}

    }

    group {
	name	"std_switcher_0_1"
	label	"Initial Data"

	parm {
	    name	"density_soppath"
	    label	"Density SOP Path"
	    type	oppath
	    joinnext
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	    parmtag	{ "opfilter" "!!SOP!!" }
	    parmtag	{ "oprelative" "." }
	}
	parm {
	    name	"density_scalevalue"
	    label	"Scale"
	    type	float
	    default	{ "1" }
	    range	{ 0 10 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"temperature_soppath"
	    label	"Temperature SOP Path"
	    type	oppath
	    joinnext
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	    parmtag	{ "opfilter" "!!SOP!!" }
	    parmtag	{ "oprelative" "." }
	}
	parm {
	    name	"temperature_scalevalue"
	    label	"Scale"
	    type	float
	    default	{ "1" }
	    range	{ 0 10 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"fuel_soppath"
	    label	"Fuel SOP Path"
	    type	oppath
	    joinnext
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	    parmtag	{ "opfilter" "!!SOP!!" }
	    parmtag	{ "oprelative" "." }
	}
	parm {
	    name	"fuel_scalevalue"
	    label	"Scale"
	    type	float
	    default	{ "1" }
	    range	{ 0 10 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"velocity_soppath"
	    label	"Velocity SOP Path"
	    type	oppath
	    joinnext
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	    parmtag	{ "opfilter" "!!SOP!!" }
	    parmtag	{ "oprelative" "." }
	}
	parm {
	    name	"velocity_scalevalue"
	    label	"Scale"
	    type	float
	    default	{ "1" }
	    range	{ 0 10 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"usetransform"
	    label	"Use Object Transform"
	    type	toggle
	    default	{ "on" }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"closedends"
	    label	"Closed Boundaries"
	    type	toggle
	    joinnext
	    default	{ "off" }
	    range	{ 0 1 }
	    export	all
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"closexneg"
	    label	"-X"
	    type	toggle
	    joinnext
	    default	{ "on" }
	    disablewhen	"{ closedends == 0 }"
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"closexpos"
	    label	"+X"
	    type	toggle
	    joinnext
	    default	{ "on" }
	    disablewhen	"{ closedends == 0 }"
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"closeyneg"
	    label	"-Y"
	    type	toggle
	    joinnext
	    default	{ "on" }
	    disablewhen	"{ closedends == 0 }"
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"closeypos"
	    label	"+Y"
	    type	toggle
	    joinnext
	    default	{ "on" }
	    disablewhen	"{ closedends == 0 }"
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"closezneg"
	    label	"-Z"
	    type	toggle
	    joinnext
	    default	{ "on" }
	    disablewhen	"{ closedends == 0 }"
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"closezpos"
	    label	"+Z"
	    type	toggle
	    default	{ "on" }
	    disablewhen	"{ closedends == 0 }"
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"velocity_direction"
	    label	"Wind Tunnel Direction"
	    type	vector
	    size	3
	    default	{ "0" "0" "0" }
	    range	{ -1 1 }
	    export	none
	    parmtag	{ "autoscope" "0000" }
	}
	parm {
	    name	"border"
	    label	"Border Type"
	    type	ordinal
	    default	{ "constant" }
	    menu	{
		"constant"	"Constant"
		"repeat"	"Repeat"
		"streak"	"Streak"
	    }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"restfield"
	    label	"Add Rest Field"
	    type	toggle
	    default	{ "off" }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"restresscale"
	    label	"Rest Division Scale"
	    type	float
	    default	{ "0.5" }
	    disablewhen	"{ restfield == 0 }"
	    range	{ 0! 2 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"velocity_voxelsample"
	    label	"Velocity Sampling"
	    type	ordinal
	    default	{ "faces" }
	    menu	{
		"center"	"Center"
		"faces"	"Faces"
		"edges"	"Edges"
		"corner"	"Corner"
	    }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"positionpath"
	    label	"Position Data Path"
	    type	string
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
    }

    group {
	name	"std_switcher_0_2"
	label	"Fields"
	grouptag	{ "import_enable" "1" }
	grouptag	{ "import_source" "op:smokeconfigureobject1" }
	grouptag	{ "import_token" "std_switcher_0:Fields" }

	group {
	    name	"folder2"
	    label	"Dynamics"
	    grouptag	{ "import_source" "op:smokeconfigureobject1" }
	    grouptag	{ "import_token" "folder1:Dynamics" }

	    parm {
		name	"enablevelocity"
		label	"Velocity"
		type	toggle
		default	{ "on" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject1" }
		parmtag	{ "import_token" "enablevelocity" }
	    }
	    parm {
		name	"enabledensity"
		label	"Density"
		type	toggle
		default	{ "on" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject1" }
		parmtag	{ "import_token" "enabledensity" }
	    }
	    parm {
		name	"enabletemperature"
		label	"Temperature"
		type	toggle
		default	{ "on" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject1" }
		parmtag	{ "import_token" "enabletemperature" }
	    }
	    parm {
		name	"enablefuel"
		label	"Fuel"
		type	toggle
		default	{ "on" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject1" }
		parmtag	{ "import_token" "enablefuel" }
	    }
	    parm {
		name	"enabledivergence"
		label	"Divergence"
		type	toggle
		default	{ "on" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject1" }
		parmtag	{ "import_token" "enabledivergence" }
	    }
	    parm {
		name	"enableburn"
		label	"Burn"
		type	toggle
		default	{ "on" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject1" }
		parmtag	{ "import_token" "enableburn" }
	    }
	    parm {
		name	"enablepressure"
		label	"Pressure"
		type	toggle
		default	{ "on" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject1" }
		parmtag	{ "import_token" "enablepressure" }
	    }
	    parm {
		name	"enablerest"
		label	"Rest"
		type	toggle
		default	{ "on" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject1" }
		parmtag	{ "import_token" "enablerest" }
	    }
	    parm {
		name	"enableconfinement"
		label	"Confinement"
		type	toggle
		default	{ "on" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject1" }
		parmtag	{ "import_token" "enableconfinement" }
	    }
	    parm {
		name	"enableheat"
		label	"Heat"
		type	toggle
		default	{ "on" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject1" }
		parmtag	{ "import_token" "enableheat" }
	    }
	}

	group {
	    name	"folder2_1"
	    label	"Masks"
	    grouptag	{ "import_source" "op:smokeconfigureobject1" }
	    grouptag	{ "import_token" "folder1:Masks" }

	    parm {
		name	"enablesource"
		label	"Source"
		type	toggle
		default	{ "on" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject1" }
		parmtag	{ "import_token" "enablesource" }
	    }
	    parm {
		name	"enablesourceindex"
		label	"Source Index"
		type	toggle
		default	{ "on" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject1" }
		parmtag	{ "import_token" "enablesourceindex" }
	    }
	    parm {
		name	"enablesink"
		label	"Sink"
		type	toggle
		default	{ "on" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject1" }
		parmtag	{ "import_token" "enablesink" }
	    }
	    parm {
		name	"enablepump"
		label	"Pump"
		type	toggle
		default	{ "on" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject1" }
		parmtag	{ "import_token" "enablepump" }
	    }
	    parm {
		name	"enablepumpindex"
		label	"Pump Index"
		type	toggle
		default	{ "on" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject1" }
		parmtag	{ "import_token" "enablepumpindex" }
	    }
	    parm {
		name	"enablecollision"
		label	"Collision"
		type	toggle
		default	{ "on" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject1" }
		parmtag	{ "import_token" "enablecollision" }
	    }
	    parm {
		name	"enablecollisionvelocity"
		label	"Collision Velocity"
		type	toggle
		default	{ "on" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject1" }
		parmtag	{ "import_token" "enablecollisionvelocity" }
	    }
	}

    }

    group {
	name	"std_switcher_0_3"
	label	"Slice"
	grouptag	{ "import_enable" "1" }
	grouptag	{ "import_source" "op:smokeconfigureobject1" }
	grouptag	{ "import_token" "std_switcher_0:Slice" }

	parm {
	    name	"slice"
	    label	"Slice"
	    type	integer
	    default	{ "0" }
	    range	{ 0! 10 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	    parmtag	{ "import_source" "op:smokeconfigureobject1" }
	    parmtag	{ "import_token" "slice" }
	}
	parm {
	    name	"slicediv"
	    label	"Slice Divisions"
	    type	integer
	    size	3
	    default	{ "1" "1" "1" }
	    range	{ 1! 5 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	    parmtag	{ "import_source" "op:smokeconfigureobject1" }
	    parmtag	{ "import_token" "slicediv" }
	}
	parm {
	    name	"sliceoverlapneg"
	    label	"Overlap Voxels Negative"
	    type	integer
	    size	3
	    default	{ "4" "4" "4" }
	    range	{ 0! 10 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	    parmtag	{ "import_source" "op:smokeconfigureobject1" }
	    parmtag	{ "import_token" "sliceoverlapneg" }
	}
	parm {
	    name	"sliceoverlappos"
	    label	"Overlap Voxels Positive"
	    type	integer
	    size	3
	    default	{ "4" "4" "4" }
	    range	{ 0! 10 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	    parmtag	{ "import_source" "op:smokeconfigureobject1" }
	    parmtag	{ "import_token" "sliceoverlappos" }
	}
    }

}
# Automatically generated script: Tuesday December 17, 10:23 2013
\set noalias = 1
#
#  Creation script for smokeobject operator
#

if ( "$arg1" == "" ) then
    echo This script is intended as a creation script
    exit
endif

# Node $arg1 (Dop/smokeobject)
opexprlanguage -s hscript $arg1
opuserdata -n '___Version___' -v '' $arg1
opuserdata -n '___toolcount___' -v '2' $arg1
opuserdata -n '___toolid___' -v 'dynamics_smokebox' $arg1
SaveSpareParms := 1;
CheckExternal := 1;
GzipContents := 1;
UnlockOnCreate := 0;
SaveCachedCode := 0;
LockContents := 1;
MakeDefault := 1;
UseDSParms := 1;
ForbidOutsideParms := 0;
PrefixDroppedParmLabel := 0;
PrefixDroppedParmName := 0;
ParmsFromVfl := 1;
      }ݒ6^ifǻU1:_szUE23+dkgOR?]jI#ֲ2YY$$%*#|'# x@ATRewpp@9!ef?&Z=!k4$_yKgpoWhpѵ^:Q|tDh^_,ettg":zb]SO95vߨibw$ HN<rnh[P~޸.NM|TW'L~Q5X&l7-k88[/32{7{Ͽ@só'ϟ%/y1E~Mw;'	{ޟ2(voPii`o_ϽikW{{EJ+'
{"&7C `X_S߳_":,h}1Ic~>`/T0{~w)\j䇄ZϾM&:AHYݧw1'rqBC@Nnջׯp00g9')4Q#I9G5͗(8PG\w;5
@ޣ scϐLc׏3}}_?E0O7NGa750&_O|Ν;{1h\OZ:PswC)i#2'998@?t$%M[8bɼr+㇃|gW?[FlE}qp:~ /p`7FZ&ķP@.18 ]q}ixȐ;E10Q=N?8sйrgad%?\_w}>9!J}2".y3wʥt,%6\g(D2iX&ެ0G(Ͱ	BB&wԃ" DS`r[BZ|ˤC)RX^?]!Йy 2N^.'fZ"<Z"i+%:#7m| l5^|g_~k<yOuša]U^\o4*UJc'5 ~\%)zx@
z1eK/F&垁̋ BQ[㭃~-bm	}cK/QZqq	/3Gқ^-Unl|F1;H{sgC񝙃dt>:ӓq7?]Q	)<vYwe6tR?ҔL &CdoOv}x{Ƈqp?fAZc!{:vC)IN^¼~ɳ_}D*FC@()=úg迻@I$4YJE%|#-	0S8FI;̟fE?
&_ǪmJ	gɑ=>l:b2)/O(x&,+%'䛪u`\l`	5	QMZhZ_|̍4nQk ]t3<+ڢ<M$F=B]۟3<`t6}ge>N6>^o@
y҈񇺹mc9nh55AghzCx#Ւ$eMR&4:6;K="@ydaYG0?[4e6ՙ)/Թ5{+L~C&AF%0-1"㙈0J\h5u#gbʦue(.`Fз~ȶ嚳ȆibPO߽a%?Xv:Aln-ls\|Aj%)ood%Nt~Mؾ_Dsy]{Y!h=zܔFFKm3Tͫ/sK&Ly:̻.UfdF﷒8}{FƧ snڹB>֕d2hhap1	-2agJH)!U԰%^il0=jΖK5GniUI}?n~3^CsC	Vǖ9K\J<z!k9~^ _.Ԩ%^{Yx-$/N]z5zFP-YOq6dOt[rVvJ]5W`A˙ 4KwqOe$(3Tw^) v+"!pVl.	}qv>C*#
0R7Oy yn8wۤ<[PR%=Ó|UБ..֡jء@UyYW 3>w˟4t*kwLEit^Ђ8K'zf$#^%97$9$VHz`jGRRLEB7%Mukkzrb7B]DJyK\>TI/ 'Ŗ.Q+܋^ksAzM\$Do\Jo$WNt%EJZjodT_IHK|zzK,݊.U,EuBΐzL=unDOډQC^[4uІ,]Vw4ÛD+g<hƨC8dPÍ}iNB9)	1ÚLWO05زu,|mO/tW}wHAAs@E>I'\Jl	/(ˬgtsH"qI+ !-g')e:2H\zL%'FHe8Msvd%IN/1	IK3*g^0(E1Mi'VhT1ܟ+4DB#/HQ"wϟ9~B2gnD>r+o@_xp,.>:@$	lю*8Ք+c0첹򅋾[A6Ky>*P7kXcvBd'/%Raxgq,)K软PƴO^id0ש|Z=-k֝%+5J2p³ˢ3Mm#\r/'tmR&>iz@'j^3%5ӥ\\_T	x|G<c<tmfx 6/IXQ=rŅR&f(_([8!Axe4%Lє|^%]re郿-n!M"٨]VI΢vfl
%'. ssQ݂oAU-vJ,U	ѥn	.v)	o'zQ[2ࢗ]y[ݪ- bMq3}Jq0)RE^QmHUmNWYF}%^lqRX>c⽷ۍvz˱0/PFa!8=A9KFq!pV۝ Cxl}Vo(;tZFr`(;'!M./8'*?B[>AAt8O_ >/?Y"=F
Cf|ѣEvOxT膖0y	&c/n..lQ0>/ȉ^d(Ijvhb)*\ꉺ4T\ÄMKIA^yЍMFs 6#(/l<rTl3<uV4@r@ߖ[y$C&?WAuޔ~:ʡ 6.HɟXQ$Ht.(R:w(wɣlzrml\O=J[]KKVU6|}yxOu3ms}.X[yƾ哀fJ:p,~eJeSHa_{J_"bWЕD2Դl' k7iYI"F6ĩ4hMaػ7>}
#̥;z@(IǒT]~	F"w-vF0+@޻eIeea*D1l.{Bv=+U2Qi;*A\Pk6фֺ{l&GF E@Q	U3uQW#t8LM6n@-PzxjN6"PZ^u.6lʹFFs}vLRivKPN8[y\GtE\plInPPOb<Eby؎t2ƶPBh%CW^N1|DR2"B3u4jBb`jE~EZh
!Bl?5R`s$c+ډ@3-"ldt#Qd}l`B CaYaؤ9^|CS_t˖w$4!|U3tq5ͨi8BOz<> Z =ۀ/kn__+|_Z޷F̧cv]V^}A;,[ۗ}^	VP_;$[
^.˰ˢ}QjbT2dF2J5I룄"4-:UR[j6ĝR]]+%x'~sda&yTxє}Pb
N:nꩾ:ڒ
RTъ^,zjnVnQ_XlڪPP"+/F+5J\j{nrT嘍<X~\(3w51uB+q>VrddDR2{DEF1iԢ!ډԊbZz$L+-?HG!vb4}kHf4D+]/$Y((f'0
c&G.*zAG(]kh#	hʞiFM+mDzKjzXkx_6`$ƚW
:߽a=%w>ݟu&p}yc[SBhe$3^vr^R2D3bֵӨkgVdKMa[%	v=JOr];4}۟iv~t?& g0
=M:=ۣצU=˖[HiBvSB{ʞݣWӌVأI/ѫEjc=z=ۀأ/kn^3|^Z{6ݣ{%tEnѿv4٤jl:SUr={K]{H,Ch@%rV2[լ0̗ɾ,|d" Yyה#9^G3hUdʤ,
Ϗi5
q՚
&`{%FbU^Dyӌ7^At3x>)JKġ"NCqFl\ɑ~0.	N&ڶdD(Sah@]L8Y_jFh3m6m]]FQ_I)קWiϥB{j%MDh&qZ^O=[ƫ@An?]"T?Z4LQm)Cj|?ҏY^00R 枏'BRI\Ԇf۵oךO%5U޸iULAtu>"-.ɝb;~N5;+8K)ry,dkɘ4tDo,a%%n(V/`K}D_6D_#Xd1p{Bړ<y&CA?HӀzsJrBmgZF}@[)ͦ.˄JETOʩcq3$u<MAk﹒m?O6zO:om:Z}E@\}<_	&>~7mOv;fSJ=Q#dgkvU^r f{Bgkv6u;miQP~2ٰӫcNE&ͭCMeg*7ZYx&KM.2Z*ŕ kޯ"J%1Nc$UI*Jl=$kP%G%<oa#UmfFkPFR(H$~Ŝ\@}ڢE^^Hh'O=AGr .d#>%h=o|g#Un6";*PF6Mj:$%B6%6lBuQo},؆c4͉WzhB3k20	d;Y>$ÉH/^5chv3 B.0%kݛC0 [
HIU/|Vl؅eKA:(kSe5lJSZԥ+faY*"p|cWU?W6ZRj1sTT;B8o>z *j!ҵfʫ&@qL4S]uɅI &;-L`efN!%JD86iDMXP}Ձ<
. J3,8vg
b8RP^u/2=q?̾I&V]njHŎɤ!$LLWaH%w*B	"i04YPguRBL1*Md܉O;q'ރؒN6UHzmt?@#ŎG&P	?ǃ6*rrOi/iw;||cFr@"o>^_6Ph#Ҷ*:l
x
du尐p,6n15@x5f#H>Q	,4Σ^<rs?x`?)I>j@K"Ƌ"7Y$7J39q#s=;PJ.1;w;w`] GWu8HdY%]6D)?ı	˥
٨x

y*/g(啸hU4vK@-vB*M\QKe.Y8f468
f1)d`"'E,$ T'L^qbvD)NŢIFn|w7 xͅUj
)o/obwebA!ϼ3%o_{8[#5!#!^$|'d8ֳXfiFvTys3HeoΑ4:Y$ZupN#o3H_ݭQ|鹋+eQyU]\U0oD-S8#\CnH``$Ö]Dr/V83KgVS@JrQSZܑ8ŝIc7钡K>tVA;A {K%
$<b{hPuI-LLN/{PI}L֛ToôImPPT}
gW} ΐ]J؋uӧӯ \/$}9&zD+KwѼI|Ȧ*]8Hv뜛:ћ+^䒟g~90M	$Kor[4UhTnүzQK4
ZsFWXݿZxjAnMdvD86wChǃwb `њ;ؑ`7֝IhpVIx3wėy42WIKg]KۏO=f3"j,JӾ~ϋO_?E05UdY9!7t||̷Z=!sbC'_>~yΝIFDZ4.Xy1GA.Q?:ŭ<43<=Gİ'.Rz/Q),0uH$D&\bڜyj'-|`}3egYV)ke٥Q=$Ou.&*pkbQDɔFWN1cOPz;ò8\9IDUƳ &!4ǛyqQd_,3odnv}}EɡxyMx)sVL4i!Iy+@6WX68xaU|	Z/k4L#?GjۚM&:|/T2h!AsBm57eG D6ӓkdON}0u04r}nACoR.<B@|ck3	o	"/APɷй%.nW̋9Jq^yMʭEȹ&|A-D:F5zlML
YNLLd<BiGHvj4Uǅ Cb9D0t!5@.0:;'W*/?`'b:g" кğk\%HH[wв/~8} )9KwIf/Ri{nYޖ`8qc,@k٦8϶M1<PF2Xh7|kP͏2n詃lH3~:xlpl[I 65F"8~045y[0OOǣc~}՗&%yx.:~3wu}jh,r-ʛAQi.K8E8^=N_93M~]P[_ [H]s4#xcȂULD
[cq]x
ˢ1p~ pV.1.7|WVNҺMR(EURE.|@@iR['+W8PԏbJN_5*^s k v 2p,2wT8飊ي?f?Cθ(4')dR	VD<be0--)4NC$	ineZF[[\[/Yy,xV.5>c4dpKL3ece1[[q1^Uomi3`#|0h=e`D}8'1:LNծhpks1:ͅ=!sۜcz%+.$iݽ}cpIze#̚IJփ{IU+ep!}L5f#rfסO'&?
ևxG3*g9RncQv/0/^%@n^&FMt>{IGMDvАXoSV)jnYSGs*);Z0k(#<Gppa+2O#L-z,PLɹq )?բS(+nTG+ ?8'5 lj=QƖ5֗;\FUk/%D:63x"x7.hd''ǧ;1ZZ/f||8'm|l]7P>BP~qKƛk~/@h\Z|RPԇ?_}Е	{~Ggwd>|{Zw_0\w0|_==m><{ՓieP_xzݕyykؼ\we^^eJ_5^u^:XRW/`-H ]_>nr*V"։vS8O.n8uӓ99>-&fx(eϺof7Cs<d|<2KvPyĶcx<Iޡ<sH~F}b[C3b"+fVtʎ\^U#!2\uEXini9
hҿwE}b/wD@`&BH2tU!/u4'ǖNTy>_UWuqTp:W5`խ!e)GU{+N3z(@|
iYIT3BrEEq΢K7ɠeUiQ~Rߨ".&%g^(.ff_/YqPjDq$]YX^͏0\tԃ]/9T^m6"'7OX%>=N(2`ڣ9>[>}w#:,0$$c'C|R;?=>==G]	X\zhGFARXH%`̲btP:荻@{b ,SA#h:=	N]ko1[ۨjESD%ch?6Bl]k$?\rhj5+G"aKjVZ%83!A+cie8E=' NcV//țBvN5'/K{n)ܵ\.;&dJCGG򲫄BpH#"̞4tb\J.9:;Qe{Ã<T~̎ΥS,ߍo:F{Z!Kfv׳l1h2~4VJ+Ӫ݉"a*88z. X٧iL:e+Eujz#ECN;,KS=݁wѕS~4BPr08'/~j#욂>3OKegM<yt>Eˏ0܇g_7Μ">܉ߎtB6/)ff<MsoZY6pud,`ÄLl],2S{V,;|/黨[WXb[|:?%]}
nl_O2]}`zṼh)QM	xupdWamiA)ֺ}@2]iձM_Nдƻ3sO]kf@Byj6BgR8WT0*EI0٧YUNә oOCzBs"_  L]]zY:, \P#lXI3L!&OT'($f&ۚX	xD=xXX)>&!zTMP":`'HѧFwV+l>go:liJ{db{5qy-h4T@c+^ȣzH2yxj( sXlo3;E~یNxzOF	2WY_[ġTK㹄Rj6L߂GA?_A?AZ1e7(ݖ'۲7aL|`TO<X9>[Ljy;}sg#ن6m̻[=yo7pl`Hpmp[<=swa޳}? #/bx^; {)>ѵY' lXovt;֮.kc/xg5gɔc5hT؛.I<YhP#K!q	'^'/,	<Lhnm-nQ8`+;ި/ڭ2Z%jn-nGΙBr<%~A 'm
=nMVinH9:͸:A3wè>7
F:F/:#<MFMK<TNR}iD%Mm&Ƀ}	c@t9jԚAUQַuQַu~~W!|1@:1 rQ+nƫ_ai?Aγ^?򫧏_>~`#$Ā]v;UF'q+7tuvO_4' ZF(r.Wֆr9h/1 j)n ^EoʻѩiYjG)l :|	hi\߹@LScUOI7T&8Us~1]=oتyL;U5nrŌ>CVÎQU&RnRn)p\\1jQu6	.?s8%.\[PRg>
T539:XxT)4I] V޽S|{9G d<\Op\h,)Bڭ;;u"#oPȤk5XdR,2< cB_s  sP UǤlە)w	: GIATBfw#	%p\4t	6:	T.^]q_hPj^rlەzAϧN5,}sJs
V=r 
V={,p~zmZ^ZbZ4,ȱt7PHo Uj4 Ujd =updn;,[K-)$}Kr_P}9OuI]yux:r//]+5/ʉ:;/!H.-/m6  O4ī7EW,x3CB~2t(>G v[퓍Do_1;ҼGU7} U42*/_٫P󅟈p8o(aPiCӛ)2fdķ}fp#ff *ju OiPh@Zm [Uy@V>G'ɉD}־WW_ FkOCg_@PЀ?'ɉ+g
47UU4U_۪u
IXuR@;.T7wr:$qxbF=LP~xP~æwr2$J8[#j49Io;;?teBj\)ZQ3Veh{Ojb#bTym$xj'mPu*[p\.ՖlB
3L!H)zxA
o`"A{Emn@dyIo`FrXNgMx  U=K <'S/wo*F~kJs})/
zu9vK   ݟ W
<z]jmt[R.у" sECy.LSA!H%zsf(_ݚ
uP(aTIW"?09!(%ͱjX[xF.Jz?zz;0z~	ۯG+L'jR)7CBo $9ؿ[D?cAW)ɓn i	|=|Nٽg Bë #ZBupq-
Y@V-
Yz
wT#] %Zy'0B%~tT**")UG q BL^ч7C5,{kv^}
	~<rH{sϣ~=R8).z0D($,^ O=	uIZy<6It@<% 93`׃7.BI^և@5,{?kv~ }~ ~ ~rH{s?~=R(7?@B $9[DcAW? )ɓn~   i	|[mK_6:w *hw D(Q1!%] <9Ngu`F3gnW(J3];Yy'ʅ^hu) ONm~x䧃8tj 4_=(${NpUvc\Dծo7@qhۿ8`)63r^{ @in!H|!㧏-Z |"^bE^'P!(݃/ !אa5t#aUᱟv@w+*$*5<XSBxJuPFPR/]C5-Z	TCJQu8us#ޥ1H"$&O^
 uu*Js׏c%![ ܙƭ%¨SoTy$FWN f%D5tuЪq$F)W@mO	@1{}uY=; ):%t|`HÔ'!hk`ui@TAZ2*<u@T@ UbUN;EQRHY "rGW[R[ z`[&Kr.B'coo]e6@
mizBu+`Jr֏?- !h; $1kO͟"k7uEUx؟!ʟp?-ƪn$OeOX?Xfs||l?ie"FCupDZil/0MWN !2QG?9sLD?BI2b=nB*3%_e.IF`Lw-.3Z)	b_ta
Hyh
H
}+iOKǐoSm]&(Goxzf{p,.SXwȜx( B,GxϘ2.2Je'dR`jyqvF	T#B[&!<y_h@!RܐL<E҅ً<*Df
\x!Y*]L̡I 
G@+2sxEҼѮEX<A=PUHjU`Cd9x(s^3B`3˕hrbRͻM֨d*U d0uen`vM`הFToT@ʕ$WWS*pjȩRKŨ,W]9D=4!P#rALdʧ4}Nd7z)y%H|nBlКXHZ ՘4}xIH)#4~EXWK
j̊l@8KFTr*:4ee!Kނ>ΓxAg*hLÒ|N>τd蟡+ݺ~S=Aj҄U*a ̟PE*YZ+vB ڊ!^$hz5G`A\UNH\,*uU1,YWQN!Aq:22HlK&Gj5=G`(D(g⪓T))*&/
*$	&4-Q
*T1A5m:cTA,N.6	aUA,NlĴʪVmqǩ0_UB2f|%]ύL`᪨8a[	$zBRz^hr)"3ӡz|5&K@XBRa UaMNspT&Mnj
.7\4@T%)`KI\*bNb7D#*,r@:CPY
$+1q{UE.@XdHd멯DpHUU]Jꝯ|.VDDWbP]ن#.2H|E@+' *F>LhRmɢsf
L
oQHfUԘ a	IJ(V@T*.6)eϵfDHZQe: rO%_.Qh`, /6{+Rßvu9fSJѹ!SpEÖͷBC$3*jbD%e
C *2(\=䅤%UC*yCˇ<J!ϼ(5bVKH>A2S\IEUƸF@P/6T;.O.?Ziل
A*2:>׭I4'uVaxD%WG])ݴxKW}ghA1/p:}Um-D`a:Pb٫djޢ)z>8ة|P?LgVT"bZae"*+_f}V[VF$@R\eA$R<ު+dX(Tթ*օE]"l_IQ۞p%YW"_SVLAbz)xρduSnٺh*}L!\Ⱥd #v$c!E(+lVP&j`{(U&BRjm`]	*WA,y'zxUW3K7:UVX"ʾ	\/ͅjIEE6"Z2eB);VAaJd-UlnlmV%=^H=Kd.ˏmAvJxd3%%P:>.&MU50v	*U z0{/۝ =	)քBIMhn
'i	ޫ:Ȅ
ݪ7RVP%\؄
aԚjzAw0BRȄW`BŷH6ÛPх7&|M}%	o=]uVN	Ԃ}$!h *oh 0yU ̥BLvtX&Ooߊ,dUCTi"|PZAzP&E~s5ɣYªIM|[Q-_mEͷ|*j~wT͹*f^Nc/De>[qV~E#IFJ""F[crM\U;hBz ҡRltv>6ɣV<4,6:9H*^L!4LalFH&0?'X0Ea!ɐG6*r)"$!'.(MXa
sR$!O@l\h=_a#F\
g_1l*D^DsW<2eS.<PIIG,+9-M!$>pVQX#"CHt:<p`K(l	-7VXpfeuH%yu^j/D
65{(ضFm[v|)B̩T|CțWAy2`IE=E'DJ0%L.-KB'/{CYN-18ڊdXL+HI	T֤haȍtt>4|hSr\h2J[FĶD7t>n4$wZm'Cۮ,Q-M^ǒW;T0)e<>'6jUHsHyr2$ONi45Is(!͑4GbsHnT#8[ЌEIjJjG9Вz̉=ޟNFP/dsɄtHcFoAzE;!<ܛ.[qE!fngm[5H^wuB\     nodeconntype           INDX              DialogScript      >R   CreateScript  >  R   Contents.gz    @R   TypePropertiesOptions  M  R   Help  N    R   Tools.shelf  N  pR   InternalFileOptions  Q|   R   ExtraFileOptions  Q   R# Dialog script for pointsfromvolume automatically generated 11/20/13 14:05:14

{
    name	pointsfromvolume
    script	pointsfromvolume
    label	"Points from Volume"

    help {
	""
    }

    inputlabel	1	"Sub-Network Input #1"
    inputlabel	2	"Sub-Network Input #2"
    inputlabel	3	"Sub-Network Input #3"
    inputlabel	4	"Sub-Network Input #4"

    parm {
	name	"source"
	label	"Source Type"
	type	ordinal
	default	{ "auto" }
	menu	{
	    "auto"	"Auto Detect"
	    "geometry"	"Geometry"
	    "fog"	"Fog"
	    "sdf"	"Signed Distance Field"
	}
	range	{ 0 1 }
	export	none
    }
    parm {
	name	"invert"
	label	"Invert Volume"
	type	toggle
	default	{ "0" }
	range	{ 0 1 }
	export	none
    }
    parm {
	name	"inittype"
	label	"Point Configuration"
	type	ordinal
	default	{ "0" }
	menu	{
	    "grid"	"Grid"
	    "tetrahedral"	"Tetrahedral"
	}
	range	{ 0 1 }
	export	none
    }
    parm {
	name	"particlesep"
	label	"Point Separation"
	type	float
	default	{ "0.1" }
	range	{ 0! 10 }
	export	none
    }
    parm {
	name	"jitterseed"
	label	"Jitter Seed"
	type	float
	default	{ "0" }
	range	{ 0 10 }
	export	none
    }
    parm {
	name	"jitterscale"
	label	"Jitter Scale"
	type	float
	default	{ "0" }
	range	{ 0 10 }
	export	none
    }
    parm {
	name	"converttofog"
	label	"Convert to Fog"
	type	toggle
	default	{ "1" }
	disablewhen	"{ source == fog } { source == sdf }"
	range	{ 0 1 }
	export	none
    }
    parm {
	name	"offset"
	label	"Grid Offset"
	type	vector
	size	3
	default	{ "0" "0" "0" }
	range	{ -1 1 }
	export	none
    }
    parm {
	name	"addscale"
	label	"Add Scale Attribute"
	type	toggle
	default	{ "0" }
	range	{ 0! 10 }
	export	none
	parmtag	{ "autoscope" "0000000000000000" }
    }
    parm {
	name	"radiusscale"
	label	"Particle Radius Scale"
	type	float
	default	{ "2" }
	disablewhen	"{ addscale == 0 }"
	range	{ 0 10 }
	export	none
    }
    parm {
	name	"doscatter"
	label	"doshell"
	type	toggle
	nolabel
	joinnext
	default	{ "0" }
	range	{ 0 1 }
	export	none
    }
    parm {
	name	"scatter"
	label	"Scatter Density"
	type	float
	default	{ "1" }
	disablewhen	"{ doscatter == 0 }"
	range	{ 0 10 }
	export	none
    }
    parm {
	name	"dooversampling"
	label	"dooversampling"
	type	toggle
	nolabel
	joinnext
	default	{ "0" }
	range	{ 0 1 }
	export	none
    }
    parm {
	name	"oversampling"
	label	"Oversampling"
	type	float
	default	{ "2" }
	disablewhen	"{ dooversampling == 0 }"
	range	{ 1 10 }
	export	none
    }
    parm {
	name	"oversamplingbandwidth"
	label	"Oversampling Bandwidth"
	type	float
	default	{ "1" }
	disablewhen	"{ dooversampling == 0 }"
	range	{ 0 10 }
	export	none
    }
    parm {
	name	"newg"
	label	"Create Output Group"
	type	toggle
	default	{ "0" }
	range	{ 0 1 }
	export	none
    }
    parm {
	name	"outputgroup"
	label	"Output Group"
	type	string
	default	{ "" }
	disablewhen	"{ newg == 0 }"
	range	{ 0 1 }
	export	none
    }
}
# Automatically generated script: Monday January 27, 11:18 2014
\set noalias = 1
#
#  Creation script for pointsfromvolume operator
#

if ( "$arg1" == "" ) then
    echo This script is intended as a creation script
    exit
endif

# Node $arg1 (Sop/pointsfromvolume)
opexprlanguage -s hscript $arg1
opuserdata -n '___Version___' -v '' $arg1
opuserdata -n '___toolcount___' -v '1' $arg1
opuserdata -n '___toolid___' -v 'dynamics_flipbox' $arg1
      }MIrXj]|Cts˝ORGr;;#AըBw U<=?/z_|~O̬&TFfEfFFFDFDQkRdr2l)=ҟ=щ?&=xL $qilN~i80=sd0=>KfAGI6J=E'/h\c
&˦ɛ+5(a0RٛM5@`6JV򲼩$Qh$	 Y2%ji dy8XKPOiFk5}e7,dBDLxJ0/p<yo6)<{Gz)}?a~~peeLXwp0x?%tgKN~Ҋ m?A??M?ʋ[G8GA}1%}!}{ _?(
- 姵?Gws@2}0FPb՛D5polpO3DN6 uvZK'<9U3s`Y Zgs@6pI^%fx*=Yd~=#:dɴUA}S'ך@Ux]a:g@d5~dM9a	U|}Nc+(|40
?	࢟|nn[='^}K^|tM{uZ74dLQK-KpQjC T{Y>=͏\)N2 NBmBlpP:}iTt0JjPR2$0+ؿ3l(M$֡ަvr (Bl r/i#JI%g10k}~kZyw~v6 i?[bKg)ӑ؇mx ߵ[;P}z9Gϵ;/h)|OfYh`V	GE.44`)uZ-X(k}o !R!/@Zl|)~	@/}Lc ɗ n%*v[/>q0/ho֊ᡙQ),jppH*nnL5tEEf@fx@ft,fŐz ɢ(ȷ)N]Nv+[͐ҍ߷kz+di׹Xgy]^gWE@ŀzѓxwŮ iϲdg K4éOC@Ҍ|pmD,	tфq:y9;4YoFûS3p gI,Ζ4MJQNNI? VAe%5;I#Br)S|JTg0	;AlAۭN2ϴ|bA@@Iu_Ҋy}<PU34T<
/ъ80ߋ#$uHp^QIgWsd
J?|:Ӕ7qZÿ4k(:H9寋yop 9@M1y,:'OS~^btma#[ Q)&1$GeIχ)<?ʛ4&0L!Ö]V A{E "	!lAqN?E%Esxp>s?̇A\\/8|Dx_:H]l4LE{Y+KLC؂%9~U<c``*m!?@{
pl)46D"'eX'09>tk&Ti),D+@hzCOU8bjA6-aDW?bKE{O<#|{^-U!1ANi'rrANoyt쌟G@Hbނ)!2uZFj56Od]
w'~Mjئ%Ta_kŃIAz7
>ˉxT3c 'zh5t	C 'Y;D5'tDQ<P7f̣_Gin?0a0)4;'_wʗSӝtEnE<F9Kt"sts/nҎgNl0wPk!1vjk[0KR:j <-l
Vne[#_~iMxW9xNy)*EEޠ22FQ5(겶b㗟>&C~RT:I!_	͏=ߠm]X>n`l3K-"pakf"d6-
!bt	qML6S/gcgl9Dl;ߖF[%M0&oV0۸Hܲ'Cxpy;1o ~{t: ^Ci%CY	)֏T/_ Sө _?<盤fO>pZymY+8ȫJSAN;݁4^.SEށ\Kŧy$ԟUQْs>[rgsf]e;[Y#ص)WI@אYՠBPG{6+l쳜GTNO>G}Ϟ|̮eVV(C+rϵJ(<`W^
i
;f;y:K۝P1}CĖ eXs&&7alɑ-94%fNKZ[ҧ
=WrY@vR\נJut]gk:uy~?:p!mtlf'<7<Cd6fhѭbEo-:ݰt/E8}xw-s6Tn6PfK uw%!SC~^ׁr與2G"jW69՜p>ճ	QJhѣ^Xu	+9CxP;$Gw"e$R@Ѡ
jqS&	vX[,˺.H{Z
ቴ<'4;8jU[.oHF"|h{YL%m0ba,nP!ΪT,Q}>pHqF1 H(T\:p#u`phW)fj^@Ziet"e#˨FF;QTT<y	&J&Q%La]~360jw`8>AųV(IgfІiُ oj&kHP:=i~5j\	^%8
ő
ky Վ(%}||}G#XttC6*jXs'2BhAt(c70׹=>/S:|3m-yJ ׄϼS #Fj]JIР32$X6ZJ,Yߨ|RVȽUZyQ1Br iF-ڂ`bӁgw:,
W>%6y0
MTb'n^d\oyF.""O	F@OFᛳ0nu@Ϊ=ľ|w)~0K"Æ4-Ys5FCVC23]G6m0]#0-Hw`_]cP4;
t0usndf4(k2+;q:xL۲U{4&t'84(HPag)vsmLJ@ϳDL-#+,Z{Xb-g@kN=1xG\N1EfQ2Fi0#)Ǔlz0I2Ўm2'DhXD)x8z1C"/b'_0aE)T^M4X"=6d
NihjxuAȃ BI
j	T!g2XDKkl?@VG߄S@6G~FAToUD5nK0`86u* d:"qYXOc$A2OQP<J4HQ49I.V0,Sjuig\6L[LvrmrO^ًom ) fA"sɅCkcdŖ8<F1[ݷuF&ӽ1&_xM<ZȅTYlluña"+eqLF0:q;PIk-O*U3i8rs| a) YA>,5؂${*O3\d3;ï;~Lq%x}9jEX5Np'͖qnzS`Ra|m≖:LaIMW#}hh:uf4  (%sE]+Jk-P	m Q獔RkSX L%[0F78'x}`!+BNK툎{ fF;bڵ-n͞:iC>K= ;l)ZЬ?;)҆'dda&gq87IlZ5,Ƴ1͕lHƕv$b(w0;Sz龆=U!%C(٧ XJӃ 8w^/Q(P=7$q ,	ņ^=v5

l_U2fv7}~*qY8=ihn*i R!͒IV,tu%{nhK\	yg͞BưUc]nc;ee=cخe:nצ\u5S"HzZZni6Tew]ˢպk]:(de,p-
R#ہ-3<uQYYNA0&"xz8yI1M_ҧ\vH$Ru'Jad{ !ydZcT}>JAh31ךd-a: ۵gcrYMveps4"hŖJ#h;2&KVv?NbJXaЏbb0ٍٱ$ǖgA+z7GCLKh:Ҩ-E\C#Pb6iЮ e^ض4Gx8ǧJ_1+L9Z:l;5r?|"2z
W{`|U=eWxko8^yiKtFBYb2
%yEg?jbyCk/$.@ ﳳmॷc-sX"&LpȵmڱFB/P;b-z<<{/eT#Wec!K$=gOe<J(	KM\dU\Nbi3L:\\˫ln\ZUmXlmt##`7ܖg'yݹr7slݷ<rf'?k^Nh	B`SoGu{Np,[&rhpo7#|[JbWk&߲[IU{q6M2O~YϾ>.Vn0$sGڟ+q-oo~{~c^q)_aмKvrr_>#
-p!X_"E53j b8&ڏ[; uvݹ;^;٦8Ǽ=Ŷ/ŭrcuv3\<WBrLt(P%9^ef#_6*>jgf5>]-EaXSsMd)HݍAךJHIxK˷Q{j|%&jd˜
͗7ĉXJZG"D$g<.i>|D@=e5S]M#.uYS-rmWj9\g
ny-=o(UTo"`ӵPئ+qz;D]:H(iN%Pn>`b)}Nm>F#4?O*IwTV¢J]r\CQ6d M|\ɘop9jP))m$BJH0QIov\Fe$9.+"
Di"5[G1Õҭ:v&Y2]	0A$tr*vQ O}L[@q`TBv=Ix4NC9ڥuIؿX& PY|foR<e mAhHiͫ^0+'5YM,@zI[=T'@hyxH`DRH 'x-Ӧ))`ڴڔ6%LvSBvO[.X\2
{p]\N1tC!3iJW05.XOn'ǹ`Cu2M.ov8 RqRҍzp^<֥P/^PYNY}7'q4zXZ8j<*],zhou)pp&XfBT)T몰7L7aߨSεAr4e00;42SoМmlAr<BC{	̺ktgkp/9[abLg5\ezrMe5C5޼2[q@9 *¯pARov8\vU=E1*MCkkuKsI
u0X
c+ܪLCLoLȲ5:.$6e)9eQYN1vu<PBmmp֒җeyܵ<tm.nfv9TtVQeuCM*r!X3uuo١utޡW-Y%YZc@gSɡe:% Si川XG&Va;n"1\1`=!,~(fW8%;fQOv4q!k<'?ٝ8[9%!U1u 6hIaihek{ekmԑe8-z~[^칮-;hǷ94(ٖ7<+nЬ]{][,;g۽5?6B=9Rudۖ9g<pmwQFmmFmor6^:F9NlԎ]4#izwfnʍ{ߓwnO{~O^ݓU =y8:m$fs1FtdwjYnwvtu$Ǎmd">nB!b-ЂB-B!Z?Gx`ñoj"@_Wm˅f,ɮt3^B:Y:cL.q[~[hdƪ]YȐ
elr=!ˊ]cjTL1	,@ -gHBMƢYwo),D4]0jE#<|{V7.<w帾Esے"ODzI8m^79]9`f;"2Wͧ|BKȫ.f]b %.8ALñc[0'G6"PKba?!QZ^nGhY,(zubbbbÂ+xsX>9,JiXpv3_%U[* Ys^WT<kqui) }.!ğ9S+{\5ڇr#W-WvGL%:P:4Ay鼀,)CeYB(-I-ړd\ʔ\_ :ys'R92^Mne=ҳ}?`2Ut bt5"w"b3Zz(sMa4d.vz$"9;-ee)P =)_ U0%'-՞0dYFp%cȤ8qP>Gy,tB#59杲(j|"\v%]An>WAv1<ZI~myoqAȢ~_`}Cr!TVRL=G~A%Olq"1}DA:G#bTcX+jНV@Lx`&|Bd(-r+nQ:.Re%N)ہ!S4ϣzr٧_"7ϲ¿z
}Lo}$]&q`*ddvrq7]XQ:/وmq/Wn4?ߟOS۟/|+tQicU  9TmFFW齮|pPxͯ[ PL \ELxS+0ewh%-rN%tGA/iZKڠ N~[vOƠcHbAh9Kݞ-k;gC8dk0C`xfqւ(oWk(kUEdfʹ`sL",uA2[oc=J$5q*|܄?5>sW_>tLpc}fn,rc}W{PYl6#?7uga~n]62Kјxӯ`C^晳=ת̮vwVAzWCzS]JlT=Rm."qv!vhܺ}<!\`eٖ[\Q`[Kkl 5V\4hk6:%7tyd~JTJwVKHRQFFl\1uxfl-NGnw6[:PhHXɌjN;dX	ee^fE%۔]>-vfv̐LiW3S?,}f{_lEb`K]т<e~Q1ž ^|Aߔc`?2W^+7bi"MF!C?l	@z6Y2Ydlr nnJ7ǷB*'!-'&Tۑq
7ddޜ;BAF=@fsVlOF~ڛ.e#CWO7Pr\d#㚻qQǭrIxtgf˙(vB<ճvVk²$<.lA*;VS?ZpS_v0Β唦>VrƘi١ܖgu	b|Lp|9z6Yg}W^̱[ĭ~x+_s^a8oڲ}:WlY1еZ,˰ysaC+fz/q\.0MseswЮǒ8c+`qCGu>.iFϢ(L	ĳVEdz_<0uMv
=ۑ?.*>,$	|XQӐn:]:2laG:*sŨPzXXW0]|GGD=mFr`*oo ;u!5㺉g;+e[EHv$[ɛ$VLmqd3?(բ\zΦCD&@LD]H
7thrZת dArwFUuaE#GjªEr$f0zqHQ-Ɗ;oN r5!$6 Cղ69H^s 1FZ,bs-kD*u{ݮE=n|R1WRwrO7Il0VXu:Vg!^+V*M2J2АM\YK}y;<م+2{[w--s\)db4yYlTyij`ʹi_.~o7JˇWܪsys)D94K$ꗟ>^w\l&1Ktt=b79M-u	jʷ3j~dy-[T|mfQ8F[rJPmA?kj]/IVDj9&tӳibk5'o޹t|t|@]]&}8튏
urW1)vT'Π8,B8GDD%TЋ,>]B֎a!ޟ{BqWqȷZJ*]5J};2L,l\a݈M.4RsC,фB>ҌR4̏gb<~uI!*g=<ȏ? YIe<(t./S$8RG)/v/@tI ;2Ⱥ#eDjoƺ阓6H<xd|@zϲ9n U@)LJW:lP=er;+D`(VhSac셁_S /we?Y>S*|#'h-mَݳ5S79:om8b.oT\̮Y3]s(}<$4QY2ZxO>^s@KhCs  uRDaxI	p$+6is!Bښ;t x▉PWY
p=9P~n4g=+:M&0m[
a'>l^̌H7eFYH(+Tf|1<r[ȞŤov$$`_2j̱S8i4- J@|s>ޙhG'*:[nxBz܈RĜ*4k	J	Sr:)"b&Tf2+>5Zbzfhu+[j!+}^Aƭ?eiAdjx-wdꞝ_yFsՆ3Zρ@!%P'}ȐE*uJFўLӤ90/g"XU).4ٰW*tp%3)'msss~1y*I;%I;:::::W+e)̵J͗"%|\)u^}QmݮUڮh?S,JZNžZc>ؕJzbJDClUj\WM&[(-6wQ`-Rdjen$:8s"0Ie,][nw5_ta5ۦ{$mDg.b?!5vK+Րz}idx%/a`{72!A>~79-:A2'*kV\dbg5ݜSUs xf}71!AtQ׮yX5v̳d΅<me]ʛlAle}B!wCBi[΅\\zU?Vޮɕ
-Gv32Gp7lN #Z̦pP(̉SXmp=E0z"ZOa~EĂ)&PP' |Jrwa7yvwuY^S9겼reyMWAl9oͥUEUEUEUEUEЦs\8gyd#娫qW5#.k*^]TJesEwc
φC#hsgHn+
,&A"QW1YB^PxRW1B^PxRWA(B^Pxt {b^ EyJ%N3K(WYᅫ)=,V?v2}ꔕS܀r#'>Xs2V='NaS*1![ڵ !dfÒDy<I8aLVԋ;UN`X;Tܿ
QDza!ZW$gJ2^S]fXgMdoT^+ϴKV탱zt-PWx?&+B-K76GqHoN'0Ł$%11A2EYK7.ܯ*\Xs:^`*
x^42;onCR?&7hUhe\grƥ_
J|yd=c&z5b4}95V'+*/ر{ NWZ5v<c#Ld>y՗69d"]2z$/h{YԺ{w.gVv̊ƖmC1a!5ENyCA:Snf-3"KW-jSixfa(<# pnﴎN#׭jbƑY;KfMpxn=i5-joB]S5B/|>!hxavOt'eگ@{@plӧaq),1{	$[_a6<$(՞¤qԻ<N>
CH{X"<ɰ#?ʯ8 H$Ϡ%]ǃH"#0i#>A>A'cp<N!nn5
姏q0۵Oieg6KgbD5.~	,^n^$K,5]"/]@tsǩ-s\lfFz_V]rP^4
s agL]Q-2h2l$ӣo9&[PpjiGpQG]rW]9U "dK+^wҳ.[!?:p,},q)Sɹ:TmG&e׼0-ۃ[ܻ$h2ݾ!k?VIՎdL}Ij~n/UU[5'o]b<gWs%q$#[wn9fb:=`sBSrAsul6s+cHxxZ`9RI.CLXxMHmq8ܐE~`)[0G	7]	=+ʡ8u7'
jLf7ZB&9'"g
,cq@Ӽ2$·K xԗ*߄0ӞQ5ΈAר»fKTHEfYq%I$'kDD|D/-%2tTMq쬬&rd:Xщ́]yI!7r)2.Pǩ^i,C'ӁwqgqQ	&0ə<frO.t`W@CH׀~c[O1f3\as[8InKKsx=(<O.sMx˴/Ԟ%THEh<KWfIXŁVԬRU.Įϫ*3<TmɤC[zSG	YYٺydvtUZ{b.7V^D e{=!!k&kQەʙ`zs2vs<S<LC<ΉTUnTdLWɆNCl>>>qUyGrX<q^[,+k/"މ\Hh?V]5䷋5.V}'U#)kYElFwNjg׬R%98Gsʻ]5^LeƎ#U4{HDJnGuR]V:kw%WI;Wtܗ%U>Mdgթ,U2 %dR7/$^~W(su)!$fIy_'Ex<Er5֕ϢTVdyA2ɎK)X`0%|}A"h @N&HItˢ](^vA2;m#kl!UCy\D&&AF -&tkqnI3T	{)PK>~;\,%rsˋ0c,%fs-0ghb@r\Euenۭ ]iB]98U㻛̇6Sx'HS'Lig9ӭe-bxy_F9ԕ\^[Șrs#e{\˺];ٴ\)ȓY\BkbH!GMR'Χ,ʀ~}9LjZE粣7C7r~N"C^n7HqjQ^e0ƨç0Φp3KFf<cU:A(㼰_*$-ek?EPZ%e%c?Feb@G[*t}P,'r~Q8R"f¦yN,Df\il#&Nn"KAQ(rLX_ xVKI;.(bv^Da44upoo<gZDk\Q<Q9δe2DtcѣD}\]3dʮ`g9q6)*1WHvJ\z#ŔEiŧ'!$*M؅22F4.D(&wtȅ%Er"< ,|?BrvW,oZ-+~=pz3(dwxn<!U(AXDj0Iaj9f-lW%g9Wir6v-iu{[jd^׉#;g}\J&$m\ڵ;+lI#	+HSR	y+R[ם{:Z}Z 97gf^(A6[#KWΐnUeCrN1XNo4tY7	Ƹh}aZ&EfWKZ;2%֔xM90(MF#	zvgqpw,"L\UD^+k]b9sem̍6"׵<x H~؇Jb/tv9<@a]6ɟyqCpi.l"#L61ªy|;}>VrnpN82PVa	_%HV
,ͣIH_õrCӑڱ=^ީIb2f\rzͷ#Vp^ЭY9*dJUᕓWV١/^1}mltiěmp2\7Ǝ*~Z}sr`c)o.95ɪ6>YuLEU{,˂em&.cvTLc.T_Ƭ u\qlo- Z@YN)Bkb[NtsɕBn+b2G[M$t)yy])c)L+O.) as`	4Yz"b$˪=L݅6#zQ;p84
}ڦT4oפ'0WCd>[gĳѨTo`}7Vfuܶ`-8dwۤ0'2ZᬍL@4Oä85| m֤:yʿI{~a[w9g/?}2w_~\AG$˼~^`.N,Ro4êE6&ڮn+6خ4m.."EIofj#-]u/^qtX
.qɔ\&(8u߁,Ջ|;s
sj4 SaveSpareParms := 1;
CheckExternal := 1;
GzipContents := 1;
UnlockOnCreate := 0;
SaveCachedCode := 0;
LockContents := 1;
MakeDefault := 1;
UseDSParms := 1;
ForbidOutsideParms := 1;
PrefixDroppedParmLabel := 1;
PrefixDroppedParmName := 1;
ParmsFromVfl := 1;
<?xml version="1.0" encoding="UTF-8"?>
<shelfDocument>
  <!-- This file contains definitions of shelves, toolbars, and tools.
 It should not be hand-edited when it is being used by the application.
 Note, that two definitions of the same element are not allowed in
 a single file. -->

  <tool name="$HDA_TABLE_$HDA_NAME" label="$HDA_LABEL" icon="SOP_pointsfromvolume">
    <toolMenuContext name="viewer">
      <contextNetType>SOP</contextNetType>
    </toolMenuContext>
    <toolMenuContext name="pop_viewer">
      <contextNetType>SOP</contextNetType>
    </toolMenuContext>
    <toolMenuContext name="network">
      <contextOpType>$HDA_TABLE/$HDA_NAME</contextOpType>
    </toolMenuContext>
    <toolSubmenu>Fluid</toolSubmenu>
    <script scriptType="python"><![CDATA[import soptoolutils

soptoolutils.genericTool(kwargs, '$HDA_NAME')]]></script>
  </tool>
</shelfDocument>
    nodeconntype           INDX              DialogScript      6nR   CreateScript  6n  R   TypePropertiesOptions  8  R   Help  9    R   Contents.gz  9  )R   MessageNodes  H9   R   Version  H?   R   DescriptiveParmName  HD   R   InternalFileOptions  HH   R   Tools.shelf  Hb  R   PythonModule  K  fIu   SyncNodeVersion  MT   Mh   	OnCreated  N   "Ry,   ExtraFileOptions  N5  R# Dialog script for dopio automatically generated 11/19/13 11:28:51

{
    name	dopio
    script	dopio
    label	"Dop I/O"

    help {
	""
    }

    inputlabel	1	"Sub-Network Input #1"
    inputlabel	2	"Sub-Network Input #2"
    inputlabel	3	"Sub-Network Input #3"
    inputlabel	4	"Sub-Network Input #4"

    parm {
	name	"loadfromdisk"
	label	"Load from Disk"
	type	toggle
	joinnext
	default	{ "0" }
	range	{ 0 1 }
	export	none
    }
    parm {
	name	"reload"
	label	"Reload Geometry"
	type	button
	default	{ "1" }
	range	{ 0 1 }
	export	none
    }
    parm {
	name	"file"
	label	"Geometry File"
	type	geometry
	default	{ "$HIP/geo/$HIPNAME.$OS.$F.bgeo" }
	menureplace	{
	    [ "opmenu -l render sopoutput" ]
	}
	range	{ 0 1 }
	export	none
	parmtag	{ "autoscope" "0000000000000000" }
	parmtag	{ "filechooser_mode" "write" }
    }
    group {
	name	"folder0"
	label	"Import from DOPs"

	parm {
	    name	"doppath"
	    label	"DOP Network"
	    type	oppath
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	    parmtag	{ "opfilter" "!!DOP!!" }
	    parmtag	{ "oprelative" "." }
	}
	parm {
	    name	"dopnode"
	    label	"DOP Node"
	    type	oppath
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	    parmtag	{ "oprelative" "." }
	}
	parm {
	    name	"defobj"
	    label	"Default Object"
	    type	string
	    default	{ "" }
	    disablewhen	"{ dopnode != \"\" }"
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"doposxform"
	    label	"Transform Geometry With Position Data"
	    type	toggle
	    default	{ "on" }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"doxform"
	    label	"Transform Geometry With Geometry Data"
	    type	toggle
	    default	{ "on" }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"computeminmax"
	    label	"Compute Min/Max Values"
	    type	toggle
	    default	{ "off" }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"importsimsettings"
	    label	"Import Simulation Settings"
	    type	toggle
	    default	{ "on" }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"presets"
	    label	"Presets"
	    type	string
	    default	{ "choose" }
	    menu	{
		"smoke"	"Smoke"
		"liquid"	"Liquid"
		"dsdfire"	"Fire (DSD)"
		"pyro"	"Pyro"
		"flip"	"FLIP Fluid"
		"upressmoke"	"Upres Smoke"
		"upresliquid"	"Upres Liquid"
		"upresdsdfire"	"Upres Fire (DSD)"
		"uprespyro"	"Upres Pyro"
		"particles"	"Particles"
		"choose"	"Choose"
	    }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	    parmtag	{ "script_callback" "hou.pwd().hdaModule().invokePresetMenu(kwargs)" }
	    parmtag	{ "script_callback_language" "python" }
	}
	group {
	    name	"folder1"
	    label	"Fields"

	    multiparm {
		name	"fields"
		label	"Fields to Import"
		default	0
		parmtag	{ "autoscope" "0000000000000000" }

		parm {
		    name	"enable#"
		    label	"Import"
		    type	toggle
		    joinnext
		    default	{ "1" }
		    disablewhen	"{ loadfromdisk == 1 }"
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"visible#"
		    label	"Visualization"
		    type	ordinal
		    default	{ "smoke" }
		    disablewhen	"{ loadfromdisk == 1 }"
		    menu	{
			"smoke"	"Smoke"
			"rainbow"	"Rainbow"
			"iso"	"Isosurface"
			"invisible"	"Invisible"
			"nochange"	"No Change"
		    }
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"objname#"
		    label	"Object"
		    type	string
		    joinnext
		    default	{ "" }
		    disablewhen	"{ loadfromdisk == 1 }"
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"fieldname#"
		    label	"Field"
		    type	string
		    default	{ "" }
		    disablewhen	"{ loadfromdisk == 1 }"
		    range	{ 0 1 }
		    export	none
		}
	    }

	}

	group {
	    name	"folder1_1"
	    label	"Compression"

	    parm {
		name	"delete_attributes"
		label	"Attributes to Delete"
		type	string
		default	{ "" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    multiparm {
		name	"attribute_numcasts"
		label	"Attributes to Cast"
		default	0
		parmtag	{ "autoscope" "0000000000000000" }

		parm {
		    name	"attribute_class#"
		    label	"Class"
		    type	string
		    default	{ "point" }
		    menu	{
			"detail"	"Detail"
			"primitive"	"Primitive"
			"point"	"Point"
			"vertex"	"Vertex"
		    }
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"attribute_attribs#"
		    label	"Attributes"
		    type	string
		    default	{ "" }
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"attribute_precision#"
		    label	"Precision"
		    type	string
		    default	{ "fpreal32" }
		    menu	{
			"uint8"	"8-bit unsigned integer"
			"int8"	"8-bit signed integer"
			"int16"	"16-bit integer"
			"int32"	"32-bit integer"
			"int64"	"64-bit integer"
			"fpreal16"	"16-bit float"
			"fpreal32"	"32-bit float"
			"fpreal64"	"64-bit float"
		    }
		    range	{ 0 1 }
		    export	none
		}
	    }

	    multiparm {
		name	"compression"
		label	"Fields to Compress"
		default	0
		parmtag	{ "autoscope" "0000000000000000" }

		parm {
		    name	"compgroup#"
		    label	"Source Group"
		    type	string
		    default	{ "" }
		    menutoggle	{
			[ "opmenu -l placeholder_for_menus group" ]
		    }
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		}
		parm {
		    name	"constanttol#"
		    label	"Constant Tol"
		    type	float
		    default	{ "0" }
		    range	{ 0! 1 }
		    export	none
		}
		parm {
		    name	"quantizetol#"
		    label	"Quantization Tol"
		    type	float
		    default	{ "0" }
		    range	{ 0! 1 }
		    export	none
		}
		parm {
		    name	"dither#"
		    label	"Dithering"
		    type	ordinal
		    default	{ "ordered" }
		    menu	{
			"none"	"None"
			"ordered"	"Ordered"
		    }
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		}
		parm {
		    name	"usefp16_#"
		    label	"Use 16bit Float"
		    type	toggle
		    default	{ "0" }
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"maskgroup#"
		    label	"Mask Group"
		    type	string
		    default	{ "" }
		    menutoggle	{
			[ "opmenu -l placeholder_for_menus maskgrp" ]
		    }
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		    parmtag	{ "sop_input" "1" }
		}
		parm {
		    name	"maskexpand#"
		    label	"Mask Expansion"
		    type	integer
		    default	{ "1" }
		    range	{ 0! 10 }
		    export	none
		}
		parm {
		    name	"domaskmin#"
		    label	"Min Mask"
		    type	toggle
		    nolabel
		    joinnext
		    default	{ "off" }
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		}
		parm {
		    name	"maskmin#"
		    label	"Mask Minimum"
		    type	float
		    default	{ "0" }
		    disablewhen	"{ domaskmin# == 0 }"
		    range	{ -1 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		}
		parm {
		    name	"domaskmax#"
		    label	"Min Mask"
		    type	toggle
		    nolabel
		    joinnext
		    default	{ "off" }
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		}
		parm {
		    name	"maskmax#"
		    label	"Mask Maximum"
		    type	float
		    default	{ "1" }
		    disablewhen	"{ domaskmax# == 0 }"
		    range	{ -1 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		}
		parm {
		    name	"invertmask#"
		    label	"Invert Mask"
		    type	toggle
		    default	{ "off" }
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		}
	    }

	}

    }

    group {
	name	"folder0_1"
	label	"Export to File"

	parm {
	    name	"execute"
	    label	"Render"
	    type	button
	    joinnext
	    default	{ "0" }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	    parmtag	{ "script_callback" "n = hou.pwd(); n.node('render').render(); n.node('read_back').parm('reload').pressButton()" }
	    parmtag	{ "script_callback_language" "python" }
	    parmtag	{ "takecontrol" "always" }
	}
	parm {
	    name	"renderdialog"
	    label	"Render Control..."
	    type	button
	    nolabel
	    default	{ "0" }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	    parmtag	{ "takecontrol" "always" }
	}
	parm {
	    name	"trange"
	    label	"Valid Frame Range"
	    type	ordinal
	    default	{ "normal" }
	    menu	{
		"off"	"Render Any Frame"
		"normal"	"Render Frame Range"
		"on"	"Render Frame Range Only (Strict)"
	    }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"f"
	    label	"Start/End/Inc"
	    type	float
	    size	3
	    default	{ "1" "240" "1" }
	    disablewhen	"{ trange == off }"
	    range	{ 0 10 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"take"
	    label	"Render With Take"
	    type	string
	    default	{ "_current_" }
	    menu	{
		[ "opmenu -l render take" ]
	    }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"xformtype"
	    label	"Transform"
	    type	ordinal
	    default	{ "none" }
	    menu	{
		"none"	"None"
		"world"	"Into World Space"
	    }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"mkpath"
	    label	"Create Intermediate Directories"
	    type	toggle
	    default	{ "on" }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"initsim"
	    label	"Initialize Simulation OPs"
	    type	toggle
	    default	{ "off" }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"alfprogress"
	    label	"Alfred Style Progress"
	    type	toggle
	    default	{ "off" }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"reportnetwork"
	    label	"Report Network Use"
	    type	toggle
	    default	{ "off" }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"saveretry"
	    label	"Save Retries"
	    type	integer
	    default	{ "0" }
	    range	{ 0! 5 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"savebackground"
	    label	"Save in Background"
	    type	toggle
	    default	{ "on" }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"tprerender"
	    label	"Pre-Render Script"
	    type	toggle
	    nolabel
	    joinnext
	    default	{ "on" }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"prerender"
	    label	"Pre-Render Script"
	    type	file
	    joinnext
	    default	{ "" }
	    menureplace	{
		[ "opmenu -l render prerender" ]
	    }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	    parmtag	{ "filechooser_mode" "read" }
	}
	parm {
	    name	"lprerender"
	    label	"Pre-Render Script Language"
	    type	string
	    nolabel
	    default	{ "hscript" }
	    menu	{
		"hscript"	"Hscript"
		"python"	"Python"
	    }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"tpreframe"
	    label	"Pre-Frame Script"
	    type	toggle
	    nolabel
	    joinnext
	    default	{ "on" }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"preframe"
	    label	"Pre-Frame Script"
	    type	file
	    joinnext
	    default	{ "" }
	    menureplace	{
		[ "opmenu -l render preframe" ]
	    }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	    parmtag	{ "filechooser_mode" "read" }
	}
	parm {
	    name	"lpreframe"
	    label	"Pre-Frame Script Language"
	    type	string
	    nolabel
	    default	{ "hscript" }
	    menu	{
		"hscript"	"Hscript"
		"python"	"Python"
	    }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"tpostframe"
	    label	"Post-Frame Script"
	    type	toggle
	    nolabel
	    joinnext
	    default	{ "on" }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"postframe"
	    label	"Post-Frame Script"
	    type	file
	    joinnext
	    default	{ "" }
	    menureplace	{
		[ "opmenu -l render postframe" ]
	    }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	    parmtag	{ "filechooser_mode" "read" }
	}
	parm {
	    name	"lpostframe"
	    label	"Post-Frame Script Language"
	    type	string
	    nolabel
	    default	{ "hscript" }
	    menu	{
		"hscript"	"Hscript"
		"python"	"Python"
	    }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"tpostrender"
	    label	"Post-Render Script"
	    type	toggle
	    nolabel
	    joinnext
	    default	{ "on" }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"postrender"
	    label	"Post-Render Script"
	    type	file
	    joinnext
	    default	{ "" }
	    menureplace	{
		[ "opmenu -l render postrender" ]
	    }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	    parmtag	{ "filechooser_mode" "read" }
	}
	parm {
	    name	"lpostrender"
	    label	"Post-Render Script Language"
	    type	string
	    nolabel
	    default	{ "hscript" }
	    menu	{
		"hscript"	"Hscript"
		"python"	"Python"
	    }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
    }

}
# Automatically generated script: Tuesday November 19, 11:28 2013
\set noalias = 1
#
#  Creation script for dopio operator
#

if ( "$arg1" == "" ) then
    echo This script is intended as a creation script
    exit
endif

# Node $arg1 (Sop/dopio)
opexprlanguage -s hscript $arg1
opuserdata -n '___Version___' -v '1' $arg1
opuserdata -n '___toolcount___' -v '2' $arg1
opuserdata -n '___toolid___' -v 'pyro_burn' $arg1
SaveSpareParms := 0;
CheckExternal := 1;
GzipContents := 1;
UnlockOnCreate := 0;
SaveCachedCode := 0;
LockContents := 1;
MakeDefault := 1;
UseDSParms := 1;
ForbidOutsideParms := 1;
PrefixDroppedParmLabel := 0;
PrefixDroppedParmName := 0;
ParmsFromVfl := 0;
      \[s>vbwj
7tf<MK3Ze&0$aXY'O3#)={b, KYs|{Ξw5aǶڎ9q,chIfc9Mސ4_D8Y9N(<ϳY 9\-2`(IgϏ^0'CЎa{{͘/go=nv'ϟ	^?R`[;}K=a$2 lwO$U[tPn83AVQqF[h/#`_<ы+Dӈ$E<
/'8r<GuhMm
<0~`0:W	fkLW8ޠ4/%"5y\}7$=EO(}jM9G+\ےr	5Äfo|eòϏ	b\E"ӄ YbxM9aBl<XRYYDqSV&̈ryj&dp9e7X	^
=?yüi,pQ
'C-B+H{zd,
KxOFIKr^o|HI J9Y.c\K,$})\|C(YF}zZ,Zg8Ҳ
uA-Fb_@PIB#+B2qR]f&؄9}
bTDs~<(ҏ~xN\GCq_=9Bc=_*>zƗ@	p6(&&q)Dlp˲`c΃,	9`͛;<xJE%gj>vOaPn	ev9c77F,l.V))6,HyմUPC0<*MKms!P<jBNL)mj`DIs(\-i?(+89DARȈ[$WG85䄼Q*9QFIF"]aU#lY.		W|F^A!>UtV쨩R[t,P|~fCz)p[8ǳ X'TNSGxȄD5l5DIf]!PRpaقYR {[ :lh&P TCx@	u9y&Yoh|Ĳ,ua%9>7UZPj ,=Jb/b}7=rT$YL`%TeG5)R2BϤ4l04]{=-A}"&A
t|U_azPq:"-}=&Eb%ёYtYFn61DGg<QzY.=qǪCdy9kS $eTopO~d_sXTUQ`\s uLuT#RQ ^ll6#ۧzWu)߳7qşjk]+Lɼ(?ļ۟ƃ[WwB1J J60,,`;2cru ?Zw%ZU+ WɖܵcSCr6e`r FMQ;b/^-~ȩ$<;;'][ٓG=OTN:p36 Y['-^=Ix}d@" (blmbk4Ħ|#(>HB5Ţ9PʗFcV"OÂVI>+\l`1Ɗ` )N X*ZbfΊYpA2eԾ2HIb"Г=s[d$XbT1K+B~3qhNdN@FF6,?
|CNWA| LRd2!/gXŗ.Hq2CJ7ti[߶'d !Jiײ#ǳ,'$P`!ڜi2`H|eX҈-Pݪ7PӼ^I_m;:МZ$Wrș:Gǽ>zN\-qݩ^l]98UeL<gl4Q0SZY6]VJ,FIՓQ-)z2E.gUφLCJEC.(Q>*ҫ'CKx4*OJD%MPɒ6<ͭCoҌ~[]}hEٴm_ge*{t?9C@
S
^bZ>t61^	-*YiJ


ۯL6>L+NIb{C%01]xGuvvp}T"_gA
8Y7n7t/bet(vd<fKMڹ)ޔ)ߟRuud-pShH&XH96u}_si#zA.il{"6K	g|)E3VC@vB?os1M1%GJЧbr׿dڥxlM:ZؖUV~1~K;<)׆k)Sv45BVթ"xtti7gyur,z/N6\lk)̖72q:-vO7}z ܶ[kjȥ{&R6	؆]]:	mlY	J۱-۷^qƜߡk\T5wmߤԉ#\7	YA
_ӉֽQvZkp%,,R|]LauAf	CWߗj;Of!/*sx!Lv̱BՅ{ewwס׈HėH!i@k
u0^9$4U%lzpxw{c<$$>{uĥv{1~AؤdָywaK1]'{^)ѝ1zЛtgg)޻܌s\yOFlgh69]mꎃf3|mڜ%gH׻uLbJ+?.uˣa$Nk?)k4~rRD_pH
hXEGOt[
WTT4KMW.QC(RtZ1cNWn}
S
KT: q^KVT4]̚`$D#]*<=
g*{*fUϠUʉ[|d#km1Tnuxgoj't"<<ȳJ1;;v;S{P9Oi[2<P^1ׯ[;ήrHSeJ6 {Ρ]'\Rp{kr.kV3Iwj3"mpg1!אs8mJKLGhZGY@}0qQ\qL%6')nf__IL42'ήWl^]WBC97Zl>{Av\[׻m,އ}=u4*4x[Y5eYºmaZ"%k0]f55wUrn,Aofd뗵Y1%Dj7ZxM_Q"dӡ7h(,MRwb[fb~H[w<Ŗ4E͌'	3.Dd䩶7\k\~ז7Huii2 ="@$8lǮCb`X  render   1file    nodeconntype       <?xml version="1.0" encoding="UTF-8"?>
<shelfDocument>
  <!-- This file contains definitions of shelves, toolbars, and tools.
 It should not be hand-edited when it is being used by the application.
 Note, that two definitions of the same element are not allowed in
 a single file. -->

  <tool name="$HDA_DEFAULT_TOOL" label="$HDA_LABEL" icon="$HDA_ICON">
    <helpURL>operator:Sop/dopio</helpURL>
    <toolMenuContext name="viewer">
      <contextNetType>SOP</contextNetType>
    </toolMenuContext>
    <toolMenuContext name="pop_viewer">
      <contextNetType>SOP</contextNetType>
    </toolMenuContext>
    <toolMenuContext name="network">
      <contextOpType>$HDA_TABLE_AND_NAME</contextOpType>
    </toolMenuContext>
    <toolSubmenu>Import</toolSubmenu>
    <script scriptType="python"><![CDATA[import soptoolutils

soptoolutils.genericTool(kwargs, '$HDA_NAME')]]></script>
  </tool>
</shelfDocument>

# Only the single level here as we use our
# child for the heavy lifting so there is
# only one lookup table to maintain. 
def invokePresetMenu(kwargs):
    node = kwargs['node']
    fluidtype = kwargs['script_value0']
    node.node('importfields').hdaModule().applyPresets(node, fluidtype)
    # Reset our own value.
    node.parm('presets').set('choose')
node = kwargs['node']
oldversion = kwargs['old_version']

# Version 1: Added Import Simulation Settings that defaults to on

if oldversion == '':
    node.parm('importsimsettings').set(False)opparm $arg1 f ( $FSTART $FEND 1 )    PythonModule/Source      PythonModule/IsScript       PythonModule/IsExpr        PythonModule/Cursor                         SyncNodeVersion/IsScript       PythonModule/IsPython       OnCreated/Cursor                        # SyncNodeVersion/Source      SyncNodeVersion/IsPython       SyncNodeVersion/IsExpr        SyncNodeVersion/Cursor                           OnCreated/Source      OnCreated/IsScript       OnCreated/IsPython        OnCreated/IsExpr       INDX              DialogScript      PV%   CreateScript    0PV%   TypePropertiesOptions    PV%   Help      PV%   Tools.shelf    nPV%   Contents.gz  	{  PV%   ExtraFileOptions     PV%# Dialog script for matchaxis automatically generated 07/25/12 16:25:09

{
    name	matchaxis
    script	match_axis
    label	MatchAxis

    help {
	""
    }
    bindhandle to1 vector "Vector" vx ""
    bindhandle to2 vector "Vector" vy ""
    bindhandle to3 vector "Vector" vz ""

    inputlabel	1	"Sub-Network Input #1"
    inputlabel	2	"Sub-Network Input #2"
    inputlabel	3	"Sub-Network Input #3"
    inputlabel	4	"Sub-Network Input #4"

    parm {
	name	"group"
	label	"Point Group"
	type	string
	default	{ "" }
	menutoggle	{
	    [ "opmenu -l vopsop1 vex_group" ]
	}
	range	{ 0 1 }
	export	none
	parmtag	{ "autoscope" "0000000000000000" }
    }
    parm {
	name	"from"
	label	"From Vector"
	type	float
	size	3
	default	{ "0" "1" "0" }
	range	{ 0 10 }
	export	none
	parmtag	{ "autoscope" "0000000000000000" }
    }
    parm {
	name	"to"
	label	"To Vector"
	type	float
	size	3
	default	{ "0" "1" "0" }
	range	{ 0 10 }
	export	none
	parmtag	{ "autoscope" "0000000000000000" }
    }
}
# Automatically generated script: Wednesday July 25, 16:25 2012
\set noalias = 1
#
#  Creation script for matchaxis operator
#

if ( "$arg1" == "" ) then
    echo This script is intended as a creation script
    exit
endif

# Node $arg1 (Sop/matchaxis)
opspareds "" $arg1
opexprlanguage -s hscript $arg1
PrefixDroppedParmName := 1;
ParmsFromVfl := 1;
UseDSParms := 1;
LockContents := 1;
ForbidOutsideParms := 1;
SaveSpareParms := 1;
CheckExternal := 1;
GzipContents := 1;
SaveCachedCode := 0;
MakeDefault := 1;
PrefixDroppedParmLabel := 1;
UnlockOnCreate := 0;
<?xml version="1.0" encoding="UTF-8"?>
<shelfDocument>
  <!-- This file contains definitions of shelves, toolbars, and tools.
 It should not be hand-edited when it is being used by the application.
 Note, that two definitions of the same element are not allowed in
 a single file. -->

  <tool name="$HDA_TABLE_$HDA_NAME" label="$HDA_LABEL" icon="SOP_matchaxis">
    <toolMenuContext name="viewer">
      <contextNetType>SOP</contextNetType>
    </toolMenuContext>
    <toolMenuContext name="pop_viewer">
      <contextNetType>SOP</contextNetType>
    </toolMenuContext>
    <toolMenuContext name="network">
      <contextOpType>$HDA_TABLE/$HDA_NAME</contextOpType>
    </toolMenuContext>
    <toolSubmenu>Manipulate</toolSubmenu>
    <script scriptType="python"><![CDATA[import soptoolutils

soptoolutils.genericTool(kwargs, '$HDA_NAME')]]></script>
  </tool>
</shelfDocument>
      [r۸ֵΑӛL|cKI&q;'&!5EHHQH}>J ER(7sQX,]־t[/>VK_duKofnz7rqϓ)NCԘ)ix$}~C/&Ic2/y~7(Fgй5޶-qӴAso6^ydԎ_su^O:q_%גÿz_7?GY4|{,C9K?sk`|F'c_Kw{QiiOPBG	r(	s+(|{uF#,XBBʀ\,vd3uDcЄ@:_>a"!H<ħad3++*F˶Qw'S
ʝ^i0BO9tBsBϛBn7uk}`R;?t<ȉ)a${U
Q$E	B"Vc8g$)DVaL҄xܿ7tcti7ihK^*Z2炬N;ãދ}!PNa`5N='L߀B/;a͍(8ffȮ"R;M%0cĹ\hb5I 1xTnڥgZBQfHutJB4Mhe7Mi^ecu?2C:!du!=Gt4BS@F_@^QqvKU$({JI`/<Kga@OgN<9cbI"p'6	>vK:R4h*1:5.>CĦe}`@)GW 3lJ=zm\b0<7a%
sz<_5g8x	tfVl&.Y,!1tC|8C(rP 7aj-OT0`aq?<^v>o:r`01s8mى`lʙbFVe馹їŗܕ-{u'wW\*Tsf q `%sJހm]/P(4#(	D":ċ.lK6Pwʭ̣4\*Yct rSF`/LU*,g05tX-737&@%yP̔$oU`tU?nsr9tΜD3MK޾;yDcd5dl2dt'a--@]a `~J9.gξQMx
Zk٬xw22~=N00l\y3iVip[^]F+vѝZYF+u-*+kzcp(ⶖeJc<W֨昫|t<MNTQHI-:u}x=|iJ>spY퓔}AՓaO+u`*\x2R*@CK$C$3U${Bby-HĒ"&0a[[yD#\򉔶|wM[ᑙ,hdme恵1Zaj?\*9=БLKc
GFOz9Gb9ߘ/<4kJ1U!G@i(1fOSJCK|KͼKv^:K͈R}dDnp;ɾ>Dα`2Ot'aEؓm@6ڌos |+/nN2ZYm˶:Ukf4Lb7"o	 ,e"@N<m!O8(gf9B8^QYXj^cj$ЯD)dL$=YYp&zQY 4qbrQƲ`UMj`V\2̿wxSXp&GHlhSϏ12&1	]j19OZ^͸qk^Q` 9cʈ+7S1`U%pM)*q7
txM֬×=&#&ٮwv !l<;OY:Ivꇲ?s3}U~
VHkX"ylJ9ѝPWYùgx!rLlPPf/T%1Ė´ҕ,L+w/R3n=RFHͬ-q]!Ԋ˔<L+H46:VAZ~1D+n>h chhf)5.	Ҷ//Zy5S*(ku~|e~ןLXf!+9 ?OODa{i7]r֍>+cY$S\0Zn˔M{q@Ϝ`cR!퍊TU?੟Qǆ9_;[<;z+?pǊKs'&۸[0eaA~guۇG8onnV
@ZvK򵯿3K7QoWd"-YRR቉Hh
G1dIaP9nR(~{yMIx_,Et[5553*5pev!a?%᥿GG:<&<      INDX           	   DialogScript      |GSV   CreateScript  |G  SV   TypePropertiesOptions  }  SV   Help  ~    SV   Tools.shelf  ~  eSV   Contents.gz  `  \SV   InternalFileOptions M   SV   PythonModule M  ZSV   ExtraFileOptions ]0   SV# Dialog script for fluidsource automatically generated 04/22/14 13:27:54

{
    name	fluidsource
    script	fluidsource
    label	"Fluid Source"

    help {
	""
    }

    inputlabel	1	"Sub-Network Input #1"
    inputlabel	2	rest
    inputlabel	3	fuel
    inputlabel	4	velocity

    group {
	name	"container_settings_1"
	label	"Scalar Volumes"

	parm {
	    name	"method"
	    label	"Method"
	    type	ordinal
	    joinnext
	    default	{ "0" }
	    menu	{
		"0"	"Build SDF From Geometry"
		"1"	"Stamp Points"
		"2"	"Sample Volumes"
	    }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"make_sdf"
	    label	"Output SDF"
	    type	toggle
	    default	{ "0" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"source_attribute"
	    label	"Source Attribute"
	    type	string
	    default	{ "density" }
	    range	{ 0 1 }
	    export	none
	}
	multiparm {
	    name	"number_of_volumes"
	    label	"Number of Volumes"
	    default	1

	    parm {
		name	"visibility#"
		label	"Visibility"
		type	toggle
		nolabel
		joinnext
		default	{ "1" }
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"volvis#"
		label	"Visualize"
		type	ordinal
		default	{ "smoke" }
		disablewhen	"{ visibility# == 0 }"
		menu	{
		    "smoke"	"Smoke"
		    "iso"	"Isosurface"
		    "slice"	"Slice"
		}
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"name#"
		label	"Name"
		type	string
		joinnext
		default	{ "density" }
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"volumescale#"
		label	"Scale"
		type	float
		default	{ "1" }
		range	{ 0 1 }
		export	none
	    }
	}

	group {
	    name	"settings"
	    label	"Settings"

	    parm {
		name	"invert_sign"
		label	"Invert"
		type	toggle
		default	{ "off" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"divsize"
		label	"Division Size"
		type	float
		default	{ "0.1" }
		range	{ 0! 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "units" "m1" }
	    }
	    parm {
		name	"volborderval"
		label	"Border Value"
		type	float
		default	{ "0" }
		range	{ -1 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	}

	group {
	    name	"settings_1"
	    label	"Visualization"

	    parm {
		name	"slice_plane"
		label	"Slice Plane"
		type	ordinal
		default	{ "xy" }
		menu	{
		    "xy"	"XY plane      "
		    "yz"	"YZ plane"
		    "zx"	"ZX plane"
		}
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"slice_type"
		label	"Slice Type"
		type	ordinal
		default	{ "false" }
		menu	{
		    "none"	"No Mapping "
		    "false"	"Infra-Red"
		    "pink"	"White to Red "
		    "mono"	"Grayscale"
		    "blackbody"	"Black Body"
		    "bipartite"	"Two-Tone"
		}
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"slice_method"
		label	"Slice Method"
		type	ordinal
		default	{ "mesh" }
		menu	{
		    "volume"	"Volume        "
		    "mesh"	"Mesh  "
		    "points"	"Points"
		}
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"slice_planeoffset"
		label	"Plane Offset"
		type	float
		default	{ "0" }
		range	{ -1! 1! }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"slice_iso_offset"
		label	"Iso Offset"
		type	float
		default	{ "0.025" }
		range	{ -1 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"slice_range"
		label	"Slice Range"
		type	float
		size	2
		default	{ "0" "1" }
		range	{ 0 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	}

	group {
	    name	"settings_2"
	    label	"SDF From Geometry"

	    parm {
		name	"minimum_distance"
		label	"Minimum Distance"
		type	toggle
		default	{ "1" }
		disablewhen	"{ method == 1 } { method == 2 }"
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"scale_by_source_attribute"
		label	"Scale By Source Attribute"
		type	toggle
		default	{ "0" }
		disablewhen	"{ method == 1 } { method == 2 }"
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"e_interior"
		label	"Empty Interior"
		type	toggle
		default	{ "on" }
		disablewhen	"{ minimum_distance == 1 } { method == 1 } { method == 2 } { make_sdf == 1 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "parmvop" "1" }
	    }
	    parm {
		name	"eloc"
		label	"Edge Location"
		type	float
		default	{ "0" }
		disablewhen	"{ method == 1 } { method == 2 }"
		range	{ -1 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "parmvop" "1" }
		parmtag	{ "units" "m1" }
	    }
	    parm {
		name	"size"
		label	"Out Feather Length"
		type	float
		default	{ "0.2" }
		disablewhen	"{ method == 1 } { method == 2 } { make_sdf == 1 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "parmvop" "1" }
		parmtag	{ "units" "m1" }
	    }
	    parm {
		name	"edge_thickness"
		label	"Edge Thickness"
		type	float
		default	{ "0.1" }
		disablewhen	"{ e_interior == 0 } { minimum_distance == 1 } { method == 1 } { method == 2 } { make_sdf == 1 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "parmvop" "1" }
		parmtag	{ "units" "m1" }
	    }
	    parm {
		name	"in_feather_length"
		label	"In Feather Length"
		type	float
		default	{ "0.1" }
		disablewhen	"{ e_interior == 0 } { minimum_distance == 1 } { method == 1 } { method == 2 } { make_sdf == 1 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "parmvop" "1" }
		parmtag	{ "units" "m1" }
	    }
	    group {
		name	"folder1"
		label	"Feather In"

		parm {
		    name	"remap_feather_in"
		    label	"Remap Feather In"
		    type	toggle
		    default	{ "off" }
		    disablewhen	"{ e_interior == 0 } { minimum_distance == 1 } { method == 1 } { method == 2 } { make_sdf == 1 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		    parmtag	{ "parmvop" "1" }
		}
		parm {
		    name	"feather_in_ramp"
		    label	"Feather In Ramp"
		    type	ramp_flt
		    default	{ "2" }
		    disablewhen	"{ e_interior == 0 } { remap_feather_in == 0 } { minimum_distance == 1 } { method == 1 } { method == 2 } { make_sdf == 1 }"
		    range	{ 1! 10 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "rampbasis_var" "feather_in_ramp_the_basis_strings" }
		    parmtag	{ "rampbasisdefault" "linear" }
		    parmtag	{ "rampfloatdefault" "1pos ( 0 ) 1value ( 0 ) 1interp ( linear ) 2pos ( 1 ) 2value ( 1 ) 2interp ( linear )" }
		    parmtag	{ "rampkeys_var" "feather_in_ramp_the_key_positions" }
		    parmtag	{ "rampshowcontrolsdefault" "0" }
		    parmtag	{ "rampvalues_var" "feather_in_ramp_the_key_values" }
		}
	    }

	    group {
		name	"folder1_1"
		label	"Feather Out"

		parm {
		    name	"remap_feather_out"
		    label	"Remap Feather Out"
		    type	toggle
		    default	{ "off" }
		    disablewhen	"{ method == 1 } { method == 2 } { make_sdf == 1 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		    parmtag	{ "parmvop" "1" }
		}
		parm {
		    name	"feather_out_ramp"
		    label	"Feather Out Ramp"
		    type	ramp_flt
		    default	{ "2" }
		    disablewhen	"{ remap_feather_out == 0 } { method == 1 } { method == 2 } { make_sdf == 1 }"
		    range	{ 1! 10 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "rampbasis_var" "feather_out_ramp_the_basis_strings" }
		    parmtag	{ "rampbasisdefault" "linear" }
		    parmtag	{ "rampfloatdefault" "1pos ( 0 ) 1value ( 0 ) 1interp ( linear ) 2pos ( 1 ) 2value ( 1 ) 2interp ( linear )" }
		    parmtag	{ "rampkeys_var" "feather_out_ramp_the_key_positions" }
		    parmtag	{ "rampshowcontrolsdefault" "0" }
		    parmtag	{ "rampvalues_var" "feather_out_ramp_the_key_values" }
		}
	    }

	}

	group {
	    name	"settings_3"
	    label	"Stamp Points"

	    parm {
		name	"generate_particle_sdf"
		label	"Generate Volume From SDF"
		type	toggle
		default	{ "0" }
		disablewhen	"{ method == 0 } { method == 2 } { make_sdf == 1 }"
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"scale_particle_sdf"
		label	"Scale By Source Attribute"
		type	toggle
		default	{ "0" }
		disablewhen	"{ generate_particle_sdf == 0 } { method == 0 } { method == 2 }"
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"bandwidth"
		label	"Sample Distance"
		type	float
		default	{ "0.2" }
		disablewhen	"{ method == 0 scale_by_source_attribute == 0 } { method == 2 scale_by_source_attribute == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "units" "m1" }
	    }
	    parm {
		name	"smoothness2"
		label	"Point Sample Threshold"
		type	float
		default	{ "8" }
		disablewhen	"{ method == 0 scale_by_source_attribute == 0 } { method == 2 scale_by_source_attribute == 0 } { make_sdf == 1 } { generate_particle_sdf == 1 scale_particle_sdf == 0 }"
		range	{ 0 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"feather"
		label	"Feather"
		type	float
		default	{ "0.05" }
		disablewhen	"{ generate_particle_sdf == 0 } { method == 0 } { method == 2 } { make_sdf == 1 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "parmvop" "1" }
		parmtag	{ "units" "m1" }
	    }
	    parm {
		name	"pointsdf_edge_location"
		label	"Edge Location"
		type	float
		default	{ "0.5" }
		disablewhen	"{ method == 0 } { method == 2 } { generate_particle_sdf == 0 make_sdf == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "parmvop" "1" }
	    }
	}

	group {
	    name	"settings_4"
	    label	"Noise"

	    parm {
		name	"use_noise"
		label	"Use Noise"
		type	toggle
		default	{ "0" }
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"animate_noise"
		label	"Animated"
		type	toggle
		default	{ "1" }
		disablewhen	"{ use_noise == 0 }"
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"destmin"
		label	"Turbulence Influence"
		type	float
		default	{ "1" }
		disablewhen	"{ use_noise == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "parmvop" "1" }
	    }
	    parm {
		name	"voronoi_influence"
		label	"Cell Influence"
		type	float
		default	{ "0" }
		disablewhen	"{ use_noise == 0 } { type == 1 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "parmvop" "1" }
	    }
	    parm {
		name	"pulse_duration"
		label	"Pulse Duration"
		type	float
		default	{ "1" }
		disablewhen	"{ use_noise == 0 } { animate_noise == 0 }"
		range	{ 0 10 }
		export	none
		parmtag	{ "units" "s1" }
	    }
	    group {
		name	"turbulent"
		label	"Turbulence Settings"

		parm {
		    name	"noise_mode"
		    label	"Mode"
		    type	ordinal
		    default	{ "0" }
		    disablewhen	"{ use_noise == 0 }"
		    menu	{
			"0"	"Additive"
			"1"	"Multiplicative"
		    }
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"sharpness"
		    label	"Sharpness"
		    type	float
		    default	{ "0.5" }
		    disablewhen	"{ use_noise == 0 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		    parmtag	{ "parmvop" "1" }
		}
		parm {
		    name	"amp"
		    label	"Amplitude"
		    type	float
		    default	{ "1" }
		    disablewhen	"{ use_noise == 0 }"
		    range	{ -1 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		    parmtag	{ "parmvop" "1" }
		}
		parm {
		    name	"grain"
		    label	"Grain"
		    type	float
		    default	{ "0.1" }
		    disablewhen	"{ use_noise == 0 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		    parmtag	{ "parmvop" "1" }
		}
		parm {
		    name	"turb"
		    label	"Turbulence"
		    type	integer
		    default	{ "2" }
		    disablewhen	"{ use_noise == 0 }"
		    range	{ 0 10 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		    parmtag	{ "parmvop" "1" }
		}
		parm {
		    name	"offset"
		    label	"Offset"
		    type	float
		    default	{ "0" }
		    disablewhen	"{ use_noise == 0 }"
		    range	{ 0 10 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		    parmtag	{ "parmvop" "1" }
		}
		parm {
		    name	"element_size"
		    label	"Element Size"
		    type	float
		    default	{ "1" }
		    disablewhen	"{ use_noise == 0 }"
		    range	{ 0 10 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "units" "m1" }
		}
		parm {
		    name	"element_scale"
		    label	"Element Scale"
		    type	float
		    size	3
		    default	{ "1" "1" "1" }
		    disablewhen	"{ use_noise == 0 }"
		    range	{ 0 10 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		}
	    }

	    group {
		name	"turbulent_1"
		label	"Cell Settings"

		parm {
		    name	"cell_mode"
		    label	"Mode"
		    type	ordinal
		    default	{ "0" }
		    disablewhen	"{ use_noise == 0 }"
		    menu	{
			"0"	"Additive"
			"1"	"Multiplicative"
		    }
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"invert_cells"
		    label	"Invert Cells"
		    type	toggle
		    default	{ "off" }
		    disablewhen	"{ use_noise == 0 } { type == 1 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		    parmtag	{ "parmvop" "1" }
		}
		parm {
		    name	"adaptive_cells"
		    label	"Adaptive Cells"
		    type	toggle
		    default	{ "on" }
		    disablewhen	"{ use_noise == 0 } { type == 1 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		    parmtag	{ "parmvop" "1" }
		}
		parm {
		    name	"cell_thresh"
		    label	"Split Distance"
		    type	float
		    default	{ "0.25" }
		    disablewhen	"{ use_noise == 0 } { type == 1 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		    parmtag	{ "parmvop" "1" }
		}
		parm {
		    name	"cell_offset"
		    label	"Offset"
		    type	float
		    default	{ "0" }
		    disablewhen	"{ use_noise == 0 } { type == 1 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		    parmtag	{ "parmvop" "1" }
		}
		parm {
		    name	"cell_harshness"
		    label	"Harshness"
		    type	float
		    default	{ "0.5" }
		    disablewhen	"{ use_noise == 0 } { type == 1 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		    parmtag	{ "parmvop" "1" }
		}
		parm {
		    name	"cell_min"
		    label	"Minimum Distance"
		    type	float
		    default	{ "0.2" }
		    disablewhen	"{ use_noise == 0 } { type == 1 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		    parmtag	{ "parmvop" "1" }
		}
		parm {
		    name	"cell_max"
		    label	"Maximum Distance"
		    type	float
		    default	{ "1" }
		    disablewhen	"{ use_noise == 0 } { type == 1 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		    parmtag	{ "parmvop" "1" }
		}
		parm {
		    name	"cell_size"
		    label	"Cell Size"
		    type	float
		    default	{ "0.5" }
		    disablewhen	"{ use_noise == 0 } { type == 1 }"
		    range	{ 0 10 }
		    export	none
		    parmtag	{ "units" "m1" }
		}
		parm {
		    name	"cell_scale"
		    label	"Cell Scale"
		    type	float
		    size	3
		    default	{ "1" "1" "1" }
		    disablewhen	"{ use_noise == 0 } { type == 1 }"
		    range	{ 0 10 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		}
	    }

	}

	group {
	    name	"settings_5"
	    label	"Motion Blur"

	    parm {
		name	"frames_to_blur"
		label	"Frames to Blur"
		type	float
		default	{ "1" }
		range	{ 0 10 }
		export	none
	    }
	    parm {
		name	"geometry_samples"
		label	"Geometry Samples"
		type	integer
		default	{ "1" }
		range	{ 1! 10 }
		export	none
	    }
	    parm {
		name	"blur_offset"
		label	"Blur Offset"
		type	float
		default	{ "0" }
		range	{ -1 1 }
		export	none
	    }
	}

	group {
	    name	"settings_6"
	    label	"SDF Sampling"

	    parm {
		name	"laserscan"
		label	"Laser Scan"
		type	toggle
		default	{ "on" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"fixsigns"
		label	"Fix Signs"
		type	toggle
		default	{ "on" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"forcebounds"
		label	"Force Bounds"
		type	toggle
		default	{ "on" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"sweepalpha"
		label	"Sign Sweep Threshold"
		type	float
		default	{ "2" }
		range	{ 0! 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"sweepcount"
		label	"Max Sign Sweep Count"
		type	integer
		default	{ "8" }
		range	{ 0! 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	}

    }

    group {
	name	"container_settings_1_1"
	label	"Velocity Volumes"

	parm {
	    name	"vel_method"
	    label	"Method"
	    type	ordinal
	    default	{ "0" }
	    menu	{
		"0"	"Stamp Points   "
	    }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"vel_source_attribute"
	    label	"Source Attribute"
	    type	string
	    default	{ "v" }
	    range	{ 0 1 }
	    export	none
	}
	multiparm {
	    name	"vel_number_of_volumes"
	    label	"Number of Volumes"
	    default	1

	    parm {
		name	"vel_visibility#"
		label	"Visualize"
		type	toggle
		nolabel
		joinnext
		default	{ "1" }
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"vel_volvis#"
		label	"Visualize"
		type	ordinal
		default	{ "1" }
		disablewhen	"{ vel_visibility# == 0 }"
		menu	{
		    "smoke"	"Smoke"
		    "streamers"	"Streamers"
		}
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"vel_name#"
		label	"Name"
		type	string
		joinnext
		default	{ "vel" }
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"vel_volumescale#"
		label	"Scale"
		type	float
		default	{ "1" }
		range	{ 0 1 }
		export	none
	    }
	}

	parm {
	    name	"vel_add_uniform"
	    label	"Add Uniform Velocity"
	    type	toggle
	    nolabel
	    joinnext
	    default	{ "off" }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	    parmtag	{ "parmvop" "1" }
	}
	parm {
	    name	"vel_uniformvel"
	    label	"Add Velocity"
	    type	vector
	    size	3
	    default	{ "0" "1" "0" }
	    disablewhen	"{ vel_add_uniform == 0 }"
	    range	{ -1 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	    parmtag	{ "units" "m1" }
	}
	group {
	    name	"vel_settings"
	    label	"Settings"

	    parm {
		name	"vel_invert_sign"
		label	"Invert"
		type	toggle
		default	{ "off" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"vel_divsize"
		label	"Division Size"
		type	float
		default	{ "ch('./divsize')" }
		range	{ 0! 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "units" "m1" }
	    }
	    parm {
		name	"vel_volborderval"
		label	"Border Value"
		type	float
		default	{ "0" }
		range	{ -1 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	}

	group {
	    name	"vel_settings_1"
	    label	"Visualization"

	    parm {
		name	"vel_stream_use_plane"
		label	"Use Streamer Plane"
		type	toggle
		nolabel
		joinnext
		default	{ "1" }
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"vel_stream_plane_orient"
		label	"Use Plane"
		type	ordinal
		default	{ "xy" }
		disablewhen	"{ vel_stream_use_plane == 0 }"
		menu	{
		    "xy"	"XY plane"
		    "yz"	"YZ plane"
		    "zx"	"ZX plane"
		}
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"vel_stream_plane_pos"
		label	"Plane Position"
		type	float
		default	{ "0" }
		disablewhen	"{ vel_stream_use_plane == 0 }"
		range	{ -1 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"vel_stream_length"
		label	"Streamer Length"
		type	float
		default	{ "1" }
		range	{ 0 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "units" "s1" }
	    }
	    parm {
		name	"vel_stream_separation"
		label	"Streamer Separation"
		type	float
		default	{ "1" }
		range	{ 0 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "units" "" }
	    }
	    parm {
		name	"vel_stream_max"
		label	"Streamer Max"
		type	float
		default	{ "1" }
		range	{ 0 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	}

	group {
	    name	"vel_settings_2"
	    label	"Stamp Points"

	    parm {
		name	"vel_pointextrapdist"
		label	"Sample Distance"
		type	float
		default	{ "0.2" }
		range	{ 0 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "units" "m1" }
	    }
	}

	group {
	    name	"vel_settings_3"
	    label	"Curl Noise"

	    parm {
		name	"vel_add_curl_noise"
		label	"Add Curl Noise"
		type	toggle
		default	{ "off" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"vel_turbtimedep"
		label	"Animated"
		type	toggle
		default	{ "on" }
		disablewhen	"{ vel_add_curl_noise == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"vel_turbscale"
		label	"Scale"
		type	float
		default	{ "1" }
		disablewhen	"{ vel_add_curl_noise == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "parmvop" "1" }
	    }
	    parm {
		name	"vel_turbswirl"
		label	"Swirl Size"
		type	float
		default	{ "1" }
		disablewhen	"{ vel_add_curl_noise == 0 }"
		range	{ 0 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "parmvop" "1" }
		parmtag	{ "units" "m1" }
	    }
	    parm {
		name	"vel_turbrough"
		label	"Grain"
		type	float
		default	{ "0.5" }
		disablewhen	"{ vel_add_curl_noise == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "parmvop" "1" }
	    }
	    parm {
		name	"vel_turboffset"
		label	"Offset"
		type	float
		default	{ "1" }
		disablewhen	"{ vel_add_curl_noise == 0 }"
		range	{ 0 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "parmvop" "1" }
	    }
	    parm {
		name	"vel_turbatten"
		label	"Attenuation"
		type	float
		default	{ "1" }
		disablewhen	"{ vel_add_curl_noise == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "parmvop" "1" }
	    }
	    parm {
		name	"vel_turboctaves"
		label	"Turbulence"
		type	integer
		default	{ "3" }
		disablewhen	"{ vel_add_curl_noise == 0 }"
		range	{ 1 12 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "parmvop" "1" }
	    }
	    parm {
		name	"vel_turbpulselength"
		label	"Pulse Length"
		type	float
		default	{ "1" }
		disablewhen	"{ vel_add_curl_noise == 0 }"
		range	{ 0 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "units" "s1" }
	    }
	    parm {
		name	"vel_turbframeoffset"
		label	"Frame Offset"
		type	float
		default	{ "0" }
		disablewhen	"{ vel_add_curl_noise == 0 }"
		range	{ -10 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	}

	group {
	    name	"vel_settings_4"
	    label	"Vortex"

	    parm {
		name	"vel_add_vortex"
		label	"Add Vortex"
		type	toggle
		default	{ "0" }
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"vel_vortexpivot"
		label	"Center"
		type	vector
		size	3
		default	{ "0" "0" "0" }
		disablewhen	"{ vel_add_vortex == 0 }"
		range	{ -1 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "units" "m1" }
	    }
	    parm {
		name	"vel_vortexdir"
		label	"Direction"
		type	vector
		size	3
		default	{ "0" "1" "0" }
		disablewhen	"{ vel_add_vortex == 0 }"
		range	{ -1 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"vel_vortexspeed"
		label	"Angular Velocity"
		type	float
		default	{ "0" }
		disablewhen	"{ vel_add_vortex == 0 }"
		range	{ 0 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "units" "s-1" }
	    }
	    parm {
		name	"vel_limitvortex"
		label	"Limit Vortex"
		type	toggle
		joinnext
		default	{ "off" }
		disablewhen	"{ vel_add_vortex == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "parmvop" "1" }
	    }
	    parm {
		name	"vel_vortexradius"
		label	"Vortex Radius"
		type	float
		default	{ "0.14" }
		disablewhen	"{ vel_limitvortex == 0 } { vel_add_vortex == 0 }"
		range	{ 0 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "parmvop" "1" }
		parmtag	{ "units" "m1" }
	    }
	    parm {
		name	"vel_vortexramp"
		label	"Vortex Ramp"
		type	ramp_flt
		default	{ "3" }
		disablewhen	"{ vel_limitvortex == 0 } { vel_add_vortex == 0 }"
		range	{ 1! 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "parmvop" "1" }
		parmtag	{ "rampbasis_var" "vortexramp_the_basis_strings" }
		parmtag	{ "rampbasisdefault" "catmull-rom" }
		parmtag	{ "rampfloatdefault" "1pos ( 0 ) 1value ( 0 ) 1interp ( catmull-rom ) 2pos ( 0.5 ) 2value ( 1 ) 2interp ( catmull-rom ) 3pos ( 1 ) 3value ( 0 ) 3interp ( catmull-rom )" }
		parmtag	{ "rampkeys_var" "vortexramp_the_key_positions" }
		parmtag	{ "rampshowcontrolsdefault" "0" }
		parmtag	{ "rampvalues_var" "vortexramp_the_key_values" }
	    }
	}

	group {
	    name	"vel_settings_5"
	    label	"Object"

	    parm {
		name	"vel_objapply"
		label	"Add Object Motion"
		type	toggle
		default	{ "off" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"vel_objpath"
		label	"Object Path"
		type	oppath
		default	{ ".." }
		disablewhen	"{ vel_objapply == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "oprelative" "." }
	    }
	    parm {
		name	"vel_objscale"
		label	"Scale"
		type	float
		default	{ "1" }
		disablewhen	"{ vel_objapply == 0 }"
		range	{ 0 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"vel_objframe"
		label	"Frame"
		type	float
		default	{ [ "$FF-0.5" hscript-expr ] }
		disablewhen	"{ vel_objapply == 0 }"
		range	{ 0 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"vel_objsample"
		label	"Frame Sample"
		type	float
		default	{ "1" }
		disablewhen	"{ vel_objapply == 0 }"
		range	{ 0 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	}

    }

    group {
	name	"container_settings_1_2"
	label	"Particles"

	parm {
	    name	"createparticles"
	    label	"Create Particles"
	    type	toggle
	    default	{ "0" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"particlesource"
	    label	"Particle Source"
	    type	string
	    default	{ "" }
	    disablewhen	"{ createparticles == 0 }"
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"particlesep"
	    label	"Particle Separation"
	    type	float
	    default	{ "0.1" }
	    disablewhen	"{ createparticles == 0 }"
	    range	{ 0 10 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	    parmtag	{ "units" "m1" }
	}
	parm {
	    name	"jitterseed"
	    label	"Jitter Seed"
	    type	float
	    default	{ "0" }
	    disablewhen	"{ createparticles == 0 }"
	    range	{ 0 10 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"jitterscale"
	    label	"Jitter Scale"
	    type	float
	    default	{ "0" }
	    disablewhen	"{ createparticles == 0 }"
	    range	{ 0 10 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"doscatter"
	    label	"doshell"
	    type	toggle
	    nolabel
	    joinnext
	    default	{ "off" }
	    disablewhen	"{ createparticles == 0 }"
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"scatter"
	    label	"Scatter Density"
	    type	float
	    default	{ "1" }
	    disablewhen	"{ createparticles == 0 } { doscatter == 0 }"
	    range	{ 0 10 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"dooversampling"
	    label	"dooversampling"
	    type	toggle
	    nolabel
	    joinnext
	    default	{ "off" }
	    disablewhen	"{ createparticles == 0 }"
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"oversampling"
	    label	"Oversampling"
	    type	float
	    default	{ "2" }
	    disablewhen	"{ createparticles == 0 } { dooversampling == 0 }"
	    range	{ 1 10 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"oversamplingbandwidth"
	    label	"Oversampling Bandwidth"
	    type	float
	    default	{ "1" }
	    disablewhen	"{ createparticles == 0 } { dooversampling == 0 }"
	    range	{ 0 10 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"addpartviscosity"
	    label	"Viscosity"
	    type	toggle
	    nolabel
	    joinnext
	    default	{ "off" }
	    disablewhen	"{ createparticles == 0 }"
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"partviscosity"
	    label	"Viscosity"
	    type	float
	    default	{ "1" }
	    disablewhen	"{ addpartviscosity == 0 } { createparticles == 0 }"
	    range	{ 0! 10 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"addpartdensity"
	    label	"Density"
	    type	toggle
	    nolabel
	    joinnext
	    default	{ "off" }
	    disablewhen	"{ createparticles == 0 }"
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"partdensity"
	    label	"Density"
	    type	float
	    default	{ "1" }
	    disablewhen	"{ addpartdensity == 0 } { createparticles == 0 }"
	    range	{ 0! 10 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
    }

    group {
	name	"container_settings_1_3"
	label	"Container Settings"

	parm {
	    name	"initialize"
	    label	"Initialize"
	    type	ordinal
	    default	{ "0" }
	    menu	{
		"source"	"Source Smoke"
		"sourcefuel"	"Source Fuel"
		"sourcefluid"	"Source Fluid"
		"sourceflip"	"Source FLIP"
		"sink"	"Sink"
		"sinkfluid"	"Sink Fluid"
		"collision"	"Collision"
		"pump"	"Pump"
		"velocity"	"Velocity"
		"expand"	"Expand"
	    }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "script_callback" "hou.node(\".\").hdaModule().set()" }
	    parmtag	{ "script_callback_language" "python" }
	}
	parm {
	    name	"bound_expansion"
	    label	"Padding"
	    type	float
	    joinnext
	    default	{ "0.05" }
	    range	{ 0 10 }
	    export	none
	    parmtag	{ "units" "m1" }
	}
	parm {
	    name	"auto_bounds"
	    label	"Auto Bounds"
	    type	toggle
	    default	{ "1" }
	    range	{ 0 1 }
	    export	none
	}
    }

    group {
	name	"container_settings_1_4"
	label	"Partitioning"

	parm {
	    name	"enable_partitioning"
	    label	"Enable Partitioning"
	    type	toggle
	    nolabel
	    joinnext
	    default	{ "0" }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "script_callback_language" "python" }
	}
	parm {
	    name	"partrition_type"
	    label	"Partitioning"
	    type	ordinal
	    default	{ "points" }
	    disablewhen	"{ enable_partitioning == 0 }"
	    menu	{
		"primitives"	"Primitives"
		"points"	"Points"
	    }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"partition_attribute"
	    label	"Partition Attribute"
	    type	string
	    default	{ "cluster" }
	    disablewhen	"{ enable_partitioning == 0 }"
	    range	{ 0 1 }
	    export	none
	}
    }

}
# Automatically generated script: Tuesday April 22, 13:27 2014
\set noalias = 1
#
#  Creation script for fluidsource operator
#

if ( "$arg1" == "" ) then
    echo This script is intended as a creation script
    exit
endif

# Node $arg1 (Sop/fluidsource)
opexprlanguage -s hscript $arg1
opuserdata -n '___Version___' -v '' $arg1
opuserdata -n '___toolcount___' -v '3' $arg1
opuserdata -n '___toolid___' -v 'dynamics_burnsource' $arg1
SaveSpareParms := 0;
CheckExternal := 1;
GzipContents := 1;
UnlockOnCreate := 0;
SaveCachedCode := 0;
LockContents := 1;
MakeDefault := 1;
UseDSParms := 1;
ForbidOutsideParms := 0;
PrefixDroppedParmLabel := 0;
PrefixDroppedParmName := 0;
ParmsFromVfl := 0;
<?xml version="1.0" encoding="UTF-8"?>
<shelfDocument>
  <!-- This file contains definitions of shelves, toolbars, and tools.
 It should not be hand-edited when it is being used by the application.
 Note, that two definitions of the same element are not allowed in
 a single file. -->

  <tool name="$HDA_TABLE_$HDA_NAME" label="$HDA_LABEL" icon="$HDA_ICON">
    <toolMenuContext name="viewer">
      <contextNetType>SOP</contextNetType>
    </toolMenuContext>
    <toolMenuContext name="pop_viewer">
      <contextNetType>SOP</contextNetType>
    </toolMenuContext>
    <toolMenuContext name="network">
      <contextOpType>$HDA_TABLE/$HDA_NAME</contextOpType>
    </toolMenuContext>
    <toolSubmenu>Fluid</toolSubmenu>
    <script scriptType="python"><![CDATA[import soptoolutils

soptoolutils.genericTool(kwargs, '$HDA_NAME')]]></script>
  </tool>
</shelfDocument>
      [dI =S=3ˌ2HV^tfM}uWuVedfelW~=vy{#2"kK b?X!XVHvABZ
!@EHY/@B{kvoUnf1ǎ;vyߩX~l4+jmu|r ՟;iմz4wvgsݛߙv {vֽhދѽl0dN,qёܛMz-c]ZDl:<PjufZȺ2h0/G3X橸mwVh=	h_OIgx6Xn:ʙM qw4kТ;p3Տp1m.h8]Ί,|6/\r`ݩ[|-cd]Eg6DkZrgeыΰwNZ؟z^o}wfZ`8٤7Åk6Z׆/tgF z-1͸Q_u+2&Fhd#Pk75FdFWzF)vh|0Z;][ո<hf:+;NFz>I7sb:JZ˳s>>u9؁|x/.{aZy*Ͽ}=Y㇯>F˿|'PQÕ_J0Q>nj~W+1ܿ!QRJSVWtßT*	WÊV+}{'3xY<t+E\9R"[>tU^ʑP1ROCWD
.ʗ;g22F⓹LPbsRJwﵕʿ'}O+S\߈l_ʿxH7Jq'pP{~-VY]_SvӼRϿ}}o+CL%[)aT*۬)Soj#*	;'?T/Jxf6t#,ｆ/j'Fc?''I[,?[K=ܬ3TR?d=pzz3B?\oY5#Vo}H<³VvK%i|?]0YbU&{'qRh}I2)ϰ7GRIgҹ1bڬE+*N@Kl])şowqCo&ƕh^`n3J~̴1ƏWʼ~fٍoTY\s"{|{"peD$JA"SVU4zJVyWIS"irh΋99
SdӮ,C(ъݞ#|_eN,P)}EY%⏸ҿp.TVJU&{)OHA?ּBR,]#^Lj'*y|i7/mL2[mS5/ҬQ TY\n?8G'O}YϾ1b$h廟zțݗX:U&*/&Jjq)JjbAl*jdDa}"%cEfIi9td9JENX
2SE彧I#-VxA>T9wRtWXqr>	\;.ߔw3wD|&
J#`"sS*}?VxV$	gx!/dH'_Jn~(OcE(ŗ+{He'<]X2UdPw_8.3@e{cv対Ա-f")^ca8wmHMU81N`}u3XſG><BO^<}>{矀ЫhMg"y<'Q8Ll/L%otحEanNC4	ͅ ;Ȣw& hb!F`&c@!h:F:DU-JPzu/FIZ8Aݫd4C<W}vzk>HvطV3hP}9~ޛ#Z'5R8%o$S<蜆wG[Lct.38'&wѭegE?=~C;g'_*!܍R>S,g8 Z{2Ofu!>b *Seī:=8pUScSJ%JZM&Q'/JQ	[pϷbo²qov=#g%O/I:#ɾC|Ǝq!p0HwQFOg.,it6.ve-~85L;,:xi.HK"sC>?fOaҁg;Y zi_X,`T4Q;xCtߩ	ɛW9ǳ5-SymBg05xb"SиVE*^
RWVRLsn=e '>cs,Щ?*X"蘃iN1 r@zJY_<}]ۅwGOȔri/@xxxa^+\277'v ç|!/QO"m)R dN2H5If>;"1|(v&Wۓ@N"E/~Ix}lUs*c;!M0{xLA6 l=㽂zֶnhC7o8[بDO^|~2Ļ(fdԬ|Bj8jIKNŖri4|XdRs/{GH@.\NDIPQu-_>)zGBy_G2_|󜷞iշW|ɯsׯjgVNNr
~m6\gt9>8@<έu݌\' kV풬ޤ
?-iqsHLd:;Ei=LǷDk2-XG3֥NyJ*#1AZ9w97.z(ܺ	pǥj77<m/[<2Tg
| p:# `PM,W:w?~)VJ?O˚ھKBW/>y~DȖ!:Kng0Fr˽g7.ݏ\#˒yq%o2c{%TOI/N5^?Sx'RT\_b ]L!M3KQG:/u5{K~)<gU7RWE.m.-VR}T)ջ6NAƍ?xĔqvZƑ(CK?GCo.V	c]	IR7v}E*,#Yݶ(kT>׬\
ʎy8*2FF_;`G\\P3p~ţm~Hd==pm0p]tk:^DCs?`2ESJ
,Sb؂_}y:3?tCj\a"`w{Pw Kj%IN꓄G"L9`~/x0YPa%ROL>$]eR3~ex2f)qKВ[rr`=3Fnj)Z3E^+.A0ObjƋj2p%Ar*bJO*UMy4հғ+Kiyf2'8\fzr<Gb}
\7_͗pe,,拳<g.5`с-KAr29|qV8_eaP1%eV^fsՍjo?߶"}ϲAn>\G:]L9;K5)N*@".jWv2՞XnfkY\R-x+[{[-Fc(FPDLGcʮ!	&&$w`P:ã*63eM#jim]ja4dHl<	ΨȐ&xc.G0#a-ϓy4轤}nP{މyzvbکԼ̉m^D45[]XZ0VC 7 
%z$$!vCZ.K40:E"YZ	1-$X7lI5	uS#mbO=}7\$Sv˸<-F!qiZ#n? [/k_cs~\#~	toAx0	=L
N/O,Pj{F/(MoCLiĖ?s1G:=hq}V 1X-5IoMVk+PPprhhR;GSK0QcV
0&iZ)k! F%*&I^WG(,~S^I Sd^0S{68i}*^mζ
H`1Dy.j	z[a/~r:[_z:"st9bqU	bBEo[q>1Է:Uک4 {Ȳ
6r+PR_*pShHͥF-"ZvsDj%4&Ǽϋ}^|⣟+JEg|6gc~Obi|=,Lf1nZKI+f:-a-lp;,r:;BROOi?L'X8'?B9sǌ!/\RI!@oO}>_c؄_;.I ^rij6jx8?ȥ&;0#AB!>Wf9Opp<PZ{"3uKVOqBZ:t}ds0^p.(Ex/qZbVbxF+<>%Ϻgޥ}]x*KlG]B{y]*R2HkY>}Gp
׌j94M8Qg/0Y_j~܉/"	Eh!lV
J߁,?-hh`ZyUV>OkoCL0)Kq;D۰aSWnzoJi)݉TQ>r#8ypl"*EzIKfRH=bHKM*e"ً?7S9W!H)dua˔pf4)?Ț8vYWUٮ(y5".zJv҇KU&LSH:-CAFdӗdBL_KL_?)(PԠ@a8WI9hҋ!5y8J&#f7K#|YL!Կ<응/Cfw&)YtIn{t*O܋=$B~i(̴zxd񳩒g
9gy[	S%\-X]I1evU\Mbdڧ찔Od~e54YyNؒm'<fӀ!Ji)̓R/L`M>1x st	3٨ߟH4iV,5d++36i˾jfF>g㥒DXӣK9$F6Sܨ?FPMErF;LpT_cߣn@Up"`2Vڏ̫CdT.:	>R}ئ~(m;PTGM.enP>F[clTձ*Ӭᕪ^(չMͪ9Ohj*ҵ.tQ5n$M
ئL?ͱ#OfUMX1K[nmJ̾nPP9>l/:%t#.<e$%+GڪԕJ-퐩dd+@Ѥ
{]~#'נyYyi^5)g4Iz<-"äjBOϪ$.?oRt%o6|B"[=D=@Cs윇	koW O!lh"bPDnSB0li4~6)=`Q}&+]C#B~hA>VSċQqt9벯];E {Ԗ"v9JN4Q=Cc37=E0Uvwzˁ$ۊ/`5ѓz0=aK	 y^+?JÃ1K)HQWxë/@/i&~VgiÉib<&ܤʷ1EjT+)H:(3e/0SbO4&ꑓK@_쥚]7"g%cf#;sϧ:Ԅ Ӱ/O3w僽\H#)LqMb7o|rcd&76T&ږV*BNy.YpcY"?&F[mtBX˻)O\;&{%ag	T4AHVNySO'ys_}k<( Ik jY.|r.bB	g.ķ31ҀV"f/v5[#1%QV<V`Y@a:CĢ;f&TǄYyO\3n3Ӡl0:8;i<j=F^!c$ߪp SIkn=Vva G_|5w)
A|HjLC;J?rZZ#0pF!&ou)|t[?r<ZwlrHȩB2S~K2lr+O3"U)oc	Z`\LgTwA8+6tgO0:׳DʴMw D_s[m`U.XH%IW߱To[ZP@Vo37(hk4<~Ql*2ɻUϱսzUgޭZu_Ֆ!U{ U%Nzq|TQ]cPOp:A#|&+cT$5MW^%z=_[88Ĉ+"hoMefrYC
mwWAu/m<lCH6yYm&p ;78϶)dQOa7!$Uك[|!gMC=u_א єF0mᒴq6+q+'`gl6:5+tkjI>)AtcϜi*+J]%!]EwNQi;Y,Km>Bӗ&r1ϐfR2!IgӞA5B3c\@ 0hfQ{+V)s9_\Vq:ᜨO}~7k*B!=OG\naT=M~+yadgNE&)yiQỆ~r@`f8OGy*qisQֆu֒<5ͯX~!*Ξ[M]aCVMX?'OpR=.hzݪڷ;FhvqXj@u".MEM*&ҙhopb!/G<'EbX!Gٕn|eVC]ުjzDߥ?RQvǍLx44˝De rf,>o2sf*Ӟ0{S3ScjZF6nt">)u$d9t3m3K2#ۗ$`P%,b9/GcUe&wecmY[dq*nqtx.-GQ/Կ&KHQqd3~r3{Pcfg!p1yT/]F'L^8E١<G$썌̀=R6<:q`^
s{Yaѷz@Z?AE
#|Iaq->	NJr~=oB9X37R,+h&T`CBOۗx=;_mZ2h[`D~ڙFxZE+%gBlށ06;Ȧٗ1.1xAk_¥𞞏tw2L̡x֓n NQ~d|2&M:9CFJNDP{	z)-%sh2H҆Ǿ;L1'KDYi"F\,5All*0D
FY'	Ɇ/ڎ'cbP̢dW=
Gnn-`p"'PGދeG8STL	TxӱUQIEDQ$xp$BķE\|<<ݦD݅HmA*6M墳ۀ[ I:a^&q/.1)h$:qp.?7O W$j"G0
>eϰVlDCHǸT4:"~VOX;/5*6|o=yrl8OB(z)luFA/Y(BL#x}V((vjxxrѺ~pv8^;h,8}AQ3˭&npIgMx?-hא/Πzi:H6;3a5? OO?a
Xh#hHy6I.(;ɩW2ic'tøUaܠ}%ə@)+L*q:$Al#mth8c{l8{bUЭۅ1޾E;`]0gh z.t@/̅;RZ3|
WFOZo
OSnJp#@@l KS	.^QI''\djRv79Ѽ=Ó
=D,u ^ КU<,7#/؅f̆æt|DÞH $YLxv]Xd׿}V]`LT6`fEK5=&Ȗyݾ\-'B#h>9	=k>m֚3e'ǒ:~RnK}x- yMͣK2"k؎j+Pێ5/|hnRnnw78/~щ/83f5X<gy÷T4erYkKvk!FߪVٷj#-ܒw%cQiKcuh۷ʸ*lWGհ@ /n=CS@
9
bU'ߊv^պ46l#G+ WRad4dJJ 6_0qu
SCo(y,z*ahe9=	a)!1 ovgnRyr.ss|h"iw fr2s`(4P#VRځ(ԝx8pRӒ$ wO:, d;8Y61mzLF;Ic&yq=~ʸ&GFv0)=er?o28S)21pg 21<?iGD#@?Sa}t=|^QѼ#.bR8AK 8F.͕AYx3>Ā8wz5Od7|Y6r蛽Vt%/~$v!{!8ϒf[5d!ft,J;ސړP	ыp:oFE7NG2ˤ Iǚݸc^.("R,ƻu'Hn
NRKȲґAI"=Y=20>Zrfᱝ+c;W9]+Wn=4tť6	W9P:cճ`!B<Q=S}vd/9lLBBBS!	AB,C\H|e<_ѐ3&8]R1|9XtJ=$ި4-wjt1U>M_iYJYԈ3O㩗pbEt%%Kǻ	J炆|Ck^J$I~3}BKɷ0+hYu:~MZxC|o=;IϞGԣ!)+4<:*	{?:(h*Ѹ?蜁}uGp3<`:vv0i]o6@L{#fn7b8!Wh<	ȿ_l<Mv5\tJ>bi1= !&8ś?	/`<	YO@7(MήⓤXF\$jǭMH(ԏ񚙑iVn'ex
u\A>2hg04檎
 ?~MkͭUo$'<睳#<+Tv-9wOVng 1|2Pf|8-V?'䥕vSq\m5|eNzȶVZxh9j=o?/UgMz߻|C ,"fXW3&a/i՛yMܦg'nE&96ⴜV4|_-M/h$`4vv>D/^|-]` 89'm<mʳi UsR`jT*J|L6REyf~^pȍ6	%p"8h ?teHj:2wΔ<Erw9\rZ
\'aNBcxtv_H7T>* DQ H`*ụlOx(lA/F`~.@~ 2nRi3Of,N=]| .[dt8{ډN!u4:C&h1t1_0梋WZ"E~Q	C0Ylk8
(@4;)"&LQAk	 m[	!@$ۡ1o4A 11m `}sXFî6-syT̔=:lp4xv&+Xnv\h.\*<9Q؟A< z@?}6[z3fr"ge{vub"rugS>s|JQx~|aLqPظ v9nS	1S܅1b_bi5qU=(}
ܕOFtOu`Rj*E>M=˔wt^-CooV|_lak|<3lɵ{*xu>jqy>&.{BxؗaNHq{L-r.oȓCC_d42I4i\CFW<zI}A,dE`[k/
 a8@靐$(M~Sδ|
nG`'|Up4緿).x/kwŖ^_Cam(N
Nt1o@Ţ#rvN18Q&u"P%Âs(igVrJsއ1@hT>[>ƭZwyy\y`F1]<^"Ҫ]2u<Q6^[u	ᴚ>82$FYj?	KcWN1T^˄,nrFYz0
!o1tw:(34nwuaweCMOt9JEFkuo~%xs#sdUa~Q]wutvq=nmmH-\KO=CЏ	:5Ec둀:'1:Ѳ~'O?{CZŋ/H	/>5@ѤYULVWye|MdZz&͊>wnll 76Sa[9Nn	e&fm#!'JDWFb,uZcNz,^.TuI+}v0KeQ$vI쫀ʶQG\X܄ȨByIR5eD,mT-Q 8ifi hNhC]7ZR3N!f.5uSxHzHL0t[8J+MNI4g!罊4ʔȃRrݓ
6uX-XcgnŤveZQq;[n[?HѺfދV{*J_^u|v|eEWox[fWek#Qy2FM/u"E؋TgC$4-8"X0w!Ȩsq|</ϝ F? k#fhF?{J]f$wnkö]۵,ǳ[X6Av))α+sF]`UUI,YL 5;dq61=GP]umفY1{pP5귙ʇ1:$	V(Q_W5.u8:^0\*11(1^%H]lj6:۰=uًå!,朎^~]B8VBKj2+׀ZzLq
Ecdn5&f"_}JG4WSG_Q1̌yjZCo4 TuMOi
rd-HVծc16Z)n љw(VL-h8uS
ԠMc0٬wi{054
lo@ymP]=Gx\kcO g#OoOl6woT K!ڊg_PFcTwO}z}~}wTdXw8ӁN4⺏-Sh3	
tE63m^sf(iVdtw0]TvGf9ӒU#uS%iً!k!iƤ M]N/ޭ&:gX2ls2urخ;o=TSUDմ-8_vx n9^pT{Rz+Nw&bk07oj>-?lpt(FhZy6x
0}&N!dghkdƈzGdBtҤfXL4)琭bi6#'Z^71`aHtDA;a~ ֆnw\;Aa	um4EW|+_Ћ"1@=ALv6HHD(""=KMD8dMDrCgD̤nk:?M:ݔA /]Ձ~bW=A;Q
nl)G5,zs+w䮳IZul줹^| ;rN:=a,Z݄ɑ%akEhg8ag޷r&%Yܴ̦Q[F23Vߊ-rI,Q(wp*:lEYSzyJ߫Szi.P($Igօ\[B-sF>q8\Zܬ;^z<(?{hq5n@ͨ?SHƶ6bAGM'|\
O3OB[PȊ79뙲2GJApuBa^1O'[))7 yJ0piKCh`Ɇ.}0,A
l4.8>I6Hcca
 amBB!l;Kb10QE?_͟H-`$"wsEbcX-2/C/h$zY],Z=fvh	AXَ7G
nib˭w޺*'JU,ri0Dȁ\pe$P.lG[J<^7ũR[jzKM&~&M	o7LR;#̸`fX|me4AD+'嵐SV]/3J9Ͱ Ք|wtВt5MaEzBTQ3>;6۶WF)tƱ g9;aں[#d&>|A8	$3Hn;"hxшP&NMց}&˪N!+`<\ϥ+Ơi[VUx,؊zzy=:#=fۉҙˮTQwu.ưzlZ%{b˶]Kjo`QFTt: 0&`: 7&`: D=&`: `: k4u 4u 4i e ԑm޷ 	@)TtD,Jh"]%4 HFWI MD$&U@*Ɋ7Q (GWI L@9rtD9Jh]%4Q (GWI M$&Uo]%4Q (GWI r\*	rtD9Jh]%4Q (GWI}*	rtD9Jh]%4
7L$&U@*	rtD9J"(GWI M$&U@*	rt((7Q (GWI M$&UD9Jh]%4Q (GWI M\Y[sО`ܜhފ[m7(:ިٝvJu/`QB52pZ\P(f*Sb*tSL6bȫ7Fo;5^f ҹAܮ(y
vix7kxeBgSͭҘ4ihʣ@Jr`Gw1֙x2VS3',l!Il匦eXd4tvdKm,	"ᚕo;B܆ q4IYP-)Yd,Mcd3do%<	[a{eP	MnG٢tHUNFӔN7Ax.oۓm)-Dl2mr	ai5,nw)u%,RECUK	M;A|i`A|hv+"*&?Rr)%Rr)%Rr)%OJ.98RxD7V{+G+)Vj"ʞYlp9}Cf<32L
jG-3¡)&hHJ+2΢	a/)dEt)߳8jg!tȒ8i<%C܎||^!f`vLߎ!|_`=Bwt"n[wxP{g-;n;8DbPba-$aX`g>E5&>R~5&7T.3S+=34 %_zf KL/=3ga/=3gA+=3gA/=3W0u/d;nO&D<,ve$)ǧ?
خ{nڶB7,&cRL3܀0RVe%kᩢwqBh
~Si˄7OPْ/F9kx^ϐ/qlI:"_:XOV?ɟTL/;./p7&-2+e(		9	wAc;qx?]Qd/M}l|^ +Jm8xe:]:DVldVu>.oX.g&		o(-2	$@E`:`>9;ܨANDyKI(9P)J҇''Aaz_@`N(F)ޑ	pP(mq4XnA/ae`r(̙Ɯ)ɴd2i,p%+K]pmփjb XZ K]`ik ,-vŮ5 b XZ ];YNӵDT~7֬ym+ɱmoeV^Y+-7pqh[Т5&$PJ,	ʶ郘/>Wg͠"jaT-@t?lPn422[lP2uˡճ3d.nqi'⥛sqs
.?ݮӬ[cR{we<|C;e'0)3Ͱif버[B{  piJ88mم\L1-A:v7&r7Ey$^E(U7D1XfTR-C!꧔!@i)CYِUM.`9ѫEY})͖|cW|z :841n9^qYYa;z5H
1<˞aKcJ q0W<쇔$14GG|m@Nrsn>\Xs332hXkvv@dAm2!ŅU
m<@%uœ4۬ǭ9GV׬'@v9ͿyhṨlL6 OJcca+!c	 <JBʻJS<D As{T= :q2ϱIWɮ&@s.$+k(^IiR-aexX\VêKX`k ,a?5  X KX`k |7aFqOu{*AcqbS'(G+[tn]6ٌAtaȳOF7%Ja=ϔHRn6ĉts3s㧷<p2Sqލ̘?卪Ee&y&^;~[$%ڴik Vj9Vǀ<הhre*3҆ڌF/$5HTyL?&7H@Jk}Ѩ\ǫ	^˜wM0,'.6ɖl2.ہo}gՍU=(JoқJқ2NKM%ﰅ;<؁#Tպm@?EBív+@nGk{^դqEP'Ҹ&88PDKpqՠ3&^ȁL7K
ǐoDh%-bYԋRoP=P|PA~Ӿ$jWd5q ߖ~fQR;Lgwa<4bӨ`&=Sh/NAPZ!X 2> l `z-!|(zZf;,G8. t!	\==(	T	m	U)>ZҨ;~2[ag 	5	RV%Q	3Ay&qgw'R1;S0"|9o.b;t4;pctփzozNޟ0ެQʺBUl4ē,6ژjz0:m?1o~+MF1j}}T%̧6o"XvT:B/|\;:p.  ]Pj:hi\^oߨ`ז&slwv&ˁb."hB7d9:*ڶ@aS;ċ`t[,9 1{*N+B=F}a gp\~%&NרFd4Pͮ<jT'T!OEٛdxGG"	*Ua+G1UG\%4) ̈UҘV`)Y?OgD.QP@8{6T'7M̱<#pzdѾ>h>>	D¾h_K0}[iop$&xȿ@^Ea2m>`2ڴ`1	cݧ .==
0$CRhg~TB4K|잣Xq.+ IR^>zѦy	oPo\1Ar}>~nw)JL޺˱3ͫhrh{'_а<&١;m+sh[xʣJۋ7RT5yp3|-Dhg: Oh`iTڪ
-}׈*tCGF=e^)/kwΰ&u.#m>/?BCexbø	N9^.5 I=.A`n)57D!>p*g崨Q|	:5I鳇}'~G<~=~RB|ŋ{=P?J6Yݽ2m>&2]rk@=XY8ժ3MwN
_R|.~,渨@=BhsSueJUwqKvOj8])a.e9ڨ=T$=јISvꗵ֝_WN22?g{I4B@ԉ[Pɚs!TgՄVɦ<<v.^$ذֽl0:l 
],>fRй	lwf'Vмk<YN@Bx\Ei1x$$#MqLBtu'h޻쬠G"G+1L"H-Nauor*HdAw*[va*0=T0Ra绅ұ LANj-3rZ79MT;{p=uj!r!Cq,!CҘp-%͔aq*W(~{tj_n8sEࡼ!"vf2FܶX&G<q/H·F\ğ'=Gn7#'^F5YjkY6]NɚFYh*OtתLش\+6=&Cb2NJ	i5$vz#fYfG"N5Mtǁf^5oL*P4@;dw}~ϷyyUݿR]ؖ]AOз+NgJBg
	EIF*a+%V-#Μ9e,CfNTlp!Aa;np"1=lG(Nxv2bq_X,h'E(@4f
ǲb1k\~;%)aOJod," w{pI7_:w"J_uA\ѳstrrPwj"<q>rrsooRʮ,ӄ[W~,]+_&ʗza۾qI;fB*	48tͷ:SKܼ9^Ҡ ?A!/?|[5?k-רWw\7|~fgj3MXZL( J;[48Gewi	/*/v̊qWj	9*) m2wMfxu!$VF啶*Z6u0{mY\llZ[_]Tfǳ{S'er7<dl@ D3h<暬`2!+l.d+H.pQ97$$M*wxͼ,H5yZE$Rw/F|maxj#ԩ;Iw]
w/jiUD%Gk4u %`: Ӹ0Mij	|0M0M5`: k4uu[$FB1Pm"]%4 EWI M$&U@*	ltD8JM$&U@#1Pc]%4Q (GWI M$&U@*	rt(GWI M$&U@eD9Jh]%4Q (GWI M$&U}D9Jh]%4Q (GWI r<*	rtD9Jh]%4Q~&U@*	rtD9Jh]%4
M$&U@*	rtD7Q (GWI M$&U@*WUbٖ=K<nO%sfq,RnmVl4o=uYNY{wJ+>'A?u2)HG}kd[Fb=~#-rT6lݼ&,HZvuy}f3tz<l'U_v2bIۤ0\1d*9.dH_t,zcyж W[&l+i4
k	zi6[ȯ|+k,)_f5zpHn_B:	*+yQG,MA٢tJU^WӔ^bu"w`+%;!A?]l-=z#xrE2:Añ̲
]z
ĮgLG)ֵyU FǑDꛐC=m냎>te:2zNL^S/ө2zNL^S/өY؞GݯȝWB~%gmia2߃QC,)"de22撩'xWZ5l ƞהȡF~
,g=Ӎ,<I̡.QlaƛG]K^?fgKQKO3m	5gOmӧ[*tˤe2鼮'wL}*y+)z5D<\
+Eq=0NGkc۲ϐBLvN`䫿Ud^(E6xVGUb"g>@2l^aoM'mQO|#pjۓ1NT.Ug-d_V{Km!{$e(<UǮz?U8`+r+̑[ˉL3*+kZ͝-&2PhcfRנ9iJOғ$+=JO2ޜXHSޛw!f1;Hq/M@xnnga]]B>l1F\aIہ6*e?R
ץp]
ץp]
ץp!:YLEl4Eq6p{
Yএmf7&rꎓy+J5HO\ļ6"WsI"*U;ɠhi
zB2^8Ѷ~$ɴiZp簇g7Ξ'
vb;@	GuX &}J!ҀB>B	:?}3lfȞl=BamBBB5YwPY*JXdw~FSG1zb/VB̟O]$y0tcNim9&+IIZ.E&$w(Zd0_2^VOҙ,fA]VBqqd\0n:ׯ77P=h9~yO)	&Rcr#Y*jK`9Bg:!t.j"K(yf"[Z N0:-gw[Y	x!Xo6J{/sv:8k;p| ]YkT}z*zۓ̋L:d㓝$ZuKbBM^8僀m}I]TÌBrDmR&	S	`5j*{P-'+p1@B.Rr11OH+OakGcd+y[YoFg	N ۍrZ9έ|s̄h@-!n1
Lu:F۶LzeR2)BLP&E("Iʤ{vLP&E("Iލe2}ǹ5hnY%Ad]j{	ZDJ@[hSfDWr0i/2o{mÈ^[]uvn@vkH׊+Z\9"Vb[[	IyϢ%W'XID,"Vg}[Jw"YSഅK1mE\E竐$ن+
j42:n[~c\3dMDoCg!䙬}ՒorHXb/P\iTAaPiTAaО]AaPiTA{9<}A}:?M:^%%%aA4*ͰJ3kcfXV{>|M=@NhB?cJs<QP*bߧQkarU_{!~엵;s8.FɌpMl":wT6Ӹi8h4~+vn&GOK̦!_ x͌Q*`*6=X;Wk`3ϭZ[.|+ũn+pѱS<'0BtUf]swѾ֒NOr
Qge&!sLbsp[Ŝ6#(n)kв]/5I9fP5;(0A"F,qt_k>iVp0Y	\_0<D$ZhYer\~[,7cy7F2ޒU6n|"_sTqmJ]t|#yY%ޓN[xuXj:x{oR1$ne6[ċuћg@Qi?[He2~g_ٿq-?4Ԇ5M/G}hYڎG ۪7Vr{iz57@L1q8<2~l%AMyXϼ#Fu~·j?JB
;~[Y.p=a>gS?MOs^Y}`@mkRXisz s$ܓGU8|[`Nbv'	ai%=ގ?9"Ƈ╅;ѨS4`Ij"44LS`0Mo X  LS`-n5H(JM$&bU@*	`tD2Jh"]%4 GWIVrtD9Jhd2qL$&U@*	rtD9Jh]%4Q0}*	rtD9Jhܠ(GWI M$&U@*	rtD9J(GWI M$&U@*	Q1Pg]%4Q (GWI M$&UD9Jh]%4Q (GWI M$F@9rtD9Jh]%4QH&U@*	rtD9Jh]zA;%YJ\JFJHJ!R8TNT{Uw(ʤw/`f0Q$tF2mb՛rLsR1ae}Sy;4/꾂/DL鎪yHO)Fl'&X^gi_0-aHl/णVl^=/	n[M0wmDmYN񜬩wAd9ٻn#v`{/oe,[٩f4"AiZZ泴l--[KY&toQ-V[o^viBn#wݨuyV|ޢ^I"fV蕙e[n[kX,`ZmgAs~g0ݢ=gY-=*Yhj|ΖtX+}O!3V4cd.yMwzҌUX K3V`ij ,X4c5 fҌ X K3V`iƪ9Q;3V4c]UT=i5Nِ*Aې,sم`Y:z@O)q\)2`9-զmn8"nڭEVݪcT`*UZ>&ڍ0*YЬP,|LGc#i[xYoO\#BgR[	01V湅]EXdX$|Zxo	($f+dv[Hu6ǓN/	)\JI"zM4''Y` <iגd&%)szI]YtCsywm!kKy%sf )d?_$@EѢ_li%LfKMϘ44	!8|*$#'S<IEDO#3{$$8@Y@0q`8C0hJhjB'=HطCcސHRau Jx{9a<m )TJN9gMeicNr
Y=:urȣԧ =oql>MPI^1I	AzcJDI녓K0Dnr<uΣɡ	i4A$Lg~*«G)>e+_v;a8# Z  ,м	U\n]0*PlM/k=ɌL;ҋ~bKc
`|C
FF@V Hv3콉zsɎ99&P~:b͘+]\Oqxg :e''~ţ'1:Ѳ~'O?{CZŋ/H	/>5@Q*ÕYN͇Dj~XVSk66 s*AqlXڿ)
{#!'J"4U	!oUtZcNz,^.Tuɢ;ӱoJtعNYGN95aeF_V/Yd
0ު;iź\=*֔JcKC2Ll$V5`.NH6Rkw߈M'@0یrؐw=5)8Mn""i9^+(AX#*c&3)9I 3p,BFKQHUnjQMm @հ\s>g߭6qhԒPPc.SX-P#f2TRd*H?A**<a%l-[G3GJeu-N[F>֕+(97́.;4ɶ4"way7'QΆ|=g{vcyIBJNč(r)tȭ;nA`%x>fI5wp oϓNVhQeFC +E0&b02q8.#;`0c0ʐ4ȕ㣾jc 2:Uo6Vu5@S5s̢7Cr" ud;Twb,J_CɅU;
+qCcۮ'±_KyTm<O\6Y2[	'q5+	}>9"ƥUl"c*!Ä@j2l ,! @2l ,! @2l |G!7aEtW;,ث""p^h\Ŷ:"1Vp"~,GLV&}tJmsڨd	EdlPEgҍq;_FNk_ocDW^׆WWvMk7i`qhxO8f{ORބũa1DX	^7GzvI4dIv\Qv`{}oe,pyf&4Di[Z泴--pKY&@Bq=ӌ?m{X>iuo):']46f[Vlk
bUm'bf`[g_nZWݮhwIqܒ.brv_)m7h]4U X Ks[`ink ,m45  X^ ٙUgnbJZ*ŵUAp*e1{6g,l]X
lnNt"(8%^6efۅAIAڦmn87"ϢZE,jEcT*ڃU/?ލ0bDw<A5lł֋("Mہ]vuY9Jw"mDL"bbۅᬔpial儰2miD[*RѲFi)hISNxNbGI>cLCxh4?9vN8>%Wz;|3!;D(eXfAhXn6Fp⵰rO	n.$t<	&;)XSS4V&cukΧ%%`7S,Sn)5zrq0
̹l{]eJE5v!`,-ئWqrPͦGbc0Ne~#h|`[py4j'IXvJcTGX1\?p\*6H04cEKZuiom|XI9Uvk~)'T|5Z4<#Kk>sC	=eM;Y2M6'? v' F^7Yy:AgE0$Ύ))D))HξSS2S[2ܝS[2}L^ݝO(00ea0ON`?ڈۛh2ط3a>ׁU	z&dq)f&;3>N3a>.\O\75#tg0&`.Ë́x>==(hŻ
O0 r4ڕB^ bx] ÷;^4;gbbO0}gomn:ޮ#7.m}睐>f=ͭlVޒeeH#?`f:	g3v'0w m$(=<;-5h,05dSf	oL8AL9hÈL:^4]9ժQմqdebԩAά0|vsIxi;aڸn	y{E}d4,ILסh@{jҢ;GѠNΚ,Z	hyfMƬu+؊ZxT{R_8K=	NP>i-$cX+=٬AӧE~.ȤU620Tc]"̺o*ONpZgݖ<'NN7xVi'͉^SӚ	*N9u y Z	L$ ݕPl^.ٵu`E{a)t>/00g0qs̡PӘͫB1tm#z?0Ɉnj,\חS3%U%Bp%t Ae;	qp+aW(7=-2!nׯDS!;<X;ߌWM0N6v0^͚c!$F'e2'":ŔR5MbZ. _X9TLtTS0PS9_gp"dJP:1
daRF/h2@Tˣm:r5[Q=O:saҞ]ĨS*N@4r?&3R̬9ZJA]R'
BKC\ΓIrN'YG=׳wTAUatS&훹rj>6âru:|Γ0VKKҢOQ'IJYjOu_ǅ'I0w|꽵Vk?)m|N+tm u)ɈȝfSe8W(ZN'iqƦ0[Gғ rl:Cj+hzCAc2\taDp7̎N9e!gT1"c)LGRHЭ2CqQŒ;%YK NP{8ST5p$d3_gEP'<d||3X.g{>T,Ҵb9f-Z;ycI hBD^`i;9ϱY$\Aכ_ģxaNXYQiD}9^(Q{8uQLD	-a?AFbyg*=җLRЈ8(Ka(4IG3O^flLҢa-E).0s[GEhXCMzoJeF|}f9)<t3UdV_'9p_dz6L*N݀mW(vmrπ]^0x9e7Ӫq5^bR||бK.`CipZ"šQ| gpQ?1.QE9JGlVrvPPzG49:̈́0i`F n|2]c|Oj`cD;}O'fvT0mR^D̀%`q_i[Z@F3%}`\ŞFB`d*BRM٘L.*Y.ec(ul=±
qZ3&AA0:wN'c^fp"̓yɰp&gV=se}E	-`ٳaKZ'ٻ iݟ|b	<yB̄1u<<{3W}w_935Llt+5x-fZ~feL3{;^Ԟ=6;N[b$a.}f췬NJQe|nkAv2nH^<9?g'T8-~DS6  z	%GnE]IcDre$(xI;uj37	/
l߫wj:@'#s<؋^h#-4JGyϿDKZhχO+y|8<z|te55*L)0|)V|KPy\:DfaR@b26Ͱ9"5HyU3CKOPZ^Mt.k
(>:-lAheQ  0XRxvR/$aDm⊼5M%4Rak&2DCJ<=8>!mk+BHDJSAC<>TVkO<s"}#sE|B-:IU!uC.ޮ0%m1X%bU,kx"W7s8ou=STx
[$	%.fSe}v:_f4O^$mft*e-Rn63"Wx`iqBskU?{od\SHi>FX+b46( .x/.I$"Gՠ|~/pT{6݁uӭdcu5ٝUZ;M~߬jJ@ڶ5&5n[YÄI(\+V,^2;8Y;1Pܘ/bm0x#jz6l)g	@5]EgdǕ7.}>u4,s]NVӫyCbW'2yl!~alq=m)xgN-܉^	uK7)FnK
<OF.7	N6m"VgtBQקaC"۠2{ 3?K\cU3Kߏ~Wϭ3KWΰ*<eq/}+a<}3ࡢ%C[1)< "Q?pvl^)ngg[qCʩ
%Ow6mv{|
.%3.g]g=0csnȵCϦ^x;1.إȇz$MN@δcފvl}x[hiDs8#~$<ӢA8S.9܌Ed3ؿ"_Rx8RY<P()t\G>*st#t7#epHS8N1"ʡҖ6I
CvZn~05
$*8"ddxS$h/%Ek|%{
NEퟡJF3TuŔb}e'n6Q4ҫ6b$a'p+GO -</?so45wwH'ہY
ȍa$D^d>n+dʦ<cRVMSm[LU>VwIn*&1[i:#dqrp5aII6F ED'QvvϑT@.rA¤4Ў<߳H޹]!wI&P]kPeUGʍҰjNXHe~[lV]HIs-QD4ċe&-'o\g1`CP|b|2hXfDNdA@$4p}?p>EJw\ Wz#('ہ'Ħ(M=}r&Qt9Rc#PD"% K3x W$4*x^RGR<MO\*;$'k(9$r $/iiFZ9QH>ℽ-N`-sXBU:gjSRr1q]ujuse	)<'(WUD`*y/9U$v)jʡb@7I@+*9=<?<<<2e%<XSʾyk댰[$GVH:%.RRjĆx&w@.-?ҍOQOQ:)jeDpn2c н.O5Њ^nR[t#a/qZu׏~ԍn^^ku6ĺvb݋32.<s޽MtKG̲ H#4tV~52:x;.X>7-ׅۧNG{<+oG0SQxS7HAwAqG`)eýoR4'1)laeGcBzx/ڬuO1W1
(nu,#KeyrS9y|Ar"u# <-xy4E=ms)Li3Dx ^v#g`9O Q|f}dn<^mҝ4Y|@;UfIl+G`#Kɯ;x2!ȃn`+ey;K*qe3BBN΃af G@6Y\͒I1e0@  c;r|SIBE*AK*z(ې:g7 "	2L%L Q3?;-ҿvޡ!+ݚ{sb;{Q_q: #E;BkG,r
4P~lOݬ?ؖpMmG{lzJ)nqz쩟9Ki{HQ0D+}?]:zWefk-ҰЉl &QbFbYDkm0&mSaP3"mW~	%2âRH˲}#B%HOW:\902l:-ꉊn)Pg3eQAZz" ?P6>%6 +<Y74Fl$S.c||jQQ[)P *bXnwۮ u4"!#cv
(*<PbfǬ8k'.K{-4[p_E'/~j5=n Xfc^'զѧ"3J8@M=ނ|QTZSmw~>ٓXBDU;V֏	Dx>h[Ϸbiͱ;ZbZF<ˌF%7mFig^Fc5MҒ\@磈1('oBa<\є:-3LASc[gѐ:1{hl@ZXӬ@5z[)57[~t]]bA㠴W<^g6'(a:$JN906uyC7(J#]tplH.GȻ?wuZ腑p0lq'ff{Ԍ0
QqU{lk[vCЅ(B۷-#xl̮ƌ<|[?Gc;o8}oġnHx|l g,*Hm\Gl@+a.a=|ѣZK22Ω.#/,\B 6#Nxf_ӿaBÄjRM@~|^\OwU¹أP#?uM{i/8 {Ti( -הyÿxȣ+u͹Coh: 8 2
 ㆫjUq/_p.<mZl?ЦLbplb־/~-t<Hؼ[-JT x|A.ur[3#j&YgI]'ڊܞX]n}dewv\sc-:xw?8iB:FeJ2t/)γ$y?=dc)eJ|AMVV~ps*ïRSc\J@˹4'xll.7HoiΆۤr5|~|<z7bZ=~,_rKef$^*Yb`KiB cI"8Пxv^>(_Bay zxü(yz6?Ɍc4@*?n*p۩nxu	U:0^5QAawc[6Hbaf%_F/K֫rX |b\NϓS3%c6MyPn58P(I;e:3Zv=U?me+sF!bJjR湗%fǪ0[$2{Du,znr5#fti%PT:E"zCG?t499!֙7K}Ai ~-Aޞ)_!:h,4GȇA$g\!}O__v#$xD_!2BB bYS q"nN;T`	?Qp'+yzZ2/13R$̔
r??)EJra۞gig^'
ZwET 3-UOIoQv_%+0\Mv0IܲhкNpCB SS@[#]` 0$5v@+EAX'C³={Ktb	BX0pΨW^G RvYrQ`?kJݗw(|p+.9L\~=:?#bV_|TH\:^EjԸ\"PF/8FioC4҉AN{KWo'-+9!XQIZLp
)T:A1@MXtW39'POvx64yJF6TAU9{Î"q&"@6_[n5~1$(&&L 4c#H2Bç{x>>;8{mxlvjŉA9JFaR{va? ;u]=A15j:Nl^Ӽ5Z!όz1|tL6W׏BPZRH"z|"z<Ģ&|:,`|zêar& |e3͐Hb31,ygJX|ÕbrjI~}っtr<GaSGtۧ8
s)^u@VY=ǆ9
dZY0+Ы9-FIeYRj5L&
J8+p#s4RY̰R|bmun w&(ޖf6"|YpD"$P-,3=LsUbX&Qdi>&,vRN.pҌ0՜*ggT.;)j"' !/-jÐ:ՄB	V'|#h2`eUZ-tw'P)5wTfKN2{nc9o+;`QR625`6jȕ"
DAi+wo2~zmB댐a6/V$\bLC?,F:w(E#bOgbdx
{)2~
Ciś}O/O/,3[Î|áFJ3|HoJ1$W(FjJ58
Gw7J$kON!izSh$lꡕ7R;Vʡ7Rq@v,gI(9&(H.]uv xyKCHAVߣPCj\xn!՝z]wrb,"yyxY%TFǌe«F4IFsa
b/{1e:3z?gh"$ϵXMyqPr)Zl,8iR&q?Ynwkr$8y)U+KƹT̖-2:Y !@=!CiX3w()ߨh_x3z_?o_<-?Ep+^eD1
;~ Q2raId#9e*W@LĦ;dƺ0|05FyFQ6n:%E~k@N,*CxՎ/&P"MWP>ܾa.0dUC=HJvUT c>S%A"El+-jIwHY'kε8?ۚOPC׸8/
	|
Xi\piP;7M2h޺m rz S0XDبz]ߕa>d|^[u>mZVOZGrbPj;L9$uCZ}E 
c0Y]VP8zfhkpW({9 ١R*uS݈G" Ѓ6wtuMåfq$,yk\r|kZQez
 $ů#)_9wNW
c}T< 9,E2 +R50\HLck@"8H6Lyy	G"oP:DBEЮՃyV5]v4k{~c}á5#sUX9\m$Hj9gJξcv9Z'_=U6'\qBKv(\M pHlsUQ`5o5oY3kC0:H`6 3h;-`bUn)`7KfJu/Ge
㝑Vܚ7@OI8xc8߼/jay"jv6KQ{#؇=oA&鎃p40q}J0"8]ǣK /lXT`.KbaΡB}5&vȗTZAk,\BG8	IIbJT걯!GGjtKKd"	?N	b%{ nStG O/W>|^^ *iח  (\rD(\RI<
۪'݊bҺ9YyME*|ݶpR&ڐL|A?+ԯ
'M|Iåź#FX,#TG;TiJ]!6<0b*'r񨭠kf+4
ѬzS=<fj+֣yPQ#hԁUӁG3i~fD0}$4LԮ3HP6sus4=49HӐ_#2!#f
}͂=ȷLOk`RPDNGT2ڡښF["@wH<|X%d^CKv	B&ԼFv-hjy`SAq2 :Q)asmn/d{!D*]\Ȼ[jo&^ "Lfzw(?.k(;^&D7Nqg]hnvu}wM+ś>CD!R鎑N(?>frezƎ^j?4b4#lF? R?vWRqʂ]<O3W.4đL~9e{ЪU( ʭbT!XYcb]cg#0Jpfqީђ)	iR\L [n'HD{ @^萴Skn:3}ZSw_c̤qNpXj9o
rJM8ev(jΝވ"J[To<ݓ5z$%nI@P^>7l	d#}F3hg9vRN-ǐٔђezehVEϏK4t]{-}qב݋q-3 ~  lMi
M{6_eoM rN ~Fq g-{	xlq=> `\]ѽ7/y&^?\8w8X#x 6%N>W_[@ú̴l/zn\ͦf*n;x^j,.Mcif$?DHưeʻdy5SNeO{Dͫ嚛([8"0!_cf򧏙=Ku9!?L@6[> Vy\r!ΩJq8̑˹4'siwF+u.zcx6\.>k 0~|<z7b`Y/4dʴBIڽIUDR6uiBacI"sl*%.A4!VgLX=2/hU.U\L> γ|nOs&|5]ߣ~"  c'
	kyxafn}	b.L+%R)Sʍb\NϓS%4MTbS1h[ݮǳ'leUEH dLloTK}L$HhM6(=o;;4Cbcc&^9յHԾڡ3L[c"bH;2ITtE~o]7C鲊?](o
pH*}T`7om M;Jhme$R =<֮Ef2I|ẩ騭+pf1p7Re%"d:Ky3ŧ䧔-~̱!yk AB 3ctHp
OwR&{z>50tkrS
H=P wEplFhqS!_,ft ? jf극 ~{ߝqztLF)x (4`F]҇hE{Z5hI)E4wexŜ}V^U2M2-$lͮ)&>~=G$t_CF,vYt(Vk۽U$05#:O.![wsu7rܨ8X#gԟso{}4qU#1M؀Ļe9*rd9މ/ϰ?COΟ$Amğ w=]fM~"{
[a<<OjDvI>]ԭmGI^SکrR3vnQXRhbIugY\2)c#1ɉ18S#2gJgM;bw܋l(l/B55-4"!7E;I,6>u[(T>byQe:a_#:onL!%5"N)@ݾ3OdmyAZhޤA.XT Gt3(Qd\m`(g%W8Ng FQzׯkޢje~JmDS q4=㾭`8
Ԏ}׭6V#wX`Le|OgEɛ_jå) î\{t-<%zèb@HSN9PF8/)!e7bd(dRQ\+u2bY@kzf ֙E4=>S`$NfyID.
~Uh#	JR` v#NД^j HMXmx6JOf0/n
v|x9^^@P/D! uhKI,^d|}Il:k*V6;E!*@U>. PQ \#eֶ2*L5k==\Sמlua)B<*	!*0I>n䫮%4-;'Q]dUCDBue?hx7޸ZUoZcJvx0ӣ]~@h}Gȏaf=B˫hhPjNAyĵrsתm2[U8ch+F(:iz(jxαמ!g`<_-6'gYo]Cp^-i*MD^M8:_VS_Tnϒ>]<ëjWp6K%I5 
e?W1la
Nblf>eUR>(Oe1 IGb{GeT${`ioEz)E]tN򪉺Z pZ5"JJhHb7*x@GQFzVO#Ũ(ܶjܟ
 ;:msîGM]0	^<9
UeenWoCRvw]e5Z'9.֟zǞx%.}w߼1ґ/^}N<֝ǻyqK"ʷ:[=ܘ.<q=b_Z[Wc r{.d~,}K<z[..[o1Ԇ*o;QHrT45a[ Yh7Z vXkٶr(ndw#z-ɉZtC$khGե71݌I4NO(s3~V˯$4wyG'TL+Aʃ{Q'n.ٽҬdq5K3_Ȏa_!xrS3x? xZBИx~~ÃGK$:`p8gyCXqkpg,4a8V>@E$R!p=QY&r:u rWxf^Tˮ194'-)/JN]V
k=u-yt"x*PM;NBKb+H	D+f3[O$.;CH)Y$-=쩱=ƀ$uF^n6Rej;$ztK]*GfQ*܍fh^MwV:J;%86$CNL$.ɜNHVA˿|o?(?~zh)}o(+]S2V~OwRDRZӑQ(-p=J{Rt(vأdK፜i1.Պ4qpWx0ڿ*X:#PUŔ^͔Xkq<@w;u0)1|E'X,F<E*QD#y䢓OQ5'iQ u^E ]f˰Kqf?@1GSҿy♻yJL9QPGGOz})W盛[vWcK y̢S)[NTM"1^G }%/]_BLN^~s6pI-/cC0?57p$'~[0;@QFǹ
N{h:Y LGaH]:,uXC%1F>H5z=zW/ތ^xo?FbQc>@㇮XQˁe
c~ e2y7G,dgU ;Uyx	F ^hԢCc&#Ƹ8Y'p zɁ7૲}'[pDj-AP鴑qRr¯4WKUg?q%JSGښmM#ܶ@;@wrY[~	
_
%G4E.Yͣp[.{\߭;8ur\Q$)vkmB-D%>)\[R"Yy.e6-Ƌڸj8̴Dע,I'ה,e2+Hy<qPm,Z橶rk	M+}4:A։䮘:ne*8jai)#85c_cӳ!U4D<ZHD5}߫Gvz:E^r}d|^@4a/ɍij*Bei|AXlTja;cb#dI pj+@i# 9k%3Fc$X1D`8|Df"?5V>bѨ,jhz"ĉ-9%%՘sXv#Ltb%j^Oi(	>qJKGi?vLi?vHisgq4_:iDaAK2X⇾ϯ\EOv02MGfI޾{Og+Xm}H;ǚ`4;3{HQ5uT
03'lDO6pHiǣwdh~d%cC DïN{Fi!J?vI=6kaΫ,1*7_VSi]*WÈiGk7K>>;hQ\?FAG+ʷHkŨĝ4,~Ÿ$81=1,:p>>ZTȍ߀JT[YZƯ'݉֊qOq_c-ȧwk!54(:Ej*?*mi^tFŰFu:zb{FX.vw'46si.;mDę=௵a靾INזu8zi
t C#-ʇĆCF
Z){aee[|{^'=npvdSL.Bv'#hKdJ154l:GNj!!FHC=9@FI"GBS
?O[՟?mckV<Aa\4ywih7rMo%?HS<[T8
=
GM
v]MEDtϓUP4 熡xN=6Z`9I=T8D>nIy_(Éc0BJ%	/=Slrx 6xOOxݞN/SLXh}eP4h7]u!;_Z;އ;_384a`L'_zl_42 aJr"+G|*'/P%"7K|ο6㉘"jX	\J89Ӕ5㢂y뻬^Q=UxiIF"޷(>څ>=, (ޝ̦ }d9'P/֯.b\w!WW	z9m[~1F.@Ha4m>8uT+[-4ħKt"Qoȵn2ǯaUU ;m{f|,= vt;o/q[JY!kqYgGdHxH40]p<ҁ:m ?V<}ÿ-Aa-nmwsW;B1~#*7<wTK^X}K\O'"_+֗Xl6T2l-=`q[wN$֧t6]oYJwf[7Eo쥌ꥼK"v4*/?dX6*XDQUhg,h 0-}.]E+q `b
S}=sƥb,Br&D5I1)GMH򡶩ׂP0]n(KAFsnф<vD=QJ9_#1*L_Nن||ݯ]OWQts"f\l Z}:[H$U!Su%0v4q!ul3E#k<mnZj1L+LlBz9~4DZ3qZYzav҃ϔް-Cw4;XZ}{ݲ:4fA3q`4.WFJOa)e̈́ntN~:UHai¡nC7Fb,˫8箖#[o\kS\`+P2Tu1V*23m7,|^e@>/CjsRO@Ŷ|2	JCSDB;2GM8˝}BJ
S)Ch3H+,aFg )gDNk D9%&[͓y](&FؖɇUӻ 24^7;,m>xh~;8+gxvr#d*S."')7>of!"'2[gv7]S>:8|íoՄ	(	tz&R}%TacgLz_,+!qv֚F]?GBt$u$h+H:5ɯ{ɯ#i/nrPRW?U[N0^t]y"5LҘ.0G
l46T}zz\q\\w`m|tρ_/hT~Fhěu^ (L=s^NzOp.wyS	ѕRl\7Hv:ڱҤ鲭K$M!x.-Lgq(l/χdUݝ]'s}W&HӡO|-'LgBv)p+_db7tJF&UuÒ cA5km~_kk1Okʔ]=it(n@wׁl*&?}(-Jaۻh0tDX  .]3޻ S	g{GI$?;r4)͠4kfq ms3ǗccQRJ_,ROdN<nnPqX29jID(%QTp YZTRH1-'<'T.aMXEWG*ut?:>Q[>\,m=D}4nh+'%,Jۀp5,SO5gmO	:℉0bKZ'Bұ%L@Ybob]W/mCCia^:g)~x2M3{;Gt08nŖɢfSo^Ǿl[nӎko{j 6[GDg-e Qz 
Vkcozmʓ1vq1ߌvY}󳕿oCzV}ZqrLcHbmkޤ4t'+abNwICR7	<y:pi8χ2|8<|Ģnccr Ukh?o!Ղ6Z hkI9S3#-ɚc[Wo5i6oUU*ߋ!ܚ@+ڷM5-
\'*)GQ7ivo!ܪn޹
8t"<FOVt0_zԞ:M8@0>i Ӱ	m׷kόGf<[Lq$h:) z/@iP\o
8ز	yԩCݣ<UۂCNR:`i>zx|R˝hICq'vP eۇCR:05_ZkLq
Qr1]+2QsMTA!_UOZ0;KeHأvLf3{+^ű3ItvݲS)\1Q*w(?lJ߹Cik*=F=!r0FHJ#[l)\HKrjyjoh^[V+Z:ٸ2V+k'*]sE=xbG9LlT# iCE֙}⚫cvkkh70mD +C9+kD6U"D;nbz\Nx9r$)7|ΖXYe0׫|?q#bֿ=PoNb'/ LMk!TLĐUYO/M)nH5bhŸZ$r̓|3k}	4 4I啅{{;t"4v?+B;6'?GdB]!Eˬ	݌lJd!;-	yS/U	AIIC$ޑ"M
}})&Y@>	`Ll']14?M;EQF HQ)Tu)ب4C&i%V3G[6PǃeԳNLK	r܈T 'm{AX(de6 q0<kZ8ZUx[tR7ȳ+)z/t}H#%[C13VP5#3<C`xhw+&,<<{m4D^3N➰l SnUAyga5I[#&o.AP~xl-Ln1O,ΦxTObS
So)(ZeRjRR)I?CeRM[_	
hCt38 ;nWN3KAn@"swc|Q(G3R$u!EEu,JH+nxڟu&nnt"`_qڎ'Toy
y.CmzRv!3.=N`vf̊7Y3DYFZ钂u^\sHhee{<Cc;Z"ۀ]1p|̈́4oE]Ҋ
,}ͱr+ŧҸAY*l(Z+҃|[O Cx8 [kO$@BTkN?ʫģGx(AqX7$9aoNC8J+ uW,8ևU>]c-sGǧ	j"{q:
9ki3
+Q)(m}?epz|# }4W*\J؛ YN7#
1:1Mr}mzzݵ(ϹF+=F:yD EėIvۭs9\Sߎ~hHX	bXSI8V*J,(JGgO3Jtt<%:"	܅NI6O÷ GV3wz)O߉`'3~DIgk<|sHr~XN~::ŘT&OW:4^.E`QLIW+dP<.	~LYpenqĀ]L#EHUI"EbQc
9&:i'yuYnv69x@x@U<NKW
 S$ c ,@F+X̩b2)ǂꠂtK,	)Aaű@s{<e^92IKDI;(ĵv((50FY&:i#\\jsb0EAI	F 9z#~8VOao'l*j3<)LAU}d$/#9m[E>
F#ֹ:C8GRPp(ͪBҔ.[F
H\,'/ћHr_aiy&d^X P J*r:eJt歖o5iSPL<\[8\4O)v¼B@XoD-eo63Sv܉fN/ތ<+4mƺl!:IET|,.Q!qiD1v.؁rb)=ݷ$k{~/pT{6]$xUt_dwRH,JA9ߐW2$9\7Ǯv<?xܙXdtBu
§GiyǒTªĳN"j5L,.LXX'Lŝ$HG`$Tfs*Np5R<2A@X_jyk4D}>1r9
8E"X&a׉YKɊN'M	C4Ot@EX#@Zj3Xo˖2uUtQF/foK{`	t^rXGd;{8b$舄6 Ǭ pqn$g*x>UlhϔܰSqp>HIT|L4o$@-Y=6 q$^`3SES귞=յf{G9J*ka@
K5&<z$%؀g;'2(D=]ӞȠMnY_l/>2?/LЇQbZeNMWX?~	qx6|,XZ\Wh8M>f2|AkcJm)`fp;Q5,\dƓ7їtF</JYk
ub΍Դ^{n/8 {m( p_{_cהJ_ed+@n.h"߽xu Yq -
xߠ 2F{o^|;^?\8w8X6|6u? _L|?m.n&y&4SYXed蝏wAa&%:xwhӛ~Jܷ+WnQ^OpY"K9%Un㪹tNe06>89@L\L8DRQ).o}@.6KFxXVEx5.:|i.i㛅v)AWVu}JWf1;L|N$AՍM|t=!/P/q!te70@b1]J$We.dYQN	:Ͳ8d(?*|4̌޴L>ꌋdZLNEFAk'<TXZ;a3?O>O>̶4En^+#jߋS12\ݮǳ7le?`\JI%]@Lg&uA+ ۵J]sWD	+P2Y8RMZ[N:*^!^G8=ϣZGem*mG*	;ƅu*5AܝsKoK=yToyib,1S&z9H53wI np^5(9SUdkf\+8lg@wO6GU}dXOo1>)v`NΧ}
o;1`.o6	21jY	zXP"_jny,4$s~)̖,/1n"_Of,٨boXG-`<[$1	x^i+S$86'L駹Y.jzLA-6{^arGP^#. 5Jv1<vTnRQ;}be43vuW۞o|]Cu֌/Ǔg~5cY(ot.i	
,>Lr\[Zyj%Gz>/Rh[A0$.6Q.^fgURvU*RoTb%_SU?r]" """""""v]厧ppppp0Goy=E=EU$刌],lCgA0HK,ʋ';Zx݁A5^D*6'Ub(Y:+?ňW:nt3fbӴ|k1:F`>t	3zz~Enwd2t|pt1إ34o9ZMierO@7	XU&~^mwo?yח^w7@[xcH<b:ʞ$.633xw⦼
!{yǧ3dEM^	8!^;7{9$;r`v6nY]@G2z6>0^PRB6.HvAÿf`JTͯHO/2P[7+y5(~ܠT` CyுT2"ڻu.tgd퉣Ly曗y?Z&#>4     nodeconntype       def run(parmlist=[], pnode=hou.node('.')):
    #run preset

    p = pnode
    parameters = [
        p.parm("minimum_distance"),     # minimum distance
        p.parm("volborderval"),         # border value
        p.parm("invert_sign"),          # invert
        p.parm("e_interior"),           # empty interior
        p.parm("source_attribute"),     # source attribute
        p.parm("size"),                 # sample distance
        p.parm("make_sdf"),             # output sdf
        p.parm("use_noise"),            # enable noise
        p.parm("eloc"),                 # edge location
        p.parm("createparticles"),      # create particles
        p.parm("jitterseed"),           # jitter seed
        p.parm("jitterscale")]          # jitter scale
    counter = -1

    for i in parameters:
        counter += 1
        v = parmlist[counter]
        # set as expression if value is string and parm dataType isn't
        if type(v) is str and i.parmTemplate().dataType() is not hou.parmData.String:
            i.setExpression(v)
        else:
            i.set(v)

def runnames(namelist=[], pnode=hou.node('.')):

    #setup number of scalar and velocity volumes
    pnode.parm("number_of_volumes").set(len(namelist[0]))
    pnode.parm("vel_number_of_volumes").set(len(namelist[1]))

    # check if Output SDF is set
    make_sdf = pnode.parm('make_sdf').eval()
    #run list over scalar volumes
    counter = 1
    for entry in namelist[0]:
        pnode.parm('name%s' % counter).set(entry)
        pnode.parm('volvis%s' % counter).set('smoke')
        # set volvis for first output SDF to isosurface
        if make_sdf and counter == 1:
            pnode.parm('volvis%s' % counter).set('iso')
        # set particle source to first scalar volume if exists
        if counter == 1:
            pnode.parm('particlesource').set(entry)
        counter += 1

    #run list over vector volumes
    counter = 1
    for entry in namelist[1]:
        pnode.parm('vel_name%s' % counter).set(entry)
        counter += 1

def set(pnode = '.', key=None):

    cnode = hou.node(pnode)

    #set preset values in dict
    presets = {
        "source":       [1, 0.0, 0, 1, 'density',   0.2, 0, 1, 0.0, 0, 0, 0],
        "sourcefuel":   [1, 0.0, 0, 1, 'fuel',      0.2, 0, 1, 0.0, 0, 0, 0],
        "collision":    [0,-1.0, 0, 0, 'collision', 0.0, 1, 0, 0.0, 0, 0, 0],
        "sink":         [0, 0.0, 0, 0, 'sink',      0.2, 0, 0, 0.0, 0, 0, 0],
        "sinkfluid":    [0, 1.0, 1, 0, 'sink',      0.2, 1, 0, 0.0, 0, 0, 0],
        "pump":         [0, 0.0, 0, 0, 'density',   0.2, 0, 1, 0.0, 0, 0, 0],
        "flatgeometry": [1, 0.0, 0, 0, 'density',   0.2, 0, 1, 0.0, 0, 0, 0],
        "velocity":     [0, 0.0, 0, 0, 'v',         0.2, 0, 0, 0.0, 0, 0, 0],
        "sourcefluid":  [1, 1.0, 1, 0, 'surface',   0.2, 1, 0, 0.2, 0, 0, 0],
        "sourceflip":   [1, 1.0, 1, 0, 'surface',   0.2, 1, 0, 0.2, 1, '$T', 1],
        "expand":       [1, 0.0, 0, 0, 'divergence',0.2, 0, 0, 0.0, 0, 0, 0],
        }

    #set preset name pairs in namedict
    names = {
            "source":[('density','temperature'),('vel',)],
            "sourcefuel":[('fuel','temperature'),('vel',)],
            "collision":[('collision',),('collisionvel',)],
            "sink":[('sink',),()],
            "sinkfluid":[('sink',),()],
            "pump":[('pump',),('pumpvel',)],
            "flatgeometry":[('density','temperature'),('vel',)],
            "velocity":[(),('vel',)],
            "sourcefluid":[('surface',),('vel',)],
            "sourceflip":[('surface',),('vel',)],
            "expand":[('divergence',),()]
            }

    #get key and run preset
    #if invoked from node, key is switch, otherwise key is used from different function call
    if key == None:
        key = cnode.parm("initialize").evalAsString()
    else:
        cnode.parm("initialize").set(key)

    run(presets[key],cnode)
    runnames(names[key],cnode)
    PythonModule/Source      PythonModule/IsScript       PythonModule/IsExpr        PythonModule/Cursor                 H       I PythonModule/IsPython      INDX              DialogScript      M'g   CreateScript    M'g   TypePropertiesOptions    M'g   Help      M'g   Contents.gz    1M'g   ExtraFileOptions  7   M'g# Dialog script for platonic automatically generated 01/07/11 14:22:07

{
    name	platonic
    script	platonic
    label	"Platonic Solids"

    help {
	""
    }
    bindhandle t1 sphere "Transformer" tx ""
    bindhandle t2 sphere "Transformer" ty ""
    bindhandle t3 sphere "Transformer" tz ""

    parm {
	name	"type"
	label	"Solid Type"
	type	integer
	default	{ "0" }
	menu	{
	    "0"	"Tetrahedron"
	    "1"	"Cube"
	    "2"	"Octahedron"
	    "3"	"Icosahedron"
	    "4"	"Dodecahedron"
	    "5"	"Soccer Ball"
	    "6"	"Utah Teapot"
	}
	range	{ 0 10 }
	export	all
    }
    parm {
	name	"orient"
	label	"Orientation"
	type	ordinal
	default	{ "y" }
	menu	{
	    "x"	"X axis"
	    "y"	"Y axis"
	    "z"	"Z axis"
	}
	range	{ 0 1 }
	export	none
    }
    parm {
	name	"radius"
	label	"Radius"
	type	float
	default	{ "1" }
	range	{ 0 10 }
	export	all
    }
    parm {
	name	"t"
	label	"Position"
	type	float
	size	3
	default	{ "0" "0" "0" }
	range	{ 0 10 }
	export	dialog
    }
}
# Automatically generated script: Friday January 07, 14:22 2011
\set noalias = 1
#
#  Creation script for platonic operator
#

if ( "$arg1" == "" ) then
    echo This script is intended as a creation script
    exit
endif

# Node $arg1 (Sop/platonic)
opexprlanguage -s hscript $arg1
ParmsFromVfl := 0;
PrefixDroppedParmName := 1;
UseDSParms := 1;
ForbidOutsideParms := 1;
LockContents := 1;
SaveSpareParms := 0;
CheckExternal := 1;
GzipContents := 1;
MakeDefault := 1;
SaveCachedCode := 0;
PrefixDroppedParmLabel := 1;
UnlockOnCreate := 0;
      }rFvｩk]{ ?8wzj3SY{[*$ޡ.	jq9OA^ Hn|t ["@p|9?݉a0J	[  PL_HM~s=ϯƓ|vОݺwγZ&sgxv{f-l1{zo+vξˋmnMnu/]z,de{:듗~IwȎw/_
aOů鿟gCt?|~n9=w\F_bϽ߱SK>$4E/g9w/1->>/8	E	x\LV߾O߾|ko޾|^	]2Xއ]f7^=j/M3EtDB/뱓+G[9fLzb}7<]sWtݵîZcc|iVątVwz.tևOاv%~*%7b&w.#[9}=]B{`w8w|Oǚ|eҀgѯf|Fx5s<gO44bWkv3C3cuSoCuOWڧ9=<= =д?ςS9Wo3ӳ؃co㝫9/4f>\w.JG9?gYx<~ϸ?M :ۯ^~'|r+-0|15DD7˾&l?j7Y;j}fg%"_y7/={uKG/-lN6v<iZxzDX<Qx"*9[0
HgW]ghg<X8	C<&b<Y4Qo~͂ifn=;g^9eԘ懵Ɣ]putʮc]8Kw.܅3:y>]:gY_LOH-|K\ݱ7:]>:(s[3pi4A&d2I"~93	K~7'L?g3>s	Й1|CcG'HJFf0o?FM;6<.z櫒s&cN{EWisw^s;'Ϲ9kAVLWzd6;=8r?nn.,cM3{c#zr8q]|~vwi._OV2,cw1~;x./w}?Ʉm+O.kЭ{<aO98mp|n/&'b#~|mDse<a2,PPnP Zشẑ7^ټNV\ӐPY1eWgc 	|<wkf6_?3/:\+4wV5d||frXz3N?quZh1icF-4dU"3AJ3&Q$ۘX	i4Nf;PcǓ#7r5gbFtJ	bzQL04Uc8n 9P'/G0؃3m}ߵ@}>Z9w#t\jv'd޳,6s6[L
m_y+߹DY`c&sgf@Jn`v!aw hOb;D#4i ]V&ꖊ9b"԰wAz,#sK:\EhB3V@%LGo69W9^yq%l|x=Q`،[]s1 [g,W ;Z֓x͒񤳸Yxق=p;gud)Ĭv0zUDLlԱР jtLL*j rT/XdDk*mZ F6XC:0xɑA2 0T$ A%(n 	)t4	X2A$$([~x1OrQNi*;-[:bj*0*PIBJ_H.# uv)"5" Ii<.D@t9Prr(j \pFr9*6vyjtM2>\9p>\Mc `.MqeޫWў0 !f2]lZ./v7kیtA}9<jƾvW<){c"0~FJ`FNŚ'{їu
w5c3Ǚ^ܠϛMc|*Uhy{L XDF%V2uoڌ*I5Ϳ{G>s7~OD:7;q;pkܢgc+CιA c)r?jKKW'2Y;r^َZgʙ:
JL sv@_d=EA|zZb&<N}p̶GH0X
_OrEAYm.i$BbiPXcV
%! &\ո(j{U1"wVh:Aef@^ #r67t/l-5I{F&㏍mwǯ$x 6, 4ԬIVH:U:#RnCh}ʑ-ֈ++e@	E%yDIpK}Ix\d̴ϛdLRحLelyjֳ-bM9բ`L!&a۲ R9x JObA!'iz'T;+y;||S;"4O`zUBERH$ioeuHdr8	&łcxq+Ϋhs϶@&~<+)ݜYrx9<S"ac)uʾiA4Kb8~%Jt0Qab=r6M/aDjϱ:Bu;\)W_ub(	x&LXD\8FT8BuIq&TSf>ZO7^HQQULچ븈LI !Vu0@6E7pа(>}kLA!_lVs*Eʈ'Ѧ'Z׫{6>w~I#!8ck+!\oC/x!Ɓ޹XZ䆡3`,M*x\:\ fDB+Yѿ_INV
ש[TW
Zs	/;E~-"W9]qlVlsgW`x!Sh~忣\":E@#|r6u}.2q'7	ɍJQn_r};^:0l\zc1
Wpy&pn)퍵'I
O|	Y|myO۸>/gv/kP`Tc8+3!%&x_ՓH^@$%S;߈
[`W~dx/sڽ dD|D3yy}wfku:u(^`(z|<qpzwErW'aqݕʙ'E[4V-µLn ՞*> r)9Qvj<mt 8oH:@ 1
J:@D1
՜aHlƚ{3Ed,^]xwьS%q@>D6Y?rHI ^m#["C}No<N&ئ1*zD-3١Φ?,+)2('L{WLbB\-Yt"E:g ؂}{g ֚$,ϙ@~M&5(76.xq=z53 <#Gb//_|o/_x#UGu#0AB-q <5PCiR55'i]_`&E\˯yj>9!6WMhwe	&vj\	Nhq7.|v*>&v"i٧@tf\>=rPSA9HJX DOMAHj0RTQ^K:]M^yYT`ۆ 1gLֶhLC4y&io*sWս+u 5W[&	Z= _ mj!6c<g⺢H䚱jd^EąA8،uVM!R&yPܬ&FN$22c)7Sd8AC4ɓECf	(΋ih/" +lRdHQXU1mb"2P}P޳YA)A*AmvN	d5|RnFsc:>lLǭst0u	w#9S (5?qFtOa)蠒aAz>@yx1(`| D+|=8ǣQd<dr,}=T'0u=\Z)+EDZ]R"ȏ=vPUmjA^bShzhE+cyk:""X4و1d/iae[~䐕n.܅_tW%sݥ-6RJGy}_OmXfB
*V>R3$`2ǟHz#6ļΛ(<jk9x`{U1@mg@t r*Ai?Ji]*)D) G@{$b
*:/MI,"V,5.@JSx Ɔ8 MN?ԠANT D;'I,ڼ=4~ExHֈdvRMqؠ;Ȇq~Y6%~XS z`og AN=;)'|Lkew賂Qa핽ƣ}ҁJB68J	6@.;Ts};7K2l9 $TTUܱ:2M29(<8P߁j
)@d:s;,\AG\aj~:HH,: zsy0Oh3/GAf
Hc<BGA#`/ZA
VX	㝀PU{X^I:E,2 ;}%)YK	fP|QHeS*4.dd5GÓat4 b	كs9B$e*|JU% bT,Xvا`zmQz@ 45H5H4,[f1al'@ZFt6ފ=g7AA`DFFUkP3TֽeM>+e	 $Hn<hHm-@"R+۰T!H\+*Zkh2M{IT%Yd-,Gf[|N|~ZtT!	\0fg"M5T_a>JTSj{qqgyWLb&$-@%G+ɸޮlq*W8YNC>`?Q^-d?Нњ~mq{FWc`-|"jcA@w,s.Peer^)^X+d$=(#4T{H2мtKVmV*&t) b.f%ʦ2s9_[FjrW\@^IUz67)QJo˒Qu7jZs9N9SA7#I
znǅHj2kI,%`"JXFh6x2P}nAŒ$4n1?	6rBX V >j	Gl̂dhϣnVr{qcTj,b[?@YqKF()`7%SRp{@F=؅<C\ wZJsxBEF7=:9;9҃]tRZkSOpXZ*zty"3l{^UZ"D-V9)Չ$==i[BW0n7	fLAM 2Ԟp('	G
Ae.==RBa5φSHH2<^M"!U&&v60aaնq6np>N:Fr #CL>/٥mrdr(IW8`7;z`]ZY.eȘq-n#Vfj2. 98s)ۃr2|Y|,p	M$Ǝ;áU;قn	EjI۔Z3p5 RĐtԘ	$ @U'ȁcp9A-|eOڊGik^qZ8TN6iA"|a\{0;[o-8G*%[TK =ң+3YsB2[eUG69AKBA!KXٝͱJ(k&*ۃ62f=b:2Dϡ,ԂTuoTuy$>Tu G徉dvx7.(@ Xc	{%>Ddvamvɚ7mqfDa5a5%#s*>_X.ɨZ]NLx@Pi)9O(-5D-1P@}P,KZJRBs(%#׊R2aWʮ\kN,uuQ+)nJIUI)p>n?EA+j\Rqf}C>Bs=7VמT=R綪=3ajϑ_۬=!UkmjAaSh@<&-Z|*>y9:D	ݯ9$?$`ȟZr#D[ϑ>w9stsi~DȰM VeX!ϷR%>bvxc:} &ʖpá**Х~rpL|^ԟw!jk9R[zRa$V?Q9LqxsTSyvh	%Bd2&uelp+̪PpLT{ ًaJVZA%VYe%+XaX_@7	Wm{8X_$-ǯEKY]3V``kI=jmmܠmfm =m w+`cUal3܄nPFkH7
;"6SEDM#8.w.+.+Pp9ރn`s5&.L%@4otG(|uF-e7Q VD^	)zU>V;Gh9k*M7LMg6F$"n5WCVCn+cUPmRrہ5;:X(p.TÂ஀`uyXήaupwuQ:Uuבw9xp-puN	u`uC`u`U潥.
{i)(X{MdAC`/2up\Tl@OT/u`XȦC(S;lk>$eN/Ĳ	15,:Nn!:Xc8[I3s,(M:bo=>R{]0;̓s%?_M֐n`Y韰a+U6s2\@q}>P\>P\VcP\La"QI1kɠ{p(.}^[z.e/f	%&@tF{H@d!Q	TW'8mzYB  F	(JAI87=忶ɞWuH#:#Mtm%rT4$ly_X2NStf|Bz"'ڄ%O̬GR
0Y`B(hH(hBAMTЄ: (x#H9[S9Ct$9rq(qvUWC&ꊔ.ȠW"Pj
0@-ꞾؚWq]+9x}-g
F]~D^%а2+^eV2PFahi,11
P/bȓ<L,&@`a)||aRWjȝ_~%</v@)MA Jy9+]8gH5- &JBT@̈́!Biͯ3pbQ12
A"&ېCY>m,_Qaض!H$e6*wji&}j>5%'rhWj?֚|yNU5*'L儩HhjW5rV.٧f(DT; 5+5T쫢	S(h||{h؁1y!ܐQ2+$iW*WLJSt;A[K3JhF&R\'	%5(1>6B?UǪ̨4Az*3..K/WTfqaD00,+*%F]姪_w#vZ~U_Z~jw<^OTOU-^OU-#]姪_򗰲o-?R-?Ui-qZ~ڥZ~jU-Z~jjiZR=nC)K܅DTLCB LAkXc,p`!+L q`	۫|N"6ns4`%Љa0Z1DQLq[
EY*Lb jB
Bń	>2K)5Dbn`,3Rj-jiD1 i&`lM(D#sD#kD#{D#l4hJD[n-%"y;hAm-PoPAɼTy霖}!0C8+&SyX,
h"&(MU3rZ,@F;@N}u(Nto A)f*mb%E t3rM8
- 
MP$ێNDn;:
@vt" `0ϟ[ŭ: p9'B0Q6nSNĎ:q\DI*)RRgʱ/2RfvpԮlRxmǨ<|چ@v6;E`m_827I?O
IjCf(6z!j-+	퀰iMD`Sl.&۸XAum+-Ґz
MI88&Vk	KJB_SkrF;0ΠvT d-
zMA5zhymi.]Sk2>(]RUk=5"Oe+P;nCI
tVesꐏe<(āWC0No/dr{O}	ܾԤt-#*?r{iUJquc*WrF[4(ATi 氥VGJ-UK*Dh	~TE(Q\K[uv\:BPFnUZ)xTѪ*S**玪0~eP1'\~!/AQ>]J-U2znM熩:
IZWZ;QVouReցΔ[^՗sReZ/:TVozUV_Re._VouReeі[*TY*o	=PYUY}zKoIՇUꭚTOq,B1pHC5"l	@)dLDWl?8L/Tfz<ՄU:|7PP1/ՆfL,zT&*3BnQ2@IG.
ZD;	=;VSɷi`C0^z򱫙CH<C[C&ag,T6g2B|	{	c8!"18DeR#jD59:(C1<cNPLVx	j̞0
I_cÉ)!v%,4+5Z JX!B)<f2"I;M;
ZxX*! qA_|A9٩2e_UFs}2\w)c?9AJi&bFWPBG~
J5P5$t\E	(.%U@[+
ڸQdMX
*EEF:jI)5Rv9%P 4D~R5	 \
Ob{f`؏p,s4Oo	'L	J|ܚI)vs4{JҸ`3-ː`zEIDLAEŰi0=e>B)HFB  Lw9RPtD;'I,ڼ=JA4QQH;=u9h3 JB66`
U\~A!%;@BEEQEM#$p *^^ˀUx
H)P
D. @._5Ѓp
?% g׆zH>Hz R&A
2&ad1pZׁcx903y*4pƦQ	DAy͡<`$eJ<YR+`rVFtM[WealM) lSSĄSd|7Tnz7VJGT4GOXA4FLqX\jwPt3:T.EDK|8M媨i*"y^A(."0P.2t hĒ;h6s-4G'TBm*QO>Q4FT'!5J};H_>R)	*n$*[#*$$LbYW0JI*R(I
%IζP/V=h')&4T2ڂJJYyVȡޤ{:nmВ9!I\1t1V R1RI
1i  !ZLJ!B&)ФF&##6)hMJNLK/]q&5F.g:?mw;[k|B;k9Ϟ}Aֺ{;sstgy˽y'o|.ֻ&	IdBgN"Vd}N`xpr8Ꮐ=bެ;wpv8%8Kq~_;7>#^oќ}i/~~9Ka_S<]m'f:Bh=֫={2W7|W{<=7O)(r&|hC7LzNC:ّ;9dC'._L?7tl<0/$H鏹CH;9I\	s${=8'cuY䶢e rςՈ}^>H9LsB+' 5LuMY)ae>EϦai@OIS IZɉ;C4Rd2t'@N~¸ s֙O<\90z=ˉ	跌',WKuqᲷz1Of~3O>._/#yFFΖkg;}}8c.cMv0
S*H/\Thx߾x'h|=w     INDX              DialogScript      MR(ҧ   CreateScript  M  MR(ҧ   TypePropertiesOptions    R(ҧ   Help      R(ҧ   Tools.shelf    iR(ҧ   Contents.gz    2R(ҧ   ExtraFileOptions  D   R(ҧ   InternalFileOptions  D   R(ҧ# Dialog script for attribfade automatically generated 09/05/13 14:51:19

{
    name	attribfade
    script	attribfade
    label	AttribFade

    help {
	""
    }

    inputlabel	1	"Fade Value"
    inputlabel	2	"Start Frame"
    inputlabel	3	"Hold Frame Scale"
    inputlabel	4	"Sub-Network Input #4"

    parm {
	name	"visualize"
	label	"Visualize Fade"
	type	toggle
	default	{ "1" }
	range	{ 0 1 }
	export	none
    }
    parm {
	name	"group"
	label	"Point Group"
	type	string
	default	{ "" }
	menutoggle	{
	    [ "opmenu -l vopsop1 vex_group" ]
	}
	range	{ 0 1 }
	export	none
	parmtag	{ "autoscope" "0000000000000000" }
    }
    group {
	name	"folder0"
	label	"Attributes"

	parm {
	    name	"fadeattrib"
	    label	"Fade"
	    type	string
	    default	{ "fade" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"startattrib"
	    label	"Fade Start Frame"
	    type	string
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"startremap"
	    label	"Start Frame Retime"
	    type	float
	    size	2
	    default	{ "0" "1" }
	    disablewhen	"{ startattrib == \"\" }"
	    range	{ -1 1 }
	    export	none
	}
	parm {
	    name	"durationattrib"
	    label	"Hold Scale"
	    type	string
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	}
    }

    group {
	name	"folder0_1"
	label	"Timings"

	parm {
	    name	"fadeoffset"
	    label	"Frame Offset"
	    type	float
	    default	{ "0" }
	    range	{ -10 10 }
	    export	none
	}
	parm {
	    name	"fadein"
	    label	"Fade In Frames"
	    type	float
	    default	{ "2" }
	    range	{ 0 10 }
	    export	none
	}
	parm {
	    name	"fadehold"
	    label	"Fade Hold Frames"
	    type	float
	    default	{ "0" }
	    range	{ 0 10 }
	    export	none
	}
	parm {
	    name	"fadeout"
	    label	"Fade Out Frames"
	    type	float
	    default	{ "2" }
	    range	{ 0 10 }
	    export	none
	}
	parm {
	    name	"fadein_ramp"
	    label	"Fade In Ramp"
	    type	ramp_flt
	    default	{ "2" }
	    range	{ 1! 10 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	    parmtag	{ "parmvop" "1" }
	    parmtag	{ "rampbasis_var" "fadein_ramp_the_basis_strings" }
	    parmtag	{ "rampbasisdefault" "monotonecubic" }
	    parmtag	{ "rampfloatdefault" "1pos ( 0 ) 1value ( 0 ) 1interp ( linear ) 2pos ( 1 ) 2value ( 1 ) 2interp ( linear )" }
	    parmtag	{ "rampkeys_var" "fadein_ramp_the_key_positions" }
	    parmtag	{ "rampshowcontrolsdefault" "0" }
	    parmtag	{ "rampvalues_var" "fadein_ramp_the_key_values" }
	}
	parm {
	    name	"fadeout_ramp"
	    label	"Fade Out Ramp"
	    type	ramp_flt
	    default	{ "2" }
	    range	{ 1! 10 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	    parmtag	{ "parmvop" "1" }
	    parmtag	{ "rampbasis_var" "fadeout_ramp_the_basis_strings" }
	    parmtag	{ "rampbasisdefault" "monotonecubic" }
	    parmtag	{ "rampfloatdefault" "1pos ( 0 ) 1value ( 1 ) 1interp ( linear ) 2pos ( 1 ) 2value ( 0 ) 2interp ( linear )" }
	    parmtag	{ "rampkeys_var" "fadeout_ramp_the_key_positions" }
	    parmtag	{ "rampshowcontrolsdefault" "0" }
	    parmtag	{ "rampvalues_var" "fadeout_ramp_the_key_values" }
	}
    }

}
# Automatically generated script: Thursday September 05, 14:51 2013
\set noalias = 1
#
#  Creation script for attribfade operator
#

if ( "$arg1" == "" ) then
    echo This script is intended as a creation script
    exit
endif

# Node $arg1 (Sop/attribfade)
opexprlanguage -s hscript $arg1
opuserdata -n '___Version___' -v '' $arg1
SaveSpareParms := 0;
CheckExternal := 1;
GzipContents := 1;
UnlockOnCreate := 0;
SaveCachedCode := 0;
LockContents := 1;
MakeDefault := 1;
UseDSParms := 1;
ForbidOutsideParms := 1;
PrefixDroppedParmLabel := 0;
PrefixDroppedParmName := 0;
ParmsFromVfl := 0;
<?xml version="1.0" encoding="UTF-8"?>
<shelfDocument>
  <!-- This file contains definitions of shelves, toolbars, and tools.
 It should not be hand-edited when it is being used by the application.
 Note, that two definitions of the same element are not allowed in
 a single file. -->

  <tool name="$HDA_TABLE_$HDA_NAME" label="$HDA_LABEL" icon="$HDA_ICON">
    <toolMenuContext name="viewer">
      <contextNetType>SOP</contextNetType>
    </toolMenuContext>
    <toolMenuContext name="pop_viewer">
      <contextNetType>SOP</contextNetType>
    </toolMenuContext>
    <toolMenuContext name="network">
      <contextOpType>$HDA_TABLE/$HDA_NAME</contextOpType>
    </toolMenuContext>
    <toolSubmenu>Attribute</toolSubmenu>
    <script scriptType="python"><![CDATA[import soptoolutils

soptoolutils.genericTool(kwargs, '$HDA_NAME')]]></script>
  </tool>
</shelfDocument>
      }͓ȕ_diUKXR&H|CkzvCJg&5cQBuCJ(Tp_}t軯|L|$gȪ|/x˗/_>NT 5cYZ"MC2f&dն6>};so7YpK88W]ǹJ{+̿\ľ>]FYϢdzvv2gc(Zy>/[4'!Jn~.%/")"Ӟ*\7$ޓJjǙ?_~N???{7//NN~_1sI5NN~oM+xr<oi͟ch@7Pi<''?'(k[EK_<Y~ON*eٟ=&?Jiݟ$?9I0rg|#FJgBdlb8{'&R~#ML/1BQ'O~Ηb>
RG74b(zȈR~VUP$TX?$Jw722@gVU׭.We-Go߳+oNߞ~~h+`yržߗq?JawW^й+]F:(^8LH9؇f?{yWWADbehWѠ@wrcPYUZQ86i_P$\iضrL/"](W	{QDO07xSkEi6Tc[TgwC RB?"+w/CR5FFAS+_g0<џMIR:pN
h҆(%:~߲! fOj+/o0H1AFoo~WI~)oW~Li@]2Oq h;ZDQW^X~ŀfIo:%]#0SsEN7`P*Ŀc@[ƲÜ	! 6Xk딴m\6RRA&L4kWx`F5k8HRp|\|^F0cT0oeӻ{.3 _n\p}8έ2VWSU`J(7PSx$3N2?Q>6}A!r͂yǏSW=\DSoqʃ@a#=Łw0g,LGom0f&`tTX2fi|#ĥ([2_V~n
V~n)֖u-r6H?Ltj2R@Y{DGĊզvr^݆VFիf6xW0x0Dhq+|Tyq !_t!u]G|^P:-+?\pӣ Mb'8C|[YeWbDXR[#bR-l^@&̳Ky[bx(`q2TK?ďCh0p95r~/AsAggU~ӥlefgEgThL&0a0$?֨3<*%T)"Ԕ_Pn݈BʛSgtAB  ja>+b;1p3VFewB1J%DL_T?n__o?3`tH<x71(1GP=ɓ8D /ܐB)=JIh))2Y004.ߑIW)uj?jl \+)/K*<^LˌL&y|taHG_(//pJx+j6gq1}c>	tjU@`wdfv.@}M~zRre[ϡ5)GM	VIDI2T52Y/ن?d
fR~
[bi=eZTRzP+T?rGfa\ Lbc&+).!~	{|͆W_G(9 >,'{D6	DޟW%ѨuI|y('UYiKe^%>F]sEE\c5H&H9e3_oOF?zw}.;b+uDh|	^B:Uۏc`[%]^USd3׏7/͗/'0z;6Zy\GKf7 H$Zs -M~B?-F,s$Ga:\P%JDI(N)R*T*1+w [ 2XLlbWd)6p56ou+jd3VJ+߷w\ gRx  6y+y;{%CVG^y"sh@^ FFoÈ.WFSzIW&U]\,|
6dvv

#4W?y-wmY+D7G {CXgN/Vx6;_4*Zp]]9d4.]4Y6-FéEā'Eq3fM)h%ϕ+W˅&(1.}@]rqV+ӏr):D+'2Ӗog`MNu7g:b]"S/*Ue0m7T(USfM˿}?\%2}=H@|.yk X؍ ߎ1Rmۆ7'tg1Q:+^xڻKZ>Y͜@/ʏsO'7~ȓ]iVy.O!^Y(4[ ߜNN==ד/N7kjXfZAt1e"ݲ)!fI7;~=2в=c^T6O1HwP1BI10ǠpT[)<2X8k,YƔ 6bPN
D 45]SUU4}7H	uTN!		,ϗ?'*E%kIU!"%24?^Vh)!ݨ]-+Z.-[)޵_RuP_A_Y#0'_f>k<`blQI8Ur	:[m-'xű9sgGZظk;*4WPg4X1أX _!.05
SŸ 4]

}΅ qR]Zv%࿢EwWn,{WXhUVۖHIpUS\ۀ	Ip/ÙНHV~!fwɤY;.q".ub2[ۯhy9Èju3&UME3ZJ$ZIr [ʎS XMxrMKB2UF	\><?EׂI^ku.sIGJJم(efm?LNfb}+ybC}z3[ze'R-ZdzPC04XqϓC7ן<^EuP+82Wa?@_>@|ǥ^H}&%|95ւfvDL6t-CMv:	m:o:'f vz+)wTÌtnBIE6wr;`^'뷒nJE<ѝϝznxqDn:[JE+PnZ(>q[zn@hs?_jB.W.xF]}
n6M]fkVc?frƞ}舶hd
]ltߧڍ=CXH-0wMT6]=,.I'd52X=W<Eh2x<,o;XF؝5trz:U?*+RF_|^*O}Z􌔐Ns%]ݓ]TMO}qup+[%UTtMِR)cqzPI
PEx*E )SdVz.e52\]IW "Q8lVc9PzX)S]jB
cSsj"y:%*
GXRq<	ZM*.&ωEm)=cp:Fkp#SMqER":{S5rBaTGqTXu\SyuD-Qv*u3/\`}ƳpVpN<=2ΔYn3/&ʴPpdZE8hJv0- h%	jmj5y,3I.T?(;*%z8"hشۮr`ݰ(a޼55f`X@{~ Jtdq-1xB=3KZHA:.}1,3ofʿ7Pf!]uauVsBdqX
UoU_oE?ZeQ\BW!rDZh.6,]sL6d}ȊeQ5g$cqM6D2=j ivmas"b'$)Q5U7xlŜIy'
lMQHHh/-Y`gsl3x1p<Ș\GfukI~m[(܍eۚm귰;^B7ZVXG?-q}brb(F.MCF'-+2K|oȽ/ɅT,"av6Q;X4 "]u\6R@	.ZM#')u%19"J|D@Yf 7Z7=Ң*z@WKa+`Et!2jӍfQ_2YeaPJDd54L%#W@-2?=c,%#fYFtBǫ/|Qw Ѿ#8Z;@뱛i	pG~g_?xt%9E"m8BU 4k}Ny3dms\$]%qtDvmWN/`	( V9'4&k0CL=57~=҂p	 /~Famt
n4֘b'غqP!{d]/pAvN[O5+#WQUwz{
Aϱ5KjnG]9SbR+/Zխ]][HCThk<lcndU@7 ~]hRd]!rDG׆j22-̻<=3׍ŉR4غeUmpɐZ9#NW	Ѳme^wQH$ձk)O4]6fCgCoYcV@1wz-=liCj+rwڊκL l*w(nd8Q'bQ&#!?ǖe|p톈;s<>H*!}N&"=ރ{U&_A4ɼSuCݍO<N@vC/SsL^50mmGщй=?ڏ5g{GzHT̛fZc=*MUpZEn"Aci(O"Uܻkntmntmntk.qw^EF'Z|4^t}u+Ntm/+=ֹ;d;54o#tӷ˃ZGzХjuH:ɼ@'RsNϵNVj7i^mn='󜶴|Wιl;}wbnٓzR8S, f<I!h?el D[:TLǭI?9S25ב2ju(
\QaO,{rw.ޥT
b%b*mb,ԄcB^,?EvҤDXuu ,i6q4[OynSp-i6eb)UH85PK8|'̀҄KXfԝvKU=WkR sXۯZo_rjv-[&]抯#AxcUP}<2 S+g|/Gl헳r_~"قog&͂؄)&qeLmlvf26tlef:q*Ձߖ|l_޾޾޾<)reJ\8*ӌԝlvDȪR"}-]w\ȴ5]Ɋ=Rd_bW6KٖIJlZen8ѧi(5ahÑM",ߺը-",HLl떁\yOe6ܡE<)TٛleяpԤ&)gxɕ/Y5H#ݵ6,00X|h)Ќ%SijKsƭХP[Aa&qƃ"n>C)^XIB,1c8ç_o[:] ڱz䚮#Qꁧh~?]w":3$u&fv=?NdhZ&15jKd([rZbWiEiGbQJ Q&꟟E_VRp]Kc*=Ӆ˫H"Zź\Bǆa;#5] eB;j)sSD!Lr({n6niAL 2(pjpmLqH뎭<ǚ<-}uAn.!6wtsYݧ6ElX4[8wlޱ;zVR[d5ͦ,sX"B17i.pia`mB=ڊP/ctm'ڙX/s:0OFho/bo/bo/٫{6{J6ś@;&צ_3Ɗ#4:&>`Z{|<њW5ڐޞDx"SԆAPݿ~vir,Uj. LU$.&UC9n#ɦL[]&OՂ`W5uCWcr9!iRE!6}$;M&',o)\ay/2y'ȡv[4lj&ʻIFp
ѝŜQ>@fTq[Q4V6MKPr
`6U9_z9QYWXW4wڸ*owa+Td}"̚ka	D(c0!0{bQ0jaWt6F)P!r"똁#r<Hnéi|(	`kxK0ٚ8BtQ5NS!MQʈ52 8¾`P]QfdVVu89dqvydWWwSH̶r/E7,tjDNv헮ШƢzlBt7SimlLYXk5A;CN{U4|2ZZg,rMW[a)+pUÆ;`5xU:c~BKǟ.Up9(|lKMe3Bhl(^~ߌx0t"ׁ$A,MiP%(:V_l:Vl&lWl:fJu͒	0-aa6G&lMPG*{ނJ(U *	LYDQ.J(SQ%a0ʔFTIej#$2U/Q%ai0JAF9LsDQ9J(Q%ai04GTIe#$2UЗi04GTIe#$	J9LsDQ9J(Q%ai04GTIe#$LsDQ9J(Q%ai0J2UF*	LsDQ9J(Q%1d#$2UF*	LsDQ9J(5%c4GTIe#$2UF*/Q%ai04GTIe#$2U<vdhL7.'%H龽hy؆jrKI9p麶ƚ7@'~*?Tbn]`kSX6롯f)ӾDWV RynÏϏ	&	AO]hMǺ;=I8,WGUU8 2i&t[0xksLPT\Զuƍmn{1m/U4j}xbSM]9esgO-Cj5}[a+3$Qܡ5focUA%~=&Yg-0 WMZ&]
M1Ye6VYU}:C6Y
oi>5+n	%	EnEm^;Ayl^ji Z~T; 9S_0K4p}W[LʲM5)>[@Znwf(1#kP* %%2)'aLBߟÓ]s&hj
xeÊR
T֧T52Fyhɩo3Zm3ClWMsSHugF1yr60בevbU	%eŝZ}Of!X^(5QC+CV/5UA̩9MBJxDSFf55B#ZB'#̱jԱiX-_}fqp	̧GA*qgv4]VS	rF^
(bUnԓ]Sʕ
+q% c캎L;y")PDF P)'c'&Dkx"z{n_a"f@a5;dr:6A6lǔ>ߖQ+%dRY((32ZBQ[bﭥDDiInc_h 6M25]Oe40bٻ[o֘9>k/p0brk/=Vi-gL9P
.B/Yu$8
?/QԃENVesUI*"2ԏ=Fg*yoɨwkkhmc;lczU)}-'l\|^&o?r6vPW3[6>+U0̢f6C;RT`B-p c"Y)KƳi6$(u;8fԵQ!
~wo,GDݓ\i<AW$o؎؇p}(]0ֻ}YkYEVJ\U3WTC~D@t:~Ko88Z|Qv-RvC=&%96mP-1ϽW	q-A>\:<QWKRjVf`i}rr~*I&Y&1['0i%}rZ	cV'0i%}rZ	cV'0i%#9+jm,pw)k66u{^],2''Yz<,Ha7vorEΩΜa'h	cpbbѦۇ%Yk&Ȗg5?m17 ^9{.8fΊJI=$˩c+yd-	HL5۩n9Bu	8/)*8OiνU"dWQ%P)0|уS7Ch-.ZlRILjGhYc0ssV1e0NܛA/y{b7>+P[9nԚ!`Gx*RdmY(t5M }XXjoh;q6'k?c:^/5+JϫD`Et!24EWBFwH	fAji\q+pB,8|z^py
YX{GW~#OBUhu	m\>yW_p(YT!	5\o0&J@0эCpǉfBf{Ygl8ˆk>9RGH<1L=TXQIhj1'DQh;7d$Z8U֎x61;e][msL}4JS&IhڀeΑaY16p'Z*6Ql}(0q>NTǉJ8Q	c'*aD%}0q'{e){+o ahihY>T|nݍeeT$\4ϭ)V0:nYhc5vC&1juJ@7LTSMcF3As:FmhdSRBT
FQ'A,;"v̆7|ރ"GM9jrќY}<CG4҇n:9j_)tw	m7/Mɬ;얹`fh.~e}u"m:ˑgֶq?1K L>7w \7]ԙOғ<Ʈ=w}`_ӵS=qlR/Z?%O)-uɵ3E܇M$.ԇry^5T{X"E$[[]e@VGyzGD:zX4nffz2hT{q'_2!Fy7zOZՋ{C+yL/#uBড়QK1,	x[STQ7+Of3|xs{?7pɍ?Ʉ"9m{ԫ=8 18Eyrru<1mH.3ĆgDI\\ӰZD|N6/%HqSeuZǑY~GqΉG}GA'xj޷1Z7X~g_?xt~bZ[h΄m9'NIp̞u(Hx\]3x-lWN/ 戆^Şu
|TE6uoY؎v̄ڎvCyjUUvݣN̖϶Vmg4Gm͘)ԡlƴ}MZ{tf_o3/6co3O1nfԹfZrx'h١Fa $B.ҕX4C>C#htH8"J51mؒjnj5ebFHV/Rc2M;F/1rj>#ŠrњL7,3F@@$URiZH	Y!q`1P8JemJ4-w2-,u-2imc;lczU)}sml ~?ie 4粉!~V"\gUvt{?Ao	&J[ :qj4:qjDWF]m;|ΪFs,=bN܄5 A|NUs'M2r/AgVo̳a 42B$LGKQAVFԟgK(xBmaPk0MN323ÊѧP$)1E&Qq~׋E]pɞE+ޡUWhC \rw-j1v5W	ux9rp8i8iemf2.4Tg?I'\DD!3(wPo>yw5}X/ɘ(}o.s	Y7NOYib\k#B;wO^F$	|\H~Dq^u#O(:	d̟NeSЛ@\ɐ=RQqM!kdZlfd2Ǒ,"b{:Fqp/fino	)NR!<Jq4l+#21xҡf)EfiX؛b0@O>OSR\<$J!>QOQL(Zׇ?WIfmK0<ۓV7Xl߇j]I@6ة;]f(]jl3KRX	+Z.GE{,co
};ۻ6+uM/hB!=2t
KDcyƩAt;h*H.qրhӫhI.GF'aaXyLOFe1QN\[ojnduAڭpmW նPP>j=L\p@Q7 ue.s!qSw|b(X+{?5bgكN?cCLKw         nodeconntype       INDX              DialogScript      Rs   CreateScript    PRs   TypePropertiesOptions  :  Rs   Help  ;    Rs   Tools.shelf  ;  eRs   InternalFileOptions     Rs   Contents.gz    Rs   ExtraFileOptions     Rs# Dialog script for attribwrangle automatically generated 11/01/13 09:52:15

{
    name	attribwrangle
    script	attribwrangle
    label	AttribWrangle

    help {
	""
    }

    inputlabel	1	"Sub-Network Input #1"
    inputlabel	2	"Sub-Network Input #2"
    inputlabel	3	"Sub-Network Input #3"
    inputlabel	4	"Sub-Network Input #4"

    group {
	name	"folder0"
	label	"Code"

	parm {
	    name	"group"
	    label	"Group"
	    type	string
	    default	{ "" }
	    menutoggle	{
		[ "opmenu -l attribvop1 bindgroup" ]
	    }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"grouptype"
	    label	"Group Type"
	    type	ordinal
	    default	{ "guess" }
	    menu	{
		"guess"	"Guess from Group"
		"vertices"	"Vertices"
		"edges"	"Edges"
		"points"	"Points"
		"prims"	"Primitives"
	    }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"class"
	    label	"Run Over"
	    type	ordinal
	    default	{ "point" }
	    menu	{
		"detail"	"Detail (only once)"
		"primitive"	"Primitives"
		"point"	"Points"
		"vertex"	"Vertices"
	    }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"snippet"
	    label	"VEXpression"
	    type	string
	    default	{ "" }
	    menureplace	{
		[ "import vexpressionmenu" ]
		[ "" ]
		[ "return vexpressionmenu.buildSnippetMenu('attribwrangle/snippet')" ]
		language	python
	    }
	    range	{ 0 1 }
	    export	all
	    parmtag	{ "autoscope" "0000000000000000" }
	    parmtag	{ "editor" "1" }
	    parmtag	{ "editorlang" "VEX" }
	    parmtag	{ "editorlines" "10" }
	}
	parm {
	    name	"exportlist"
	    label	"Attributes to Create"
	    type	string
	    default	{ "*" }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
    }

    group {
	name	"folder0_1"
	label	"Bindings"

	parm {
	    name	"autobind"
	    label	"Autobind by Name"
	    type	toggle
	    default	{ "on" }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	multiparm {
	    name	"bindings"
	    label	"Number of Bindings"
	    default	0
	    parmtag	{ "autoscope" "0000000000000000" }
	    parmtag	{ "multistartoffset" "1" }

	    parm {
		name	"bindname#"
		label	"Attribute Name"
		type	string
		default	{ "" }
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"bindparm#"
		label	"VEX Parameter"
		type	string
		default	{ "" }
		range	{ 0 1 }
		export	none
	    }
	}

	parm {
	    name	"groupautobind"
	    label	"Autobind Groups by Name"
	    type	toggle
	    default	{ "on" }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	multiparm {
	    name	"groupbindings"
	    label	"Group Bindings"
	    default	0
	    parmtag	{ "autoscope" "0000000000000000" }
	    parmtag	{ "multistartoffset" "1" }

	    parm {
		name	"bindgroupname#"
		label	"Group Name"
		type	string
		default	{ "" }
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"bindgroupparm#"
		label	"VEX Parameter"
		type	string
		default	{ "" }
		range	{ 0 1 }
		export	none
	    }
	}

	parm {
	    name	"vex_cwdpath"
	    label	"Evaluation Node Path"
	    type	oppath
	    default	{ "." }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	    parmtag	{ "oprelative" "." }
	}
	parm {
	    name	"vex_outputmask"
	    label	"Export Parameters"
	    type	string
	    default	{ "*" }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
    }

}
# Automatically generated script: Friday November 01, 09:52 2013
\set noalias = 1
#
#  Creation script for attribwrangle operator
#

if ( "$arg1" == "" ) then
    echo This script is intended as a creation script
    exit
endif

# Node $arg1 (Sop/attribwrangle)
opexprlanguage -s hscript $arg1
opuserdata -n '___Version___' -v '' $arg1
SaveSpareParms := 0;
CheckExternal := 1;
GzipContents := 1;
UnlockOnCreate := 0;
SaveCachedCode := 0;
LockContents := 1;
MakeDefault := 1;
UseDSParms := 1;
ForbidOutsideParms := 1;
PrefixDroppedParmLabel := 0;
PrefixDroppedParmName := 0;
ParmsFromVfl := 0;
<?xml version="1.0" encoding="UTF-8"?>
<shelfDocument>
  <!-- This file contains definitions of shelves, toolbars, and tools.
 It should not be hand-edited when it is being used by the application.
 Note, that two definitions of the same element are not allowed in
 a single file. -->

  <tool name="$HDA_DEFAULT_TOOL" label="$HDA_LABEL" icon="$HDA_ICON">
    <toolMenuContext name="viewer">
      <contextNetType>SOP</contextNetType>
    </toolMenuContext>
    <toolMenuContext name="pop_viewer">
      <contextNetType>SOP</contextNetType>
    </toolMenuContext>
    <toolMenuContext name="network">
      <contextOpType>$HDA_TABLE_AND_NAME</contextOpType>
    </toolMenuContext>
    <toolSubmenu>Attribute</toolSubmenu>
    <script scriptType="python"><![CDATA[import soptoolutils

soptoolutils.genericTool(kwargs, '$HDA_NAME')]]></script>
  </tool>
</shelfDocument>
    nodeconntype             Y[o6E~^XmM(
M[nh
Ai[,jˊRdْ^q@CCz=쪗|^>ӤK	&n1%/nR{SmG˦U!*ï%IG!jy l,3da 8<DZsZHD<AGaڞg#l8ZHџN
%ZDcdkKC({'4j$<d¹H\uܨMrƒ1pMg1E`ypƁ>G@*Bs6BzA"vEIсC(AbYfӨuU;Lc!Ff5VE @0c2xz¿4n4Y`!f<C ?ɘgY`,aa(C]!A#lx[,JզPf1lE0ehV5X]7+(Y۬era{|W,agH_\LF= G.E:O#tpz8<a!Ml9ԴϒJV((؄:T(@ MإP*n]ȭ,܌q1i[q]
nU(UrVRݒ%>>\+nZush7pk}'N*K4Ulx=5Ϊ.1|(9ԝ('d#8&,%*(4㋴RSjrM[fRlݟ0%=ڰ޳ r,FT!DuOFg2=DxI<L[\s6UxIb&Y22QpCtn*$〭ƺAnpoP| ^H[^k-\zBB} ؆.|t=fa|j@ll}[jۖna,"{lj^kFj"ۭX>iA,
y%+85;x1z{p,`$O.ڔQ\u%8n`3~y+`@/~x5|?==y_/hǿN~zlXAFÑ@ۄg!+]C3ff5Ż)/WEzvZxPUqF̓jSZnmk%A;
^)-ve0XFooɊ'M~i紳v"i70M#qDiD-{av^F$ٶg2[W|W u5f"
<ЧF
A_N7ݍwl0~t7mm0MeW6iu'q;L]*d--"/(	ŘmǲV3)!H֫D+{:_j:̢+[-J葽Tk?Ȋ|6zѽ{z&+      INDX           
   DialogScript      ERTF   CreateScript  E  SRT   TypePropertiesOptions    RTF   Help      RTF   Contents.gz    RT   Version  4   RTF   InternalFileOptions  4$   RT   PythonModule  4>  
RTF   SyncNodeVersion  >   Mh   ExtraFileOptions  ?}  aRTF# Dialog script for dopimportfield automatically generated 10/08/13 10:18:46

{
    name	dopimportfield
    script	dopimportfield
    label	"Dop Import Fields"

    help {
	""
    }

    inputlabel	1	"Sub-Network Input #1"
    inputlabel	2	"Sub-Network Input #2"
    inputlabel	3	"Sub-Network Input #3"
    inputlabel	4	"Sub-Network Input #4"

    parm {
	name	"doppath"
	label	"DOP Network"
	type	oppath
	default	{ "" }
	range	{ 0 1 }
	export	none
	parmtag	{ "opfilter" "!!DOP!!" }
	parmtag	{ "oprelative" "." }
    }
    parm {
	name	"dopnode"
	label	"DOP Node"
	type	oppath
	default	{ "" }
	range	{ 0 1 }
	export	none
	parmtag	{ "oprelative" "." }
    }
    parm {
	name	"defobj"
	label	"Default Object"
	type	string
	default	{ "" }
	disablewhen	"{ dopnode != \"\" }"
	range	{ 0 1 }
	export	none
    }
    parm {
	name	"doposxform"
	label	"Transform Geometry With Position Data"
	type	toggle
	default	{ "on" }
	range	{ 0 1 }
	export	none
	parmtag	{ "autoscope" "0000000000000000" }
    }
    parm {
	name	"doxform"
	label	"Transform Geometry With Geometry Data"
	type	toggle
	default	{ "on" }
	range	{ 0 1 }
	export	none
	parmtag	{ "autoscope" "0000000000000000" }
    }
    parm {
	name	"computeminmax"
	label	"Compute Min/Max Values"
	type	toggle
	default	{ "0" }
	range	{ 0 1 }
	export	none
    }
    parm {
	name	"importsimsettings"
	label	"Import Simulation Settings"
	type	toggle
	default	{ "1" }
	range	{ 0 1 }
	export	none
    }
    parm {
	name	"presets"
	label	"Presets"
	type	string
	default	{ "choose" }
	menu	{
	    "smoke"	"Smoke"
	    "liquid"	"Liquid"
	    "dsdfire"	"Fire (DSD)"
	    "pyro"	"Pyro"
	    "flip"	"FLIP Fluid"
	    "upressmoke"	"Upres Smoke"
	    "upresliquid"	"Upres Liquid"
	    "upresdsdfire"	"Upres Fire (DSD)"
	    "uprespyro"	"Upres Pyro"
	    "particles"	"Particles"
	    "choose"	"Choose"
	}
	range	{ 0 1 }
	export	none
	parmtag	{ "script_callback" "hou.pwd().hdaModule().invokePresetMenu(kwargs)" }
	parmtag	{ "script_callback_language" "python" }
    }
    group {
	name	"folder0"
	label	"Import"

	multiparm {
	    name	"fields"
	    label	"Fields to Import"

	    parm {
		name	"enable#"
		label	"Import"
		type	toggle
		joinnext
		default	{ "1" }
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"visible#"
		label	"Visualization"
		type	ordinal
		default	{ "smoke" }
		menu	{
		    "smoke"	"Smoke"
		    "rainbow"	"Rainbow"
		    "iso"	"Isosurface"
		    "invisible"	"Invisible"
		    "nochange"	"No Change"
		}
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"objname#"
		label	"Object"
		type	string
		joinnext
		default	{ "" }
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"fieldname#"
		label	"Field"
		type	string
		default	{ "" }
		range	{ 0 1 }
		export	none
	    }
	}

    }

    group {
	name	"folder0_1"
	label	"Compression"

	parm {
	    name	"delete_attributes"
	    label	"Attributes to Delete"
	    type	string
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	multiparm {
	    name	"attribute_numcasts"
	    label	"Attributes to Cast"
	    default	0
	    parmtag	{ "autoscope" "0000000000000000" }

	    parm {
		name	"attribute_class#"
		label	"Class"
		type	string
		default	{ "point" }
		menu	{
		    "detail"	"Detail"
		    "primitive"	"Primitive"
		    "point"	"Point"
		    "vertex"	"Vertex"
		}
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"attribute_attribs#"
		label	"Attributes"
		type	string
		default	{ "" }
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"attribute_precision#"
		label	"Precision"
		type	string
		default	{ "fpreal32" }
		menu	{
		    "uint8"	"8-bit unsigned integer"
		    "int8"	"8-bit signed integer"
		    "int16"	"16-bit integer"
		    "int32"	"32-bit integer"
		    "int64"	"64-bit integer"
		    "fpreal16"	"16-bit float"
		    "fpreal32"	"32-bit float"
		    "fpreal64"	"64-bit float"
		}
		range	{ 0 1 }
		export	none
	    }
	}

	multiparm {
	    name	"compression"
	    label	"Fields to Compress"

	    parm {
		name	"compgroup#"
		label	"Source Group"
		type	string
		default	{ "" }
		menutoggle	{
		    [ "opmenu -l placeholder_for_menus group" ]
		}
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"constanttol#"
		label	"Constant Tol"
		type	float
		default	{ "0" }
		range	{ 0! 1 }
		export	none
	    }
	    parm {
		name	"quantizetol#"
		label	"Quantization Tol"
		type	float
		default	{ "0" }
		range	{ 0! 1 }
		export	none
	    }
	    parm {
		name	"dither#"
		label	"Dithering"
		type	ordinal
		default	{ "ordered" }
		menu	{
		    "none"	"None"
		    "ordered"	"Ordered"
		}
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"usefp16_#"
		label	"Use 16bit Float"
		type	toggle
		default	{ "0" }
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"maskgroup#"
		label	"Mask Group"
		type	string
		default	{ "" }
		menutoggle	{
		    [ "opmenu -l placeholder_for_menus maskgrp" ]
		}
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "sop_input" "1" }
	    }
	    parm {
		name	"maskexpand#"
		label	"Mask Expansion"
		type	integer
		default	{ "1" }
		range	{ 0! 10 }
		export	none
	    }
	    parm {
		name	"domaskmin#"
		label	"Min Mask"
		type	toggle
		nolabel
		joinnext
		default	{ "off" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"maskmin#"
		label	"Mask Minimum"
		type	float
		default	{ "0" }
		disablewhen	"{ domaskmin# == 0 }"
		range	{ -1 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"domaskmax#"
		label	"Min Mask"
		type	toggle
		nolabel
		joinnext
		default	{ "off" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"maskmax#"
		label	"Mask Maximum"
		type	float
		default	{ "1" }
		disablewhen	"{ domaskmax# == 0 }"
		range	{ -1 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"invertmask#"
		label	"Invert Mask"
		type	toggle
		default	{ "off" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	}

    }

}
# Automatically generated script: Tuesday October 08, 10:21 2013
\set noalias = 1
#
#  Creation script for dopimportfield operator
#

if ( "$arg1" == "" ) then
    echo This script is intended as a creation script
    exit
endif

# Node $arg1 (Sop/dopimportfield)
opexprlanguage -s hscript $arg1
opuserdata -n '___Version___' -v '1' $arg1
SaveSpareParms := 0;
CheckExternal := 1;
GzipContents := 1;
UnlockOnCreate := 0;
SaveCachedCode := 0;
LockContents := 1;
MakeDefault := 1;
UseDSParms := 1;
ForbidOutsideParms := 1;
PrefixDroppedParmLabel := 1;
PrefixDroppedParmName := 1;
ParmsFromVfl := 0;
      =6rs?UlU}kǕz}{%S4"gȓ RGv4@wu =8?aÿ&r
|]Y2|ۋh7Q.},Ԥ}UaW8Y%rku*$,.ϵ<Zqj`%~Glcb!CƖ;Gai!-7R^e؇ȯ{_f/Iׅ :Kq1V2n kㅗze$ m٦+oׁY~a'ЯIE1&@2Ҡ1K3t˅4oX9߼pű7J|G0sB.T0@+7_Bd:@Ф8»wK@'9fImcWտLӿ86oOW@GVotjFFz42QL #+GF^
&ȵmi7N*fUxؤ2ܦYep!mHae$Np`DkXCG"LM2hbm	ptyNbζZml;_WVp^uTaCcvxfxPc12 o,)wJi^4K~W7gVAq[%ƋYL!p_ٙ|kB/p<%(j덀7߿d8Acvb2/McK@ 룢lY D)?7n2?űX3R
t<HJId66eIm@z.G]dP̑>B	oV@R^Y &3Ǯ6z=}ëo^~)HPP-4lgl\cu.C3!pld:.5Q25ryP\c$DW:c=3v~8<k{Q.2Ya5kKSFդ 2"&Tn K`o7{"X%SW"v2}]I1((E,NSSfoAXU)~tK>ze06Eʄot% ?W #@Р%?r~_'$i<_on^	AjԨF!hzG~[DsOXB5I@ٕJ&P9E!49abi1{ZDl|յ.VB0IİV{ xA`m(jHHU
P/,S$2"O御k~C8b(?S	͇(i1`zŢ8@|ť~86JV8ތ쨅XVE#򱡪-U>qTSXl yLBV#_ё4šλx[ Z/Uۛ)S2Vo+x¢cؐtV݈гe69'QCy*ލz]'|(ժwҼ_7hb#mDGGu*H9Kё|K_4?R:X	elW-,kR/Su1FP	|q_q?n1vF4,dOp:~Mi*?T% ;p>Tkf;'0{L#@'w0Mɾš7v3̊n1
 vdc#5vإ]dו>@9^}cSS k8ص[)#9xܬN.mVzc,וK:l.~sعjKo2UU]"i`^aOLAͮw^ktZҤΤIjБ!
%AE;%QL/iɛ~yG9m{#-%`|Waʉ<b$R>9GhDʇ$2>z$<FI<RJlVy@&&=4 ⻗R:8>`mCoo|gi&ٖ6!cںƺ̉<ݷ>
@Ku5Ѵ,J1ێ9]BYZu؆UOܚUͽIHz/|UobB.؆C.QqáXrd)R/	V:? YaOo#<\d=oo {ܣzfd`rk;}=2)9It/-"2hxa+څ#׋ 6VTm[efWS+ɞ)K`P1G"hR0,+CO4r,2mDyA$ؽ
ڬ*Vo |7lA=;fdoDo;{2dі	P,"$y/?}O&HD{`LuɡL4Bʥ@pQ EtQKlV`=W0k*^`y3DF؆吽HݟM(4¤q	E)%)Qދlhi+/grFj[ pUUbR :mg#W8xAv(7wtwMW"C^I.滽¤QªmXf/cqݺv@5S')ν$WqyUJ."UK؜.*:"kc=2Mynٗd\d)yu۬6k6mVV_gy\guV{p1Uy՞4\LU^gpɮ&G]ja	S)S-EcPKHf#ҴI)e^pPr`tkEjMuप2	<[=0r5G^9?}v
6ϋh/[337]KESgKnZB	"k-,o4qlXby/rqTtU+Жƫ*t,QZxkXtdm0h=CM5vUKҙZK{FȬBY=x	^cH,I!mm2FϏ!L@;S&Cֵ71E6*2#>E#viBnc0>"(\2#꭫v#fo-WuaؓJh=fodop4M7KG~xzCS|_ן`<IJr>xz8?]-QuD"!W}4^O${Sd=t?Y4dPJ?stja)ω;s*ɜyy8fEJҚ+s+A33I2e/d7Tn\^RIr"cRJRb+lMn.3b:KҪH>4[,jf4e1막tSK{Oe)9i%K~Ɔ\)L!ܤV؁,:[qB4(^B|Z~"Yl,{=J.R2?ZEFһpQb$+$Qd%c8RIZzlkrAҲ͵j}[,.nM9H\}gq;ݴT0!]d4 ]e[ʹdyr3Jڣ$l2Ƌ\8+^BюduR}!(>A=K0F.<	m6kD4vVbr!	[9O15qf{GCP[CAve(}$?yz-1:y(DfHh&mIGs|Is$ʣ5^~Y)Oqmn:j'11(i[Ҩ޵]ےT@*
K(&qtW9m{W{dYլ\NN7 ȃ_p3Z<D9-gu<7{+UIjHMp^X희6z[}FTO9]EVҍݹ$eQ*>I-$qGŕzяDuM֍^d9YE`1Nm3V|F̞[!i$x9jf^ʺtJVz9^έMA%7MhNco0#(<uά1C 10Nt/ 7wkѰA-
.7tٟ .K$&tBL9={z,9c@ MM [&6.dՐ*©HTɔw嬷N8&/Kl{aM캽'1
"r[ޮ9Zp/	=dj{ğ>ӥ^u9=?D;(aWUQhH=%㺓z~xR&YI=ޤw֛YDz8ЯٟZ#[-/elh{j@TPx2l
5ehhk妶PZP:nR%gWݰܳ8{ڔ_[f_~`r3'*hfUrߐ(lBծ"sP2=kW:Q{`T1O f!|q8QcNd7V)e+.Lurw/-	S	&"c;:Eg^Bd h쇋-+_(?!+h>JK|txhvz^c2LlS<J%eRg&ޙ4(Ie@`Uƺ!VjUS"H͓9Jݨb.!mZc^m\Xz6!	+D/'y:_kWʚVY49c׳\yYuAmК7dUNz
g/Z֗R^SߵRR.}9'LsB\T3N:;:Z
vAU>=듬IʅFXY6P=EtYey6bp;<~1m5X5~E*dK%jR"F[/ jKvF4$*mk.#DuL9:v\ C?<Rʬ:WHn2D^⽲N=?/Ikb:hTD1,!=\_$%CuBe7s`v3ޓByGeZ d(#~Vg6-.vT{V><{
[_߯uFnqMѳ	|Cb(	Ş2b\l?l__g{G7T'{T85>aWF,eKWZ7k7m~cD^/mv~T*@.'.6l?Flϕ~suԱ~7v0NRVx_x,+nH$f?~=_õu ;Vo\dKVCGhBB7:$źg(DEq.LM$AIɩ
]v>\&eRHK";Ͳ!,8$[.7IX6Lًq~KV%|ۤ\H#%C|
g)@,Χ |:Dz#KMcQWF[߃QvTvTTTƤd2@>e I'
'
'
'
'
)iAD-#` !PòAPòaPòʁPòʡP*)gA@@{KeSVX	HjSuJx꼈*իzEPU;W	$@^׫`VHB"
Wr^%+zET,yXVɅv;BTĞ"H'h:TͥXc5ۉ@?N_4b+BDn܌盝db\f3!S8DOM&1IWBiPqH0jMJ]Ho(E~uSZH*Az_kppsB5y,L@E|Po2(E7}!RnPchxҨ'YByo͋/ڝE     1    nodeconntype       def applyParmList(node, list):
    node.parm('fields').set(len(list))

    i = 1
    for (field, visible) in list:
        node.parm('fieldname' + str(i)).set(field)
        node.parm('visible' + str(i)).set(visible)
        node.parm('enable' + str(i)).set(True)
        i = i + 1

def applyPresets(node, fluidtype):
    if fluidtype == 'smoke':
        applyParmList(node,
                [ ('density', 'smoke'),
                  ('vel', 'invisible'),
                  ('rest', 'invisible'),
                  ('temperature', 'invisible'),
                 ])
    if fluidtype == 'liquid':
        applyParmList(node,
                [ ('surface', 'iso'),
                  ('vel', 'invisible'),
                  ('rest', 'invisible'),
                  ('surfels', 'iso'),
                ])
    if fluidtype == 'dsdfire':
        applyParmList(node,
                [ ('flamefront', 'iso'),
                  ('vel', 'invisible'),
                  ('rest', 'invisible'),
                  ('temperature', 'invisible'),
                  ('heat', 'smoke'),
                  ])
    if fluidtype == 'pyro':
        applyParmList(node,
                [ ('density', 'smoke'),
                  ('vel', 'invisible'),
                  ('rest', 'invisible'),
                  ('rest2', 'invisible'),
                  ('temperature', 'invisible'),
                  ('heat', 'smoke'),
                  ('fuel', 'invisible'),
                   ])
    if fluidtype == 'flip':
        applyParmList(node,
                [ ('Geometry', 'smoke'),
                  ('surface', 'invisible'),
                  ('vel', 'invisible'),
                   ])
    if fluidtype == 'upressmoke':
        applyParmList(node,
                [ ('density', 'smoke'),
                  ('temperature', 'invisible'),
                 ])
    if fluidtype == 'upresliquid':
        applyParmList(node,
                [ ('surface', 'iso'),
                ])
    if fluidtype == 'upresdsdfire':
        applyParmList(node,
                [ ('flamefront', 'iso'),
                  ('temperature', 'invisible'),
                  ('heat', 'smoke'),
                  ])
    if fluidtype == 'uprespyro':
        applyParmList(node,
                [ ('density', 'smoke'),
                  ('temperature', 'invisible'),
                  ('heat', 'smoke'),
                  ])
    if fluidtype == 'particles':
        applyParmList(node,
                [ ('Geometry', 'nochange'),
                   ])

 
def invokePresetMenu(kwargs):
    node = kwargs['node']
    fluidtype = kwargs['script_value0']
    applyPresets(node, fluidtype)
    # Reset our own value.
    node.parm('presets').set('choose')node = kwargs['node']
oldversion = kwargs['old_version']

# Version 1: Added Import Simulation Settings that defaults to on

if oldversion == '':
    node.parm('importsimsettings').set(False)   
 PythonModule/Source      PythonModule/IsScript       PythonModule/IsExpr        PythonModule/Cursor                 G        SyncNodeVersion/IsScript       PythonModule/IsPython       SyncNodeVersion/Source      SyncNodeVersion/IsPython       SyncNodeVersion/IsExpr        SyncNodeVersion/Cursor                        INDX           	   DialogScript      <Rs   CreateScript  <  QRz   TypePropertiesOptions    Rs   Help      Rs   Tools.shelf    cRs   Contents.gz  	  zRz   InternalFileOptions  k   Rz   MessageNodes     Rs   ExtraFileOptions     Rs# Dialog script for pointwrangle automatically generated 11/01/13 09:51:32

{
    name	pointwrangle
    script	pointwrangle
    label	"Point Wrangle"

    help {
	""
    }

    inputlabel	1	Source
    inputlabel	2	"Auxillary 1"
    inputlabel	3	"Auxillary 2"
    inputlabel	4	"Auxillary 3"

    parm {
	name	"group"
	label	"Point Group"
	type	string
	default	{ "" }
	menutoggle	{
	    [ "opmenu -l vopsop1 vex_group" ]
	}
	range	{ 0 1 }
	export	none
	parmtag	{ "autoscope" "0000000000000000" }
    }
    parm {
	name	"snippet"
	label	"VEXpression"
	type	string
	default	{ "" }
	menureplace	{
	    [ "import vexpressionmenu" ]
	    [ "" ]
	    [ "return vexpressionmenu.buildSnippetMenu('pointwrangle/snippet')" ]
	    language	python
	}
	range	{ 0 1 }
	export	all
	parmtag	{ "autoscope" "0000000000000000" }
	parmtag	{ "editor" "1" }
	parmtag	{ "editorlang" "vex" }
	parmtag	{ "editorlines" "10" }
    }
    parm {
	name	"exportlist"
	label	"Attributes to Create"
	type	string
	default	{ "* ^OpInput*" }
	range	{ 0 1 }
	export	none
	parmtag	{ "autoscope" "0000000000000000" }
    }
}
# Automatically generated script: Wednesday November 06, 15:20 2013
\set noalias = 1
#
#  Creation script for pointwrangle operator
#

if ( "$arg1" == "" ) then
    echo This script is intended as a creation script
    exit
endif

# Node $arg1 (Sop/pointwrangle)
opexprlanguage -s hscript $arg1
opuserdata -n '___Version___' -v '' $arg1
SaveSpareParms := 1;
CheckExternal := 1;
GzipContents := 1;
UnlockOnCreate := 0;
SaveCachedCode := 0;
LockContents := 1;
MakeDefault := 1;
UseDSParms := 1;
ForbidOutsideParms := 1;
PrefixDroppedParmLabel := 1;
PrefixDroppedParmName := 1;
ParmsFromVfl := 0;
<?xml version="1.0" encoding="UTF-8"?>
<shelfDocument>
  <!-- This file contains definitions of shelves, toolbars, and tools.
 It should not be hand-edited when it is being used by the application.
 Note, that two definitions of the same element are not allowed in
 a single file. -->

  <tool name="$HDA_DEFAULT_TOOL" label="$HDA_LABEL" icon="$HDA_ICON">
    <toolMenuContext name="viewer">
      <contextNetType>SOP</contextNetType>
    </toolMenuContext>
    <toolMenuContext name="pop_viewer">
      <contextNetType>SOP</contextNetType>
    </toolMenuContext>
    <toolMenuContext name="network">
      <contextOpType>$HDA_TABLE_AND_NAME</contextOpType>
    </toolMenuContext>
    <toolSubmenu>Utility</toolSubmenu>
    <script scriptType="python"><![CDATA[import soptoolutils

soptoolutils.genericTool(kwargs, '$HDA_NAME')]]></script>
  </tool>
</shelfDocument>
      X[o6E
{H
D!E]k3oVąNd&E"},ٲۮJBs}t:84?"xyAW%K߅崶HB֎+4)WW2擌'}#fJ1h,)D>I#d%b6c\!۶rQ*{q{A\=+u?p%JHήU:B\e" )6˳X13r	ٵo<.
3/Ēf8M'>9D<2"dXf7KVĮXqKU>WY<c#j<d/DĶn)1:m"6*0"Mk[nSFm6e^A4jV#ZnB
J$#KàGzdt|Y<WS!џYb>RNBݯHH!l_Gf0	NXP"in:R)3y<ah[P6(Yoyk/:_GQF rg 4kXPE >(*(pp\]|>.CK'4'C>%pHn@)tZsr)r@uT[g3?hp@
n z w0+P[0 HAe*"2*hUt:$G|#GQRzt'5*NP^D<6B'mB>WȫzN ЕdDyrhI6Vу~q-RS3BAN@ya_إj縜lb[؅OTtI$v΅}n{?<Ҟ<3Htݬ*9!|j70uЯoBLR$y_1iy$Xѷϣg^~'t,?<}Gl!i_ϗLXƦjjw0ؽ5-oývym?/'4SLR<gjόU=hjjc!X;=pNr?7kjT.I^|9,b8KigPVn]s冺/MH-? \':^EReiÝî3Pt}[(Έ$Xizd2F7']/p8<[iN[K+J!}?gaΙk-Ug1]y^n3!;U]sE|<MS;y6O{|=|wQ*5E?ki'J'rdlVorf1 +6lU>T+_V	Yz{{cl$t|<7NI      nodeconntype       vopsop1    INDX              DialogScript      iNΘ   CreateScript  i  MNd   TypePropertiesOptions    NΘ   Help      NΘ   Tools.shelf    pNΘ   Contents.gz  '  %Nd   ExtraFileOptions  0   NΘ# Dialog script for pointjitter automatically generated 09/26/11 15:12:24

{
    name	pointjitter
    script	pointjitter
    label	PointJitter

    help {
	""
    }

    inputlabel	1	"Sub-Network Input #1"
    inputlabel	2	"Sub-Network Input #2"
    inputlabel	3	"Sub-Network Input #3"
    inputlabel	4	"Sub-Network Input #4"

    parm {
	name	"group"
	label	"Group"
	type	string
	default	{ "" }
	menutoggle	{
	    [ "opmenu -l jitter vex_group" ]
	}
	range	{ 0 1 }
	export	none
	parmtag	{ "autoscope" "0000000000000000" }
    }
    parm {
	name	"useidattrib"
	label	"Use ID Attribute"
	type	toggle
	nolabel
	joinnext
	default	{ "0" }
	range	{ 0 1 }
	export	none
    }
    parm {
	name	"idattrib"
	label	"Id Attribute"
	type	string
	default	{ "id" }
	disablewhen	"{ useidattrib == 0 }"
	range	{ 0 1 }
	export	none
	parmtag	{ "shaderparmcontexts" "sop" }
	parmtag	{ "autoscope" "0000000000000000" }
	parmtag	{ "parmvop" "1" }
    }
    parm {
	name	"scale"
	label	"Scale"
	type	float
	default	{ "1" }
	range	{ 0 10 }
	export	none
    }
    parm {
	name	"axisscale"
	label	"Axis Scales"
	type	vector
	size	3
	default	{ "1" "1" "1" }
	range	{ -1 1 }
	export	none
    }
    parm {
	name	"seed"
	label	"Seed"
	type	float
	default	{ "1" }
	range	{ 0 10 }
	export	none
    }
    parm {
	name	"usepscale"
	label	"Use PScale"
	type	toggle
	default	{ "off" }
	range	{ 0 1 }
	export	none
    }
}
# Automatically generated script: Monday September 26, 15:41 2011
\set noalias = 1
#
#  Creation script for pointjitter operator
#

if ( "$arg1" == "" ) then
    echo This script is intended as a creation script
    exit
endif

# Node $arg1 (Sop/pointjitter)
opexprlanguage -s hscript $arg1
opuserdata -n '___Version___' -v '' $arg1
ParmsFromVfl := 1;
PrefixDroppedParmName := 1;
UseDSParms := 1;
ForbidOutsideParms := 1;
LockContents := 1;
SaveSpareParms := 0;
CheckExternal := 1;
GzipContents := 1;
MakeDefault := 1;
SaveCachedCode := 0;
PrefixDroppedParmLabel := 1;
UnlockOnCreate := 0;
<?xml version="1.0" encoding="UTF-8"?>
<shelfDocument>
  <!-- This file contains definitions of shelves, toolbars, and tools.
 It should not be hand-edited when it is being used by the application.
 Note, that two definitions of the same element are not allowed in
 a single file. -->

  <tool name="$HDA_TABLE_$HDA_NAME" label="$HDA_LABEL" icon="SOP_pointjitter">
    <toolMenuContext name="viewer">
      <contextNetType>SOP</contextNetType>
    </toolMenuContext>
    <toolMenuContext name="pop_viewer">
      <contextNetType>SOP</contextNetType>
    </toolMenuContext>
    <toolMenuContext name="network">
      <contextOpType>$HDA_TABLE/$HDA_NAME</contextOpType>
    </toolMenuContext>
    <toolSubmenu>Manipulate</toolSubmenu>
    <script scriptType="python"><![CDATA[import soptoolutils

soptoolutils.genericTool(kwargs, '$HDA_NAME')]]></script>
  </tool>
</shelfDocument>
      ]ݒ8vf&7J`bOl5_iifjnj&Q5TީJU*$y>JnA -ݦ=I8  x;ãl\52*Ʈm`tltr2˙?bo64/	KV`9tOy4W,;W0
t'P ~*UjoNVFړ3$[vVj{)ܿexȉYЦz:?;fI'~>fjV?SJρ*([[gFqY=:IʨtbFt:o<y/I/~^>^*\q$=%ѾaE;[?o,?zmzO?84XayR0TlTJ%#֏
-|t:E?"С&Agݠ\:?>~_zʍblznI/>(k8*=4?5v%-(Ae@H?$2\d<>D/_?=ktgO	:>ĳ|_,2R1~N?MЫ !?(Nh@$>"ҏ0M7h&y [Dn0 u^/	c $	h ugu?]e<tNcܫt)uv/(0$}GG}|}ցǎa?=aiM+hiL4/OKzKs$i9D7g~Ӄ)[ƖsK	`م?Ǐ4O:hJTKg1hiD)}))rKe?Eْ]=(?=|zكJzrNij88͏Wy9Z'*!mTBb4$9Ʊ_S:λ .f4_P?T<bL2g\D*><ʮ4LWa*LäkC,"T)+Gqr&JA&K }XF|,CjH÷)_L3n|ʐՐ3%fb
AqM؅%ᣂ=#B܍/|~7Ʈs<L_M \^df
r1Bo\,W M@AIkWgs_]>[f]ڭ;͆	+Nـ6 z͉h6M8^q@q"Fݿn{-t1ZX\bbS %
HuFdes;:WIoiM] Jn0U\碰~@	1p១9J{]	硠~'vjY.dim,[c5}y-F&FO&)UŊj!:ZJ*YHuN|_$ĵ2Ώl| AtC/[{.ܖQQ,n{^TEe7	zpdJ{GYI¸Eτ~}AHgJ0|(rYb0&}ppiymlPEA_BHR$EХ0:-0ɄV^hpPe5a-畋ZFlyX	CI...W<DOrѓd:p񲛗|os+<#U?uUk|4zHNU"6ꨬkZJ~&"aCʢǉHPzʹXGv?$KȓMH΃h	"O ?1|?O9'9[OC?N1^ns+!/% z]i*CirJWQ;
~?bYD3f)D  m]$2@S<|)E#vRl~-v:ss70>n4dm[$iQٜ kqľ#([|~KOٴuƮeClb)ޠ$V+j-ԴQݺ;wk!?Hn5``KE"`end5I
}V#S?h_PtYV#avɁw08AØEmHf]e}6IE  lsPW,`v,u[i4!:,
1_BE\ q%S]X.&]BqeӽEWY6Ѥ?߅
JX؜(C|b^R?1! n'-$;?͂Î  ƤgWbӚ͢fۤo	. ´CcO@=	\7Bmڇ:ISe_$>?'X"NX1#ٛn^2
ޤ.4'_x6C0s-sq
kF~Ym$_avV@oYxz6LpLĿp)eYeN	Ω	
[aPA-L`adepmQ62v_2/ uuf =%l0<σ;JG!׃e+ Upu9L3VރX
FhK2 xE$&|##;>`Pa;1\_bhbׇG57oBV{4/L-_ ۮƠ6c0`4yi)fqtI'1FC6=ў%|U377Kkb8ưm;2=˓ib@l 5{px__&XFSweڍ(`bu")nB%&&(PhldOE_;0	O^X2<	RaT#7liH|Ʈ"x3',yP-$CL ۦŘ x8'ngrd5\зpL3wf*]Uo_钅ty[V)%b?3̒9"&s,ͬ.5YX2Bn$87PUt-er`GZtޔQ_c{kuAV{fΛ7ou#;;m)M7퐪|jC{7ۦnq|\>'oƖ%q ,0@7E_"K䉁w}^ 	e<^ڨs^L&={te/=Yǿv}8`EGGG|uѳ};oPPjDKu1,0Hb.g%#BTMkZlʋwSn)y3B8e|l,׏90Ի=Kp[<X--IIcO6gt,O'Fd&-z/NjA}N=
SC0]%uq@C?@::WєfA7$4Dhab1r=0G^8cEp:W:CNlN1M؍"w:Oy9)ʶSYE=!$D88ܿ50Bk&"SAꇬ?4\g=ipY=ܞF=zخGD}vMI/vu9JV˙?	G,B V~}rkݰZք6LhʮmLO==Q.6,dR@`sdI1"OyG+Bv)B:,XM7ghl\߆sփ'L2H
G/2̯sghi?[$"g۹f>6#AHO92 %WdKCd-5³mĻpw*\MQRHdA,7RexA )b;i܆4PX\c6d0UfޭEZe,Cjj`ɠXËe|W	qrKr#cJF眕4!u3gCςHށIQ9,ף['4oM}^]ټ~mFKݶIBg)Jt>lPڒSuM:Nr4\B30eLXa[]k1ό:vC(	KGR0CL,w_}z_߻Gz*n0i&<tVROl[%]tw24VmchCiodyMw+lɗ}`!Kкw亚egpޕ:,+DFjs'g[g
cs9Q~nejJ0|۴&i-pmpMN67 `dc&a	϶LWF^OƬf}uX~#j5uj*Sj'YU7h D2@A]@Hs<EoT aLpd	m[`1/Z,VgIǱB$`P<[$H +̈n/Œ"Kq-ڈbQ7MΰN6spuϴ28v
'H5KP9jpwx^coT,{d,u!EU57s %S}XXꮈ&N%]AO~'|4Hh`=%riN#%Q1{FlFF\F<FĆ14b
FNE
e`M:UQNYTD*S
FE:QNiTD*S
GE3^9*"iH S9*"iHu"RA樈TP9*"iHu"RiHu"RA樈TP@i4iHu"RA樈TP9*"iHu"u_9*"iHu"RA樈TPkh4iHu"RA樈TP9*"iHM?樈TP9*"iHu"RA樈TPkk4iHu"RA樈TP9*"u"RA樈TP9*"iHu"#OgJ7f)P
FVNꯏΊn+/^M&ׇRbdR{}++nD^LjOJy׮&sRdR{*+#]M&QRVdR{Z*+']M@UN<Pj:m>(7*(OZIh@ôiWd觮$Pmaj贁
ZX605t@$VAxi,	Th:]g*.LV4d6м6,	Th:mq&>L~4d68UA$ހ~&KBIfNhɪo@?%j3YCVbLVɒPWg*hP7_;˦k1qv۷rxlh.ls`iْd6y%hg*1VkڼvMkkۼFkkۼFkkۼFkkۼFkkۼFkkۼvnۼ6ۼvnm^kyM/\,endbۼYm[6OmĶIlmb[xmb"&kbmb[-&5mb[#&5mb[#&5mb[#&5mb[#&5mb[#&vV&vcmbqjۍvcmbې^[Kl70Mݜ4&z8Ve^*=aarDm{qsn=nerJe&-+gZJdgܗj]S/|9^Q/uh\DRǳR7)r
.ꈖ^4 !=&9g8ǿNNq9=R>gLv	pٞ-U;FP3PqβԾ >Ь}Bx
G:z.]%l8#I
ʶy,AXuFIZ$qG$kHc
̲QH7:E%9RlB>3*4]	yɣQk9ˣ-x8N@$`FthvEЁCq-s--wO~uw=S3ωh]\Mב[T$PP͖ 1iD*HrpyREI@(n݁{R	܅0ds8:WTYeJjj`,q%̟С[90Wʺqrծn>2uld.ڬ߂FDn0}Y; wy~OSςuzݽCKNl.9+a*ȏ$.$4>=U]T gྲྀTv]u(?qɮcKh| pC̸c7߈bt*>'Kn_/f<hս{jӃ_=PqI39z`,*袠3a7
WNnaw!An-vhqгBo<t=ƃ5Cv	+1m[lGv4P!a-km
#6tWA:~-YٶuٓCaVnCu(+R$eR
3Fιat>gRs@WR8%tZJg}4uDQefuPe*ڄ3ӨVr^7mdb}0]팜8^[5ت>dU\\{N5g狅H{ F~m(_<yC]da38/lw{]3Zw})pW,I/jjlX6lk]{5AF<<唇ٹyP{Ѣ?p= gO6ޮXMɢh=幢 ӠXL]#<	K~og+WowA֤j#5Ίx*_фodw!ݺ-pQYh`&YMpkmo[ur7]yܢPKoMz)mhlj@*pؿWZ~孁h[{X_)ޅ}&"ϓ8K<s@Q>Ό3aq5?54]7-=J;tQ1D,)y\Y\)Vfi7VK+n4?X(<؄<E{Rq͝=lQ}PB9,#g@uHm?|:O9³&k8"bU)[<|M S;Y]6l)'<
g[	&	T
2۰l,*} d vȑaXÌ2+0⃍y0xKiKMnN΢34ndo,f"&+_UrM5IpJ
3B"$`[cn>DRim}ϓFzk"[ĺXs,%h+Qµ.]᥁ҕڵdu&|y/2D)tTo0r&OG8XGeH`1]:ayݝg>m<œ:؁ ػX{T=N#{lic4w;`{F=N#{mѹMɷ0zIc-vdx*Ȓ]=U`Pmvjx6[ABj]Gep	3;Vd/<'K2dmÆZJ7Ua,kdlѣn%e.<lGk9]c786mp@n-ye.k=+Skg^@lUJʄ&,Y&,\<R	<d5җwMY^*8)Ƽ}`l_
vz,G
>Yo)۰Dnhwci4@-==2]w=)S<QDnr7x܉!9=/NW|Gg:nU](]Pb+SvMepF`Ѝ*#囎Kņ.Pf5dxj# w{>S~fR/ζ-VݲZnYq8^6~ׯq<(ı67Bpw {+n{\'VjuuE{Sb6ֈmDt
Wc>@HW}4	)N>$'mC!m(Tm(d{^(s6,y\uk<G'l-3چu'*^C8ߌEJJ1uΝz4!ȗC6Czz7g|QBP]zRTR>(8vD=vǟH1*{C|{1iJ_TҫP͋5|H}P|Cp\@XӗU#JW{ ̳
Nְ#!7fɏ,tsݧ8M*MLCY*=zv,[r;Hp|8>Q}7c&^˛vDDiʢ|`RH=<b@}AG:!!HaKߘ[FSB1 Cx׭"س]֍CK[0:` #zAE,I2E'Un,ZX;8ԹY;9Y8RjA74p`Կ㶍jJgSs 5o/]2<fOdpҥQLwq;^ZlcgdG@flcrF a
߼szݞӣ\F@8\cZ;G`+,REmv.=\GZp5QKpW_+=ʔ8=|E̐k]qP٦P^vDKL{xLԖ*L0Xa:jœHMPD#pQ+NxL"lVf=1=!:&|z/xƃ/pvnҬTū8>zzѽ{:sbdz     INDX              DialogScript      $O)   CreateScript  $  TQ&   TypePropertiesOptions  %  O)   Help  &    O)   Tools.shelf  &  fO)   Contents.gz  *\  SQ&   ExtraFileOptions  ~L   O)   InternalFileOptions  ~P   Q&# Dialog script for volumevelocity automatically generated 01/13/12 14:59:37

{
    name	volumevelocity
    script	volumevelocity
    label	"Volume Velocity"

    help {
	""
    }
    bindhandle vortexspeed distance "Distance" dist ""
    bindhandle vortexpivotx distance "Distance" px ""
    bindhandle vortexpivoty distance "Distance" py ""
    bindhandle vortexpivotz distance "Distance" pz ""
    bindhandle vortexdirx distance "Distance" vx ""
    bindhandle vortexdiry distance "Distance" vy ""
    bindhandle vortexdirz distance "Distance" vz ""
    bindhandle vortexpivotx vector "Vector" tx ""
    bindhandle vortexpivoty vector "Vector" ty ""
    bindhandle vortexpivotz vector "Vector" tz ""
    bindhandle vortexdirx vector "Vector" vx ""
    bindhandle vortexdiry vector "Vector" vy ""
    bindhandle vortexdirz vector "Vector" vz ""

    inputlabel	1	"Velocity Volumes"
    inputlabel	2	"Point Velocities"
    inputlabel	3	Mask
    inputlabel	4	"Sub-Network Input #4"

    parm {
	name	"group"
	label	"Group"
	type	string
	default	{ "" }
	menutoggle	{
	    [ "opmenu -l blast3 group" ]
	}
	range	{ 0 1 }
	export	none
	parmtag	{ "autoscope" "0000000000000000" }
    }
    parm {
	name	"add_uniform_vel"
	label	"Add Uniform Velocity"
	type	toggle
	nolabel
	joinnext
	default	{ "off" }
	range	{ 0 1 }
	export	none
	parmtag	{ "parmvop" "1" }
	parmtag	{ "autoscope" "0000000000000000" }
    }
    parm {
	name	"uniformvel"
	label	"Constant Velocity"
	type	vector
	size	3
	default	{ "0" "1" "0" }
	disablewhen	"{ add_uniform_vel == 0 }"
	range	{ -1 1 }
	export	none
	parmtag	{ "units" "m1s-1" }
    }
    group {
	name	"folder0_1_1"
	label	"Vortex"

	parm {
	    name	"add_vortex"
	    label	"Add Vortex"
	    type	toggle
	    default	{ "off" }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "parmvop" "1" }
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"vortexpivot"
	    label	"Center"
	    type	vector
	    size	3
	    default	{ "0" "0" "0" }
	    disablewhen	"{ add_vortex == 0 }"
	    range	{ -1 1 }
	    export	none
	    parmtag	{ "units" "m1" }
	}
	parm {
	    name	"vortexdir"
	    label	"Direction"
	    type	vector
	    size	3
	    default	{ "0" "1" "0" }
	    disablewhen	"{ add_vortex == 0 }"
	    range	{ -1 1 }
	    export	none
	}
	parm {
	    name	"vortexspeed"
	    label	"Angular Velocity"
	    type	float
	    default	{ "1" }
	    disablewhen	"{ add_vortex == 0 }"
	    range	{ 0 10 }
	    export	none
	    parmtag	{ "units" "s-1" }
	}
	parm {
	    name	"limitvortex"
	    label	"Limit Vortex"
	    type	toggle
	    nolabel
	    joinnext
	    default	{ "off" }
	    disablewhen	"{ add_vortex == 0 }"
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "parmvop" "1" }
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"vortexradius"
	    label	"Vortex Radius"
	    type	float
	    default	{ "1" }
	    disablewhen	"{ limitvortex == 0 }"
	    range	{ 0 10 }
	    export	none
	    parmtag	{ "units" "m1" }
	    parmtag	{ "parmvop" "1" }
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"vortexramp"
	    label	"Vortex Ramp"
	    type	ramp_flt
	    default	{ "3" }
	    disablewhen	"{ add_vortex == 0 } { limitvortex == 0 }"
	    range	{ 1! 10 }
	    export	none
	    parmtag	{ "rampvalues_var" "vortexramp_the_key_values" }
	    parmtag	{ "rampkeys_var" "vortexramp_the_key_positions" }
	    parmtag	{ "rampbasis_var" "vortexramp_the_basis_strings" }
	    parmtag	{ "autoscope" "0000000000000000" }
	    parmtag	{ "rampfloatdefault" "1pos ( 0 ) 1value ( 0 ) 1interp ( catmull-rom ) 2pos ( 0.5 ) 2value ( 1 ) 2interp ( catmull-rom ) 3pos ( 1 ) 3value ( 0 ) 3interp ( catmull-rom )" }
	    parmtag	{ "rampshowcontrolsdefault" "0" }
	    parmtag	{ "parmvop" "1" }
	    parmtag	{ "rampbasisdefault" "linear" }
	}
    }

    group {
	name	"folder0_1_1_1"
	label	"Curl Noise"

	parm {
	    name	"add_curl_noise"
	    label	"Add Curl Noise"
	    type	toggle
	    default	{ "off" }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "parmvop" "1" }
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"turbscale"
	    label	"Scale"
	    type	float
	    default	{ "1" }
	    disablewhen	"{ add_curl_noise == 0 }"
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "parmvop" "1" }
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"turbswirl"
	    label	"Swirl Size"
	    type	float
	    default	{ "1" }
	    disablewhen	"{ add_curl_noise == 0 }"
	    range	{ 0 10 }
	    export	none
	    parmtag	{ "units" "m1" }
	    parmtag	{ "parmvop" "1" }
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"turbrough"
	    label	"Grain"
	    type	float
	    default	{ "0.5" }
	    disablewhen	"{ add_curl_noise == 0 }"
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "parmvop" "1" }
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"turboffset"
	    label	"Offset"
	    type	float
	    default	{ "1" }
	    disablewhen	"{ add_curl_noise == 0 }"
	    range	{ 0 10 }
	    export	none
	    parmtag	{ "parmvop" "1" }
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"turbatten"
	    label	"Attenuation"
	    type	float
	    default	{ "1" }
	    disablewhen	"{ add_curl_noise == 0 }"
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "parmvop" "1" }
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"turboctaves"
	    label	"Turbulence"
	    type	integer
	    default	{ "3" }
	    disablewhen	"{ add_curl_noise == 0 }"
	    range	{ 1 12 }
	    export	none
	    parmtag	{ "parmvop" "1" }
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"turbtimedep"
	    label	"Time Dependent"
	    type	toggle
	    default	{ "1" }
	    disablewhen	"{ add_curl_noise == 0 }"
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"turbpulselength"
	    label	"Pulse Length"
	    type	float
	    default	{ "1" }
	    disablewhen	"{ add_curl_noise == 0 }"
	    range	{ 0 10 }
	    export	none
	    parmtag	{ "units" "s1" }
	}
	parm {
	    name	"turbframeoffset"
	    label	"Frame Offset"
	    type	float
	    default	{ "0" }
	    disablewhen	"{ add_curl_noise == 0 }"
	    range	{ -10 10 }
	    export	none
	}
    }

    group {
	name	"folder0_1_1_2"
	label	"Points"

	parm {
	    name	"pointapply"
	    label	"Add Point Velocity"
	    type	toggle
	    default	{ "1" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"pointgroup"
	    label	"Points"
	    type	string
	    default	{ "" }
	    disablewhen	"{ pointapply == 0 }"
	    menutoggle	{
		[ "opmenu -l blast2 group" ]
	    }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"pointattribute"
	    label	"Attribute"
	    type	string
	    default	{ "v" }
	    disablewhen	"{ pointapply == 0 }"
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"pointscale"
	    label	"Scale"
	    type	float
	    default	{ "1" }
	    disablewhen	"{ pointapply == 0 }"
	    range	{ 0 10 }
	    export	none
	}
	parm {
	    name	"pointextrapdist"
	    label	"Extrapolation Distance"
	    type	float
	    default	{ "1" }
	    disablewhen	"{ pointapply == 0 }"
	    range	{ 0 10 }
	    export	none
	    parmtag	{ "units" "m1" }
	    parmtag	{ "autoscope" "0000000000000000" }
	}
    }

    group {
	name	"folder0_1_1_3"
	label	"From Object"

	parm {
	    name	"objapply"
	    label	"Add Object Motion"
	    type	toggle
	    default	{ "0" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"objpath"
	    label	"Object Path"
	    type	oppath
	    default	{ "" }
	    disablewhen	"{ objapply == 0 }"
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "oprelative" "." }
	}
	parm {
	    name	"objscale"
	    label	"Scale"
	    type	float
	    default	{ "1" }
	    disablewhen	"{ objapply == 0 }"
	    range	{ 0 10 }
	    export	none
	}
	parm {
	    name	"objframe"
	    label	"Frame"
	    type	float
	    default	{ "$FF-0.5" }
	    disablewhen	"{ objapply == 0 }"
	    range	{ 0 10 }
	    export	none
	}
	parm {
	    name	"objsample"
	    label	"Frame Sample"
	    type	float
	    default	{ "1" }
	    disablewhen	"{ objapply == 0 }"
	    range	{ 0 10 }
	    export	none
	}
    }

    group {
	name	"folder0_1_1_4"
	label	"Mask"

	parm {
	    name	"maskapply"
	    label	"Apply Mask"
	    type	toggle
	    default	{ "1" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"maskgroup"
	    label	"Mask Volumes"
	    type	string
	    default	{ "" }
	    disablewhen	"{ maskapply == 0 }"
	    menutoggle	{
		[ "opmenu -l blast1 group" ]
	    }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"maskexpand"
	    label	"Expansion"
	    type	float
	    default	{ "0" }
	    disablewhen	"{ maskapply == 0 }"
	    range	{ 0 10 }
	    export	none
	}
	parm {
	    name	"maskcomp"
	    label	"Comparison"
	    type	string
	    default	{ "gt" }
	    disablewhen	"{ maskapply == 0 }"
	    menu	{
		"eq"	"Equal	(==)"
		"lt"	"Less Than	(<)"
		"gt"	"Greater Than	(>)"
		"lte"	"Less Than Or Equal	(<=)"
		"gte"	"Greater Than Or Equal	(>=)"
		"neq"	"Not Equal	(!=)"
	    }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"maskcutoff"
	    label	"Cut Off"
	    type	float
	    default	{ "0" }
	    disablewhen	"{ maskapply == 0 }"
	    range	{ 0 10 }
	    export	none
	}
    }

}
# Automatically generated script: Thursday February 21, 15:42 2013
\set noalias = 1
#
#  Creation script for volumevelocity operator
#

if ( "$arg1" == "" ) then
    echo This script is intended as a creation script
    exit
endif

# Node $arg1 (Sop/volumevelocity)
opexprlanguage -s hscript $arg1
opuserdata -n '___Version___' -v '' $arg1
ParmsFromVfl := 0;
PrefixDroppedParmName := 0;
UseDSParms := 1;
ForbidOutsideParms := 1;
LockContents := 1;
SaveSpareParms := 0;
CheckExternal := 1;
GzipContents := 1;
MakeDefault := 1;
SaveCachedCode := 0;
PrefixDroppedParmLabel := 0;
UnlockOnCreate := 0;
<?xml version="1.0" encoding="UTF-8"?>
<shelfDocument>
  <!-- This file contains definitions of shelves, toolbars, and tools.
 It should not be hand-edited when it is being used by the application.
 Note, that two definitions of the same element are not allowed in
 a single file. -->

  <tool name="$HDA_TABLE_$HDA_NAME" label="$HDA_LABEL" icon="$HDA_ICON">
    <toolMenuContext name="viewer">
      <contextNetType>SOP</contextNetType>
    </toolMenuContext>
    <toolMenuContext name="pop_viewer">
      <contextNetType>SOP</contextNetType>
    </toolMenuContext>
    <toolMenuContext name="network">
      <contextOpType>$HDA_TABLE/$HDA_NAME</contextOpType>
    </toolMenuContext>
    <toolSubmenu>Volume</toolSubmenu>
    <script scriptType="python"><![CDATA[import soptoolutils

soptoolutils.genericTool(kwargs, '$HDA_NAME')]]></script>
  </tool>
</shelfDocument>
      KKr V$2)d:<j`\`$2C=> X =Z*o*xtYddV7=I]atdt㓙QY߮2"<3Ol&?^-k6!.x;u{ƍ;Oz/ϟuh8G~t9.'ɢ?L7ٻl0G}Z4'7۹#KӢǓAmYwFWb]M|ugGٟx2uO[zҬ;p&q]UՋ;ި|r)ui4,i;7Ӵ8=ޖᵵM{Ӷf[Uڗ0_/s7ޗh1K{S:aa/F~t7^׍GPםwϟ+G??ʯ<jV	_?y񧿂Wh<FwTOdO_rFSiǌ4οm4~C,_~wC?(μF%?ui4#q=7? F{W 5_B%?a	-,} O7)OW
M'W%WD^;?IZQZG	A4	H>=xƟ	f$W`zjH>/,
"T!GK8zfϥs(uZ\UIw0W8^iX}>?zF7I#O_/}.0Mi	5o(GX璲KF	H286KaC)H<(V/xȟƟ0O7i\#y7?VƟrpT	Ư*۟P c&7OJ7g՟K&yzѫƟb1m$m?ϯUk!T;\0'-7o_>ߢ^~D3z9Q<9"ߧt6OA?Bρb.ir3OƓ94FgESʉ#;uh0Ľ$ j7`x>H1y4dl@':)\7(JAr4gQ4G9{?M#zO8 |w]/~>5a{'֏pw	[7_Zߵ Τ6-+)g0_La Yow|Wy᫗_YE>Q>C@8Uw!iO_>cI7&dm,%ocmvX]9ffBgexΛo?CG|(oiZZvZ*nY\UǠXDG<wГe2BMϺww˭LŷSfTJnpL\+/	V=)`T&& r<8>X+a
\ʷzᏽ*;Q<G2@$){IFV532Ͽ2λG|Su@NnCBgQLfg}Xi}L9/aZ~ȺQTN qĞ@ǀ2gogߴӛ3"è꣐K=	ŘcN	c3d$yԿ/nɊoMłܚvLVE@nl_/!rk7kF-\U+4fs.-/u[Ǵ![R\!˗z]ifaqnmErXtK_,JNnh8c^]kN:2YF;>DJlje:) %R\. "1RTJKn8?+J&BG^r/j1ᯧ=_au.	m5rVj	g^ m(xI=o{%]E- ߷a^0rzsWfos\v;k\˫|쿺tc}g_c?׻Gޑ"Gdd'A4(Sg>7rnb*-#\EŗX/V|%oԾn/.fFx2yaHt*ZQa_NVac2Nkc-4k XD]ɥsyeP̩U(-׸d.
e{RgLzGN7 ?|xp:n>&q4D ӑ>&qvGM_\+vt1eN`f؈
O2י{H5E
U7nLbJ>.q]="8&35OG@s r=}Z8cId$8qlhD'thbv%s4_f%^|5T
((DԓS22ig}A.'SooRy
WvvQWK9HFI_M[-ܿ"AF	B ]O͆:elp1lI8i{MvkM>_`jEۛwR|:7AOk{]j[8S`OƢ,%QaMȥ''kݹ>o9d7<)2'ڳ{H (&M5I@sy|@~Sd$ l}h<Q4\Y[4/e5sQfc=*pW.XA4O"4	'x	"U;:'g/7@d\yU$zg8|) %^DT^P'kLtd[iUh+IH8&?CluO,,2T瓋aTlӲ:V.`(3WeAhC/mO_~{?F\[A>]A.p^w8A8uACOa秶SԡB/JTբbNc4%nƀ	(I_bQXsTRSU;^)Qq.W0d62]O'9LqF5Mj5B153fn3iďFõYǊFc*u[:S9%.+zޖBF󣴱RDB#"s<,0ZBSjzSj7vjji8x:̔YQbd%edOA
LF9k |X7ʋ>}/?`9fJiy1drٓ])GMϠ$_pj9pY7΀w$~ :)|+p :EI#SN)1ކCZUR:1OmؑK.TRI[64߈y9vpK7T	gQ|MH*nI'GƏ
CR?.IU:I]M?O/y}?*X6rb%7d^u+nc_mKu.j>ʆtX0&<*@H$i,N,dR{(9R5·\q)qJ MU%TnANRvBiQd"1]8&d4y6y
F fd1_4r$&ʭ9Nf㴫[SvT$,Z5OrNbq	a7vZ .e,*]uߵh͉K3ݽ]KJmћ3.+eM$X9OR"BMԧl/	D1:N"nK{Y40]śM).Jzsjs5U46[jSo8'N)*| m@^D_͘+1RT7Wgj<,x[B){KXsԆ*.6ނ0CEQ0+\E%D~#$^ZˢB4~"cvb2>TAH"@H"c=v)mEZRJgE=3_f
K	|B倒qֈi%O䒫\\mx]醐,uK !Iݐ5G6(WQ|m7Dx1jH˻EOՖ?2RXzRT\:UXĹ)C0ϷZgs, b*I}]1z9L^%*h&s[,z_Tn:^<5VZQX֔]Q˚NJoYZ3ht?iN7w6ۂ'jGj0;yvd`)3hX)AU(ѩD:d	Dm~b~I&T*W{ լ0fJ8@ܼn2ݴgM8n1lƃy|]w$gG.bhē{A3MF#ۭ)nB-V[.8j%}!ٷhr~F0Cm.,|2w#W3r |9vIz
4g3P#z9/\^kܽy^Y{"d[3ǯ6,!&j"L(k*19Jmj'kH&P<}N,"ϊm;~ `,7,0m7Nt	7`װOfÊz~mSy}]|ߡSNB6w^O>vE.YyrS3 kG3"4Nw &FlBMHJ6lx/e8aY!Ǝk`lB!5zyWv^=o ؆mᅹ!CǾ@'Y?y{ps.qNٶT9YTRNqLz/j4Lv<CbX6gar-Cͳa7S-B00vk"׺ uIcQAdW<;2'Mhh@|VpK2-(nóEdJ5[v:Bfv!Fb
S32*g=M M4*_N.Md=0N0UH?Sw"t/TF@ b0g3hl%t`6ebtFy {$Z.Iż{A݀,⽍ژf	MrMT[p&oF,!%QMaW ddĪK)yz$z=kkX,)7{(P@dxOItC(>&9IdH#!7}Hձ1o{<{OGˈAeO,.YJHS;:pFhǜex'u YcYP8u
ۂ=b؝\o	pVzrrM)`e8:=W}HJڠ&9UZh:A}*ȓ<"OSiٯiX;7̤ϑg]!OFX*)aWr1;d!mAouy)&pTKDNw4h"+|2ADAG<eh|iz-F}O6xtӁfyKl/N8-has+9>n<;W4Ȱ/b9-b%,ɹro=K_N>M­B>5a[2\07*= gPt}mlۨĲxǈƓN2|$ \fǆ#,q/a%g#lq]̳w!ʸ& at>R/qUa3#H܌L~G{;ICn.|{~{?mH^K6Irϐ
lp !z`oc|m&^g01Sa|ؾQYsoxE}ZstXIxYo3ܔ$53e7VZw+d:̕4mϯTMNSnyPܔZM#
-3[/K裨7 6sq0p>rE7 [r)0nA9CK)@C"` l?ݫHe%F.=tΑb=wN [us{$:GK?Uh@윸"e#TsAˌdcac9kJYBe-֘FBnͰna(E˩ֺEKUɒkݪ%תhɵgݮQ@.o$.,Fh|׺bDn	1zͯ$g&惦	X0e=-rZ2ƋjiУp_!Uߢ,M$͎V?˯+z뷴^{˷Ϟ6)*?nX% L6 [6$X]Wz0xZ#ۥ _%51oHop-}89yFVGύQT(!!u*Sscׂ		EH,J%6+yآGȞ 9FV΄>@٢JP [CM~Oa`^~(-WHpv} |Kk1P2Ӱq<;}3&Ia
 ϷimY!}1ÐjMe'F0I+j7M$[pGaZ3nJ i/r~gɨ۬Iy(eay_pVTlI|='7030%]	.Z$UqHC,5'Z ➼5%P&?ay+SAW؂*:WuU=li YǗ71Kʏk Ye2 Gp~"C?A/o:fi;l1+Hr(r\Or}f(rvh'o؏8`1
Hɥ$QH,=e"D"ȵhF<rn\-H4AiEnAmf#l=>,TvPimxHl	^vF;D`)Ob&L&>L4	ʓG?oL<)"vnRIR4Imn
K	XXm!|>=;l<4Bl?be뱊Xmk\UӚi8{b)[V(MHX+gCڈy;[=Kxy%ѥzb6Ldb
f/o@I梮KkASXY#Q\u7iP݋)|57߈9xK}k#LeE4=Q6S7nò==&'IdIS޽_W/g#=.YY){؂KLͧi5I<(sUBHOKR+@pM#Rٻ_r:,e-p~702K"p	%睟u{*`aY5KmnP
k޴WQ։m"9*JTlN d;.5F'g)xV̸]U3Ҕ@wX*õTVKeTVKe&eRY'enZyrG$K	J*,0lցwǥ$^*%ې1_:Pe-ՙ8"qgVNzQjIjIԶ"F!3MRj~,3poZ1?m1E,ӰhrAn"UU<k
C,~T~3ol""--ZdE|G O[`hJk[s~hd7.8垶f
M,.(ȴ#S<.@kkBVm[oVoVF!uR&A\`-].RlC`-aHv(4+1j1B
-R9D~HiشMg:E/1񻑯{RkR_xDQdԆG,g A`fp(rPT	+3-FBze;mwnmJK8EM P@y#w]t#mkQFbj>;p3]i.Z뢵.Z".ZUt>[D{h>@Hߴyw*>K*jUTۂ,$ŻڂX CK%FXi`n\6,NYЀp@A>@jUwXJ=p5UɎ6ơgf>/6-y9z'10a?5bՁ
vVMēQDr"K_TڦM#C~)=*r+>3Z0uY@Kŭ|÷=ӷ;cʏO7K6|a9lƩSVTYF待RvL3Wk}WOC_o9=Sa\Z)[JRnZQBu@lӤ9.DwTSkHo&z
I5SdvkzEʓ+4-H<bOuU6|S5o
]Zu,J!N09}fHiH$mLIN{i$􄼔ZW}O
"OH>.WC/t@<نXXOk6/պ4ZtlߺF$-YVQnq:4XD6¸zuǪ,6[k6{ڬ/"رeboҝpXj݄-.ERGIz3Ev8}	2d"<Z/%8VVV{4Rj	NT«vr؟bj\xBLkEfG7	xԙd0'ݾ[ތxYLG疢2i5uSbRskvIEZīE*˄_1b8=Z4p{C|癮b[P)a3gc!y❰G|X|Ar,N{h܋65ٵdWKv'&jɮl{*Fм܏TE,NT"g<߾"ݺQd<W1V.\<w@:KfBԖZ;&w^`2Ɋ?߻pgLVg9I,VP(_OMY:&Xrv9<;Lw1<˄21]^ ;[̆4B.MZw7+f,OnQY:m| JDZ^(7ry#`LQGʉ\20Es5`:iu׀)XSPԽoE%RTTPG,J
#U%HFUIuD:QUR@*Q(GUILFC9rTPG9J
U%Q(GUIu:QURU%Q(GUIrl*)rTPG9J
U%Q(GUI}*)rTPG9J
U%
7qt:QUR@*)rTPG9J*(GUIu:QUR@*)rTP+k(Q(GUIu:QUR_G9J
U%Q(GUIu@-vlT^,;h(۶ـHkT;9d-tl$iɜ-M-`^g֮UP5*U٬f.Ν5gh>38OZ3MSi76CGS3s}uN8G4n9j4˒P"ۇzcHpVD;؇G(wsr9$;q?g/dsPQ +̺00+>u"PϡJvjO=	f;txϐ5ā@'}{@|	8d8,!2y\\.fL(m	DpăqGy7j
E ki83瑸sUN|>H:bu2,iPݞU1+b]3H(>(
-늼Mr':ݑ-`s\0*
:YMf"( = ȭ9@Z-	|r~;~@{'dE+NR8_^\Ltl=  stJJsF6(l0_7ĩ٬]5kW\m4=6Wv+&N׆;'UHѝEy33/ܝ)J*7 D7Nܠim2hn1kr|W<*7rގ@E=IEs#r)OT_._)$#HUgTp罱Ƅ9{@Ą5!
/^)6sCNzUQovpW*飮7sc$a:d

 ZO>k>]9>mS0/Dwfl],~duNfcelZ-GH%%ǜ_1.ds:)ՙFQqX:ܶEE5(TwIN+,6-˴KBZGɦՖ$7<z?]a})VxyrT[i2O/4('8N/t2*d]jVtKlt!+X	7_.38{2v.*t.}t4Eܔ#!
WN٘!vo%31l,YW1}\ki?M{h^QO!̚+{ȸ6Roߥx666
9.='Aζ;F,L6PDwR0PFdϔ:$5S;%G
΍-qٖh/oa3J1l0HU|ooY,3f39tH@K!19Fx/~
txW`+V093_q)qcrî2UZŬUZŬUR1S	OX*'eE%
H)ΉzmxĎwI<RĆ!YmеeD@Lv̆vMn/?<'O.=,z`fy>DF9ÉO@)bZ(M~7C\y>Gdj&pj־?L遲G#gR!S{2itc~ TΡim-I$GRɣmöCd:+%~+b6OBn.:㻹\)eS3\`Fi
LjtMy-MYU'Wρ%Nk|\]X'Wp:NY:Fk N
[1Rݟ-k,gU(
%+ےĮr	[ΊN3bڝ*^1c)s,y.ݣ1fe`NWUt ̙t;;л#+T'pFaYos
x˘Pb+V.yI?gIl\spfx	$1bm9VD}Kwm}՝Gy|=Z3ykSMPT'ƞ9pн
YMȟ個'6o&qJ>(7xΟ<ho6BVRm~ᕑS1(ucӰ'zϏgQt"$,IvKe)yIqX! i-B3,s):f.M4V഼xX6
R,ޒ&t |6QLD`Ib!eǖawL>}Gߢ'3`JI45te|v)bzYFȇ#e8O<Fo6856`"m-:Jq{n"p \y`6"j;&<L	Y eFPqfW`vU蘖UG 9\=`!' kLĦaQ}yIs,NHZ֍UBz'}63pk{XWz9Sb$<2L(1R|ٜ])@6 EG硣uB A:AX!h  `4uB ލ ,6 PT>*	<$j2}YKN<3z],g+ؿ$fU-Rb#4le@+uJuX8lMNaSw>a4_+vpB?gw	*ca=vv>0^cw=FoiKa`mY޽{]Sk	In5.EKjeY3k =7=lOuo=5gғspۜWZ]}o=Tjܷ-=wQ&&μ\@_1uN1K)KӜt¬a֖Rqr #t"6ԈQFs>b	|FIVɯΑ Ey|$9C=ݜ?d\kF.iACQsB7ò?CHi8$[Zw_od}<qY^3j`ǃe95%,(c^{MaQz2C$5rzԞ~^`sCC(`ur;>:>:8gțg!X%s+©kk}fɂYڶ"+\T+0b}^N[|Ǔ"~UФdPHw]ǝuoZ[_ P4d*$߱[4j9v9mlj5,?ÈkFmXke;'2T,p tXN%'0vD䈘#?އ]
reQX1m2dSv0T:%n+Ag0i{IM=+.TaNl$ލ^rQ"*5LSgMO9d-̢RWKM8-plZ:5qiPT9`CQ5u(E ֡:UXj PT`CQ5w$sؼRݟLHAƶ=G{!ofݽ@Tf{r/bQ8}։9͓.NgҞcOsZ >Z'mst6U+qblwɹ.'Μ|rղ5~c]bpřZ.Khx'A폅	k
*Q2fdY 60V13ǰ]۳Y\;9j405`]rU[Im&[>L5Hیj6v$`4UpΓtlfgY7Ip0n>Df'w.%d/ڱd;B)kwHP'=n>ԑVsY>RQa[m/IW؅TpMT)=uÙpuT|ٱ-d,	J?qgkCYHXN><ۗ^xq61,
\E"~11
뇚 %f0'LS9aNebױ:\ۤ55t+ZV5b]]Hbʻď)ɐRAC}`%O?X<5[|vmG-䷌VgȺT6^S6
O&DS:,k2Zlmu,zΎ4eͻGg`[x͊&=cT<EXx֗uў+ބ5fsЛzsw+d#̽%Q߷ޝ{{i|'QSFf/4MCƶNsE 5P֒C>fΔΰu&BAPar:ZXYk 0k`fì5u a:ZXYk FUvľxjq'`~M74mDH8v>7HPU6'38jSp󎃢Mrۈ~md=j|[v.>
-#ˎ̶$]K0gK]n|	7ɪ;P>6WRaE}+"OhTD5\
'(yć0j\zVP.9yfvsq4䗬1 łԾ|}X4cAl,NkXo]kkDCcA:ND:Xk ݻd:NÛNo1[<SmUiuٮÆ1tK|Zlkz$@o;ᡯCm)YK"Cy6\̸t'oI)Ϛ
i{N9s唲vl5bnϯx^Jz#QUd1%'Vv<d^vKCtEŴj5It@g6+:RdĮ%^_NrMh:Qw(ppXk='HSR}Uu(U/>OΠŚC@#`MYZ%iAZȱQ#<·.{݀,yqcڐp 81ܤݡ{T[p&GMW*RLUV,MÚnA3P$94!"_ .p~R1"Ґ_Fpb]D#QMo8P$wGr?\(h\>1aF Q|dh>?>~_orr 0c<KAFQ>r0f\8P}s]0`_O_ԽCC+z̳ggCs`vl;M//x~oh}I\M-)lPb7tJuŐxPtCEHz=xMg_oz<aeg_9zo߾~KK׿|9n9VO?nbuQ2%vVAb3^4I]*(2=y'i1WuDRU(!I[R%Ρ򖲚Rt &Y䔒,ZERvi趈r,eo[Cb\U{UD)ºNκC,+b#+y5f~H>}5@XNmV>ұY	ǵYFSDEK8TL8/"KUU,K9 %KO IWnth8L5M+^|dD\{i$M*ao$BdtgQ1k8-Y0T:kMNS(,'u?dNM,g1Kɕqw!S=5.@CM+B|YАQcT~ӎ~MW&m83;MԾ|6'ԍ%~r%3XʣE3>)W=k,.K
6/xPh+LYg1ݞx!H7AZgNw>d	)a`V US}~ՕbIHk֩~U
Zny"hdDLh)F"u 39Mg4!Su/i|<-q1%UN'<v50bP:'m4ǡ9앓LoN(߉/զC^>Ox^OOx.E	}k'	+>CQdd؟$$Ң8٫nCV>5IE"ʔW]&B->7D	Es%uDIQdò0e5=+[%+p.H_%0\NcCc<GKE/@!}M0o'a=<9Ytp	_Ls?x-GnO06xձXsw^ul;26x~՜ȿ;T27
ج̍;26;38+3\K|VG	^#^#^Ԣ5)pߕol|sKǦ2JtcSY%cs:ұY"UGܕ5nȭ̍N|tlVFc>Z:6+s1fQ*7hphЭ̏N|tpVW\("Xb>JH֫EUGcJF2\3?ٖ">|*0Fi1~7TdpҖ?$AR3I")	kg[K;%lI`p=gm^Iˉ~M^KS˵kF/')r-T>|WG[qF'ɯԸK|KL	`R;aJX"ϴ̠=79LbiX`b[,~ (lJJ-.Kb/Iv7tsX`b[,~ (łl2F,.aKوm^wm6r.;gyՐF| 	IҨ7key/fe~@m1^$Y	,Ё*9 =vPZe̔|2R;Zz-gywPw OU	FsACHTi%с{NNiy+	 Ec.A􈇴J듸fL(oďC$TO#m҆~H׫O..6Qapr3CP^[ȬԵZL''
`&ky#&m{1O{@Z雡/|xmr0	&g7t~Ɠ6X2T4|XǣdfR$Z@fw?˿{HO$BDVV)`|$W`,i@,)u6Yha,ҙꂵAͥF$2\By+Rٻ*ɨU80x
PLKb?^Fc/	Եg޷
hXrP	\M=++/\x?\ꨩ # xq2H&O(
s0B1=Յ8"z 'kIjIjIT$9^YA2"~Ֆdj/p[:R[Jױ`Ӗ,$$[ϼۂfiX$@ҙ`yn5!%Ut[\'	 aj]H?]Nw0~؟\'*VMpJmt^V55!>v<G/ҝVMu	%"$t{Yf>>VlXn5$e݃qw9cdi|H<ei*)Mڵ	jqt;	G1Av|fl0|`*g
\!\Q 8HDEo^p$7A	EGPŉXONA;fUU~S wVWzVjl7EOgM`eMlNX-CӥĶ.>j;]mt.])%mn. '컁c'*WI
&}rUW_+IQ=N9R?45㊜<؋r-^%$uVOBs,&A+Ȁ-d"q8Fai>9KZԬ--^G6+6wUdgB_#ۍclV/ak5ki<3lf1vEMf
% FϤ\fR/+ZZmg cSq0'w;uu
x,XYI:,夶nK*x[lI"AEph[i}GPʶ4:܊JerP;Y͓W@Mc6 ︞/d.e-hL,jYvW2^LYʺt41 & tL?wX ƬSw |[uيgl&`wǓAY=ͲL876XKzAtM`_0@G>Npv@}n/Sqi.#;鰱\dcuaǭOl҂h%fۍElng<4>[F_>L}Śҭ:$űKc{W팝#,%V|#)tli:)in<*n˦N4ubq x.^T&dvK[ChUdtc.CRwn7I-,32i	_sLy@*8dM[l8ӽ-KD촐̳$l2b[*t,o":D<2% j MlX|[T,JBڜHqەQl؍VTg0M$/T,X42˪x2{wuX'뼣2M{z1;VQR9=IGvШ{X̺	!x~KX2UhƳXE[<(P^*1DFV;1_7bB]좊گh^p2(Z]QWcEM	TcSڒof:#s_KfY4"-_rp9$!})I&3R|	j͍aIB"ŀ#K0	C:%c%qԩ|poV[>)XٖE8;5	+	oa*+qw`G'aS':	.D!gdY˃j9E){Ck[/ϥd
L˒A,ѝN7D?G|ML!r4mMQ>#d>loSx1)d|s'kagLvf)߶jǰY7Pms%&>,/;\.y.ogaށ3p6NFic1J+Wfs?$Enԍ"m+r1lPGǵu4d#_7pd]W:74V6̣&%)uN0O.0;q|Zm!<~JqXσ nZn<=6z(rPb^Y:"?I,$Kp*3wʵJ8;Eiˌ],|p*٨4(CWr9":f^# ͈Ǫqtˉ)p&WR[lٳeq`4Pm՞bɣ] =;n;7tC:uwz9{jJ+pʀ]Re*|#(mWʞbXar|Vm=+|b.ԍ" h1l'=g0{2[t`݁5xCvG@JK%0RW}-M*!mCX{݆(/	+M:s$j٦ytd[&}2nO :) iWH'xR%)!x R}QɾCp{Zn "Lȏ\ S1M?Z&*Jj'7@qgZ)E	غW^`8,T˳mWs	g7pv
K?XD^vvz[8.!tg<]> Ί<27mA5G_Y,ѝ&stV},9>fQ~튥{X:6<;}80zz)}7㔥;HyŌ+̰'XK&oxs =nm
>a:3pRE"-OݟHl]D_4G)r>-Hq0y fۢs;1;R;Xv)\Vba6ᚎ`=C-Vs)reڷ&}kV0fڷٶo Ph π6zyLkU/L~i/+lXY/^0ާ3*6i8+0=׷^5Nã\Qe9rǅ%=R
K*l8w>e{OMSީu5.bJs'$N
&>=uM%?NڒrI˲ZYLґ؊	JZNћ<k/keiq[,x+}8-fKoJFke_mލݒ hHc!ۮӗ_={޽!N         nodeconntype       INDX           
   DialogScript     Rzm   CreateScript   HQ2y   TypePropertiesOptions ^  Q%T!   Help _    Q%T!   Tools.shelf _  Q%T!   Contents.gz  Q2y   PythonModule 9  O2   	OnCreated ?  P2   ExtraFileOptions Ao  CQ%T!   InternalFileOptions B   Q2y# Dialog script for pyro::2.0 automatically generated 03/02/13 17:11:14

{
    name	pyro::2.0
    script	pyro2
    label	Pyro

    rendermask	"VMantra OGL"

    help {
	""
    }

    parm {
	name	"vop_compiler"
	label	"VEX Compiler"
	type	string
	default	{ "vcc -r -q -I$JOB/include $VOP_INCLUDEPATH -o $VOP_OBJECTFILE -e $VOP_ERRORFILE $VOP_SOURCEFILE" }
	help	"None"
	menureplace	{
	    [ "'vop/vopcompilermenu.cmd'" ]
	}
	range	{ 0 1 }
	export	none
    }
    parm {
	name	"forcecompile"
	label	"Force Compile"
	type	button
	default	{ "0" }
	help	"A callback button to force compiling of the VOP network."
	range	{ 0 1 }
	export	none
	parmtag	{ "script_callback" "vopforcecompile ." }
	parmtag	{ "spare_category" "Compiler" }
    }
    parm {
	name	"spacer4"
	label	"spacer"
	type	label
	nolabel
	default	{ "" }
	range	{ 0 1 }
	export	none
    }
    group {
	name	"folder6"
	label	"Smoke"

	group {
	    name	"sd_folder8"
	    label	"Density"

	    parm {
		name	"sd_name"
		label	"Field Name"
		type	string
		joinnext
		default	{ "density" }
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"sd_intype"
		label	"Type"
		type	string
		default	{ "float" }
		menu	{
		    "float"	"Float"
		    "vector"	"Vector"
		    "vector4"	"Vector4"
		}
		range	{ 0 1 }
		export	none
		unquoted
		parmtag	{ "script_callback" "__import__('pyro2').updateField(kwargs,'sd_intype','sd_promote','sd_method','sd_outtype','SmokeDensity_flt')" }
		parmtag	{ "script_callback_language" "python" }
	    }
	    parm {
		name	"sd_promote"
		label	"Promote"
		type	toggle
		joinnext
		default	{ "0" }
		disablewhen	"{ sd_name == \"\" }"
		range	{ 0 1 }
		export	none
		parmtag	{ "script_callback" "__import__('pyro2').updateField(kwargs,'sd_intype','sd_promote','sd_method','sd_outtype','SmokeDensity_flt')" }
		parmtag	{ "script_callback_language" "python" }
	    }
	    parm {
		name	"sd_outtype"
		label	"To Type"
		type	string
		joinnext
		default	{ "float" }
		disablewhen	"{ sd_name == \"\" } { sd_promote == 0 }"
		menu	{
		    "float"	"Float"
		    "vector"	"Vector"
		    "vector4"	"Vector4"
		}
		range	{ 0 1 }
		export	none
		unquoted
		parmtag	{ "script_callback" "__import__('pyro2').updateField(kwargs,'sd_intype','sd_promote','sd_method','sd_outtype','SmokeDensity_flt')" }
		parmtag	{ "script_callback_language" "python" }
	    }
	    parm {
		name	"sd_method"
		label	"Method"
		type	string
		nolabel
		joinnext
		default	{ "assign" }
		disablewhen	"{ sd_name == \"\" } { sd_doconvert == 0 }"
		menu	{
		    [ "hou.vopNodeTypeCategory().nodeTypes()['typeconvertimpl'].hdaModule().methodmenu(hou.evalParm('sd_intype'),hou.evalParm('sd_outtype'))" ]
		    language	python
		}
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"sd_padval"
		label	"Padding Constant"
		type	float
		nolabel
		default	{ "0" }
		disablewhen	"{ sd_name == \"\" } { sd_promote == 0 } { sd_method != padc }"
		range	{ 0 1 }
		export	none
		parmtag	{ "parmvop" "1" }
		parmtag	{ "shaderparmcontexts" "surface" }
	    }
	    parm {
		name	"sd_dfltval"
		label	"Default Field Value"
		type	float
		size	4
		default	{ "0" "0" "0" "0" }
		disablewhen	"{ sd_name != \"\" }"
		range	{ 0 10 }
		export	none
		parmtag	{ "parmvop" "1" }
		parmtag	{ "shaderparmcontexts" "surface" }
	    }
	    parm {
		name	"sd_doconvert"
		label	"doconvert"
		type	integer
		invisible
		default	{ "0" }
		range	{ 0 10 }
		export	none
		parmtag	{ "pyro_expression" "evalParm('sd_promote') and evalParm('sd_intype') != evalParm('sd_outtype')" }
		parmtag	{ "pyro_expression_language" "python" }
	    }
	    parm {
		name	"sd_spacer"
		label	"spacer"
		type	label
		nolabel
		default	{ "" }
		range	{ 0 1 }
		export	none
	    }
	    group {
		name	"sd_folder10"
		label	"Field Shape"

		parm {
		    name	"sd_dofit"
		    label	"Fit to Range (Unclamped)"
		    type	toggle
		    joinnext
		    default	{ "0" }
		    disablewhen	"{ sd_name == \"\" }"
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"sd_spacer2"
		    label	"sd_spacer"
		    type	label
		    nolabel
		    default	{ "" }
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"sd_fit_srcmin"
		    label	"Source Range"
		    type	float
		    joinnext
		    default	{ "0" }
		    disablewhen	"{ sd_name == \"\" } { sd_dofit == 0 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "surface" }
		}
		parm {
		    name	"sd_fit_srcmax"
		    label	"Max"
		    type	float
		    nolabel
		    default	{ "1" }
		    disablewhen	"{ sd_name == \"\" } { sd_dofit == 0 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "surface" }
		}
		parm {
		    name	"sd_fit_tgtmin"
		    label	"Target Range"
		    type	float
		    joinnext
		    default	{ "0" }
		    disablewhen	"{ sd_name == \"\" } { sd_dofit == 0 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "surface" }
		}
		parm {
		    name	"sd_fit_tgtmax"
		    label	"Max"
		    type	float
		    nolabel
		    default	{ "1" }
		    disablewhen	"{ sd_name == \"\" } { sd_dofit == 0 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "surface" }
		}
		parm {
		    name	"sd_spacer3"
		    label	"sd_spacer2"
		    type	label
		    nolabel
		    default	{ "" }
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"sd_doramp"
		    label	"Ramp"
		    type	toggle
		    joinnext
		    default	{ "0" }
		    disablewhen	"{ sd_name == \"\" }"
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"sd_presets"
		    label	"Presets"
		    type	ordinal
		    nolabel
		    joinnext
		    default	{ "0" }
		    disablewhen	"{ sd_name == \"\" } { sd_doramp == 0 }"
		    menu	{
			[ "__import__('pyro2').rampPresetMenu(kwargs,'SmokeDensity',True)" ]
			language	python
		    }
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "script_callback" "__import__('pyro2').rampPresetCB(kwargs,'SmokeDensity',True)" }
		    parmtag	{ "script_callback_language" "python" }
		}
		parm {
		    name	"sd_spacename"
		    label	" Space"
		    type	string
		    nolabel
		    joinnext
		    default	{ "rgb" }
		    disablewhen	"{ sd_name == \"\" } { sd_doramp == 0 } { rampswitcher1 == 0 }"
		    menu	{
			"rgb"	"RGB"
			"hsv"	"HSV"
			"Lab"	"LAB"
			"hsl"	"HSL"
			"XYZ"	"XYZ"
		    }
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "surface" }
		}
		parm {
		    name	"sd_gammaname"
		    label	"Gamma Type"
		    type	string
		    nolabel
		    joinnext
		    default	{ "linear" }
		    disablewhen	"{ sd_name == \"\" } { sd_doramp == 0 }"
		    menu	{
			"linear"	"Linear"
			"srgb"	"sRGB"
			"custom"	"Custom"
		    }
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "surface" }
		}
		parm {
		    name	"sd_gammaval"
		    label	"Gamma Value"
		    type	float
		    nolabel
		    default	{ "2.2" }
		    disablewhen	"{ sd_name == \"\" } { sd_doramp == 0 } { sd_gammaname != custom }"
		    range	{ 0.0001 4 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "surface" }
		}
		groupradio {
		    name	"sd_rampswitcher8"
		    label	"Float"

		    parm {
			name	"SmokeDensity_flt"
			label	"Lookup Ramp"
			type	ramp_flt
			default	{ "2" }
			disablewhen	"{ sd_name == \"\" } { sd_doramp == 0 }"
			range	{ 1! 10 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "rampbasis_var" "SmokeDensity_flt_the_basis_strings" }
			parmtag	{ "rampbasisdefault" "linear" }
			parmtag	{ "rampkeys_var" "SmokeDensity_flt_the_key_positions" }
			parmtag	{ "rampshowcontrolsdefault" "0" }
			parmtag	{ "rampvalues_var" "SmokeDensity_flt_the_key_values" }
			parmtag	{ "shaderparmcontexts" "surface" }
		    }
		}

		groupradio {
		    name	"sd_rampswitcher8_1"
		    label	"Color"

		    parm {
			name	"SmokeDensity_rgb"
			label	"Lookup Ramp"
			type	ramp_rgb
			default	{ "2" }
			disablewhen	"{ sd_name == \"\" } { sd_doramp == 0 }"
			range	{ 1! 10 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "rampbasis_var" "SmokeDensity_rgb_the_basis_strings" }
			parmtag	{ "rampbasisdefault" "linear" }
			parmtag	{ "rampcolortype" "rgb" }
			parmtag	{ "rampkeys_var" "SmokeDensity_rgb_the_key_positions" }
			parmtag	{ "rampshowcontrolsdefault" "0" }
			parmtag	{ "rampvalues_var" "SmokeDensity_rgb_the_key_values" }
			parmtag	{ "shaderparmcontexts" "surface" }
		    }
		}

		parm {
		    name	"sd_ramp_rngmin"
		    label	"Ramp Interval"
		    type	float
		    joinnext
		    default	{ "0" }
		    disablewhen	"{ sd_name == \"\" } { sd_doramp == 0 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "surface" }
		}
		parm {
		    name	"sd_ramp_rngmax"
		    label	"Ramp: Range Max"
		    type	float
		    nolabel
		    default	{ "1" }
		    disablewhen	"{ sd_name == \"\" } { sd_doramp == 0 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "surface" }
		}
		parm {
		    name	"sd_lbt"
		    label	"Ramp Boundaries"
		    type	string
		    joinnext
		    default	{ "hold" }
		    disablewhen	"{ sd_name == \"\" } { sd_doramp == 0 }"
		    menu	{
			"hold"	"Hold"
			"cycle"	"Cycle"
			"accum"	"Cycle-Accumulate"
			"mirror"	"Mirror"
			"slope"	"Slope"
		    }
		    range	{ 0 1 }
		    export	none
		    unquoted
		}
		parm {
		    name	"sd_rbt"
		    label	"Right"
		    type	string
		    nolabel
		    default	{ "hold" }
		    disablewhen	"{ sd_name == \"\" } { sd_doramp == 0 }"
		    menu	{
			"hold"	"Hold"
			"cycle"	"Cycle"
			"accum"	"Cycle-Accumulate"
			"mirror"	"Mirror"
			"slope"	"Slope"
		    }
		    range	{ 0 1 }
		    export	none
		    unquoted
		}
		parm {
		    name	"sd_spacer4"
		    label	"sd_spacer3"
		    type	label
		    nolabel
		    default	{ "" }
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"sd_docontour"
		    label	"Enable Contour"
		    type	toggle
		    nolabel
		    joinnext
		    default	{ "0" }
		    disablewhen	"{ sd_name == \"\" }"
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"sd_contour_width"
		    label	"Contour: Width"
		    type	float
		    joinnext
		    default	{ "0.02" }
		    disablewhen	"{ sd_name == \"\" } { sd_docontour == 0 }"
		    range	{ 0 0.1 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "surface" }
		}
		parm {
		    name	"sd_contour_sharp"
		    label	"Sharpness"
		    type	float
		    default	{ "4" }
		    disablewhen	"{ sd_name == \"\" } { sd_docontour == 0 }"
		    range	{ 0 10 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "surface" }
		}
		parm {
		    name	"sd_dosclip"
		    label	"Enable Soft Clip"
		    type	toggle
		    nolabel
		    joinnext
		    default	{ "0" }
		    disablewhen	"{ sd_name == \"\" }"
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"sd_sclip_start"
		    label	"SoftClip: Start"
		    type	float
		    joinnext
		    default	{ "0.8" }
		    disablewhen	"{ sd_name == \"\" } { sd_dosclip == 0 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "surface" }
		}
		parm {
		    name	"sd_sclip_suppress"
		    label	"  Suppress"
		    type	float
		    default	{ "1" }
		    disablewhen	"{ sd_name == \"\" } { sd_dosclip == 0 }"
		    range	{ 0 10 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "surface" }
		}
		parm {
		    name	"sd_spacer5"
		    label	"sd_spacer4"
		    type	label
		    nolabel
		    default	{ "" }
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"sd_dolowlimit"
		    label	"Enable Lower Limit"
		    type	toggle
		    nolabel
		    joinnext
		    default	{ "0" }
		    disablewhen	"{ sd_name == \"\" }"
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"sd_lowlimit"
		    label	"Clamp to Min"
		    type	float
		    default	{ "0" }
		    disablewhen	"{ sd_name == \"\" } { sd_dolowlimit == 0 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "surface" }
		}
		parm {
		    name	"sd_dohighlimit"
		    label	"Enable Upper Limit"
		    type	toggle
		    nolabel
		    joinnext
		    default	{ "0" }
		    disablewhen	"{ sd_name == \"\" }"
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"sd_highlimit"
		    label	"Clamp to Max"
		    type	float
		    default	{ "1" }
		    disablewhen	"{ sd_name == \"\" } { sd_dohighlimit == 0 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "surface" }
		}
		parm {
		    name	"sd_spacer6"
		    label	"sd_spacer5"
		    type	label
		    nolabel
		    default	{ "" }
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"sd_amp"
		    label	"Final Amplitude"
		    type	float
		    default	{ "1" }
		    range	{ 0 2 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "surface" }
		}
	    }

	    group {
		name	"sd_folder10_1"
		label	"Field Noise"

		parm {
		    name	"sd_active"
		    label	"Active"
		    type	toggle
		    default	{ "0" }
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"sd_ntype"
		    label	"Noise Output Type"
		    type	ordinal
		    joinnext
		    default	{ "0" }
		    disablewhen	"{ sd_active == 0 }"
		    menu	{
			[ "d3 = (\"default\", \"Float\", \"v3\", \"Vector\")" ]
			[ "d4 = (\"f4\", \"Float\", \"v4\", \"Vector\")" ]
			[ "return (d3,d4)[kwargs[\"node\"].evalParm(\"sd_dim4\")]" ]
			language	python
		    }
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"sd_dim4"
		    label	"Space"
		    type	ordinal
		    joinnext
		    default	{ "0" }
		    disablewhen	"{ sd_active == 0 }"
		    menu	{
			"0"	"3D"
			"1"	"4D"
		    }
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"sd_time"
		    label	"Time"
		    type	float
		    default	{ "0" }
		    disablewhen	"{ sd_active == 0 } { sd_dim4 == 0 }"
		    range	{ 0 10 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "surface" }
		}
		parm {
		    name	"sd_fieldop"
		    label	"Field Operation"
		    type	string
		    default	{ "add" }
		    disablewhen	"{ sd_active == 0 }"
		    menu	{
			"add"	"Offset (Field + Noise)"
			"mult"	"Scale (Field * Noise)"
		    }
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"sd_spacer7"
		    label	"sd_spacer6"
		    type	label
		    nolabel
		    default	{ "" }
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"sd_freq"
		    label	"Frequency"
		    type	float
		    size	4
		    default	{ "1" "1" "1" "1" }
		    disablewhen	"{ sd_active == 0 }"
		    range	{ 0 10 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "surface" }
		}
		parm {
		    name	"sd_offset"
		    label	"Offset"
		    type	float
		    size	4
		    default	{ "0" "0" "0" "0" }
		    disablewhen	"{ sd_active == 0 }"
		    range	{ 0 10 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "surface" }
		}
		parm {
		    name	"sd_period"
		    label	"Period"
		    type	float
		    size	4
		    default	{ "1" "1" "1" "1" }
		    disablewhen	"{ sd_active == 0 } { sd_basis != pperlin sd_basis != pflow }"
		    range	{ 0 10 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "surface" }
		}
		parm {
		    name	"sd_spacer8"
		    label	"sd_spacer7"
		    type	label
		    nolabel
		    default	{ "" }
		    range	{ 0 1 }
		    export	none
		}
		group {
		    name	"sd_folder12"
		    label	"Construction"

		    parm {
			name	"sd_basis"
			label	"Noise Type"
			type	string
			default	{ "simplex" }
			disablewhen	"{ sd_active == 0 }"
			menu	{
			    "sine"	"Sinusoid"
			    "perlin"	"Perlin"
			    "pperlin"	"Periodic Perlin"
			    "simplex"	"Simplex (Improved Perlin)"
			    "sparse"	"Sparse Convolution"
			    "flow"	"Flow"
			    "pflow"	"Periodic Flow"
			    "worleyFA"	"Worley (cellular) F1"
			    "worleyFB"	"Worley (cellular) F2-F1"
			    "alligator"	"Alligator"
			}
			range	{ 0 1 }
			export	none
			unquoted
		    }
		    parm {
			name	"sd_inv"
			label	"Complement"
			type	toggle
			default	{ "off" }
			disablewhen	"{ sd_active == 0 }"
			range	{ 0 1 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "surface" }
		    }
		    parm {
			name	"sd_fold"
			label	"Fold"
			type	toggle
			default	{ "off" }
			disablewhen	"{ sd_active == 0 }"
			range	{ 0 1 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "surface" }
		    }
		    parm {
			name	"sd_expon"
			label	"Exponent"
			type	float
			default	{ "1" }
			disablewhen	"{ sd_active == 0 }"
			range	{ 0 2 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "surface" }
		    }
		    parm {
			name	"sd_dolwarp"
			label	"Enable Lattice Warp"
			type	toggle
			nolabel
			joinnext
			default	{ "off" }
			disablewhen	"{ sd_active == 0 }"
			range	{ 0 1 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "surface" }
		    }
		    parm {
			name	"sd_disp"
			label	"Lattice Warp"
			type	float
			joinnext
			default	{ "0" }
			disablewhen	"{ sd_active == 0 } { sd_dolwarp == 0 }"
			range	{ -0.5 0.5 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "surface" }
		    }
		    parm {
			name	"sd_dispfreq"
			label	"Freq"
			type	float
			default	{ "1" }
			disablewhen	"{ sd_active == 0 } { sd_dolwarp == 0 }"
			range	{ 0 1 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "surface" }
		    }
		    parm {
			name	"sd_dogwarp"
			label	"Enable Gradient Warp"
			type	toggle
			nolabel
			joinnext
			default	{ "off" }
			disablewhen	"{ sd_active == 0 }"
			range	{ 0 1 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "surface" }
		    }
		    parm {
			name	"sd_gflow"
			label	"Gradient Warp"
			type	float
			default	{ "0" }
			disablewhen	"{ sd_active == 0 } { sd_dogwarp == 0 }"
			range	{ -0.5 0.5 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "surface" }
		    }
		    parm {
			name	"sd_flowrot"
			label	"Flow Rotation"
			type	float
			default	{ "0" }
			disablewhen	"{ sd_active == 0 } { sd_basis != flow sd_basis != pflow }"
			range	{ 0 10 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "surface" }
		    }
		    parm {
			name	"sd_spacer9"
			label	"sd_spacer8"
			type	label
			nolabel
			default	{ "" }
			range	{ 0 1 }
			export	none
		    }
		    parm {
			name	"sd_fractal"
			label	"Fractal Type"
			type	string
			default	{ "none" }
			disablewhen	"{ sd_active == 0 }"
			menu	{
			    "none"	"None"
			    "fBm"	"Standard (fBm)"
			    "mfT"	"Terrain"
			    "hmfT"	"Hybrid Terrain"
			}
			range	{ 0 1 }
			export	none
			unquoted
		    }
		    parm {
			name	"sd_accuml"
			label	"Accumulate Lattice Warp"
			type	toggle
			default	{ "off" }
			disablewhen	"{ sd_active == 0 } { sd_fractal == none }"
			range	{ 0 1 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "surface" }
		    }
		    parm {
			name	"sd_accumg"
			label	"Accumulate Gradient Warp"
			type	toggle
			default	{ "off" }
			disablewhen	"{ sd_active == 0 } { sd_fractal == none }"
			range	{ 0 1 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "surface" }
		    }
		    parm {
			name	"sd_oct"
			label	"Max Octaves"
			type	float
			default	{ "8" }
			disablewhen	"{ sd_active == 0 } { sd_fractal == none }"
			range	{ 0 16 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "surface" }
		    }
		    parm {
			name	"sd_lac"
			label	"Lacunarity"
			type	float
			default	{ "2.01234" }
			disablewhen	"{ sd_active == 0 } { sd_fractal == none }"
			range	{ 0 4 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "surface" }
		    }
		    parm {
			name	"sd_rough"
			label	"Roughness"
			type	float
			default	{ "0.5" }
			disablewhen	"{ sd_active == 0 } { sd_fractal == none }"
			range	{ 0 1 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "surface" }
		    }
		}

		group {
		    name	"sd_folder12_1"
		    label	"Output"

		    parm {
			name	"sd_docc"
			label	"Enable Output Correction"
			type	toggle
			default	{ "on" }
			disablewhen	"{ sd_active == 0 }"
			range	{ 0 1 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "surface" }
		    }
		    parm {
			name	"sd_spacer10"
			label	"sd_spacer9"
			type	label
			nolabel
			default	{ "" }
			range	{ 0 1 }
			export	none
		    }
		    parm {
			name	"sd_cc_dobias"
			label	"Do Bias"
			type	toggle
			nolabel
			joinnext
			default	{ "off" }
			disablewhen	"{ sd_active == 0 } { sd_docc == 0 }"
			range	{ 0 1 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "surface" }
		    }
		    parm {
			name	"sd_cc_bias"
			label	"Bias"
			type	float
			size	3
			default	{ "0.5" "0.5" "0.5" }
			disablewhen	"{ sd_active == 0 } { sd_docc == 0 } { sd_cc_dobias == 0 }"
			range	{ 0 10 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "surface" }
		    }
		    parm {
			name	"sd_cc_dogain"
			label	"Do Gain"
			type	toggle
			nolabel
			joinnext
			default	{ "off" }
			disablewhen	"{ sd_active == 0 } { sd_docc == 0 }"
			range	{ 0 1 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "surface" }
		    }
		    parm {
			name	"sd_cc_gain"
			label	"Gain"
			type	float
			size	3
			default	{ "0.5" "0.5" "0.5" }
			disablewhen	"{ sd_active == 0 } { sd_docc == 0 } { sd_cc_dogain == 0 }"
			range	{ 0 10 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "surface" }
		    }
		    parm {
			name	"sd_spacer11"
			label	"sd_spacer10"
			type	label
			nolabel
			default	{ "" }
			range	{ 0 1 }
			export	none
		    }
		    parm {
			name	"sd_cc_inv"
			label	"Complement"
			type	toggle
			default	{ "off" }
			disablewhen	"{ sd_active == 0 } { sd_docc == 0 }"
			range	{ 0 1 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "surface" }
		    }
		    parm {
			name	"sd_spacer12"
			label	"sd_spacer11"
			type	label
			nolabel
			default	{ "" }
			range	{ 0 1 }
			export	none
		    }
		    parm {
			name	"sd_cc_dorng"
			label	"Output Range (Clamped)"
			type	toggle
			default	{ "on" }
			disablewhen	"{ sd_active == 0 } { sd_docc == 0 }"
			range	{ 0 1 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "surface" }
		    }
		    parm {
			name	"sd_cc_rnglo"
			label	"New Minimum"
			type	float
			size	3
			default	{ "-1" "-1" "-1" }
			disablewhen	"{ sd_active == 0 } { sd_docc == 0 } { sd_cc_dorng == 0 }"
			range	{ 0 10 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "surface" }
		    }
		    parm {
			name	"sd_cc_rnghi"
			label	"New Maximum"
			type	float
			size	3
			default	{ "1" "1" "1" }
			disablewhen	"{ sd_active == 0 } { sd_docc == 0 } { sd_cc_dorng == 0 }"
			range	{ 0 10 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "surface" }
		    }
		    parm {
			name	"sd_spacer13"
			label	"sd_spacer12"
			type	label
			nolabel
			default	{ "" }
			range	{ 0 1 }
			export	none
		    }
		    parm {
			name	"sd_cc_amp"
			label	"Final Amplitude"
			type	float
			size	3
			default	{ "1" "1" "1" }
			disablewhen	"{ sd_active == 0 } { sd_docc == 0 }"
			range	{ 0 10 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "surface" }
		    }
		}

		group {
		    name	"sd_folder12_2"
		    label	"Rest Position"

		    group {
			name	"sd_folder15"
			label	"Fields"

			parm {
			    name	"sd_spacer14"
			    label	"sd_spacer13"
			    type	label
			    nolabel
			    default	{ "" }
			    range	{ 0 1 }
			    export	none
			}
			parm {
			    name	"sd_restinterp"
			    label	"Ratio Interpolation"
			    type	integer
			    default	{ "0" }
			    menu	{
				"0"	"Unmodified (Linear)"
				"1"	"Cubic"
				"2"	"Cosine"
			    }
			    range	{ 0 10 }
			    export	none
			    parmtag	{ "parmvop" "1" }
			    parmtag	{ "shaderparmcontexts" "surface" }
			}
			parm {
			    name	"sd_spacer15"
			    label	"sd_spacer14"
			    type	label
			    nolabel
			    default	{ "" }
			    range	{ 0 1 }
			    export	none
			}
			parm {
			    name	"sd_rest_name"
			    label	"Rest Position 1"
			    type	string
			    joinnext
			    default	{ "rest" }
			    range	{ 0 1 }
			    export	none
			}
			parm {
			    name	"sd_rest_intype"
			    label	"Type"
			    type	string
			    default	{ "vector" }
			    disablewhen	"{ sd_rest_name == \"\" }"
			    menu	{
				"float"	"Float"
				"vector"	"Vector"
				"vector4"	"Vector4"
			    }
			    range	{ 0 1 }
			    export	none
			    unquoted
			    parmtag	{ "script_callback" "if not kwargs['node'].isInsideLockedHDA():kwargs['node'].parm('sd_rest_method').set('assign')" }
			    parmtag	{ "script_callback_language" "python" }
			}
			parm {
			    name	"sd_rest_method"
			    label	"Conversion to Vector"
			    type	string
			    joinnext
			    default	{ "assign" }
			    disablewhen	"{ sd_rest_name == \"\" } { sd_rest_intype == vector }"
			    menu	{
				[ "hou.vopNodeTypeCategory().nodeTypes()['typeconvertimpl'].hdaModule().methodmenu(hou.evalParm('sd_rest_intype'),'vector')" ]
				language	python
			    }
			    range	{ 0 1 }
			    export	none
			}
			parm {
			    name	"sd_rest_padval"
			    label	"Padding Constant"
			    type	float
			    nolabel
			    default	{ "0" }
			    disablewhen	"{ sd_rest_name == \"\" } { rest_promote == 0 } { sd_rest_method != padc }"
			    range	{ 0 1 }
			    export	none
			}
			parm {
			    name	"sd_rest_ratio_name"
			    label	"Rest1 Ratio"
			    type	string
			    joinnext
			    default	{ "rest_ratio" }
			    range	{ 0 1 }
			    export	none
			}
			parm {
			    name	"sd_rest_ratio_intype"
			    label	"Type"
			    type	string
			    default	{ "float" }
			    disablewhen	"{ sd_rest_ratio_name == \"\" }"
			    menu	{
				"float"	"Float"
				"vector"	"Vector"
				"vector4"	"Vector4"
			    }
			    range	{ 0 1 }
			    export	none
			    unquoted
			    parmtag	{ "script_callback" "if not kwargs['node'].isInsideLockedHDA():kwargs['node'].parm('sd_rest_ratio_method').set('assign')" }
			    parmtag	{ "script_callback_language" "python" }
			}
			parm {
			    name	"sd_rest_ratio_method"
			    label	"Conversion to Float"
			    type	string
			    default	{ "assign" }
			    disablewhen	"{ sd_rest_ratio_name == \"\" } { sd_rest_ratio_intype == float }"
			    menu	{
				[ "hou.vopNodeTypeCategory().nodeTypes()['typeconvertimpl'].hdaModule().methodmenu(hou.evalParm('sd_rest_ratio_intype'),'float')" ]
				language	python
			    }
			    range	{ 0 1 }
			    export	none
			}
			parm {
			    name	"sd_rest2_name"
			    label	"Rest Position 2"
			    type	string
			    joinnext
			    default	{ "rest2" }
			    range	{ 0 1 }
			    export	none
			}
			parm {
			    name	"sd_rest2_intype"
			    label	"Type"
			    type	string
			    default	{ "vector" }
			    disablewhen	"{ sd_rest2_name == \"\" }"
			    menu	{
				"float"	"Float"
				"vector"	"Vector"
				"vector4"	"Vector4"
			    }
			    range	{ 0 1 }
			    export	none
			    unquoted
			    parmtag	{ "script_callback" "if not kwargs['node'].isInsideLockedHDA():kwargs['node'].parm('sd_rest2_method').set('assign')" }
			    parmtag	{ "script_callback_language" "python" }
			}
			parm {
			    name	"sd_rest2_method"
			    label	"Conversion to Vector"
			    type	string
			    joinnext
			    default	{ "assign" }
			    disablewhen	"{ sd_rest2_name == \"\" } { sd_rest2_intype == vector }"
			    menu	{
				[ "hou.vopNodeTypeCategory().nodeTypes()['typeconvertimpl'].hdaModule().methodmenu(hou.evalParm('sd_rest2_intype'),'vector')" ]
				language	python
			    }
			    range	{ 0 1 }
			    export	none
			}
			parm {
			    name	"sd_rest2_padval"
			    label	"Padding Constant"
			    type	float
			    nolabel
			    default	{ "0" }
			    disablewhen	"{ sd_rest2_name == \"\" } { rest2_promote == 0 } { sd_rest2_method != padc }"
			    range	{ 0 1 }
			    export	none
			}
			parm {
			    name	"sd_rest2_ratio_name"
			    label	"Rest2 Ratio"
			    type	string
			    joinnext
			    default	{ "rest2_ratio" }
			    range	{ 0 1 }
			    export	none
			}
			parm {
			    name	"sd_rest2_ratio_intype"
			    label	"Type"
			    type	string
			    default	{ "float" }
			    disablewhen	"{ sd_rest2_ratio_name == \"\" }"
			    menu	{
				"float"	"Float"
				"vector"	"Vector"
				"vector4"	"Vector4"
			    }
			    range	{ 0 1 }
			    export	none
			    unquoted
			    parmtag	{ "script_callback" "if not kwargs['node'].isInsideLockedHDA():kwargs['node'].parm('sd_rest2_ratio_method').set('assign')" }
			    parmtag	{ "script_callback_language" "python" }
			}
			parm {
			    name	"sd_rest2_ratio_method"
			    label	"Conversion to Float"
			    type	string
			    default	{ "assign" }
			    disablewhen	"{ sd_rest2_ratio_name == \"\" } { sd_rest2_ratio_intype == float }"
			    menu	{
				[ "hou.vopNodeTypeCategory().nodeTypes()['typeconvertimpl'].hdaModule().methodmenu(hou.evalParm('sd_rest2_ratio_intype'),'float')" ]
				language	python
			    }
			    range	{ 0 1 }
			    export	none
			}
		    }

		    group {
			name	"sd_folder15_1"
			label	"Fallback"

			parm {
			    name	"sd_spacer16"
			    label	"sd_spacer15"
			    type	label
			    nolabel
			    default	{ "" }
			    range	{ 0 1 }
			    export	none
			}
			parm {
			    name	"sd_fallback_label"
			    label	"fallback_label"
			    type	label
			    nolabel
			    default	{ "Fallback Rest Position Upon Failure (VEX):" }
			    range	{ 0 1 }
			    export	none
			}
			parm {
			    name	"sd_spacer17"
			    label	"sd_spacer16"
			    type	label
			    nolabel
			    default	{ "" }
			    range	{ 0 1 }
			    export	none
			}
			parm {
			    name	"sd_fail_shading"
			    label	"SHADING Contexts"
			    type	string
			    default	{ "ptransform(\"space:object\",P)" }
			    range	{ 0 1 }
			    export	none
			    unquoted
			}
			parm {
			    name	"sd_fail_cop"
			    label	"COP|COP2 Contexts"
			    type	string
			    default	{ "set(X,Y,0)" }
			    range	{ 0 1 }
			    export	none
			    unquoted
			}
			parm {
			    name	"sd_fail_sop"
			    label	"SOP|POP Contexts"
			    type	string
			    default	{ "P" }
			    range	{ 0 1 }
			    export	none
			    unquoted
			}
			parm {
			    name	"sd_fail_chop"
			    label	"CHOP Context"
			    type	string
			    default	{ "set((float)I/SR,V,0)" }
			    range	{ 0 1 }
			    export	none
			    unquoted
			}
			parm {
			    name	"sd_fail_cvex"
			    label	"CVEX Context"
			    type	string
			    default	{ "0" }
			    range	{ 0 1 }
			    export	none
			    unquoted
			}
			parm {
			    name	"sd_fail_fail"
			    label	"Unknown Context"
			    type	string
			    default	{ "0" }
			    range	{ 0 1 }
			    export	none
			    unquoted
			}
		    }

		}

	    }

	}

	group {
	    name	"sd_folder8_1"
	    label	"Color"

	    parm {
		name	"sc_fld_name"
		label	"Field Name"
		type	string
		joinnext
		default	{ "" }
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"sc_fld_intype"
		label	"Type"
		type	string
		default	{ "float" }
		menu	{
		    "float"	"Float"
		    "vector"	"Vector"
		    "vector4"	"Vector4"
		}
		range	{ 0 1 }
		export	none
		unquoted
		parmtag	{ "script_callback" "__import__('pyro2').updateField(kwargs,'sc_fld_intype','sc_fld_promote','sc_fld_method','sc_fld_outtype','SmokeColor_Field_flt')" }
		parmtag	{ "script_callback_language" "python" }
	    }
	    parm {
		name	"sc_fld_promote"
		label	"Promote"
		type	toggle
		joinnext
		default	{ "0" }
		disablewhen	"{ sc_fld_name == \"\" }"
		range	{ 0 1 }
		export	none
		parmtag	{ "script_callback" "__import__('pyro2').updateField(kwargs,'sc_fld_intype','sc_fld_promote','sc_fld_method','sc_fld_outtype','SmokeColor_Field_flt')" }
		parmtag	{ "script_callback_language" "python" }
	    }
	    parm {
		name	"sc_fld_outtype"
		label	"To Type"
		type	string
		joinnext
		default	{ "float" }
		disablewhen	"{ sc_fld_name == \"\" } { sc_fld_promote == 0 }"
		menu	{
		    "float"	"Float"
		    "vector"	"Vector"
		    "vector4"	"Vector4"
		}
		range	{ 0 1 }
		export	none
		unquoted
		parmtag	{ "script_callback" "__import__('pyro2').updateField(kwargs,'sc_fld_intype','sc_fld_promote','sc_fld_method','sc_fld_outtype','SmokeColor_Field_flt')" }
		parmtag	{ "script_callback_language" "python" }
	    }
	    parm {
		name	"sc_fld_method"
		label	"Method"
		type	string
		nolabel
		joinnext
		default	{ "assign" }
		disablewhen	"{ sc_fld_name == \"\" } { sc_fld_doconvert == 0 }"
		menu	{
		    [ "hou.vopNodeTypeCategory().nodeTypes()['typeconvertimpl'].hdaModule().methodmenu(hou.evalParm('sc_fld_intype'),hou.evalParm('sc_fld_outtype'))" ]
		    language	python
		}
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"sc_fld_padval"
		label	"Padding Constant"
		type	float
		nolabel
		default	{ "0" }
		disablewhen	"{ sc_fld_name == \"\" } { sc_fld_promote == 0 } { sc_fld_method != padc }"
		range	{ 0 1 }
		export	none
		parmtag	{ "parmvop" "1" }
		parmtag	{ "shaderparmcontexts" "surface" }
	    }
	    parm {
		name	"sc_fld_dfltval"
		label	"Default Field Value"
		type	float
		size	4
		default	{ "1" "1" "1" "1" }
		disablewhen	"{ sc_fld_name != \"\" }"
		range	{ 0 10 }
		export	none
		parmtag	{ "parmvop" "1" }
		parmtag	{ "shaderparmcontexts" "surface" }
	    }
	    parm {
		name	"sc_fld_doconvert"
		label	"doconvert"
		type	integer
		invisible
		default	{ "0" }
		range	{ 0 10 }
		export	none
		parmtag	{ "pyro_expression" "evalParm('sc_fld_promote') and evalParm('sc_fld_intype') != evalParm('sc_fld_outtype')" }
		parmtag	{ "pyro_expression_language" "python" }
	    }
	    parm {
		name	"sc_spacer"
		label	"spacer"
		type	label
		nolabel
		default	{ "" }
		range	{ 0 1 }
		export	none
	    }
	    group {
		name	"sc_folder12"
		label	"Color"

		parm {
		    name	"sc_cm_usecd"
		    label	"Use Point Color (Tint With Cd)"
		    type	toggle
		    default	{ "on" }
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "surface" }
		}
		parm {
		    name	"sc_cm_cmodel"
		    label	"Color Model"
		    type	integer
		    invisible
		    default	{ "__import__('pyro2').uiGetRadioValue(node('.'),'sc_cm_constcol')" }
		    menu	{
			"0"	"Constant Color"
			"1"	"Ramp Lookup"
			"2"	"Blackbody"
		    }
		    range	{ 0 10 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "surface" }
		}
		groupradio {
		    name	"sc_cmodelswitcher9"
		    label	"Constant"

		    parm {
			name	"sc_spacer2"
			label	"sc_spacer"
			type	label
			nolabel
			default	{ "" }
			range	{ 0 1 }
			export	none
		    }
		    parm {
			name	"sc_cm_constcol"
			label	"Constant Color"
			type	color
			size	3
			default	{ "1" "1" "1" }
			disablewhen	"{ sc_cm_cmodel != 0 }"
			range	{ 0 1 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "surface" }
		    }
		    parm {
			name	"sc_spacer3"
			label	"sc_spacer2"
			type	label
			nolabel
			default	{ "" }
			range	{ 0 1 }
			export	none
		    }
		}

		groupradio {
		    name	"sc_cmodelswitcher9_1"
		    label	"Artistic"

		    parm {
			name	"sc_spacer4"
			label	"sc_spacer3"
			type	label
			nolabel
			default	{ "" }
			range	{ 0 1 }
			export	none
		    }
		    parm {
			name	"sc_cm_presets"
			label	"Presets"
			type	ordinal
			nolabel
			joinnext
			default	{ "0" }
			menu	{
			    [ "__import__('pyro2').rampPresetMenu(kwargs,'SmokeColor_Color',False)" ]
			    language	python
			}
			range	{ 0 1 }
			export	none
			parmtag	{ "script_callback" "__import__('pyro2').rampPresetCB(kwargs,'SmokeColor_Color',False)" }
			parmtag	{ "script_callback_language" "python" }
		    }
		    parm {
			name	"sc_cm_spacename"
			label	" Space"
			type	string
			nolabel
			joinnext
			default	{ "rgb" }
			menu	{
			    "rgb"	"RGB"
			    "hsv"	"HSV"
			    "lab"	"LAB"
			    "hsl"	"HSL"
			    "xyz"	"XYZ"
			}
			range	{ 0 1 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "surface" }
		    }
		    parm {
			name	"sc_cm_gammaname"
			label	"Gamma Type"
			type	string
			nolabel
			joinnext
			default	{ "linear" }
			menu	{
			    "linear"	"Linear"
			    "srgb"	"sRGB"
			    "custom"	"Custom"
			}
			range	{ 0 1 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "surface" }
		    }
		    parm {
			name	"sc_cm_gammaval"
			label	"Gamma Value"
			type	float
			nolabel
			default	{ "2.2" }
			disablewhen	"{ sc_cm_gammaname != custom }"
			range	{ 0.0001 4 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "surface" }
		    }
		    parm {
			name	"SmokeColor_Color"
			label	"Lookup Ramp"
			type	ramp_rgb
			default	{ "2" }
			range	{ 1! 10 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "rampbasis_var" "SmokeColor_Color_the_basis_strings" }
			parmtag	{ "rampbasisdefault" "linear" }
			parmtag	{ "rampcolortype" "rgb" }
			parmtag	{ "rampkeys_var" "SmokeColor_Color_the_key_positions" }
			parmtag	{ "rampshowcontrolsdefault" "0" }
			parmtag	{ "rampvalues_var" "SmokeColor_Color_the_key_values" }
			parmtag	{ "shaderparmcontexts" "surface" }
		    }
		    parm {
			name	"sc_cm_rangemin"
			label	"Ramp Interval"
			type	float
			joinnext
			default	{ "0" }
			range	{ 0 1 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "surface" }
		    }
		    parm {
			name	"sc_cm_rangemax"
			label	"Ramp: Range Max"
			type	float
			nolabel
			default	{ "1" }
			range	{ 0 1 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "surface" }
		    }
		    parm {
			name	"sc_cm_lbt"
			label	"Ramp Boundaries"
			type	string
			joinnext
			default	{ "hold" }
			menu	{
			    "hold"	"Hold"
			    "cycle"	"Cycle"
			    "accum"	"Cycle-Accumulate"
			    "mirror"	"Mirror"
			    "slope"	"Slope"
			}
			range	{ 0 1 }
			export	none
			unquoted
		    }
		    parm {
			name	"sc_cm_rbt"
			label	"Right"
			type	string
			nolabel
			default	{ "hold" }
			menu	{
			    "hold"	"Hold"
			    "cycle"	"Cycle"
			    "accum"	"Cycle-Accumulate"
			    "mirror"	"Mirror"
			    "slope"	"Slope"
			}
			range	{ 0 1 }
			export	none
			unquoted
		    }
		    parm {
			name	"sc_spacer5"
			label	"sc_spacer4"
			type	label
			nolabel
			default	{ "" }
			range	{ 0 1 }
			export	none
		    }
		}

		groupradio {
		    name	"sc_cmodelswitcher9_2"
		    label	"Physical"

		    group {
			name	"sc_folder15"
			label	"Definition"

			parm {
			    name	"sc_spacer6"
			    label	"sc_spacer5"
			    type	label
			    nolabel
			    default	{ "" }
			    range	{ 0 1 }
			    export	none
			}
			parm {
			    name	"sc_cm_temp"
			    label	"Temperature (K)"
			    type	float
			    default	{ "5000" }
			    range	{ 350 15000 }
			    export	none
			    parmtag	{ "parmvop" "1" }
			    parmtag	{ "shaderparmcontexts" "surface" }
			}
			parm {
			    name	"sc_spacer7"
			    label	"sc_spacer6"
			    type	label
			    nolabel
			    default	{ "" }
			    range	{ 0 1 }
			    export	none
			}
			parm {
			    name	"sc_cm_dotm"
			    label	"Tone Mapping:"
			    type	toggle
			    joinnext
			    default	{ "on" }
			    range	{ 0 1 }
			    export	none
			    parmtag	{ "parmvop" "1" }
			    parmtag	{ "shaderparmcontexts" "surface" }
			}
			parm {
			    name	"sc_spacer8"
			    label	"sc_spacer7"
			    type	label
			    nolabel
			    default	{ "" }
			    range	{ 0 1 }
			    export	none
			}
			parm {
			    name	"sc_cm_tm_adapt"
			    label	"Adaptation"
			    type	float
			    default	{ "0.18" }
			    disablewhen	"{ dotm == 0 }"
			    range	{ 0 1 }
			    export	none
			    parmtag	{ "parmvop" "1" }
			    parmtag	{ "shaderparmcontexts" "surface" }
			}
			parm {
			    name	"sc_cm_tm_burn"
			    label	"Burn"
			    type	float
			    default	{ "0" }
			    disablewhen	"{ dotm == 0 }"
			    range	{ -2 2 }
			    export	none
			    parmtag	{ "parmvop" "1" }
			    parmtag	{ "shaderparmcontexts" "surface" }
			}
			parm {
			    name	"sc_spacer9"
			    label	"sc_spacer8"
			    type	label
			    nolabel
			    default	{ "" }
			    range	{ 0 1 }
			    export	none
			}
		    }

		    group {
			name	"sc_folder15_1"
			label	"Export To Ramp(s)"

			parm {
			    name	"sc_cm_export"
			    label	"Export"
			    type	button
			    joinnext
			    default	{ "0" }
			    range	{ 0 1 }
			    export	none
			    parmtag	{ "script_callback" "__import__('pyro2').blackbodyRampsCB(kwargs,\"sc_cm_xpcol\",\"sc_cm_xpchr\",\"sc_cm_xpval\",\"sc_cm_xthresh\",\"sc_cm_xinterp\",\"sc_cm_xtemp1\",\"sc_cm_xtemp2\",\"sc_cm_dotm\",\"sc_cm_tm_adapt\",\"sc_cm_tm_burn\")" }
			    parmtag	{ "script_callback_language" "python" }
			}
			parm {
			    name	"sc_spacer10"
			    label	"sc_spacer9"
			    type	label
			    nolabel
			    default	{ "" }
			    range	{ 0 1 }
			    export	none
			}
			parm {
			    name	"sc_cm_xtemp1"
			    label	"Temperature Range"
			    type	float
			    joinnext
			    default	{ "0" }
			    range	{ 0! 1000 }
			    export	none
			}
			parm {
			    name	"sc_cm_xtemp2"
			    label	"Temperature End"
			    type	float
			    nolabel
			    default	{ "5000" }
			    range	{ 1000! 10000 }
			    export	none
			}
			parm {
			    name	"sc_cm_xthresh"
			    label	"Fitting Error"
			    type	float
			    default	{ "0.005" }
			    range	{ 1e-09! 0.1 }
			    export	none
			}
			parm {
			    name	"sc_cm_xinterp"
			    label	"Interpolation"
			    type	ordinal
			    default	{ "1" }
			    menu	{
				"constant"	"Constant"
				"linear"	"Linear"
				"catmull-rom"	"Catmull-Rom"
				"monotonecubic"	"Monotone Cubic"
			    }
			    range	{ 0 1 }
			    export	none
			}
			parm {
			    name	"sc_spacer11"
			    label	"sc_spacer10"
			    type	label
			    nolabel
			    default	{ "" }
			    range	{ 0 1 }
			    export	none
			}
			parm {
			    name	"sc_cm_xpcol"
			    label	"Final Color Ramp"
			    type	string
			    default	{ "SmokeColor_Color" }
			    range	{ 0 1 }
			    export	none
			}
			parm {
			    name	"sc_cm_xpchr"
			    label	"Chromaticity Ramp"
			    type	string
			    default	{ "" }
			    range	{ 0 1 }
			    export	none
			}
			parm {
			    name	"sc_cm_xpval"
			    label	"Intensity Ramp"
			    type	string
			    default	{ "" }
			    range	{ 0 1 }
			    export	none
			}
		    }

		}

		parm {
		    name	"sc_cm_cc_active"
		    label	"Color Correct"
		    type	toggle
		    default	{ "0" }
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "script_callback_language" "python" }
		}
		parm {
		    name	"sc_cm_cc_gamut"
		    label	"Gamut Mapping"
		    type	integer
		    default	{ "3" }
		    disablewhen	"{ sc_cm_cc_active == 0 }"
		    menu	{
			"0"	"None"
			"1"	"Clamp"
			"2"	"Absolute Colorimetry"
			"3"	"Relative Colorimetry"
		    }
		    range	{ 0 10 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "surface" }
		}
		parm {
		    name	"sc_cm_cc_dohrot"
		    label	"Do HRot"
		    type	toggle
		    nolabel
		    joinnext
		    default	{ "off" }
		    disablewhen	"{ sc_cm_cc_active == 0 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "surface" }
		}
		parm {
		    name	"sc_cm_cc_hrot"
		    label	"Hue Rotation"
		    type	float
		    default	{ "0" }
		    disablewhen	"{ sc_cm_cc_dohrot == 0 } { sc_cm_cc_active == 0 }"
		    range	{ -1 1 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "surface" }
		}
		parm {
		    name	"sc_cm_cc_dobias"
		    label	"Do Bias"
		    type	toggle
		    nolabel
		    joinnext
		    default	{ "off" }
		    disablewhen	"{ sc_cm_cc_active == 0 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "surface" }
		}
		parm {
		    name	"sc_cm_cc_bias"
		    label	"Bias"
		    type	float
		    size	3
		    default	{ "0.5" "0.5" "0.5" }
		    disablewhen	"{ sc_cm_cc_dobias == 0 } { sc_cm_cc_active == 0 }"
		    range	{ 0 10 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "surface" }
		}
		parm {
		    name	"sc_cm_cc_dogain"
		    label	"Do Gain"
		    type	toggle
		    nolabel
		    joinnext
		    default	{ "off" }
		    disablewhen	"{ sc_cm_cc_active == 0 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "surface" }
		}
		parm {
		    name	"sc_cm_cc_gain"
		    label	"Gain"
		    type	float
		    size	3
		    default	{ "0.5" "0.5" "0.5" }
		    disablewhen	"{ sc_cm_cc_dogain == 0 } { sc_cm_cc_active == 0 }"
		    range	{ 0 10 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "surface" }
		}
		parm {
		    name	"sc_cm_cc_dogamma"
		    label	"Do Gamma"
		    type	toggle
		    nolabel
		    joinnext
		    default	{ "off" }
		    disablewhen	"{ sc_cm_cc_active == 0 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "surface" }
		}
		parm {
		    name	"sc_cm_cc_gamma"
		    label	"Gamma"
		    type	float
		    size	3
		    default	{ "1" "1" "1" }
		    disablewhen	"{ sc_cm_cc_dogamma == 0 } { sc_cm_cc_active == 0 }"
		    range	{ 0 10 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "surface" }
		}
		parm {
		    name	"sc_cm_cc_docontrast"
		    label	"Do Contrast"
		    type	toggle
		    nolabel
		    joinnext
		    default	{ "off" }
		    disablewhen	"{ sc_cm_cc_active == 0 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "surface" }
		}
		parm {
		    name	"sc_cm_cc_contrast"
		    label	"Contrast"
		    type	float
		    size	3
		    default	{ "1" "1" "1" }
		    disablewhen	"{ sc_cm_cc_docontrast == 0 } { sc_cm_cc_active == 0 }"
		    range	{ 0 10 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "surface" }
		}
		parm {
		    name	"sc_cm_cc_dosat"
		    label	"Do Saturation"
		    type	toggle
		    nolabel
		    joinnext
		    default	{ "off" }
		    disablewhen	"{ sc_cm_cc_active == 0 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "surface" }
		}
		parm {
		    name	"sc_cm_cc_sat"
		    label	"Saturation"
		    type	float
		    default	{ "1" }
		    disablewhen	"{ sc_cm_cc_dosat == 0 } { sc_cm_cc_active == 0 }"
		    range	{ -2 2 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "surface" }
		}
		parm {
		    name	"sc_cm_cc_dovalue"
		    label	"Do Brightness"
		    type	toggle
		    nolabel
		    joinnext
		    default	{ "off" }
		    disablewhen	"{ sc_cm_cc_active == 0 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "surface" }
		}
		parm {
		    name	"sc_cm_cc_value"
		    label	"Brightness"
		    type	float
		    default	{ "1" }
		    disablewhen	"{ sc_cm_cc_dovalue == 0 } { sc_cm_cc_active == 0 }"
		    range	{ 0 2 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "surface" }
		}
		parm {
		    name	"sc_cm_cc_dotint"
		    label	"Do Tint"
		    type	toggle
		    nolabel
		    joinnext
		    default	{ "off" }
		    disablewhen	"{ sc_cm_cc_active == 0 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "surface" }
		}
		parm {
		    name	"sc_cm_cc_tint"
		    label	"Tint"
		    type	color
		    size	3
		    default	{ "1" "1" "1" }
		    disablewhen	"{ sc_cm_cc_dotint == 0 } { sc_cm_cc_active == 0 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "surface" }
		}
	    }

	    group {
		name	"sc_folder12_1"
		label	"Field Shape"

		parm {
		    name	"sc_fld_dofit"
		    label	"Fit to Range (Unclamped)"
		    type	toggle
		    joinnext
		    default	{ "0" }
		    disablewhen	"{ sc_fld_name == \"\" }"
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"sc_spacer12"
		    label	"sc_spacer11"
		    type	label
		    nolabel
		    default	{ "" }
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"sc_fld_fit_srcmin"
		    label	"Source Range"
		    type	float
		    joinnext
		    default	{ "0" }
		    disablewhen	"{ sc_fld_name == \"\" } { sc_fld_dofit == 0 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "surface" }
		}
		parm {
		    name	"sc_fld_fit_srcmax"
		    label	"Max"
		    type	float
		    nolabel
		    default	{ "1" }
		    disablewhen	"{ sc_fld_name == \"\" } { sc_fld_dofit == 0 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "surface" }
		}
		parm {
		    name	"sc_fld_fit_tgtmin"
		    label	"Target Range"
		    type	float
		    joinnext
		    default	{ "0" }
		    disablewhen	"{ sc_fld_name == \"\" } { sc_fld_dofit == 0 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "surface" }
		}
		parm {
		    name	"sc_fld_fit_tgtmax"
		    label	"Max"
		    type	float
		    nolabel
		    default	{ "1" }
		    disablewhen	"{ sc_fld_name == \"\" } { sc_fld_dofit == 0 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "surface" }
		}
		parm {
		    name	"sc_spacer13"
		    label	"sc_spacer12"
		    type	label
		    nolabel
		    default	{ "" }
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"sc_fld_doramp"
		    label	"Ramp"
		    type	toggle
		    joinnext
		    default	{ "0" }
		    disablewhen	"{ sc_fld_name == \"\" }"
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"sc_fld_presets"
		    label	"Presets"
		    type	ordinal
		    nolabel
		    joinnext
		    default	{ "0" }
		    disablewhen	"{ sc_fld_name == \"\" } { sc_fld_doramp == 0 }"
		    menu	{
			[ "__import__('pyro2').rampPresetMenu(kwargs,'SmokeColor_Field',True)" ]
			language	python
		    }
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "script_callback" "__import__('pyro2').rampPresetCB(kwargs,'SmokeColor_Field',True)" }
		    parmtag	{ "script_callback_language" "python" }
		}
		parm {
		    name	"sc_fld_spacename"
		    label	" Space"
		    type	string
		    nolabel
		    joinnext
		    default	{ "rgb" }
		    disablewhen	"{ sc_fld_name == \"\" } { sc_fld_doramp == 0 } { fld_rampswitcher1 == 0 }"
		    menu	{
			"rgb"	"RGB"
			"hsv"	"HSV"
			"lab"	"LAB"
			"hsl"	"HSL"
			"xyz"	"XYZ"
		    }
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "surface" }
		}
		parm {
		    name	"sc_fld_gammaname"
		    label	"Gamma Type"
		    type	string
		    nolabel
		    joinnext
		    default	{ "linear" }
		    disablewhen	"{ sc_fld_name == \"\" } { sc_fld_doramp == 0 }"
		    menu	{
			"linear"	"Linear"
			"srgb"	"sRGB"
			"custom"	"Custom"
		    }
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "surface" }
		}
		parm {
		    name	"sc_fld_gammaval"
		    label	"Gamma Value"
		    type	float
		    nolabel
		    default	{ "2.2" }
		    disablewhen	"{ sc_fld_name == \"\" } { sc_fld_doramp == 0 } { sc_fld_gammaname != custom }"
		    range	{ 0.0001 4 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "surface" }
		}
		groupradio {
		    name	"sc_fld_rampswitcher8"
		    label	"Float"

		    parm {
			name	"SmokeColor_Field_flt"
			label	"Lookup Ramp"
			type	ramp_flt
			default	{ "2" }
			disablewhen	"{ sc_fld_name == \"\" } { sc_fld_doramp == 0 }"
			range	{ 1! 10 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "rampbasis_var" "SmokeColor_Field_flt_the_basis_strings" }
			parmtag	{ "rampbasisdefault" "linear" }
			parmtag	{ "rampkeys_var" "SmokeColor_Field_flt_the_key_positions" }
			parmtag	{ "rampshowcontrolsdefault" "0" }
			parmtag	{ "rampvalues_var" "SmokeColor_Field_flt_the_key_values" }
			parmtag	{ "shaderparmcontexts" "surface" }
		    }
		}

		groupradio {
		    name	"sc_fld_rampswitcher8_1"
		    label	"Color"

		    parm {
			name	"SmokeColor_Field_rgb"
			label	"Lookup Ramp"
			type	ramp_rgb
			default	{ "2" }
			disablewhen	"{ sc_fld_name == \"\" } { sc_fld_doramp == 0 }"
			range	{ 1! 10 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "rampbasis_var" "SmokeColor_Field_rgb_the_basis_strings" }
			parmtag	{ "rampbasisdefault" "linear" }
			parmtag	{ "rampcolortype" "rgb" }
			parmtag	{ "rampkeys_var" "SmokeColor_Field_rgb_the_key_positions" }
			parmtag	{ "rampshowcontrolsdefault" "0" }
			parmtag	{ "rampvalues_var" "SmokeColor_Field_rgb_the_key_values" }
			parmtag	{ "shaderparmcontexts" "surface" }
		    }
		}

		parm {
		    name	"sc_fld_ramp_rngmin"
		    label	"Ramp Interval"
		    type	float
		    joinnext
		    default	{ "0" }
		    disablewhen	"{ sc_fld_name == \"\" } { sc_fld_doramp == 0 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "surface" }
		}
		parm {
		    name	"sc_fld_ramp_rngmax"
		    label	"Ramp: Range Max"
		    type	float
		    nolabel
		    default	{ "1" }
		    disablewhen	"{ sc_fld_name == \"\" } { sc_fld_doramp == 0 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "surface" }
		}
		parm {
		    name	"sc_fld_lbt"
		    label	"Ramp Boundaries"
		    type	string
		    joinnext
		    default	{ "hold" }
		    disablewhen	"{ sc_fld_name == \"\" } { sc_fld_doramp == 0 }"
		    menu	{
			"hold"	"Hold"
			"cycle"	"Cycle"
			"accum"	"Cycle-Accumulate"
			"mirror"	"Mirror"
			"slope"	"Slope"
		    }
		    range	{ 0 1 }
		    export	none
		    unquoted
		}
		parm {
		    name	"sc_fld_rbt"
		    label	"Right"
		    type	string
		    nolabel
		    default	{ "hold" }
		    disablewhen	"{ sc_fld_name == \"\" } { sc_fld_doramp == 0 }"
		    menu	{
			"hold"	"Hold"
			"cycle"	"Cycle"
			"accum"	"Cycle-Accumulate"
			"mirror"	"Mirror"
			"slope"	"Slope"
		    }
		    range	{ 0 1 }
		    export	none
		    unquoted
		}
		parm {
		    name	"sc_spacer14"
		    label	"sc_spacer13"
		    type	label
		    nolabel
		    default	{ "" }
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"sc_fld_docontour"
		    label	"Enable Contour"
		    type	toggle
		    nolabel
		    joinnext
		    default	{ "0" }
		    disablewhen	"{ sc_fld_name == \"\" }"
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"sc_fld_contour_width"
		    label	"Contour: Width"
		    type	float
		    joinnext
		    default	{ "0.02" }
		    disablewhen	"{ sc_fld_name == \"\" } { sc_fld_docontour == 0 }"
		    range	{ 0 0.1 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "surface" }
		}
		parm {
		    name	"sc_fld_contour_sharp"
		    label	"Sharpness"
		    type	float
		    default	{ "4" }
		    disablewhen	"{ sc_fld_name == \"\" } { sc_fld_docontour == 0 }"
		    range	{ 0 10 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "surface" }
		}
		parm {
		    name	"sc_fld_dosclip"
		    label	"Enable Soft Clip"
		    type	toggle
		    nolabel
		    joinnext
		    default	{ "0" }
		    disablewhen	"{ sc_fld_name == \"\" }"
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"sc_fld_sclip_start"
		    label	"SoftClip: Start"
		    type	float
		    joinnext
		    default	{ "0.8" }
		    disablewhen	"{ sc_fld_name == \"\" } { sc_fld_dosclip == 0 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "surface" }
		}
		parm {
		    name	"sc_fld_sclip_suppress"
		    label	"  Suppress"
		    type	float
		    default	{ "1" }
		    disablewhen	"{ sc_fld_name == \"\" } { sc_fld_dosclip == 0 }"
		    range	{ 0 10 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "surface" }
		}
		parm {
		    name	"sc_spacer15"
		    label	"sc_spacer14"
		    type	label
		    nolabel
		    default	{ "" }
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"sc_fld_dolowlimit"
		    label	"Enable Lower Limit"
		    type	toggle
		    nolabel
		    joinnext
		    default	{ "0" }
		    disablewhen	"{ sc_fld_name == \"\" }"
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"sc_fld_lowlimit"
		    label	"Clamp to Min"
		    type	float
		    default	{ "0" }
		    disablewhen	"{ sc_fld_name == \"\" } { sc_fld_dolowlimit == 0 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "surface" }
		}
		parm {
		    name	"sc_fld_dohighlimit"
		    label	"Enable Upper Limit"
		    type	toggle
		    nolabel
		    joinnext
		    default	{ "0" }
		    disablewhen	"{ sc_fld_name == \"\" }"
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"sc_fld_highlimit"
		    label	"Clamp to Max"
		    type	float
		    default	{ "1" }
		    disablewhen	"{ sc_fld_name == \"\" } { sc_fld_dohighlimit == 0 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "surface" }
		}
		parm {
		    name	"sc_spacer16"
		    label	"sc_spacer15"
		    type	label
		    nolabel
		    default	{ "" }
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"sc_fld_amp"
		    label	"Final Amplitude"
		    type	float
		    default	{ "1" }
		    range	{ 0 2 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "surface" }
		}
	    }

	    group {
		name	"sc_folder12_2"
		label	"Field Noise"

		parm {
		    name	"sc_pn_active"
		    label	"Active"
		    type	toggle
		    default	{ "0" }
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"sc_pn_ntype"
		    label	"Noise Output Type"
		    type	ordinal
		    joinnext
		    default	{ "0" }
		    disablewhen	"{ sc_pn_active == 0 }"
		    menu	{
			[ "d3 = (\"default\", \"Float\", \"v3\", \"Vector\")" ]
			[ "d4 = (\"f4\", \"Float\", \"v4\", \"Vector\")" ]
			[ "return (d3,d4)[kwargs[\"node\"].evalParm(\"sc_pn_dim4\")]" ]
			language	python
		    }
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"sc_pn_dim4"
		    label	"Space"
		    type	ordinal
		    joinnext
		    default	{ "0" }
		    disablewhen	"{ sc_pn_active == 0 }"
		    menu	{
			"0"	"3D"
			"1"	"4D"
		    }
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"sc_pn_time"
		    label	"Time"
		    type	float
		    default	{ "0" }
		    disablewhen	"{ sc_pn_active == 0 } { sc_pn_dim4 == 0 }"
		    range	{ 0 10 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "surface" }
		}
		parm {
		    name	"sc_pn_fieldop"
		    label	"Field Operation"
		    type	string
		    default	{ "add" }
		    disablewhen	"{ sc_pn_active == 0 }"
		    menu	{
			"add"	"Offset (Field + Noise)"
			"mult"	"Scale (Field * Noise)"
		    }
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"sc_spacer17"
		    label	"sc_spacer16"
		    type	label
		    nolabel
		    default	{ "" }
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"sc_pn_freq"
		    label	"Frequency"
		    type	float
		    size	4
		    default	{ "1" "1" "1" "1" }
		    disablewhen	"{ sc_pn_active == 0 }"
		    range	{ 0 10 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "surface" }
		}
		parm {
		    name	"sc_pn_offset"
		    label	"Offset"
		    type	float
		    size	4
		    default	{ "0" "0" "0" "0" }
		    disablewhen	"{ sc_pn_active == 0 }"
		    range	{ 0 10 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "surface" }
		}
		parm {
		    name	"sc_pn_period"
		    label	"Period"
		    type	float
		    size	4
		    default	{ "1" "1" "1" "1" }
		    disablewhen	"{ sc_pn_active == 0 } { sc_pn_basis != pperlin sc_pn_basis != pflow }"
		    range	{ 0 10 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "surface" }
		}
		parm {
		    name	"sc_spacer18"
		    label	"sc_spacer17"
		    type	label
		    nolabel
		    default	{ "" }
		    range	{ 0 1 }
		    export	none
		}
		group {
		    name	"sc_folder18"
		    label	"Construction"

		    parm {
			name	"sc_pn_basis"
			label	"Noise Type"
			type	string
			default	{ "simplex" }
			disablewhen	"{ sc_pn_active == 0 }"
			menu	{
			    "sine"	"Sinusoid"
			    "perlin"	"Perlin"
			    "pperlin"	"Periodic Perlin"
			    "simplex"	"Simplex (Improved Perlin)"
			    "sparse"	"Sparse Convolution"
			    "flow"	"Flow"
			    "pflow"	"Periodic Flow"
			    "worleyFA"	"Worley (cellular) F1"
			    "worleyFB"	"Worley (cellular) F2-F1"
			    "alligator"	"Alligator"
			}
			range	{ 0 1 }
			export	none
			unquoted
		    }
		    parm {
			name	"sc_pn_inv"
			label	"Complement"
			type	toggle
			default	{ "off" }
			disablewhen	"{ sc_pn_active == 0 }"
			range	{ 0 1 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "surface" }
		    }
		    parm {
			name	"sc_pn_fold"
			label	"Fold"
			type	toggle
			default	{ "off" }
			disablewhen	"{ sc_pn_active == 0 }"
			range	{ 0 1 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "surface" }
		    }
		    parm {
			name	"sc_pn_expon"
			label	"Exponent"
			type	float
			default	{ "1" }
			disablewhen	"{ sc_pn_active == 0 }"
			range	{ 0 2 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "surface" }
		    }
		    parm {
			name	"sc_pn_dolwarp"
			label	"Enable Lattice Warp"
			type	toggle
			nolabel
			joinnext
			default	{ "off" }
			disablewhen	"{ sc_pn_active == 0 }"
			range	{ 0 1 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "surface" }
		    }
		    parm {
			name	"sc_pn_disp"
			label	"Lattice Warp"
			type	float
			joinnext
			default	{ "0" }
			disablewhen	"{ sc_pn_active == 0 } { sc_pn_dolwarp == 0 }"
			range	{ -0.5 0.5 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "surface" }
		    }
		    parm {
			name	"sc_pn_dispfreq"
			label	"Freq"
			type	float
			default	{ "1" }
			disablewhen	"{ sc_pn_active == 0 } { sc_pn_dolwarp == 0 }"
			range	{ 0 1 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "surface" }
		    }
		    parm {
			name	"sc_pn_dogwarp"
			label	"Enable Gradient Warp"
			type	toggle
			nolabel
			joinnext
			default	{ "off" }
			disablewhen	"{ sc_pn_active == 0 }"
			range	{ 0 1 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "surface" }
		    }
		    parm {
			name	"sc_pn_gflow"
			label	"Gradient Warp"
			type	float
			default	{ "0" }
			disablewhen	"{ sc_pn_active == 0 } { sc_pn_dogwarp == 0 }"
			range	{ -0.5 0.5 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "surface" }
		    }
		    parm {
			name	"sc_pn_flowrot"
			label	"Flow Rotation"
			type	float
			default	{ "0" }
			disablewhen	"{ sc_pn_active == 0 } { sc_pn_basis != flow sc_pn_basis != pflow }"
			range	{ 0 1 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "surface" }
		    }
		    parm {
			name	"sc_spacer19"
			label	"sc_spacer18"
			type	label
			nolabel
			default	{ "" }
			range	{ 0 1 }
			export	none
		    }
		    parm {
			name	"sc_pn_fractal"
			label	"Fractal Type"
			type	string
			default	{ "none" }
			disablewhen	"{ sc_pn_active == 0 }"
			menu	{
			    "none"	"None"
			    "fBm"	"Standard (fBm)"
			    "mfT"	"Terrain"
			    "hmfT"	"Hybrid Terrain"
			}
			range	{ 0 1 }
			export	none
			unquoted
		    }
		    parm {
			name	"sc_pn_accuml"
			label	"Accumulate Lattice Warp"
			type	toggle
			default	{ "off" }
			disablewhen	"{ sc_pn_active == 0 } { sc_pn_fractal == none }"
			range	{ 0 1 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "surface" }
		    }
		    parm {
			name	"sc_pn_accumg"
			label	"Accumulate Gradient Warp"
			type	toggle
			default	{ "off" }
			disablewhen	"{ sc_pn_active == 0 } { sc_pn_fractal == none }"
			range	{ 0 1 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "surface" }
		    }
		    parm {
			name	"sc_pn_oct"
			label	"Max Octaves"
			type	float
			default	{ "8" }
			disablewhen	"{ sc_pn_active == 0 } { sc_pn_fractal == none }"
			range	{ 0 16 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "surface" }
		    }
		    parm {
			name	"sc_pn_lac"
			label	"Lacunarity"
			type	float
			default	{ "2.01234" }
			disablewhen	"{ sc_pn_active == 0 } { sc_pn_fractal == none }"
			range	{ 0 4 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "surface" }
		    }
		    parm {
			name	"sc_pn_rough"
			label	"Roughness"
			type	float
			default	{ "0.5" }
			disablewhen	"{ sc_pn_active == 0 } { sc_pn_fractal == none }"
			range	{ 0 1 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "surface" }
		    }
		}

		group {
		    name	"sc_folder18_1"
		    label	"Output"

		    parm {
			name	"sc_pn_docc"
			label	"Enable Output Correction"
			type	toggle
			default	{ "off" }
			disablewhen	"{ sc_pn_active == 0 }"
			range	{ 0 1 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "surface" }
		    }
		    parm {
			name	"sc_spacer20"
			label	"sc_spacer19"
			type	label
			nolabel
			default	{ "" }
			range	{ 0 1 }
			export	none
		    }
		    parm {
			name	"sc_pn_cc_dobias"
			label	"Do Bias"
			type	toggle
			nolabel
			joinnext
			default	{ "off" }
			disablewhen	"{ sc_pn_active == 0 } { sc_pn_docc == 0 }"
			range	{ 0 1 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "surface" }
		    }
		    parm {
			name	"sc_pn_cc_bias"
			label	"Bias"
			type	float
			size	3
			default	{ "0.5" "0.5" "0.5" }
			disablewhen	"{ sc_pn_active == 0 } { sc_pn_docc == 0 } { sc_pn_cc_dobias == 0 }"
			range	{ 0 10 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "surface" }
		    }
		    parm {
			name	"sc_pn_cc_dogain"
			label	"Do Gain"
			type	toggle
			nolabel
			joinnext
			default	{ "off" }
			disablewhen	"{ sc_pn_active == 0 } { sc_pn_docc == 0 }"
			range	{ 0 1 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "surface" }
		    }
		    parm {
			name	"sc_pn_cc_gain"
			label	"Gain"
			type	float
			size	3
			default	{ "0.5" "0.5" "0.5" }
			disablewhen	"{ sc_pn_active == 0 } { sc_pn_docc == 0 } { sc_pn_cc_dogain == 0 }"
			range	{ 0 10 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "surface" }
		    }
		    parm {
			name	"sc_spacer21"
			label	"sc_spacer20"
			type	label
			nolabel
			default	{ "" }
			range	{ 0 1 }
			export	none
		    }
		    parm {
			name	"sc_pn_cc_inv"
			label	"Complement"
			type	toggle
			default	{ "off" }
			disablewhen	"{ sc_pn_active == 0 } { sc_pn_docc == 0 }"
			range	{ 0 1 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "surface" }
		    }
		    parm {
			name	"sc_spacer22"
			label	"sc_spacer21"
			type	label
			nolabel
			default	{ "" }
			range	{ 0 1 }
			export	none
		    }
		    parm {
			name	"sc_pn_cc_dorng"
			label	"Output Range (Clamped)"
			type	toggle
			default	{ "off" }
			disablewhen	"{ sc_pn_active == 0 } { sc_pn_docc == 0 }"
			range	{ 0 1 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "surface" }
		    }
		    parm {
			name	"sc_pn_cc_rnglo"
			label	"New Minimum"
			type	float
			size	3
			default	{ "0" "0" "0" }
			disablewhen	"{ sc_pn_active == 0 } { sc_pn_docc == 0 } { sc_pn_cc_dorng == 0 }"
			range	{ 0 10 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "surface" }
		    }
		    parm {
			name	"sc_pn_cc_rnghi"
			label	"New Maximum"
			type	float
			size	3
			default	{ "1" "1" "1" }
			disablewhen	"{ sc_pn_active == 0 } { sc_pn_docc == 0 } { sc_pn_cc_dorng == 0 }"
			range	{ 0 10 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "surface" }
		    }
		    parm {
			name	"sc_spacer23"
			label	"sc_spacer22"
			type	label
			nolabel
			default	{ "" }
			range	{ 0 1 }
			export	none
		    }
		    parm {
			name	"sc_pn_cc_amp"
			label	"Final Amplitude"
			type	float
			size	3
			default	{ "1" "1" "1" }
			disablewhen	"{ sc_pn_active == 0 } { sc_pn_docc == 0 }"
			range	{ 0 10 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "surface" }
		    }
		}

		group {
		    name	"sc_folder18_2"
		    label	"Rest Position"

		    group {
			name	"sc_folder19"
			label	"Fields"

			parm {
			    name	"sc_spacer24"
			    label	"sc_spacer23"
			    type	label
			    nolabel
			    default	{ "" }
			    range	{ 0 1 }
			    export	none
			}
			parm {
			    name	"sc_dr_restinterp"
			    label	"Ratio Interpolation"
			    type	integer
			    default	{ "0" }
			    menu	{
				"0"	"Unmodified (Linear)"
				"1"	"Cubic"
				"2"	"Cosine"
			    }
			    range	{ 0 10 }
			    export	none
			    parmtag	{ "parmvop" "1" }
			    parmtag	{ "shaderparmcontexts" "surface" }
			}
			parm {
			    name	"sc_spacer25"
			    label	"sc_spacer24"
			    type	label
			    nolabel
			    default	{ "" }
			    range	{ 0 1 }
			    export	none
			}
			parm {
			    name	"sc_dr_rest_name"
			    label	"Rest Position 1"
			    type	string
			    joinnext
			    default	{ "rest" }
			    range	{ 0 1 }
			    export	none
			}
			parm {
			    name	"sc_dr_rest_intype"
			    label	"Type"
			    type	string
			    default	{ "vector" }
			    disablewhen	"{ sc_dr_rest_name == \"\" }"
			    menu	{
				"float"	"Float"
				"vector"	"Vector"
				"vector4"	"Vector4"
			    }
			    range	{ 0 1 }
			    export	none
			    unquoted
			    parmtag	{ "script_callback" "if not kwargs['node'].isInsideLockedHDA():kwargs['node'].parm('sc_dr_rest_method').set('assign')" }
			    parmtag	{ "script_callback_language" "python" }
			}
			parm {
			    name	"sc_dr_rest_method"
			    label	"Conversion to Vector"
			    type	string
			    joinnext
			    default	{ "assign" }
			    disablewhen	"{ sc_dr_rest_name == \"\" } { sc_dr_rest_intype == vector }"
			    menu	{
				[ "hou.vopNodeTypeCategory().nodeTypes()['typeconvertimpl'].hdaModule().methodmenu(hou.evalParm('sc_dr_rest_intype'),'vector')" ]
				language	python
			    }
			    range	{ 0 1 }
			    export	none
			}
			parm {
			    name	"sc_dr_rest_padval"
			    label	"Padding Constant"
			    type	float
			    nolabel
			    default	{ "0" }
			    disablewhen	"{ sc_dr_rest_name == \"\" } { dr_rest_promote == 0 } { sc_dr_rest_method != padc }"
			    range	{ 0 1 }
			    export	none
			}
			parm {
			    name	"sc_dr_rest_ratio_name"
			    label	"Rest1 Ratio"
			    type	string
			    joinnext
			    default	{ "rest_ratio" }
			    range	{ 0 1 }
			    export	none
			}
			parm {
			    name	"sc_dr_rest_ratio_intype"
			    label	"Type"
			    type	string
			    default	{ "float" }
			    disablewhen	"{ sc_dr_rest_ratio_name == \"\" }"
			    menu	{
				"float"	"Float"
				"vector"	"Vector"
				"vector4"	"Vector4"
			    }
			    range	{ 0 1 }
			    export	none
			    unquoted
			    parmtag	{ "script_callback" "if not kwargs['node'].isInsideLockedHDA():kwargs['node'].parm('sc_dr_rest_ratio_method').set('assign')" }
			    parmtag	{ "script_callback_language" "python" }
			}
			parm {
			    name	"sc_dr_rest_ratio_method"
			    label	"Conversion to Float"
			    type	string
			    default	{ "assign" }
			    disablewhen	"{ sc_dr_rest_ratio_name == \"\" } { sc_dr_rest_ratio_intype == float }"
			    menu	{
				[ "hou.vopNodeTypeCategory().nodeTypes()['typeconvertimpl'].hdaModule().methodmenu(hou.evalParm('sc_dr_rest_ratio_intype'),'float')" ]
				language	python
			    }
			    range	{ 0 1 }
			    export	none
			}
			parm {
			    name	"sc_dr_rest2_name"
			    label	"Rest Position 2"
			    type	string
			    joinnext
			    default	{ "rest2" }
			    range	{ 0 1 }
			    export	none
			}
			parm {
			    name	"sc_dr_rest2_intype"
			    label	"Type"
			    type	string
			    default	{ "vector" }
			    disablewhen	"{ sc_dr_rest2_name == \"\" }"
			    menu	{
				"float"	"Float"
				"vector"	"Vector"
				"vector4"	"Vector4"
			    }
			    range	{ 0 1 }
			    export	none
			    unquoted
			    parmtag	{ "script_callback" "if not kwargs['node'].isInsideLockedHDA():kwargs['node'].parm('sc_dr_rest2_method').set('assign')" }
			    parmtag	{ "script_callback_language" "python" }
			}
			parm {
			    name	"sc_dr_rest2_method"
			    label	"Conversion to Vector"
			    type	string
			    joinnext
			    default	{ "assign" }
			    disablewhen	"{ sc_dr_rest2_name == \"\" } { sc_dr_rest2_intype == vector }"
			    menu	{
				[ "hou.vopNodeTypeCategory().nodeTypes()['typeconvertimpl'].hdaModule().methodmenu(hou.evalParm('sc_dr_rest2_intype'),'vector')" ]
				language	python
			    }
			    range	{ 0 1 }
			    export	none
			}
			parm {
			    name	"sc_dr_rest2_padval"
			    label	"Padding Constant"
			    type	float
			    nolabel
			    default	{ "0" }
			    disablewhen	"{ sc_dr_rest2_name == \"\" } { dr_rest2_promote == 0 } { sc_dr_rest2_method != padc }"
			    range	{ 0 1 }
			    export	none
			}
			parm {
			    name	"sc_dr_rest2_ratio_name"
			    label	"Rest2 Ratio"
			    type	string
			    joinnext
			    default	{ "rest2_ratio" }
			    range	{ 0 1 }
			    export	none
			}
			parm {
			    name	"sc_dr_rest2_ratio_intype"
			    label	"Type"
			    type	string
			    default	{ "float" }
			    disablewhen	"{ sc_dr_rest2_ratio_name == \"\" }"
			    menu	{
				"float"	"Float"
				"vector"	"Vector"
				"vector4"	"Vector4"
			    }
			    range	{ 0 1 }
			    export	none
			    unquoted
			    parmtag	{ "script_callback" "if not kwargs['node'].isInsideLockedHDA():kwargs['node'].parm('sc_dr_rest2_ratio_method').set('assign')" }
			    parmtag	{ "script_callback_language" "python" }
			}
			parm {
			    name	"sc_dr_rest2_ratio_method"
			    label	"Conversion to Float"
			    type	string
			    default	{ "assign" }
			    disablewhen	"{ sc_dr_rest2_ratio_name == \"\" } { sc_dr_rest2_ratio_intype == float }"
			    menu	{
				[ "hou.vopNodeTypeCategory().nodeTypes()['typeconvertimpl'].hdaModule().methodmenu(hou.evalParm('sc_dr_rest2_ratio_intype'),'float')" ]
				language	python
			    }
			    range	{ 0 1 }
			    export	none
			}
		    }

		    group {
			name	"sc_folder19_1"
			label	"Fallback"
			tabbreak

			parm {
			    name	"sc_spacer26"
			    label	"sc_spacer25"
			    type	label
			    nolabel
			    default	{ "" }
			    range	{ 0 1 }
			    export	none
			}
			parm {
			    name	"sc_fallback_label"
			    label	"fallback_label"
			    type	label
			    nolabel
			    default	{ "Fallback Rest Position Upon Failure (VEX):" }
			    range	{ 0 1 }
			    export	none
			}
			parm {
			    name	"sc_spacer27"
			    label	"sc_spacer26"
			    type	label
			    nolabel
			    default	{ "" }
			    range	{ 0 1 }
			    export	none
			}
			parm {
			    name	"sc_dr_fail_shading"
			    label	"SHADING Contexts"
			    type	string
			    default	{ "ptransform(\"space:object\",P)" }
			    range	{ 0 1 }
			    export	none
			    unquoted
			}
			parm {
			    name	"sc_dr_fail_cop"
			    label	"COP|COP2 Contexts"
			    type	string
			    default	{ "set(X,Y,0)" }
			    range	{ 0 1 }
			    export	none
			    unquoted
			}
			parm {
			    name	"sc_dr_fail_sop"
			    label	"SOP|POP Contexts"
			    type	string
			    default	{ "P" }
			    range	{ 0 1 }
			    export	none
			    unquoted
			}
			parm {
			    name	"sc_dr_fail_chop"
			    label	"CHOP Context"
			    type	string
			    default	{ "set((float)I/SR,V,0)" }
			    range	{ 0 1 }
			    export	none
			    unquoted
			}
			parm {
			    name	"sc_dr_fail_cvex"
			    label	"CVEX Context"
			    type	string
			    default	{ "0" }
			    range	{ 0 1 }
			    export	none
			    unquoted
			}
			parm {
			    name	"sc_dr_fail_fail"
			    label	"Unknown Context"
			    type	string
			    default	{ "0" }
			    range	{ 0 1 }
			    export	none
			    unquoted
			}
		    }

		}

	    }

	}

    }

    group {
	name	"folder6_1"
	label	"Fire"

	group {
	    name	"folder0_8"
	    label	"Density"

	    parm {
		name	"ed_name"
		label	"Field Name"
		type	string
		joinnext
		default	{ "" }
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"ed_intype"
		label	"Type"
		type	string
		default	{ "float" }
		menu	{
		    "float"	"Float"
		    "vector"	"Vector"
		    "vector4"	"Vector4"
		}
		range	{ 0 1 }
		export	none
		unquoted
		parmtag	{ "script_callback" "__import__('pyro2').updateField(kwargs,'ed_intype','ed_promote','ed_method','ed_outtype','EmitDensity_flt')" }
		parmtag	{ "script_callback_language" "python" }
	    }
	    parm {
		name	"ed_promote"
		label	"Promote"
		type	toggle
		joinnext
		default	{ "0" }
		disablewhen	"{ ed_name == \"\" }"
		range	{ 0 1 }
		export	none
		parmtag	{ "script_callback" "__import__('pyro2').updateField(kwargs,'ed_intype','ed_promote','ed_method','ed_outtype','EmitDensity_flt')" }
		parmtag	{ "script_callback_language" "python" }
	    }
	    parm {
		name	"ed_outtype"
		label	"To Type"
		type	string
		joinnext
		default	{ "float" }
		disablewhen	"{ ed_name == \"\" } { ed_promote == 0 }"
		menu	{
		    "float"	"Float"
		    "vector"	"Vector"
		    "vector4"	"Vector4"
		}
		range	{ 0 1 }
		export	none
		unquoted
		parmtag	{ "script_callback" "__import__('pyro2').updateField(kwargs,'ed_intype','ed_promote','ed_method','ed_outtype','EmitDensity_flt')" }
		parmtag	{ "script_callback_language" "python" }
	    }
	    parm {
		name	"ed_method"
		label	"Method"
		type	string
		nolabel
		joinnext
		default	{ "assign" }
		disablewhen	"{ ed_name == \"\" } { ed_doconvert == 0 }"
		menu	{
		    [ "hou.vopNodeTypeCategory().nodeTypes()['typeconvertimpl'].hdaModule().methodmenu(hou.evalParm('ed_intype'),hou.evalParm('ed_outtype'))" ]
		    language	python
		}
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"ed_padval"
		label	"Padding Constant"
		type	float
		nolabel
		default	{ "0" }
		disablewhen	"{ ed_name == \"\" } { ed_promote == 0 } { ed_method != padc }"
		range	{ 0 1 }
		export	none
		parmtag	{ "parmvop" "1" }
		parmtag	{ "shaderparmcontexts" "surface" }
	    }
	    parm {
		name	"ed_dfltval"
		label	"Default Field Value"
		type	float
		size	4
		default	{ "0" "0" "0" "0" }
		disablewhen	"{ ed_name != \"\" }"
		range	{ 0 10 }
		export	none
		parmtag	{ "parmvop" "1" }
		parmtag	{ "shaderparmcontexts" "surface" }
	    }
	    parm {
		name	"ed_doconvert"
		label	"doconvert"
		type	integer
		invisible
		default	{ "0" }
		range	{ 0 10 }
		export	none
		parmtag	{ "pyro_expression" "evalParm('ed_promote') and evalParm('ed_intype') != evalParm('ed_outtype')" }
		parmtag	{ "pyro_expression_language" "python" }
	    }
	    parm {
		name	"ed_spacer"
		label	"spacer"
		type	label
		nolabel
		default	{ "" }
		range	{ 0 1 }
		export	none
	    }
	    group {
		name	"ed_folder8"
		label	"Field Shape"

		parm {
		    name	"ed_dofit"
		    label	"Fit to Range (Unclamped)"
		    type	toggle
		    joinnext
		    default	{ "0" }
		    disablewhen	"{ ed_name == \"\" }"
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"ed_spacer2"
		    label	"ed_spacer"
		    type	label
		    nolabel
		    default	{ "" }
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"ed_fit_srcmin"
		    label	"Source Range"
		    type	float
		    joinnext
		    default	{ "0" }
		    disablewhen	"{ ed_name == \"\" } { ed_dofit == 0 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "surface" }
		}
		parm {
		    name	"ed_fit_srcmax"
		    label	"Max"
		    type	float
		    nolabel
		    default	{ "1" }
		    disablewhen	"{ ed_name == \"\" } { ed_dofit == 0 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "surface" }
		}
		parm {
		    name	"ed_fit_tgtmin"
		    label	"Target Range"
		    type	float
		    joinnext
		    default	{ "0" }
		    disablewhen	"{ ed_name == \"\" } { ed_dofit == 0 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "surface" }
		}
		parm {
		    name	"ed_fit_tgtmax"
		    label	"Max"
		    type	float
		    nolabel
		    default	{ "1" }
		    disablewhen	"{ ed_name == \"\" } { ed_dofit == 0 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "surface" }
		}
		parm {
		    name	"ed_spacer3"
		    label	"ed_spacer2"
		    type	label
		    nolabel
		    default	{ "" }
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"ed_doramp"
		    label	"Ramp"
		    type	toggle
		    joinnext
		    default	{ "0" }
		    disablewhen	"{ ed_name == \"\" }"
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"ed_presets"
		    label	"Presets"
		    type	ordinal
		    nolabel
		    joinnext
		    default	{ "0" }
		    disablewhen	"{ ed_name == \"\" } { ed_doramp == 0 }"
		    menu	{
			[ "__import__('pyro2').rampPresetMenu(kwargs,'EmitDensity',True)" ]
			language	python
		    }
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "script_callback" "__import__('pyro2').rampPresetCB(kwargs,'EmitDensity',True)" }
		    parmtag	{ "script_callback_language" "python" }
		}
		parm {
		    name	"ed_spacename"
		    label	" Space"
		    type	string
		    nolabel
		    joinnext
		    default	{ "rgb" }
		    disablewhen	"{ ed_name == \"\" } { ed_doramp == 0 } { rampswitcher1 == 0 }"
		    menu	{
			"rgb"	"RGB"
			"hsv"	"HSV"
			"Lab"	"LAB"
			"hsl"	"HSL"
			"XYZ"	"XYZ"
		    }
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "surface" }
		}
		parm {
		    name	"ed_gammaname"
		    label	"Gamma Type"
		    type	string
		    nolabel
		    joinnext
		    default	{ "linear" }
		    disablewhen	"{ ed_name == \"\" } { ed_doramp == 0 }"
		    menu	{
			"linear"	"Linear"
			"srgb"	"sRGB"
			"custom"	"Custom"
		    }
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "surface" }
		}
		parm {
		    name	"ed_gammaval"
		    label	"Gamma Value"
		    type	float
		    nolabel
		    default	{ "2.2" }
		    disablewhen	"{ ed_name == \"\" } { ed_doramp == 0 } { ed_gammaname != custom }"
		    range	{ 0.0001 4 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "surface" }
		}
		groupradio {
		    name	"ed_rampswitcher8"
		    label	"Float"

		    parm {
			name	"EmitDensity_flt"
			label	"Lookup Ramp"
			type	ramp_flt
			default	{ "2" }
			disablewhen	"{ ed_name == \"\" } { ed_doramp == 0 }"
			range	{ 1! 10 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "rampbasis_var" "EmitDensity_flt_the_basis_strings" }
			parmtag	{ "rampbasisdefault" "linear" }
			parmtag	{ "rampkeys_var" "EmitDensity_flt_the_key_positions" }
			parmtag	{ "rampshowcontrolsdefault" "0" }
			parmtag	{ "rampvalues_var" "EmitDensity_flt_the_key_values" }
			parmtag	{ "shaderparmcontexts" "surface" }
		    }
		}

		groupradio {
		    name	"ed_rampswitcher8_1"
		    label	"Color"

		    parm {
			name	"EmitDensity_rgb"
			label	"Lookup Ramp"
			type	ramp_rgb
			default	{ "2" }
			disablewhen	"{ ed_name == \"\" } { ed_doramp == 0 }"
			range	{ 1! 10 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "rampbasis_var" "EmitDensity_rgb_the_basis_strings" }
			parmtag	{ "rampbasisdefault" "linear" }
			parmtag	{ "rampcolortype" "rgb" }
			parmtag	{ "rampkeys_var" "EmitDensity_rgb_the_key_positions" }
			parmtag	{ "rampshowcontrolsdefault" "0" }
			parmtag	{ "rampvalues_var" "EmitDensity_rgb_the_key_values" }
			parmtag	{ "shaderparmcontexts" "surface" }
		    }
		}

		parm {
		    name	"ed_ramp_rngmin"
		    label	"Ramp Interval"
		    type	float
		    joinnext
		    default	{ "0" }
		    disablewhen	"{ ed_name == \"\" } { ed_doramp == 0 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "surface" }
		}
		parm {
		    name	"ed_ramp_rngmax"
		    label	"Ramp: Range Max"
		    type	float
		    nolabel
		    default	{ "1" }
		    disablewhen	"{ ed_name == \"\" } { ed_doramp == 0 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "surface" }
		}
		parm {
		    name	"ed_lbt"
		    label	"Ramp Boundaries"
		    type	string
		    joinnext
		    default	{ "hold" }
		    disablewhen	"{ ed_name == \"\" } { ed_doramp == 0 }"
		    menu	{
			"hold"	"Hold"
			"cycle"	"Cycle"
			"accum"	"Cycle-Accumulate"
			"mirror"	"Mirror"
			"slope"	"Slope"
		    }
		    range	{ 0 1 }
		    export	none
		    unquoted
		}
		parm {
		    name	"ed_rbt"
		    label	"Right"
		    type	string
		    nolabel
		    default	{ "hold" }
		    disablewhen	"{ ed_name == \"\" } { ed_doramp == 0 }"
		    menu	{
			"hold"	"Hold"
			"cycle"	"Cycle"
			"accum"	"Cycle-Accumulate"
			"mirror"	"Mirror"
			"slope"	"Slope"
		    }
		    range	{ 0 1 }
		    export	none
		    unquoted
		}
		parm {
		    name	"ed_spacer4"
		    label	"ed_spacer3"
		    type	label
		    nolabel
		    default	{ "" }
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"ed_docontour"
		    label	"Enable Contour"
		    type	toggle
		    nolabel
		    joinnext
		    default	{ "0" }
		    disablewhen	"{ ed_name == \"\" }"
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"ed_contour_width"
		    label	"Contour: Width"
		    type	float
		    joinnext
		    default	{ "0.02" }
		    disablewhen	"{ ed_name == \"\" } { ed_docontour == 0 }"
		    range	{ 0 0.1 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "surface" }
		}
		parm {
		    name	"ed_contour_sharp"
		    label	"Sharpness"
		    type	float
		    default	{ "4" }
		    disablewhen	"{ ed_name == \"\" } { ed_docontour == 0 }"
		    range	{ 0 10 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "surface" }
		}
		parm {
		    name	"ed_dosclip"
		    label	"Enable Soft Clip"
		    type	toggle
		    nolabel
		    joinnext
		    default	{ "0" }
		    disablewhen	"{ ed_name == \"\" }"
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"ed_sclip_start"
		    label	"SoftClip: Start"
		    type	float
		    joinnext
		    default	{ "0.8" }
		    disablewhen	"{ ed_name == \"\" } { ed_dosclip == 0 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "surface" }
		}
		parm {
		    name	"ed_sclip_suppress"
		    label	"  Suppress"
		    type	float
		    default	{ "1" }
		    disablewhen	"{ ed_name == \"\" } { ed_dosclip == 0 }"
		    range	{ 0 10 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "surface" }
		}
		parm {
		    name	"ed_spacer5"
		    label	"ed_spacer4"
		    type	label
		    nolabel
		    default	{ "" }
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"ed_dolowlimit"
		    label	"Enable Lower Limit"
		    type	toggle
		    nolabel
		    joinnext
		    default	{ "0" }
		    disablewhen	"{ ed_name == \"\" }"
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"ed_lowlimit"
		    label	"Clamp to Min"
		    type	float
		    default	{ "0" }
		    disablewhen	"{ ed_name == \"\" } { ed_dolowlimit == 0 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "surface" }
		}
		parm {
		    name	"ed_dohighlimit"
		    label	"Enable Upper Limit"
		    type	toggle
		    nolabel
		    joinnext
		    default	{ "0" }
		    disablewhen	"{ ed_name == \"\" }"
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"ed_highlimit"
		    label	"Clamp to Max"
		    type	float
		    default	{ "1" }
		    disablewhen	"{ ed_name == \"\" } { ed_dohighlimit == 0 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "surface" }
		}
		parm {
		    name	"ed_spacer6"
		    label	"ed_spacer5"
		    type	label
		    nolabel
		    default	{ "" }
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"ed_amp"
		    label	"Final Amplitude"
		    type	float
		    default	{ "1" }
		    range	{ 0 2 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "surface" }
		}
	    }

	    group {
		name	"ed_folder8_1"
		label	"Field Noise"

		parm {
		    name	"ed_active"
		    label	"Active"
		    type	toggle
		    default	{ "0" }
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"ed_ntype"
		    label	"Noise Output Type"
		    type	ordinal
		    joinnext
		    default	{ "0" }
		    disablewhen	"{ ed_active == 0 }"
		    menu	{
			[ "d3 = (\"default\", \"Float\", \"v3\", \"Vector\")" ]
			[ "d4 = (\"f4\", \"Float\", \"v4\", \"Vector\")" ]
			[ "return (d3,d4)[kwargs[\"node\"].evalParm(\"ed_dim4\")]" ]
			language	python
		    }
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"ed_dim4"
		    label	"Space"
		    type	ordinal
		    joinnext
		    default	{ "0" }
		    disablewhen	"{ ed_active == 0 }"
		    menu	{
			"0"	"3D"
			"1"	"4D"
		    }
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"ed_time"
		    label	"Time"
		    type	float
		    default	{ "0" }
		    disablewhen	"{ ed_active == 0 } { ed_dim4 == 0 }"
		    range	{ 0 10 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "surface" }
		}
		parm {
		    name	"ed_fieldop"
		    label	"Field Operation"
		    type	string
		    default	{ "add" }
		    disablewhen	"{ ed_active == 0 }"
		    menu	{
			"add"	"Offset (Field + Noise)"
			"mult"	"Scale (Field * Noise)"
		    }
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"ed_spacer7"
		    label	"ed_spacer6"
		    type	label
		    nolabel
		    default	{ "" }
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"ed_freq"
		    label	"Frequency"
		    type	float
		    size	4
		    default	{ "1" "1" "1" "1" }
		    disablewhen	"{ ed_active == 0 }"
		    range	{ 0 10 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "surface" }
		}
		parm {
		    name	"ed_offset"
		    label	"Offset"
		    type	float
		    size	4
		    default	{ "0" "0" "0" "0" }
		    disablewhen	"{ ed_active == 0 }"
		    range	{ 0 10 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "surface" }
		}
		parm {
		    name	"ed_period"
		    label	"Period"
		    type	float
		    size	4
		    default	{ "1" "1" "1" "1" }
		    disablewhen	"{ ed_active == 0 } { ed_basis != pperlin ed_basis != pflow }"
		    range	{ 0 10 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "surface" }
		}
		parm {
		    name	"ed_spacer8"
		    label	"ed_spacer7"
		    type	label
		    nolabel
		    default	{ "" }
		    range	{ 0 1 }
		    export	none
		}
		group {
		    name	"ed_folder10"
		    label	"Construction"

		    parm {
			name	"ed_basis"
			label	"Noise Type"
			type	string
			default	{ "simplex" }
			disablewhen	"{ ed_active == 0 }"
			menu	{
			    "sine"	"Sinusoid"
			    "perlin"	"Perlin"
			    "pperlin"	"Periodic Perlin"
			    "simplex"	"Simplex (Improved Perlin)"
			    "sparse"	"Sparse Convolution"
			    "flow"	"Flow"
			    "pflow"	"Periodic Flow"
			    "worleyFA"	"Worley (cellular) F1"
			    "worleyFB"	"Worley (cellular) F2-F1"
			    "alligator"	"Alligator"
			}
			range	{ 0 1 }
			export	none
			unquoted
		    }
		    parm {
			name	"ed_inv"
			label	"Complement"
			type	toggle
			default	{ "off" }
			disablewhen	"{ ed_active == 0 }"
			range	{ 0 1 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "surface" }
		    }
		    parm {
			name	"ed_fold"
			label	"Fold"
			type	toggle
			default	{ "off" }
			disablewhen	"{ ed_active == 0 }"
			range	{ 0 1 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "surface" }
		    }
		    parm {
			name	"ed_expon"
			label	"Exponent"
			type	float
			default	{ "1" }
			disablewhen	"{ ed_active == 0 }"
			range	{ 0 2 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "surface" }
		    }
		    parm {
			name	"ed_dolwarp"
			label	"Enable Lattice Warp"
			type	toggle
			nolabel
			joinnext
			default	{ "off" }
			disablewhen	"{ ed_active == 0 }"
			range	{ 0 1 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "surface" }
		    }
		    parm {
			name	"ed_disp"
			label	"Lattice Warp"
			type	float
			joinnext
			default	{ "0" }
			disablewhen	"{ ed_active == 0 } { ed_dolwarp == 0 }"
			range	{ -0.5 0.5 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "surface" }
		    }
		    parm {
			name	"ed_dispfreq"
			label	"Freq"
			type	float
			default	{ "1" }
			disablewhen	"{ ed_active == 0 } { ed_dolwarp == 0 }"
			range	{ 0 1 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "surface" }
		    }
		    parm {
			name	"ed_dogwarp"
			label	"Enable Gradient Warp"
			type	toggle
			nolabel
			joinnext
			default	{ "off" }
			disablewhen	"{ ed_active == 0 }"
			range	{ 0 1 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "surface" }
		    }
		    parm {
			name	"ed_gflow"
			label	"Gradient Warp"
			type	float
			default	{ "0" }
			disablewhen	"{ ed_active == 0 } { ed_dogwarp == 0 }"
			range	{ -0.5 0.5 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "surface" }
		    }
		    parm {
			name	"ed_flowrot"
			label	"Flow Rotation"
			type	float
			default	{ "0" }
			disablewhen	"{ ed_active == 0 } { ed_basis != flow ed_basis != pflow }"
			range	{ 0 10 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "surface" }
		    }
		    parm {
			name	"ed_spacer9"
			label	"ed_spacer8"
			type	label
			nolabel
			default	{ "" }
			range	{ 0 1 }
			export	none
		    }
		    parm {
			name	"ed_fractal"
			label	"Fractal Type"
			type	string
			default	{ "none" }
			disablewhen	"{ ed_active == 0 }"
			menu	{
			    "none"	"None"
			    "fBm"	"Standard (fBm)"
			    "mfT"	"Terrain"
			    "hmfT"	"Hybrid Terrain"
			}
			range	{ 0 1 }
			export	none
			unquoted
		    }
		    parm {
			name	"ed_accuml"
			label	"Accumulate Lattice Warp"
			type	toggle
			default	{ "off" }
			disablewhen	"{ ed_active == 0 } { ed_fractal == none }"
			range	{ 0 1 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "surface" }
		    }
		    parm {
			name	"ed_accumg"
			label	"Accumulate Gradient Warp"
			type	toggle
			default	{ "off" }
			disablewhen	"{ ed_active == 0 } { ed_fractal == none }"
			range	{ 0 1 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "surface" }
		    }
		    parm {
			name	"ed_oct"
			label	"Max Octaves"
			type	float
			default	{ "8" }
			disablewhen	"{ ed_active == 0 } { ed_fractal == none }"
			range	{ 0 16 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "surface" }
		    }
		    parm {
			name	"ed_lac"
			label	"Lacunarity"
			type	float
			default	{ "2.01234" }
			disablewhen	"{ ed_active == 0 } { ed_fractal == none }"
			range	{ 0 4 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "surface" }
		    }
		    parm {
			name	"ed_rough"
			label	"Roughness"
			type	float
			default	{ "0.5" }
			disablewhen	"{ ed_active == 0 } { ed_fractal == none }"
			range	{ 0 1 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "surface" }
		    }
		}

		group {
		    name	"ed_folder10_1"
		    label	"Output"

		    parm {
			name	"ed_docc"
			label	"Enable Output Correction"
			type	toggle
			default	{ "on" }
			disablewhen	"{ ed_active == 0 }"
			range	{ 0 1 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "surface" }
		    }
		    parm {
			name	"ed_spacer10"
			label	"ed_spacer9"
			type	label
			nolabel
			default	{ "" }
			range	{ 0 1 }
			export	none
		    }
		    parm {
			name	"ed_cc_dobias"
			label	"Do Bias"
			type	toggle
			nolabel
			joinnext
			default	{ "off" }
			disablewhen	"{ ed_active == 0 } { ed_docc == 0 }"
			range	{ 0 1 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "surface" }
		    }
		    parm {
			name	"ed_cc_bias"
			label	"Bias"
			type	float
			size	3
			default	{ "0.5" "0.5" "0.5" }
			disablewhen	"{ ed_active == 0 } { ed_docc == 0 } { ed_cc_dobias == 0 }"
			range	{ 0 10 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "surface" }
		    }
		    parm {
			name	"ed_cc_dogain"
			label	"Do Gain"
			type	toggle
			nolabel
			joinnext
			default	{ "off" }
			disablewhen	"{ ed_active == 0 } { ed_docc == 0 }"
			range	{ 0 1 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "surface" }
		    }
		    parm {
			name	"ed_cc_gain"
			label	"Gain"
			type	float
			size	3
			default	{ "0.5" "0.5" "0.5" }
			disablewhen	"{ ed_active == 0 } { ed_docc == 0 } { ed_cc_dogain == 0 }"
			range	{ 0 10 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "surface" }
		    }
		    parm {
			name	"ed_spacer11"
			label	"ed_spacer10"
			type	label
			nolabel
			default	{ "" }
			range	{ 0 1 }
			export	none
		    }
		    parm {
			name	"ed_cc_inv"
			label	"Complement"
			type	toggle
			default	{ "off" }
			disablewhen	"{ ed_active == 0 } { ed_docc == 0 }"
			range	{ 0 1 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "surface" }
		    }
		    parm {
			name	"ed_spacer12"
			label	"ed_spacer11"
			type	label
			nolabel
			default	{ "" }
			range	{ 0 1 }
			export	none
		    }
		    parm {
			name	"ed_cc_dorng"
			label	"Output Range (Clamped)"
			type	toggle
			default	{ "on" }
			disablewhen	"{ ed_active == 0 } { ed_docc == 0 }"
			range	{ 0 1 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "surface" }
		    }
		    parm {
			name	"ed_cc_rnglo"
			label	"New Minimum"
			type	float
			size	3
			default	{ "-1" "-1" "-1" }
			disablewhen	"{ ed_active == 0 } { ed_docc == 0 } { ed_cc_dorng == 0 }"
			range	{ 0 10 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "surface" }
		    }
		    parm {
			name	"ed_cc_rnghi"
			label	"New Maximum"
			type	float
			size	3
			default	{ "1" "1" "1" }
			disablewhen	"{ ed_active == 0 } { ed_docc == 0 } { ed_cc_dorng == 0 }"
			range	{ 0 10 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "surface" }
		    }
		    parm {
			name	"ed_spacer13"
			label	"ed_spacer12"
			type	label
			nolabel
			default	{ "" }
			range	{ 0 1 }
			export	none
		    }
		    parm {
			name	"ed_cc_amp"
			label	"Final Amplitude"
			type	float
			size	3
			default	{ "1" "1" "1" }
			disablewhen	"{ ed_active == 0 } { ed_docc == 0 }"
			range	{ 0 10 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "surface" }
		    }
		}

		group {
		    name	"ed_folder10_2"
		    label	"Rest Position"

		    group {
			name	"ed_folder13"
			label	"Fields"

			parm {
			    name	"ed_spacer14"
			    label	"ed_spacer13"
			    type	label
			    nolabel
			    default	{ "" }
			    range	{ 0 1 }
			    export	none
			}
			parm {
			    name	"ed_restinterp"
			    label	"Ratio Interpolation"
			    type	integer
			    default	{ "0" }
			    menu	{
				"0"	"Unmodified (Linear)"
				"1"	"Cubic"
				"2"	"Cosine"
			    }
			    range	{ 0 10 }
			    export	none
			    parmtag	{ "parmvop" "1" }
			    parmtag	{ "shaderparmcontexts" "surface" }
			}
			parm {
			    name	"ed_spacer15"
			    label	"ed_spacer14"
			    type	label
			    nolabel
			    default	{ "" }
			    range	{ 0 1 }
			    export	none
			}
			parm {
			    name	"ed_rest_name"
			    label	"Rest Position 1"
			    type	string
			    joinnext
			    default	{ "rest" }
			    range	{ 0 1 }
			    export	none
			}
			parm {
			    name	"ed_rest_intype"
			    label	"Type"
			    type	string
			    default	{ "vector" }
			    disablewhen	"{ ed_rest_name == \"\" }"
			    menu	{
				"float"	"Float"
				"vector"	"Vector"
				"vector4"	"Vector4"
			    }
			    range	{ 0 1 }
			    export	none
			    unquoted
			    parmtag	{ "script_callback" "if not kwargs['node'].isInsideLockedHDA():kwargs['node'].parm('ed_rest_method').set('assign')" }
			    parmtag	{ "script_callback_language" "python" }
			}
			parm {
			    name	"ed_rest_method"
			    label	"Conversion to Vector"
			    type	string
			    joinnext
			    default	{ "assign" }
			    disablewhen	"{ ed_rest_name == \"\" } { ed_rest_intype == vector }"
			    menu	{
				[ "hou.vopNodeTypeCategory().nodeTypes()['typeconvertimpl'].hdaModule().methodmenu(hou.evalParm('ed_rest_intype'),'vector')" ]
				language	python
			    }
			    range	{ 0 1 }
			    export	none
			}
			parm {
			    name	"ed_rest_padval"
			    label	"Padding Constant"
			    type	float
			    nolabel
			    default	{ "0" }
			    disablewhen	"{ ed_rest_name == \"\" } { rest_promote == 0 } { ed_rest_method != padc }"
			    range	{ 0 1 }
			    export	none
			}
			parm {
			    name	"ed_rest_ratio_name"
			    label	"Rest1 Ratio"
			    type	string
			    joinnext
			    default	{ "rest_ratio" }
			    range	{ 0 1 }
			    export	none
			}
			parm {
			    name	"ed_rest_ratio_intype"
			    label	"Type"
			    type	string
			    default	{ "float" }
			    disablewhen	"{ ed_rest_ratio_name == \"\" }"
			    menu	{
				"float"	"Float"
				"vector"	"Vector"
				"vector4"	"Vector4"
			    }
			    range	{ 0 1 }
			    export	none
			    unquoted
			    parmtag	{ "script_callback" "if not kwargs['node'].isInsideLockedHDA():kwargs['node'].parm('ed_rest_ratio_method').set('assign')" }
			    parmtag	{ "script_callback_language" "python" }
			}
			parm {
			    name	"ed_rest_ratio_method"
			    label	"Conversion to Float"
			    type	string
			    default	{ "assign" }
			    disablewhen	"{ ed_rest_ratio_name == \"\" } { ed_rest_ratio_intype == float }"
			    menu	{
				[ "hou.vopNodeTypeCategory().nodeTypes()['typeconvertimpl'].hdaModule().methodmenu(hou.evalParm('ed_rest_ratio_intype'),'float')" ]
				language	python
			    }
			    range	{ 0 1 }
			    export	none
			}
			parm {
			    name	"ed_rest2_name"
			    label	"Rest Position 2"
			    type	string
			    joinnext
			    default	{ "rest2" }
			    range	{ 0 1 }
			    export	none
			}
			parm {
			    name	"ed_rest2_intype"
			    label	"Type"
			    type	string
			    default	{ "vector" }
			    disablewhen	"{ ed_rest2_name == \"\" }"
			    menu	{
				"float"	"Float"
				"vector"	"Vector"
				"vector4"	"Vector4"
			    }
			    range	{ 0 1 }
			    export	none
			    unquoted
			    parmtag	{ "script_callback" "if not kwargs['node'].isInsideLockedHDA():kwargs['node'].parm('ed_rest2_method').set('assign')" }
			    parmtag	{ "script_callback_language" "python" }
			}
			parm {
			    name	"ed_rest2_method"
			    label	"Conversion to Vector"
			    type	string
			    joinnext
			    default	{ "assign" }
			    disablewhen	"{ ed_rest2_name == \"\" } { ed_rest2_intype == vector }"
			    menu	{
				[ "hou.vopNodeTypeCategory().nodeTypes()['typeconvertimpl'].hdaModule().methodmenu(hou.evalParm('ed_rest2_intype'),'vector')" ]
				language	python
			    }
			    range	{ 0 1 }
			    export	none
			}
			parm {
			    name	"ed_rest2_padval"
			    label	"Padding Constant"
			    type	float
			    nolabel
			    default	{ "0" }
			    disablewhen	"{ ed_rest2_name == \"\" } { rest2_promote == 0 } { ed_rest2_method != padc }"
			    range	{ 0 1 }
			    export	none
			}
			parm {
			    name	"ed_rest2_ratio_name"
			    label	"Rest2 Ratio"
			    type	string
			    joinnext
			    default	{ "rest2_ratio" }
			    range	{ 0 1 }
			    export	none
			}
			parm {
			    name	"ed_rest2_ratio_intype"
			    label	"Type"
			    type	string
			    default	{ "float" }
			    disablewhen	"{ ed_rest2_ratio_name == \"\" }"
			    menu	{
				"float"	"Float"
				"vector"	"Vector"
				"vector4"	"Vector4"
			    }
			    range	{ 0 1 }
			    export	none
			    unquoted
			    parmtag	{ "script_callback" "if not kwargs['node'].isInsideLockedHDA():kwargs['node'].parm('ed_rest2_ratio_method').set('assign')" }
			    parmtag	{ "script_callback_language" "python" }
			}
			parm {
			    name	"ed_rest2_ratio_method"
			    label	"Conversion to Float"
			    type	string
			    default	{ "assign" }
			    disablewhen	"{ ed_rest2_ratio_name == \"\" } { ed_rest2_ratio_intype == float }"
			    menu	{
				[ "hou.vopNodeTypeCategory().nodeTypes()['typeconvertimpl'].hdaModule().methodmenu(hou.evalParm('ed_rest2_ratio_intype'),'float')" ]
				language	python
			    }
			    range	{ 0 1 }
			    export	none
			}
		    }

		    group {
			name	"ed_folder13_1"
			label	"Fallback"

			parm {
			    name	"ed_spacer16"
			    label	"ed_spacer15"
			    type	label
			    nolabel
			    default	{ "" }
			    range	{ 0 1 }
			    export	none
			}
			parm {
			    name	"ed_fallback_label"
			    label	"fallback_label"
			    type	label
			    nolabel
			    default	{ "Fallback Rest Position Upon Failure (VEX):" }
			    range	{ 0 1 }
			    export	none
			}
			parm {
			    name	"ed_spacer17"
			    label	"ed_spacer16"
			    type	label
			    nolabel
			    default	{ "" }
			    range	{ 0 1 }
			    export	none
			}
			parm {
			    name	"ed_fail_shading"
			    label	"SHADING Contexts"
			    type	string
			    default	{ "ptransform(\"space:object\",P)" }
			    range	{ 0 1 }
			    export	none
			    unquoted
			}
			parm {
			    name	"ed_fail_cop"
			    label	"COP|COP2 Contexts"
			    type	string
			    default	{ "set(X,Y,0)" }
			    range	{ 0 1 }
			    export	none
			    unquoted
			}
			parm {
			    name	"ed_fail_sop"
			    label	"SOP|POP Contexts"
			    type	string
			    default	{ "P" }
			    range	{ 0 1 }
			    export	none
			    unquoted
			}
			parm {
			    name	"ed_fail_chop"
			    label	"CHOP Context"
			    type	string
			    default	{ "set((float)I/SR,V,0)" }
			    range	{ 0 1 }
			    export	none
			    unquoted
			}
			parm {
			    name	"ed_fail_cvex"
			    label	"CVEX Context"
			    type	string
			    default	{ "0" }
			    range	{ 0 1 }
			    export	none
			    unquoted
			}
			parm {
			    name	"ed_fail_fail"
			    label	"Unknown Context"
			    type	string
			    default	{ "0" }
			    range	{ 0 1 }
			    export	none
			    unquoted
			}
		    }

		}

	    }

	}

	group {
	    name	"folder0_8_1"
	    label	"Color"

	    parm {
		name	"ec_fld_name"
		label	"Field Name"
		type	string
		joinnext
		default	{ "" }
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"ec_fld_intype"
		label	"Type"
		type	string
		default	{ "float" }
		menu	{
		    "float"	"Float"
		    "vector"	"Vector"
		    "vector4"	"Vector4"
		}
		range	{ 0 1 }
		export	none
		unquoted
		parmtag	{ "script_callback" "__import__('pyro2').updateField(kwargs,'ec_fld_intype','ec_fld_promote','ec_fld_method','ec_fld_outtype','EmitColor_Field_flt')" }
		parmtag	{ "script_callback_language" "python" }
	    }
	    parm {
		name	"ec_fld_promote"
		label	"Promote"
		type	toggle
		joinnext
		default	{ "0" }
		disablewhen	"{ ec_fld_name == \"\" }"
		range	{ 0 1 }
		export	none
		parmtag	{ "script_callback" "__import__('pyro2').updateField(kwargs,'ec_fld_intype','ec_fld_promote','ec_fld_method','ec_fld_outtype','EmitColor_Field_flt')" }
		parmtag	{ "script_callback_language" "python" }
	    }
	    parm {
		name	"ec_fld_outtype"
		label	"To Type"
		type	string
		joinnext
		default	{ "float" }
		disablewhen	"{ ec_fld_name == \"\" } { ec_fld_promote == 0 }"
		menu	{
		    "float"	"Float"
		    "vector"	"Vector"
		    "vector4"	"Vector4"
		}
		range	{ 0 1 }
		export	none
		unquoted
		parmtag	{ "script_callback" "__import__('pyro2').updateField(kwargs,'ec_fld_intype','ec_fld_promote','ec_fld_method','ec_fld_outtype','EmitColor_Field_flt')" }
		parmtag	{ "script_callback_language" "python" }
	    }
	    parm {
		name	"ec_fld_method"
		label	"Method"
		type	string
		nolabel
		joinnext
		default	{ "assign" }
		disablewhen	"{ ec_fld_name == \"\" } { ec_fld_doconvert == 0 }"
		menu	{
		    [ "hou.vopNodeTypeCategory().nodeTypes()['typeconvertimpl'].hdaModule().methodmenu(hou.evalParm('ec_fld_intype'),hou.evalParm('ec_fld_outtype'))" ]
		    language	python
		}
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"ec_fld_padval"
		label	"Padding Constant"
		type	float
		nolabel
		default	{ "0" }
		disablewhen	"{ ec_fld_name == \"\" } { ec_fld_promote == 0 } { ec_fld_method != padc }"
		range	{ 0 1 }
		export	none
		parmtag	{ "parmvop" "1" }
		parmtag	{ "shaderparmcontexts" "surface" }
	    }
	    parm {
		name	"ec_fld_dfltval"
		label	"Default Field Value"
		type	float
		size	4
		default	{ "0" "0" "0" "0" }
		disablewhen	"{ ec_fld_name != \"\" }"
		range	{ 0 10 }
		export	none
		parmtag	{ "parmvop" "1" }
		parmtag	{ "shaderparmcontexts" "surface" }
	    }
	    parm {
		name	"ec_fld_doconvert"
		label	"doconvert"
		type	integer
		invisible
		default	{ "0" }
		range	{ 0 10 }
		export	none
		parmtag	{ "pyro_expression" "evalParm('ec_fld_promote') and evalParm('ec_fld_intype') != evalParm('ec_fld_outtype')" }
		parmtag	{ "pyro_expression_language" "python" }
	    }
	    parm {
		name	"ec_spacer"
		label	"spacer"
		type	label
		nolabel
		default	{ "" }
		range	{ 0 1 }
		export	none
	    }
	    group {
		name	"ec_folder12"
		label	"Color"

		parm {
		    name	"ec_cm_usecd"
		    label	"Use Point Color (Tint With Cd)"
		    type	toggle
		    default	{ "on" }
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "surface" }
		}
		parm {
		    name	"ec_cm_cmodel"
		    label	"Color Model"
		    type	integer
		    invisible
		    default	{ "__import__('pyro2').uiGetRadioValue(node('.'),'ec_cm_constcol')" }
		    menu	{
			"0"	"Constant Color"
			"1"	"Ramp Lookup"
			"2"	"Blackbody"
		    }
		    range	{ 0 10 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "surface" }
		}
		groupradio {
		    name	"ec_cmodelswitcher9"
		    label	"Constant"

		    parm {
			name	"ec_spacer2"
			label	"ec_spacer"
			type	label
			nolabel
			default	{ "" }
			range	{ 0 1 }
			export	none
		    }
		    parm {
			name	"ec_cm_constcol"
			label	"Constant Color"
			type	color
			size	3
			default	{ "1" "1" "1" }
			disablewhen	"{ ec_cm_cmodel != 0 }"
			range	{ 0 1 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "surface" }
		    }
		    parm {
			name	"ec_spacer3"
			label	"ec_spacer2"
			type	label
			nolabel
			default	{ "" }
			range	{ 0 1 }
			export	none
		    }
		}

		groupradio {
		    name	"ec_cmodelswitcher9_1"
		    label	"Artistic"

		    parm {
			name	"ec_spacer4"
			label	"ec_spacer3"
			type	label
			nolabel
			default	{ "" }
			range	{ 0 1 }
			export	none
		    }
		    parm {
			name	"ec_cm_presets"
			label	"Presets"
			type	ordinal
			nolabel
			joinnext
			default	{ "0" }
			menu	{
			    [ "__import__('pyro2').rampPresetMenu(kwargs,'EmitColor_Color',False)" ]
			    language	python
			}
			range	{ 0 1 }
			export	none
			parmtag	{ "script_callback" "__import__('pyro2').rampPresetCB(kwargs,'EmitColor_Color',False)" }
			parmtag	{ "script_callback_language" "python" }
		    }
		    parm {
			name	"ec_cm_spacename"
			label	" Space"
			type	string
			nolabel
			joinnext
			default	{ "rgb" }
			menu	{
			    "rgb"	"RGB"
			    "hsv"	"HSV"
			    "lab"	"LAB"
			    "hsl"	"HSL"
			    "xyz"	"XYZ"
			}
			range	{ 0 1 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "surface" }
		    }
		    parm {
			name	"ec_cm_gammaname"
			label	"Gamma Type"
			type	string
			nolabel
			joinnext
			default	{ "linear" }
			menu	{
			    "linear"	"Linear"
			    "srgb"	"sRGB"
			    "custom"	"Custom"
			}
			range	{ 0 1 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "surface" }
		    }
		    parm {
			name	"ec_cm_gammaval"
			label	"Gamma Value"
			type	float
			nolabel
			default	{ "2.2" }
			disablewhen	"{ ec_cm_gammaname != custom }"
			range	{ 0.0001 4 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "surface" }
		    }
		    parm {
			name	"EmitColor_Color"
			label	"Lookup Ramp"
			type	ramp_rgb
			default	{ "2" }
			range	{ 1! 10 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "rampbasis_var" "EmitColor_Color_the_basis_strings" }
			parmtag	{ "rampbasisdefault" "linear" }
			parmtag	{ "rampcolortype" "rgb" }
			parmtag	{ "rampkeys_var" "EmitColor_Color_the_key_positions" }
			parmtag	{ "rampshowcontrolsdefault" "0" }
			parmtag	{ "rampvalues_var" "EmitColor_Color_the_key_values" }
			parmtag	{ "shaderparmcontexts" "surface" }
		    }
		    parm {
			name	"ec_cm_rangemin"
			label	"Ramp Interval"
			type	float
			joinnext
			default	{ "0" }
			range	{ 0 1 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "surface" }
		    }
		    parm {
			name	"ec_cm_rangemax"
			label	"Ramp: Range Max"
			type	float
			nolabel
			default	{ "1" }
			range	{ 0 1 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "surface" }
		    }
		    parm {
			name	"ec_cm_lbt"
			label	"Ramp Boundaries"
			type	string
			joinnext
			default	{ "hold" }
			menu	{
			    "hold"	"Hold"
			    "cycle"	"Cycle"
			    "accum"	"Cycle-Accumulate"
			    "mirror"	"Mirror"
			    "slope"	"Slope"
			}
			range	{ 0 1 }
			export	none
			unquoted
		    }
		    parm {
			name	"ec_cm_rbt"
			label	"Right"
			type	string
			nolabel
			default	{ "hold" }
			menu	{
			    "hold"	"Hold"
			    "cycle"	"Cycle"
			    "accum"	"Cycle-Accumulate"
			    "mirror"	"Mirror"
			    "slope"	"Slope"
			}
			range	{ 0 1 }
			export	none
			unquoted
		    }
		    parm {
			name	"ec_spacer5"
			label	"ec_spacer4"
			type	label
			nolabel
			default	{ "" }
			range	{ 0 1 }
			export	none
		    }
		}

		groupradio {
		    name	"ec_cmodelswitcher9_2"
		    label	"Physical"

		    group {
			name	"ec_folder15"
			label	"Definition"

			parm {
			    name	"ec_spacer6"
			    label	"ec_spacer5"
			    type	label
			    nolabel
			    default	{ "" }
			    range	{ 0 1 }
			    export	none
			}
			parm {
			    name	"ec_cm_temp"
			    label	"Temperature (K)"
			    type	float
			    default	{ "1000" }
			    range	{ 350 15000 }
			    export	none
			    parmtag	{ "parmvop" "1" }
			    parmtag	{ "shaderparmcontexts" "surface" }
			}
			parm {
			    name	"ec_spacer7"
			    label	"ec_spacer6"
			    type	label
			    nolabel
			    default	{ "" }
			    range	{ 0 1 }
			    export	none
			}
			parm {
			    name	"ec_cm_dotm"
			    label	"Tone Mapping:"
			    type	toggle
			    joinnext
			    default	{ "on" }
			    range	{ 0 1 }
			    export	none
			    parmtag	{ "parmvop" "1" }
			    parmtag	{ "shaderparmcontexts" "surface" }
			}
			parm {
			    name	"ec_spacer8"
			    label	"ec_spacer7"
			    type	label
			    nolabel
			    default	{ "" }
			    range	{ 0 1 }
			    export	none
			}
			parm {
			    name	"ec_cm_tm_adapt"
			    label	"Adaptation"
			    type	float
			    default	{ "0.3" }
			    disablewhen	"{ dotm == 0 }"
			    range	{ 0 1 }
			    export	none
			    parmtag	{ "parmvop" "1" }
			    parmtag	{ "shaderparmcontexts" "surface" }
			}
			parm {
			    name	"ec_cm_tm_burn"
			    label	"Burn"
			    type	float
			    default	{ "1.5" }
			    disablewhen	"{ dotm == 0 }"
			    range	{ -2 2 }
			    export	none
			    parmtag	{ "parmvop" "1" }
			    parmtag	{ "shaderparmcontexts" "surface" }
			}
			parm {
			    name	"ec_spacer9"
			    label	"ec_spacer8"
			    type	label
			    nolabel
			    default	{ "" }
			    range	{ 0 1 }
			    export	none
			}
		    }

		    group {
			name	"ec_folder15_1"
			label	"Export To Ramp(s)"

			parm {
			    name	"ec_cm_export"
			    label	"Export"
			    type	button
			    joinnext
			    default	{ "0" }
			    range	{ 0 1 }
			    export	none
			    parmtag	{ "script_callback" "__import__('pyro2').blackbodyRampsCB(kwargs,\"ec_cm_xpcol\",\"ec_cm_xpchr\",\"ec_cm_xpval\",\"ec_cm_xthresh\",\"ec_cm_xinterp\",\"ec_cm_xtemp1\",\"ec_cm_xtemp2\",\"ec_cm_dotm\",\"ec_cm_tm_adapt\",\"ec_cm_tm_burn\")" }
			    parmtag	{ "script_callback_language" "python" }
			}
			parm {
			    name	"ec_spacer10"
			    label	"ec_spacer9"
			    type	label
			    nolabel
			    default	{ "" }
			    range	{ 0 1 }
			    export	none
			}
			parm {
			    name	"ec_cm_xtemp1"
			    label	"Temperature Range"
			    type	float
			    joinnext
			    default	{ "0" }
			    range	{ 0! 1000 }
			    export	none
			}
			parm {
			    name	"ec_cm_xtemp2"
			    label	"Temperature End"
			    type	float
			    nolabel
			    default	{ "5000" }
			    range	{ 1000! 10000 }
			    export	none
			}
			parm {
			    name	"ec_cm_xthresh"
			    label	"Fitting Error"
			    type	float
			    default	{ "0.005" }
			    range	{ 1e-09! 0.1 }
			    export	none
			}
			parm {
			    name	"ec_cm_xinterp"
			    label	"Interpolation"
			    type	ordinal
			    default	{ "1" }
			    menu	{
				"constant"	"Constant"
				"linear"	"Linear"
				"catmull-rom"	"Catmull-Rom"
				"monotonecubic"	"Monotone Cubic"
			    }
			    range	{ 0 1 }
			    export	none
			}
			parm {
			    name	"ec_spacer11"
			    label	"ec_spacer10"
			    type	label
			    nolabel
			    default	{ "" }
			    range	{ 0 1 }
			    export	none
			}
			parm {
			    name	"ec_cm_xpcol"
			    label	"Final Color Ramp"
			    type	string
			    default	{ "EmitColor_Color" }
			    range	{ 0 1 }
			    export	none
			}
			parm {
			    name	"ec_cm_xpchr"
			    label	"Chromaticity Ramp"
			    type	string
			    default	{ "" }
			    range	{ 0 1 }
			    export	none
			}
			parm {
			    name	"ec_cm_xpval"
			    label	"Intensity Ramp"
			    type	string
			    default	{ "" }
			    range	{ 0 1 }
			    export	none
			}
		    }

		}

		parm {
		    name	"ec_cm_cc_active"
		    label	"Color Correct"
		    type	toggle
		    default	{ "0" }
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "script_callback_language" "python" }
		}
		parm {
		    name	"ec_cm_cc_gamut"
		    label	"Gamut Mapping"
		    type	integer
		    default	{ "3" }
		    disablewhen	"{ ec_cm_cc_active == 0 }"
		    menu	{
			"0"	"None"
			"1"	"Clamp"
			"2"	"Absolute Colorimetry"
			"3"	"Relative Colorimetry"
		    }
		    range	{ 0 10 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "surface" }
		}
		parm {
		    name	"ec_cm_cc_dohrot"
		    label	"Do HRot"
		    type	toggle
		    nolabel
		    joinnext
		    default	{ "off" }
		    disablewhen	"{ ec_cm_cc_active == 0 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "surface" }
		}
		parm {
		    name	"ec_cm_cc_hrot"
		    label	"Hue Rotation"
		    type	float
		    default	{ "0" }
		    disablewhen	"{ ec_cm_cc_dohrot == 0 } { ec_cm_cc_active == 0 }"
		    range	{ -1 1 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "surface" }
		}
		parm {
		    name	"ec_cm_cc_dobias"
		    label	"Do Bias"
		    type	toggle
		    nolabel
		    joinnext
		    default	{ "off" }
		    disablewhen	"{ ec_cm_cc_active == 0 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "surface" }
		}
		parm {
		    name	"ec_cm_cc_bias"
		    label	"Bias"
		    type	float
		    size	3
		    default	{ "0.5" "0.5" "0.5" }
		    disablewhen	"{ ec_cm_cc_dobias == 0 } { ec_cm_cc_active == 0 }"
		    range	{ 0 10 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "surface" }
		}
		parm {
		    name	"ec_cm_cc_dogain"
		    label	"Do Gain"
		    type	toggle
		    nolabel
		    joinnext
		    default	{ "off" }
		    disablewhen	"{ ec_cm_cc_active == 0 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "surface" }
		}
		parm {
		    name	"ec_cm_cc_gain"
		    label	"Gain"
		    type	float
		    size	3
		    default	{ "0.5" "0.5" "0.5" }
		    disablewhen	"{ ec_cm_cc_dogain == 0 } { ec_cm_cc_active == 0 }"
		    range	{ 0 10 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "surface" }
		}
		parm {
		    name	"ec_cm_cc_dogamma"
		    label	"Do Gamma"
		    type	toggle
		    nolabel
		    joinnext
		    default	{ "off" }
		    disablewhen	"{ ec_cm_cc_active == 0 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "surface" }
		}
		parm {
		    name	"ec_cm_cc_gamma"
		    label	"Gamma"
		    type	float
		    size	3
		    default	{ "1" "1" "1" }
		    disablewhen	"{ ec_cm_cc_dogamma == 0 } { ec_cm_cc_active == 0 }"
		    range	{ 0 10 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "surface" }
		}
		parm {
		    name	"ec_cm_cc_docontrast"
		    label	"Do Contrast"
		    type	toggle
		    nolabel
		    joinnext
		    default	{ "off" }
		    disablewhen	"{ ec_cm_cc_active == 0 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "surface" }
		}
		parm {
		    name	"ec_cm_cc_contrast"
		    label	"Contrast"
		    type	float
		    size	3
		    default	{ "1" "1" "1" }
		    disablewhen	"{ ec_cm_cc_docontrast == 0 } { ec_cm_cc_active == 0 }"
		    range	{ 0 10 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "surface" }
		}
		parm {
		    name	"ec_cm_cc_dosat"
		    label	"Do Saturation"
		    type	toggle
		    nolabel
		    joinnext
		    default	{ "off" }
		    disablewhen	"{ ec_cm_cc_active == 0 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "surface" }
		}
		parm {
		    name	"ec_cm_cc_sat"
		    label	"Saturation"
		    type	float
		    default	{ "1" }
		    disablewhen	"{ ec_cm_cc_dosat == 0 } { ec_cm_cc_active == 0 }"
		    range	{ -2 2 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "surface" }
		}
		parm {
		    name	"ec_cm_cc_dovalue"
		    label	"Do Brightness"
		    type	toggle
		    nolabel
		    joinnext
		    default	{ "off" }
		    disablewhen	"{ ec_cm_cc_active == 0 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "surface" }
		}
		parm {
		    name	"ec_cm_cc_value"
		    label	"Brightness"
		    type	float
		    default	{ "1" }
		    disablewhen	"{ ec_cm_cc_dovalue == 0 } { ec_cm_cc_active == 0 }"
		    range	{ 0 2 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "surface" }
		}
		parm {
		    name	"ec_cm_cc_dotint"
		    label	"Do Tint"
		    type	toggle
		    nolabel
		    joinnext
		    default	{ "off" }
		    disablewhen	"{ ec_cm_cc_active == 0 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "surface" }
		}
		parm {
		    name	"ec_cm_cc_tint"
		    label	"Tint"
		    type	color
		    size	3
		    default	{ "1" "1" "1" }
		    disablewhen	"{ ec_cm_cc_dotint == 0 } { ec_cm_cc_active == 0 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "surface" }
		}
	    }

	    group {
		name	"ec_folder12_1"
		label	"Field Shape"

		parm {
		    name	"ec_fld_dofit"
		    label	"Fit to Range (Unclamped)"
		    type	toggle
		    joinnext
		    default	{ "0" }
		    disablewhen	"{ ec_fld_name == \"\" }"
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"ec_spacer12"
		    label	"ec_spacer11"
		    type	label
		    nolabel
		    default	{ "" }
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"ec_fld_fit_srcmin"
		    label	"Source Range"
		    type	float
		    joinnext
		    default	{ "0" }
		    disablewhen	"{ ec_fld_name == \"\" } { ec_fld_dofit == 0 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "surface" }
		}
		parm {
		    name	"ec_fld_fit_srcmax"
		    label	"Max"
		    type	float
		    nolabel
		    default	{ "1" }
		    disablewhen	"{ ec_fld_name == \"\" } { ec_fld_dofit == 0 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "surface" }
		}
		parm {
		    name	"ec_fld_fit_tgtmin"
		    label	"Target Range"
		    type	float
		    joinnext
		    default	{ "0" }
		    disablewhen	"{ ec_fld_name == \"\" } { ec_fld_dofit == 0 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "surface" }
		}
		parm {
		    name	"ec_fld_fit_tgtmax"
		    label	"Max"
		    type	float
		    nolabel
		    default	{ "1" }
		    disablewhen	"{ ec_fld_name == \"\" } { ec_fld_dofit == 0 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "surface" }
		}
		parm {
		    name	"ec_spacer13"
		    label	"ec_spacer12"
		    type	label
		    nolabel
		    default	{ "" }
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"ec_fld_doramp"
		    label	"Ramp"
		    type	toggle
		    joinnext
		    default	{ "0" }
		    disablewhen	"{ ec_fld_name == \"\" }"
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"ec_fld_presets"
		    label	"Presets"
		    type	ordinal
		    nolabel
		    joinnext
		    default	{ "0" }
		    disablewhen	"{ ec_fld_name == \"\" } { ec_fld_doramp == 0 }"
		    menu	{
			[ "__import__('pyro2').rampPresetMenu(kwargs,'EmitColor_Field',True)" ]
			language	python
		    }
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "script_callback" "__import__('pyro2').rampPresetCB(kwargs,'EmitColor_Field',True)" }
		    parmtag	{ "script_callback_language" "python" }
		}
		parm {
		    name	"ec_fld_spacename"
		    label	" Space"
		    type	string
		    nolabel
		    joinnext
		    default	{ "rgb" }
		    disablewhen	"{ ec_fld_name == \"\" } { ec_fld_doramp == 0 } { fld_rampswitcher1 == 0 }"
		    menu	{
			"rgb"	"RGB"
			"hsv"	"HSV"
			"lab"	"LAB"
			"hsl"	"HSL"
			"xyz"	"XYZ"
		    }
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "surface" }
		}
		parm {
		    name	"ec_fld_gammaname"
		    label	"Gamma Type"
		    type	string
		    nolabel
		    joinnext
		    default	{ "linear" }
		    disablewhen	"{ ec_fld_name == \"\" } { ec_fld_doramp == 0 }"
		    menu	{
			"linear"	"Linear"
			"srgb"	"sRGB"
			"custom"	"Custom"
		    }
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "surface" }
		}
		parm {
		    name	"ec_fld_gammaval"
		    label	"Gamma Value"
		    type	float
		    nolabel
		    default	{ "2.2" }
		    disablewhen	"{ ec_fld_name == \"\" } { ec_fld_doramp == 0 } { ec_fld_gammaname != custom }"
		    range	{ 0.0001 4 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "surface" }
		}
		groupradio {
		    name	"ec_fld_rampswitcher8"
		    label	"Float"

		    parm {
			name	"EmitColor_Field_flt"
			label	"Lookup Ramp"
			type	ramp_flt
			default	{ "2" }
			disablewhen	"{ ec_fld_name == \"\" } { ec_fld_doramp == 0 }"
			range	{ 1! 10 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "rampbasis_var" "EmitColor_Field_flt_the_basis_strings" }
			parmtag	{ "rampbasisdefault" "linear" }
			parmtag	{ "rampkeys_var" "EmitColor_Field_flt_the_key_positions" }
			parmtag	{ "rampshowcontrolsdefault" "0" }
			parmtag	{ "rampvalues_var" "EmitColor_Field_flt_the_key_values" }
			parmtag	{ "shaderparmcontexts" "surface" }
		    }
		}

		groupradio {
		    name	"ec_fld_rampswitcher8_1"
		    label	"Color"

		    parm {
			name	"EmitColor_Field_rgb"
			label	"Lookup Ramp"
			type	ramp_rgb
			default	{ "2" }
			disablewhen	"{ ec_fld_name == \"\" } { ec_fld_doramp == 0 }"
			range	{ 1! 10 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "rampbasis_var" "EmitColor_Field_rgb_the_basis_strings" }
			parmtag	{ "rampbasisdefault" "linear" }
			parmtag	{ "rampcolortype" "rgb" }
			parmtag	{ "rampkeys_var" "EmitColor_Field_rgb_the_key_positions" }
			parmtag	{ "rampshowcontrolsdefault" "0" }
			parmtag	{ "rampvalues_var" "EmitColor_Field_rgb_the_key_values" }
			parmtag	{ "shaderparmcontexts" "surface" }
		    }
		}

		parm {
		    name	"ec_fld_ramp_rngmin"
		    label	"Ramp Interval"
		    type	float
		    joinnext
		    default	{ "0" }
		    disablewhen	"{ ec_fld_name == \"\" } { ec_fld_doramp == 0 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "surface" }
		}
		parm {
		    name	"ec_fld_ramp_rngmax"
		    label	"Ramp: Range Max"
		    type	float
		    nolabel
		    default	{ "1" }
		    disablewhen	"{ ec_fld_name == \"\" } { ec_fld_doramp == 0 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "surface" }
		}
		parm {
		    name	"ec_fld_lbt"
		    label	"Ramp Boundaries"
		    type	string
		    joinnext
		    default	{ "hold" }
		    disablewhen	"{ ec_fld_name == \"\" } { ec_fld_doramp == 0 }"
		    menu	{
			"hold"	"Hold"
			"cycle"	"Cycle"
			"accum"	"Cycle-Accumulate"
			"mirror"	"Mirror"
			"slope"	"Slope"
		    }
		    range	{ 0 1 }
		    export	none
		    unquoted
		}
		parm {
		    name	"ec_fld_rbt"
		    label	"Right"
		    type	string
		    nolabel
		    default	{ "hold" }
		    disablewhen	"{ ec_fld_name == \"\" } { ec_fld_doramp == 0 }"
		    menu	{
			"hold"	"Hold"
			"cycle"	"Cycle"
			"accum"	"Cycle-Accumulate"
			"mirror"	"Mirror"
			"slope"	"Slope"
		    }
		    range	{ 0 1 }
		    export	none
		    unquoted
		}
		parm {
		    name	"ec_spacer14"
		    label	"ec_spacer13"
		    type	label
		    nolabel
		    default	{ "" }
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"ec_fld_docontour"
		    label	"Enable Contour"
		    type	toggle
		    nolabel
		    joinnext
		    default	{ "0" }
		    disablewhen	"{ ec_fld_name == \"\" }"
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"ec_fld_contour_width"
		    label	"Contour: Width"
		    type	float
		    joinnext
		    default	{ "0.02" }
		    disablewhen	"{ ec_fld_name == \"\" } { ec_fld_docontour == 0 }"
		    range	{ 0 0.1 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "surface" }
		}
		parm {
		    name	"ec_fld_contour_sharp"
		    label	"Sharpness"
		    type	float
		    default	{ "4" }
		    disablewhen	"{ ec_fld_name == \"\" } { ec_fld_docontour == 0 }"
		    range	{ 0 10 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "surface" }
		}
		parm {
		    name	"ec_fld_dosclip"
		    label	"Enable Soft Clip"
		    type	toggle
		    nolabel
		    joinnext
		    default	{ "0" }
		    disablewhen	"{ ec_fld_name == \"\" }"
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"ec_fld_sclip_start"
		    label	"SoftClip: Start"
		    type	float
		    joinnext
		    default	{ "0.8" }
		    disablewhen	"{ ec_fld_name == \"\" } { ec_fld_dosclip == 0 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "surface" }
		}
		parm {
		    name	"ec_fld_sclip_suppress"
		    label	"  Suppress"
		    type	float
		    default	{ "1" }
		    disablewhen	"{ ec_fld_name == \"\" } { ec_fld_dosclip == 0 }"
		    range	{ 0 10 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "surface" }
		}
		parm {
		    name	"ec_spacer15"
		    label	"ec_spacer14"
		    type	label
		    nolabel
		    default	{ "" }
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"ec_fld_dolowlimit"
		    label	"Enable Lower Limit"
		    type	toggle
		    nolabel
		    joinnext
		    default	{ "0" }
		    disablewhen	"{ ec_fld_name == \"\" }"
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"ec_fld_lowlimit"
		    label	"Clamp to Min"
		    type	float
		    default	{ "0" }
		    disablewhen	"{ ec_fld_name == \"\" } { ec_fld_dolowlimit == 0 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "surface" }
		}
		parm {
		    name	"ec_fld_dohighlimit"
		    label	"Enable Upper Limit"
		    type	toggle
		    nolabel
		    joinnext
		    default	{ "0" }
		    disablewhen	"{ ec_fld_name == \"\" }"
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"ec_fld_highlimit"
		    label	"Clamp to Max"
		    type	float
		    default	{ "1" }
		    disablewhen	"{ ec_fld_name == \"\" } { ec_fld_dohighlimit == 0 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "surface" }
		}
		parm {
		    name	"ec_spacer16"
		    label	"ec_spacer15"
		    type	label
		    nolabel
		    default	{ "" }
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"ec_fld_amp"
		    label	"Final Amplitude"
		    type	float
		    default	{ "1" }
		    range	{ 0 2 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "surface" }
		}
	    }

	    group {
		name	"ec_folder12_2"
		label	"Field Noise"

		parm {
		    name	"ec_pn_active"
		    label	"Active"
		    type	toggle
		    default	{ "0" }
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"ec_pn_ntype"
		    label	"Noise Output Type"
		    type	ordinal
		    joinnext
		    default	{ "0" }
		    disablewhen	"{ ec_pn_active == 0 }"
		    menu	{
			[ "d3 = (\"default\", \"Float\", \"v3\", \"Vector\")" ]
			[ "d4 = (\"f4\", \"Float\", \"v4\", \"Vector\")" ]
			[ "return (d3,d4)[kwargs[\"node\"].evalParm(\"ec_pn_dim4\")]" ]
			language	python
		    }
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"ec_pn_dim4"
		    label	"Space"
		    type	ordinal
		    joinnext
		    default	{ "0" }
		    disablewhen	"{ ec_pn_active == 0 }"
		    menu	{
			"0"	"3D"
			"1"	"4D"
		    }
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"ec_pn_time"
		    label	"Time"
		    type	float
		    default	{ "0" }
		    disablewhen	"{ ec_pn_active == 0 } { ec_pn_dim4 == 0 }"
		    range	{ 0 10 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "surface" }
		}
		parm {
		    name	"ec_pn_fieldop"
		    label	"Field Operation"
		    type	string
		    default	{ "add" }
		    disablewhen	"{ ec_pn_active == 0 }"
		    menu	{
			"add"	"Offset (Field + Noise)"
			"mult"	"Scale (Field * Noise)"
		    }
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"ec_spacer17"
		    label	"ec_spacer16"
		    type	label
		    nolabel
		    default	{ "" }
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"ec_pn_freq"
		    label	"Frequency"
		    type	float
		    size	4
		    default	{ "1" "1" "1" "1" }
		    disablewhen	"{ ec_pn_active == 0 }"
		    range	{ 0 10 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "surface" }
		}
		parm {
		    name	"ec_pn_offset"
		    label	"Offset"
		    type	float
		    size	4
		    default	{ "0" "0" "0" "0" }
		    disablewhen	"{ ec_pn_active == 0 }"
		    range	{ 0 10 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "surface" }
		}
		parm {
		    name	"ec_pn_period"
		    label	"Period"
		    type	float
		    size	4
		    default	{ "1" "1" "1" "1" }
		    disablewhen	"{ ec_pn_active == 0 } { ec_pn_basis != pperlin ec_pn_basis != pflow }"
		    range	{ 0 10 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "surface" }
		}
		parm {
		    name	"ec_spacer18"
		    label	"ec_spacer17"
		    type	label
		    nolabel
		    default	{ "" }
		    range	{ 0 1 }
		    export	none
		}
		group {
		    name	"ec_folder18"
		    label	"Construction"

		    parm {
			name	"ec_pn_basis"
			label	"Noise Type"
			type	string
			default	{ "simplex" }
			disablewhen	"{ ec_pn_active == 0 }"
			menu	{
			    "sine"	"Sinusoid"
			    "perlin"	"Perlin"
			    "pperlin"	"Periodic Perlin"
			    "simplex"	"Simplex (Improved Perlin)"
			    "sparse"	"Sparse Convolution"
			    "flow"	"Flow"
			    "pflow"	"Periodic Flow"
			    "worleyFA"	"Worley (cellular) F1"
			    "worleyFB"	"Worley (cellular) F2-F1"
			    "alligator"	"Alligator"
			}
			range	{ 0 1 }
			export	none
			unquoted
		    }
		    parm {
			name	"ec_pn_inv"
			label	"Complement"
			type	toggle
			default	{ "off" }
			disablewhen	"{ ec_pn_active == 0 }"
			range	{ 0 1 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "surface" }
		    }
		    parm {
			name	"ec_pn_fold"
			label	"Fold"
			type	toggle
			default	{ "off" }
			disablewhen	"{ ec_pn_active == 0 }"
			range	{ 0 1 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "surface" }
		    }
		    parm {
			name	"ec_pn_expon"
			label	"Exponent"
			type	float
			default	{ "1" }
			disablewhen	"{ ec_pn_active == 0 }"
			range	{ 0 2 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "surface" }
		    }
		    parm {
			name	"ec_pn_dolwarp"
			label	"Enable Lattice Warp"
			type	toggle
			nolabel
			joinnext
			default	{ "off" }
			disablewhen	"{ ec_pn_active == 0 }"
			range	{ 0 1 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "surface" }
		    }
		    parm {
			name	"ec_pn_disp"
			label	"Lattice Warp"
			type	float
			joinnext
			default	{ "0" }
			disablewhen	"{ ec_pn_active == 0 } { ec_pn_dolwarp == 0 }"
			range	{ -0.5 0.5 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "surface" }
		    }
		    parm {
			name	"ec_pn_dispfreq"
			label	"Freq"
			type	float
			default	{ "1" }
			disablewhen	"{ ec_pn_active == 0 } { ec_pn_dolwarp == 0 }"
			range	{ 0 1 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "surface" }
		    }
		    parm {
			name	"ec_pn_dogwarp"
			label	"Enable Gradient Warp"
			type	toggle
			nolabel
			joinnext
			default	{ "off" }
			disablewhen	"{ ec_pn_active == 0 }"
			range	{ 0 1 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "surface" }
		    }
		    parm {
			name	"ec_pn_gflow"
			label	"Gradient Warp"
			type	float
			default	{ "0" }
			disablewhen	"{ ec_pn_active == 0 } { ec_pn_dogwarp == 0 }"
			range	{ -0.5 0.5 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "surface" }
		    }
		    parm {
			name	"ec_pn_flowrot"
			label	"Flow Rotation"
			type	float
			default	{ "0" }
			disablewhen	"{ ec_pn_active == 0 } { ec_pn_basis != flow ec_pn_basis != pflow }"
			range	{ 0 1 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "surface" }
		    }
		    parm {
			name	"ec_spacer19"
			label	"ec_spacer18"
			type	label
			nolabel
			default	{ "" }
			range	{ 0 1 }
			export	none
		    }
		    parm {
			name	"ec_pn_fractal"
			label	"Fractal Type"
			type	string
			default	{ "none" }
			disablewhen	"{ ec_pn_active == 0 }"
			menu	{
			    "none"	"None"
			    "fBm"	"Standard (fBm)"
			    "mfT"	"Terrain"
			    "hmfT"	"Hybrid Terrain"
			}
			range	{ 0 1 }
			export	none
			unquoted
		    }
		    parm {
			name	"ec_pn_accuml"
			label	"Accumulate Lattice Warp"
			type	toggle
			default	{ "off" }
			disablewhen	"{ ec_pn_active == 0 } { ec_pn_fractal == none }"
			range	{ 0 1 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "surface" }
		    }
		    parm {
			name	"ec_pn_accumg"
			label	"Accumulate Gradient Warp"
			type	toggle
			default	{ "off" }
			disablewhen	"{ ec_pn_active == 0 } { ec_pn_fractal == none }"
			range	{ 0 1 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "surface" }
		    }
		    parm {
			name	"ec_pn_oct"
			label	"Max Octaves"
			type	float
			default	{ "8" }
			disablewhen	"{ ec_pn_active == 0 } { ec_pn_fractal == none }"
			range	{ 0 16 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "surface" }
		    }
		    parm {
			name	"ec_pn_lac"
			label	"Lacunarity"
			type	float
			default	{ "2.01234" }
			disablewhen	"{ ec_pn_active == 0 } { ec_pn_fractal == none }"
			range	{ 0 4 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "surface" }
		    }
		    parm {
			name	"ec_pn_rough"
			label	"Roughness"
			type	float
			default	{ "0.5" }
			disablewhen	"{ ec_pn_active == 0 } { ec_pn_fractal == none }"
			range	{ 0 1 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "surface" }
		    }
		}

		group {
		    name	"ec_folder18_1"
		    label	"Output"

		    parm {
			name	"ec_pn_docc"
			label	"Enable Output Correction"
			type	toggle
			default	{ "on" }
			disablewhen	"{ ec_pn_active == 0 }"
			range	{ 0 1 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "surface" }
		    }
		    parm {
			name	"ec_spacer20"
			label	"ec_spacer19"
			type	label
			nolabel
			default	{ "" }
			range	{ 0 1 }
			export	none
		    }
		    parm {
			name	"ec_pn_cc_dobias"
			label	"Do Bias"
			type	toggle
			nolabel
			joinnext
			default	{ "off" }
			disablewhen	"{ ec_pn_active == 0 } { ec_pn_docc == 0 }"
			range	{ 0 1 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "surface" }
		    }
		    parm {
			name	"ec_pn_cc_bias"
			label	"Bias"
			type	float
			size	3
			default	{ "0.5" "0.5" "0.5" }
			disablewhen	"{ ec_pn_active == 0 } { ec_pn_docc == 0 } { ec_pn_cc_dobias == 0 }"
			range	{ 0 10 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "surface" }
		    }
		    parm {
			name	"ec_pn_cc_dogain"
			label	"Do Gain"
			type	toggle
			nolabel
			joinnext
			default	{ "off" }
			disablewhen	"{ ec_pn_active == 0 } { ec_pn_docc == 0 }"
			range	{ 0 1 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "surface" }
		    }
		    parm {
			name	"ec_pn_cc_gain"
			label	"Gain"
			type	float
			size	3
			default	{ "0.5" "0.5" "0.5" }
			disablewhen	"{ ec_pn_active == 0 } { ec_pn_docc == 0 } { ec_pn_cc_dogain == 0 }"
			range	{ 0 10 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "surface" }
		    }
		    parm {
			name	"ec_spacer21"
			label	"ec_spacer20"
			type	label
			nolabel
			default	{ "" }
			range	{ 0 1 }
			export	none
		    }
		    parm {
			name	"ec_pn_cc_inv"
			label	"Complement"
			type	toggle
			default	{ "off" }
			disablewhen	"{ ec_pn_active == 0 } { ec_pn_docc == 0 }"
			range	{ 0 1 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "surface" }
		    }
		    parm {
			name	"ec_spacer22"
			label	"ec_spacer21"
			type	label
			nolabel
			default	{ "" }
			range	{ 0 1 }
			export	none
		    }
		    parm {
			name	"ec_pn_cc_dorng"
			label	"Output Range (Clamped)"
			type	toggle
			default	{ "on" }
			disablewhen	"{ ec_pn_active == 0 } { ec_pn_docc == 0 }"
			range	{ 0 1 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "surface" }
		    }
		    parm {
			name	"ec_pn_cc_rnglo"
			label	"New Minimum"
			type	float
			size	3
			default	{ "-1" "-1" "-1" }
			disablewhen	"{ ec_pn_active == 0 } { ec_pn_docc == 0 } { ec_pn_cc_dorng == 0 }"
			range	{ 0 10 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "surface" }
		    }
		    parm {
			name	"ec_pn_cc_rnghi"
			label	"New Maximum"
			type	float
			size	3
			default	{ "1" "1" "1" }
			disablewhen	"{ ec_pn_active == 0 } { ec_pn_docc == 0 } { ec_pn_cc_dorng == 0 }"
			range	{ 0 10 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "surface" }
		    }
		    parm {
			name	"ec_spacer23"
			label	"ec_spacer22"
			type	label
			nolabel
			default	{ "" }
			range	{ 0 1 }
			export	none
		    }
		    parm {
			name	"ec_pn_cc_amp"
			label	"Final Amplitude"
			type	float
			size	3
			default	{ "1" "1" "1" }
			disablewhen	"{ ec_pn_active == 0 } { ec_pn_docc == 0 }"
			range	{ 0 10 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "surface" }
		    }
		}

		group {
		    name	"ec_folder18_2"
		    label	"Rest Position"

		    group {
			name	"ec_folder19"
			label	"Fields"

			parm {
			    name	"ec_spacer24"
			    label	"ec_spacer23"
			    type	label
			    nolabel
			    default	{ "" }
			    range	{ 0 1 }
			    export	none
			}
			parm {
			    name	"ec_dr_restinterp"
			    label	"Ratio Interpolation"
			    type	integer
			    default	{ "0" }
			    menu	{
				"0"	"Unmodified (Linear)"
				"1"	"Cubic"
				"2"	"Cosine"
			    }
			    range	{ 0 10 }
			    export	none
			    parmtag	{ "parmvop" "1" }
			    parmtag	{ "shaderparmcontexts" "surface" }
			}
			parm {
			    name	"ec_spacer25"
			    label	"ec_spacer24"
			    type	label
			    nolabel
			    default	{ "" }
			    range	{ 0 1 }
			    export	none
			}
			parm {
			    name	"ec_dr_rest_name"
			    label	"Rest Position 1"
			    type	string
			    joinnext
			    default	{ "rest" }
			    range	{ 0 1 }
			    export	none
			}
			parm {
			    name	"ec_dr_rest_intype"
			    label	"Type"
			    type	string
			    default	{ "vector" }
			    disablewhen	"{ ec_dr_rest_name == \"\" }"
			    menu	{
				"float"	"Float"
				"vector"	"Vector"
				"vector4"	"Vector4"
			    }
			    range	{ 0 1 }
			    export	none
			    unquoted
			    parmtag	{ "script_callback" "if not kwargs['node'].isInsideLockedHDA():kwargs['node'].parm('ec_dr_rest_method').set('assign')" }
			    parmtag	{ "script_callback_language" "python" }
			}
			parm {
			    name	"ec_dr_rest_method"
			    label	"Conversion to Vector"
			    type	string
			    joinnext
			    default	{ "assign" }
			    disablewhen	"{ ec_dr_rest_name == \"\" } { ec_dr_rest_intype == vector }"
			    menu	{
				[ "hou.vopNodeTypeCategory().nodeTypes()['typeconvertimpl'].hdaModule().methodmenu(hou.evalParm('ec_dr_rest_intype'),'vector')" ]
				language	python
			    }
			    range	{ 0 1 }
			    export	none
			}
			parm {
			    name	"ec_dr_rest_padval"
			    label	"Padding Constant"
			    type	float
			    nolabel
			    default	{ "0" }
			    disablewhen	"{ ec_dr_rest_name == \"\" } { dr_rest_promote == 0 } { ec_dr_rest_method != padc }"
			    range	{ 0 1 }
			    export	none
			}
			parm {
			    name	"ec_dr_rest_ratio_name"
			    label	"Rest1 Ratio"
			    type	string
			    joinnext
			    default	{ "rest_ratio" }
			    range	{ 0 1 }
			    export	none
			}
			parm {
			    name	"ec_dr_rest_ratio_intype"
			    label	"Type"
			    type	string
			    default	{ "float" }
			    disablewhen	"{ ec_dr_rest_ratio_name == \"\" }"
			    menu	{
				"float"	"Float"
				"vector"	"Vector"
				"vector4"	"Vector4"
			    }
			    range	{ 0 1 }
			    export	none
			    unquoted
			    parmtag	{ "script_callback" "if not kwargs['node'].isInsideLockedHDA():kwargs['node'].parm('ec_dr_rest_ratio_method').set('assign')" }
			    parmtag	{ "script_callback_language" "python" }
			}
			parm {
			    name	"ec_dr_rest_ratio_method"
			    label	"Conversion to Float"
			    type	string
			    default	{ "assign" }
			    disablewhen	"{ ec_dr_rest_ratio_name == \"\" } { ec_dr_rest_ratio_intype == float }"
			    menu	{
				[ "hou.vopNodeTypeCategory().nodeTypes()['typeconvertimpl'].hdaModule().methodmenu(hou.evalParm('ec_dr_rest_ratio_intype'),'float')" ]
				language	python
			    }
			    range	{ 0 1 }
			    export	none
			}
			parm {
			    name	"ec_dr_rest2_name"
			    label	"Rest Position 2"
			    type	string
			    joinnext
			    default	{ "rest2" }
			    range	{ 0 1 }
			    export	none
			}
			parm {
			    name	"ec_dr_rest2_intype"
			    label	"Type"
			    type	string
			    default	{ "vector" }
			    disablewhen	"{ ec_dr_rest2_name == \"\" }"
			    menu	{
				"float"	"Float"
				"vector"	"Vector"
				"vector4"	"Vector4"
			    }
			    range	{ 0 1 }
			    export	none
			    unquoted
			    parmtag	{ "script_callback" "if not kwargs['node'].isInsideLockedHDA():kwargs['node'].parm('ec_dr_rest2_method').set('assign')" }
			    parmtag	{ "script_callback_language" "python" }
			}
			parm {
			    name	"ec_dr_rest2_method"
			    label	"Conversion to Vector"
			    type	string
			    joinnext
			    default	{ "assign" }
			    disablewhen	"{ ec_dr_rest2_name == \"\" } { ec_dr_rest2_intype == vector }"
			    menu	{
				[ "hou.vopNodeTypeCategory().nodeTypes()['typeconvertimpl'].hdaModule().methodmenu(hou.evalParm('ec_dr_rest2_intype'),'vector')" ]
				language	python
			    }
			    range	{ 0 1 }
			    export	none
			}
			parm {
			    name	"ec_dr_rest2_padval"
			    label	"Padding Constant"
			    type	float
			    nolabel
			    default	{ "0" }
			    disablewhen	"{ ec_dr_rest2_name == \"\" } { dr_rest2_promote == 0 } { ec_dr_rest2_method != padc }"
			    range	{ 0 1 }
			    export	none
			}
			parm {
			    name	"ec_dr_rest2_ratio_name"
			    label	"Rest2 Ratio"
			    type	string
			    joinnext
			    default	{ "rest2_ratio" }
			    range	{ 0 1 }
			    export	none
			}
			parm {
			    name	"ec_dr_rest2_ratio_intype"
			    label	"Type"
			    type	string
			    default	{ "float" }
			    disablewhen	"{ ec_dr_rest2_ratio_name == \"\" }"
			    menu	{
				"float"	"Float"
				"vector"	"Vector"
				"vector4"	"Vector4"
			    }
			    range	{ 0 1 }
			    export	none
			    unquoted
			    parmtag	{ "script_callback" "if not kwargs['node'].isInsideLockedHDA():kwargs['node'].parm('ec_dr_rest2_ratio_method').set('assign')" }
			    parmtag	{ "script_callback_language" "python" }
			}
			parm {
			    name	"ec_dr_rest2_ratio_method"
			    label	"Conversion to Float"
			    type	string
			    default	{ "assign" }
			    disablewhen	"{ ec_dr_rest2_ratio_name == \"\" } { ec_dr_rest2_ratio_intype == float }"
			    menu	{
				[ "hou.vopNodeTypeCategory().nodeTypes()['typeconvertimpl'].hdaModule().methodmenu(hou.evalParm('ec_dr_rest2_ratio_intype'),'float')" ]
				language	python
			    }
			    range	{ 0 1 }
			    export	none
			}
		    }

		    group {
			name	"ec_folder19_1"
			label	"Fallback"
			tabbreak

			parm {
			    name	"ec_spacer26"
			    label	"ec_spacer25"
			    type	label
			    nolabel
			    default	{ "" }
			    range	{ 0 1 }
			    export	none
			}
			parm {
			    name	"ec_fallback_label"
			    label	"fallback_label"
			    type	label
			    nolabel
			    default	{ "Fallback Rest Position Upon Failure (VEX):" }
			    range	{ 0 1 }
			    export	none
			}
			parm {
			    name	"ec_spacer27"
			    label	"ec_spacer26"
			    type	label
			    nolabel
			    default	{ "" }
			    range	{ 0 1 }
			    export	none
			}
			parm {
			    name	"ec_dr_fail_shading"
			    label	"SHADING Contexts"
			    type	string
			    default	{ "ptransform(\"space:object\",P)" }
			    range	{ 0 1 }
			    export	none
			    unquoted
			}
			parm {
			    name	"ec_dr_fail_cop"
			    label	"COP|COP2 Contexts"
			    type	string
			    default	{ "set(X,Y,0)" }
			    range	{ 0 1 }
			    export	none
			    unquoted
			}
			parm {
			    name	"ec_dr_fail_sop"
			    label	"SOP|POP Contexts"
			    type	string
			    default	{ "P" }
			    range	{ 0 1 }
			    export	none
			    unquoted
			}
			parm {
			    name	"ec_dr_fail_chop"
			    label	"CHOP Context"
			    type	string
			    default	{ "set((float)I/SR,V,0)" }
			    range	{ 0 1 }
			    export	none
			    unquoted
			}
			parm {
			    name	"ec_dr_fail_cvex"
			    label	"CVEX Context"
			    type	string
			    default	{ "0" }
			    range	{ 0 1 }
			    export	none
			    unquoted
			}
			parm {
			    name	"ec_dr_fail_fail"
			    label	"Unknown Context"
			    type	string
			    default	{ "0" }
			    range	{ 0 1 }
			    export	none
			    unquoted
			}
		    }

		}

	    }

	}

    }

    group {
	name	"folder6_2"
	label	"Displacement"

	group {
	    name	"dd_folder8"
	    label	"Direction"

	    parm {
		name	"dd_name"
		label	"Field Name"
		type	string
		joinnext
		default	{ "N" }
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"dd_intype"
		label	"Type"
		type	string
		default	{ "vector" }
		menu	{
		    "float"	"Float"
		    "vector"	"Vector"
		    "vector4"	"Vector4"
		}
		range	{ 0 1 }
		export	none
		unquoted
		parmtag	{ "script_callback" "__import__('pyro2').updateField(kwargs,'dd_intype','dd_promote','dd_method','dd_outtype','DispDirection_flt')" }
		parmtag	{ "script_callback_language" "python" }
	    }
	    parm {
		name	"dd_promote"
		label	"Promote"
		type	toggle
		joinnext
		default	{ "0" }
		disablewhen	"{ dd_name == \"\" }"
		range	{ 0 1 }
		export	none
		parmtag	{ "script_callback" "__import__('pyro2').updateField(kwargs,'dd_intype','dd_promote','dd_method','dd_outtype','DispDirection_flt')" }
		parmtag	{ "script_callback_language" "python" }
	    }
	    parm {
		name	"dd_outtype"
		label	"To Type"
		type	string
		joinnext
		default	{ "float" }
		disablewhen	"{ dd_name == \"\" } { dd_promote == 0 }"
		menu	{
		    "float"	"Float"
		    "vector"	"Vector"
		    "vector4"	"Vector4"
		}
		range	{ 0 1 }
		export	none
		unquoted
		parmtag	{ "script_callback" "__import__('pyro2').updateField(kwargs,'dd_intype','dd_promote','dd_method','dd_outtype','DispDirection_flt')" }
		parmtag	{ "script_callback_language" "python" }
	    }
	    parm {
		name	"dd_method"
		label	"Method"
		type	string
		nolabel
		joinnext
		default	{ "assign" }
		disablewhen	"{ dd_name == \"\" } { dd_doconvert == 0 }"
		menu	{
		    [ "hou.vopNodeTypeCategory().nodeTypes()['typeconvertimpl'].hdaModule().methodmenu(hou.evalParm('dd_intype'),hou.evalParm('dd_outtype'))" ]
		    language	python
		}
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"dd_padval"
		label	"Padding Constant"
		type	float
		nolabel
		default	{ "0" }
		disablewhen	"{ dd_name == \"\" } { dd_promote == 0 } { dd_method != padc }"
		range	{ 0 1 }
		export	none
		parmtag	{ "parmvop" "1" }
		parmtag	{ "shaderparmcontexts" "displace" }
	    }
	    parm {
		name	"dd_dfltval"
		label	"Default Field Value"
		type	float
		size	4
		default	{ "0" "0" "0" "0" }
		disablewhen	"{ dd_name != \"\" }"
		range	{ 0 10 }
		export	none
		parmtag	{ "parmvop" "1" }
		parmtag	{ "shaderparmcontexts" "displace" }
	    }
	    parm {
		name	"dd_doconvert"
		label	"doconvert"
		type	integer
		invisible
		default	{ "0" }
		range	{ 0 10 }
		export	none
		parmtag	{ "pyro_expression" "evalParm('dd_promote') and evalParm('dd_intype') != evalParm('dd_outtype')" }
		parmtag	{ "pyro_expression_language" "python" }
	    }
	    parm {
		name	"dd_spacer"
		label	"spacer"
		type	label
		nolabel
		default	{ "" }
		range	{ 0 1 }
		export	none
	    }
	    group {
		name	"dd_folder10"
		label	"Field Shape"

		parm {
		    name	"dd_dofit"
		    label	"Fit to Range (Unclamped)"
		    type	toggle
		    joinnext
		    default	{ "0" }
		    disablewhen	"{ dd_name == \"\" }"
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"dd_spacer2"
		    label	"dd_spacer"
		    type	label
		    nolabel
		    default	{ "" }
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"dd_fit_srcmin"
		    label	"Source Range"
		    type	float
		    joinnext
		    default	{ "0" }
		    disablewhen	"{ dd_name == \"\" } { dd_dofit == 0 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "displace" }
		}
		parm {
		    name	"dd_fit_srcmax"
		    label	"Max"
		    type	float
		    nolabel
		    default	{ "1" }
		    disablewhen	"{ dd_name == \"\" } { dd_dofit == 0 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "displace" }
		}
		parm {
		    name	"dd_fit_tgtmin"
		    label	"Target Range"
		    type	float
		    joinnext
		    default	{ "0" }
		    disablewhen	"{ dd_name == \"\" } { dd_dofit == 0 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "displace" }
		}
		parm {
		    name	"dd_fit_tgtmax"
		    label	"Max"
		    type	float
		    nolabel
		    default	{ "1" }
		    disablewhen	"{ dd_name == \"\" } { dd_dofit == 0 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "displace" }
		}
		parm {
		    name	"dd_spacer3"
		    label	"dd_spacer2"
		    type	label
		    nolabel
		    default	{ "" }
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"dd_doramp"
		    label	"Ramp"
		    type	toggle
		    joinnext
		    default	{ "0" }
		    disablewhen	"{ dd_name == \"\" }"
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"dd_presets"
		    label	"Presets"
		    type	ordinal
		    nolabel
		    joinnext
		    default	{ "0" }
		    disablewhen	"{ dd_name == \"\" } { dd_doramp == 0 }"
		    menu	{
			[ "__import__('pyro2').rampPresetMenu(kwargs,'DispDirection',True)" ]
			language	python
		    }
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "script_callback" "__import__('pyro2').rampPresetCB(kwargs,'DispDirection',True)" }
		    parmtag	{ "script_callback_language" "python" }
		}
		parm {
		    name	"dd_spacename"
		    label	" Space"
		    type	string
		    nolabel
		    joinnext
		    default	{ "rgb" }
		    disablewhen	"{ dd_name == \"\" } { dd_doramp == 0 } { rampswitcher1 == 0 }"
		    menu	{
			"rgb"	"RGB"
			"hsv"	"HSV"
			"Lab"	"LAB"
			"hsl"	"HSL"
			"XYZ"	"XYZ"
		    }
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "displace" }
		}
		parm {
		    name	"dd_gammaname"
		    label	"Gamma Type"
		    type	string
		    nolabel
		    joinnext
		    default	{ "linear" }
		    disablewhen	"{ dd_name == \"\" } { dd_doramp == 0 }"
		    menu	{
			"linear"	"Linear"
			"srgb"	"sRGB"
			"custom"	"Custom"
		    }
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "displace" }
		}
		parm {
		    name	"dd_gammaval"
		    label	"Gamma Value"
		    type	float
		    nolabel
		    default	{ "2.2" }
		    disablewhen	"{ dd_name == \"\" } { dd_doramp == 0 } { dd_gammaname != custom }"
		    range	{ 0.0001 4 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "displace" }
		}
		groupradio {
		    name	"dd_rampswitcher8"
		    label	"Float"

		    parm {
			name	"DispDirection_flt"
			label	"Lookup Ramp"
			type	ramp_flt
			default	{ "2" }
			disablewhen	"{ dd_name == \"\" } { dd_doramp == 0 }"
			range	{ 1! 10 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "rampbasis_var" "DispDirection_flt_the_basis_strings" }
			parmtag	{ "rampbasisdefault" "linear" }
			parmtag	{ "rampkeys_var" "DispDirection_flt_the_key_positions" }
			parmtag	{ "rampshowcontrolsdefault" "0" }
			parmtag	{ "rampvalues_var" "DispDirection_flt_the_key_values" }
			parmtag	{ "shaderparmcontexts" "displace" }
		    }
		}

		groupradio {
		    name	"dd_rampswitcher8_1"
		    label	"Color"

		    parm {
			name	"DispDirection_rgb"
			label	"Lookup Ramp"
			type	ramp_rgb
			default	{ "2" }
			disablewhen	"{ dd_name == \"\" } { dd_doramp == 0 }"
			range	{ 1! 10 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "rampbasis_var" "DispDirection_rgb_the_basis_strings" }
			parmtag	{ "rampbasisdefault" "linear" }
			parmtag	{ "rampcolortype" "rgb" }
			parmtag	{ "rampkeys_var" "DispDirection_rgb_the_key_positions" }
			parmtag	{ "rampshowcontrolsdefault" "0" }
			parmtag	{ "rampvalues_var" "DispDirection_rgb_the_key_values" }
			parmtag	{ "shaderparmcontexts" "displace" }
		    }
		}

		parm {
		    name	"dd_ramp_rngmin"
		    label	"Ramp Interval"
		    type	float
		    joinnext
		    default	{ "0" }
		    disablewhen	"{ dd_name == \"\" } { dd_doramp == 0 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "displace" }
		}
		parm {
		    name	"dd_ramp_rngmax"
		    label	"Ramp: Range Max"
		    type	float
		    nolabel
		    default	{ "1" }
		    disablewhen	"{ dd_name == \"\" } { dd_doramp == 0 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "displace" }
		}
		parm {
		    name	"dd_lbt"
		    label	"Ramp Boundaries"
		    type	string
		    joinnext
		    default	{ "hold" }
		    disablewhen	"{ dd_name == \"\" } { dd_doramp == 0 }"
		    menu	{
			"hold"	"Hold"
			"cycle"	"Cycle"
			"accum"	"Cycle-Accumulate"
			"mirror"	"Mirror"
			"slope"	"Slope"
		    }
		    range	{ 0 1 }
		    export	none
		    unquoted
		}
		parm {
		    name	"dd_rbt"
		    label	"Right"
		    type	string
		    nolabel
		    default	{ "hold" }
		    disablewhen	"{ dd_name == \"\" } { dd_doramp == 0 }"
		    menu	{
			"hold"	"Hold"
			"cycle"	"Cycle"
			"accum"	"Cycle-Accumulate"
			"mirror"	"Mirror"
			"slope"	"Slope"
		    }
		    range	{ 0 1 }
		    export	none
		    unquoted
		}
		parm {
		    name	"dd_spacer4"
		    label	"dd_spacer3"
		    type	label
		    nolabel
		    default	{ "" }
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"dd_docontour"
		    label	"Enable Contour"
		    type	toggle
		    nolabel
		    joinnext
		    default	{ "0" }
		    disablewhen	"{ dd_name == \"\" }"
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"dd_contour_width"
		    label	"Contour: Width"
		    type	float
		    joinnext
		    default	{ "0.02" }
		    disablewhen	"{ dd_name == \"\" } { dd_docontour == 0 }"
		    range	{ 0 0.1 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "displace" }
		}
		parm {
		    name	"dd_contour_sharp"
		    label	"Sharpness"
		    type	float
		    default	{ "4" }
		    disablewhen	"{ dd_name == \"\" } { dd_docontour == 0 }"
		    range	{ 0 10 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "displace" }
		}
		parm {
		    name	"dd_dosclip"
		    label	"Enable Soft Clip"
		    type	toggle
		    nolabel
		    joinnext
		    default	{ "0" }
		    disablewhen	"{ dd_name == \"\" }"
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"dd_sclip_start"
		    label	"SoftClip: Start"
		    type	float
		    joinnext
		    default	{ "0.8" }
		    disablewhen	"{ dd_name == \"\" } { dd_dosclip == 0 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "displace" }
		}
		parm {
		    name	"dd_sclip_suppress"
		    label	"  Suppress"
		    type	float
		    default	{ "1" }
		    disablewhen	"{ dd_name == \"\" } { dd_dosclip == 0 }"
		    range	{ 0 10 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "displace" }
		}
		parm {
		    name	"dd_spacer5"
		    label	"dd_spacer4"
		    type	label
		    nolabel
		    default	{ "" }
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"dd_dolowlimit"
		    label	"Enable Lower Limit"
		    type	toggle
		    nolabel
		    joinnext
		    default	{ "0" }
		    disablewhen	"{ dd_name == \"\" }"
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"dd_lowlimit"
		    label	"Clamp to Min"
		    type	float
		    default	{ "0" }
		    disablewhen	"{ dd_name == \"\" } { dd_dolowlimit == 0 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "displace" }
		}
		parm {
		    name	"dd_dohighlimit"
		    label	"Enable Upper Limit"
		    type	toggle
		    nolabel
		    joinnext
		    default	{ "0" }
		    disablewhen	"{ dd_name == \"\" }"
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"dd_highlimit"
		    label	"Clamp to Max"
		    type	float
		    default	{ "1" }
		    disablewhen	"{ dd_name == \"\" } { dd_dohighlimit == 0 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "displace" }
		}
		parm {
		    name	"dd_spacer6"
		    label	"dd_spacer5"
		    type	label
		    nolabel
		    default	{ "" }
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"dd_amp"
		    label	"Final Amplitude"
		    type	float
		    default	{ "1" }
		    range	{ 0 2 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "displace" }
		}
	    }

	    group {
		name	"dd_folder10_1"
		label	"Field Noise"

		parm {
		    name	"dd_active"
		    label	"Active"
		    type	toggle
		    default	{ "0" }
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"dd_ntype"
		    label	"Noise Output Type"
		    type	ordinal
		    joinnext
		    default	{ "0" }
		    disablewhen	"{ dd_active == 0 }"
		    menu	{
			[ "d3 = (\"default\", \"Float\", \"v3\", \"Vector\")" ]
			[ "d4 = (\"f4\", \"Float\", \"v4\", \"Vector\")" ]
			[ "return (d3,d4)[kwargs[\"node\"].evalParm(\"dd_dim4\")]" ]
			language	python
		    }
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"dd_dim4"
		    label	"Space"
		    type	ordinal
		    joinnext
		    default	{ "0" }
		    disablewhen	"{ dd_active == 0 }"
		    menu	{
			"0"	"3D"
			"1"	"4D"
		    }
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"dd_time"
		    label	"Time"
		    type	float
		    default	{ "0" }
		    disablewhen	"{ dd_active == 0 } { dd_dim4 == 0 }"
		    range	{ 0 10 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "displace" }
		}
		parm {
		    name	"dd_fieldop"
		    label	"Field Operation"
		    type	string
		    default	{ "add" }
		    disablewhen	"{ dd_active == 0 }"
		    menu	{
			"add"	"Offset (Field + Noise)"
			"mult"	"Scale (Field * Noise)"
		    }
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"dd_spacer7"
		    label	"dd_spacer6"
		    type	label
		    nolabel
		    default	{ "" }
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"dd_freq"
		    label	"Frequency"
		    type	float
		    size	4
		    default	{ "1" "1" "1" "1" }
		    disablewhen	"{ dd_active == 0 }"
		    range	{ 0 10 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "displace" }
		}
		parm {
		    name	"dd_offset"
		    label	"Offset"
		    type	float
		    size	4
		    default	{ "0" "0" "0" "0" }
		    disablewhen	"{ dd_active == 0 }"
		    range	{ 0 10 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "displace" }
		}
		parm {
		    name	"dd_period"
		    label	"Period"
		    type	float
		    size	4
		    default	{ "1" "1" "1" "1" }
		    disablewhen	"{ dd_active == 0 } { dd_basis != pperlin dd_basis != pflow }"
		    range	{ 0 10 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "displace" }
		}
		parm {
		    name	"dd_spacer8"
		    label	"dd_spacer7"
		    type	label
		    nolabel
		    default	{ "" }
		    range	{ 0 1 }
		    export	none
		}
		group {
		    name	"dd_folder12"
		    label	"Construction"

		    parm {
			name	"dd_basis"
			label	"Noise Type"
			type	string
			default	{ "simplex" }
			disablewhen	"{ dd_active == 0 }"
			menu	{
			    "sine"	"Sinusoid"
			    "perlin"	"Perlin"
			    "pperlin"	"Periodic Perlin"
			    "simplex"	"Simplex (Improved Perlin)"
			    "sparse"	"Sparse Convolution"
			    "flow"	"Flow"
			    "pflow"	"Periodic Flow"
			    "worleyFA"	"Worley (cellular) F1"
			    "worleyFB"	"Worley (cellular) F2-F1"
			    "alligator"	"Alligator"
			}
			range	{ 0 1 }
			export	none
			unquoted
		    }
		    parm {
			name	"dd_inv"
			label	"Complement"
			type	toggle
			default	{ "off" }
			disablewhen	"{ dd_active == 0 }"
			range	{ 0 1 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "displace" }
		    }
		    parm {
			name	"dd_fold"
			label	"Fold"
			type	toggle
			default	{ "off" }
			disablewhen	"{ dd_active == 0 }"
			range	{ 0 1 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "displace" }
		    }
		    parm {
			name	"dd_expon"
			label	"Exponent"
			type	float
			default	{ "1" }
			disablewhen	"{ dd_active == 0 }"
			range	{ 0 2 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "displace" }
		    }
		    parm {
			name	"dd_dolwarp"
			label	"Enable Lattice Warp"
			type	toggle
			nolabel
			joinnext
			default	{ "off" }
			disablewhen	"{ dd_active == 0 }"
			range	{ 0 1 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "displace" }
		    }
		    parm {
			name	"dd_disp"
			label	"Lattice Warp"
			type	float
			joinnext
			default	{ "0" }
			disablewhen	"{ dd_active == 0 } { dd_dolwarp == 0 }"
			range	{ -0.5 0.5 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "displace" }
		    }
		    parm {
			name	"dd_dispfreq"
			label	"Freq"
			type	float
			default	{ "1" }
			disablewhen	"{ dd_active == 0 } { dd_dolwarp == 0 }"
			range	{ 0 1 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "displace" }
		    }
		    parm {
			name	"dd_dogwarp"
			label	"Enable Gradient Warp"
			type	toggle
			nolabel
			joinnext
			default	{ "off" }
			disablewhen	"{ dd_active == 0 }"
			range	{ 0 1 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "displace" }
		    }
		    parm {
			name	"dd_gflow"
			label	"Gradient Warp"
			type	float
			default	{ "0" }
			disablewhen	"{ dd_active == 0 } { dd_dogwarp == 0 }"
			range	{ -0.5 0.5 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "displace" }
		    }
		    parm {
			name	"dd_flowrot"
			label	"Flow Rotation"
			type	float
			default	{ "0" }
			disablewhen	"{ dd_active == 0 } { dd_basis != flow dd_basis != pflow }"
			range	{ 0 10 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "displace" }
		    }
		    parm {
			name	"dd_spacer9"
			label	"dd_spacer8"
			type	label
			nolabel
			default	{ "" }
			range	{ 0 1 }
			export	none
		    }
		    parm {
			name	"dd_fractal"
			label	"Fractal Type"
			type	string
			default	{ "none" }
			disablewhen	"{ dd_active == 0 }"
			menu	{
			    "none"	"None"
			    "fBm"	"Standard (fBm)"
			    "mfT"	"Terrain"
			    "hmfT"	"Hybrid Terrain"
			}
			range	{ 0 1 }
			export	none
			unquoted
		    }
		    parm {
			name	"dd_accuml"
			label	"Accumulate Lattice Warp"
			type	toggle
			default	{ "off" }
			disablewhen	"{ dd_active == 0 } { dd_fractal == none }"
			range	{ 0 1 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "displace" }
		    }
		    parm {
			name	"dd_accumg"
			label	"Accumulate Gradient Warp"
			type	toggle
			default	{ "off" }
			disablewhen	"{ dd_active == 0 } { dd_fractal == none }"
			range	{ 0 1 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "displace" }
		    }
		    parm {
			name	"dd_oct"
			label	"Max Octaves"
			type	float
			default	{ "8" }
			disablewhen	"{ dd_active == 0 } { dd_fractal == none }"
			range	{ 0 16 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "displace" }
		    }
		    parm {
			name	"dd_lac"
			label	"Lacunarity"
			type	float
			default	{ "2.01234" }
			disablewhen	"{ dd_active == 0 } { dd_fractal == none }"
			range	{ 0 4 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "displace" }
		    }
		    parm {
			name	"dd_rough"
			label	"Roughness"
			type	float
			default	{ "0.5" }
			disablewhen	"{ dd_active == 0 } { dd_fractal == none }"
			range	{ 0 1 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "displace" }
		    }
		}

		group {
		    name	"dd_folder12_1"
		    label	"Output"

		    parm {
			name	"dd_docc"
			label	"Enable Output Correction"
			type	toggle
			default	{ "on" }
			disablewhen	"{ dd_active == 0 }"
			range	{ 0 1 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "displace" }
		    }
		    parm {
			name	"dd_spacer10"
			label	"dd_spacer9"
			type	label
			nolabel
			default	{ "" }
			range	{ 0 1 }
			export	none
		    }
		    parm {
			name	"dd_cc_dobias"
			label	"Do Bias"
			type	toggle
			nolabel
			joinnext
			default	{ "off" }
			disablewhen	"{ dd_active == 0 } { dd_docc == 0 }"
			range	{ 0 1 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "displace" }
		    }
		    parm {
			name	"dd_cc_bias"
			label	"Bias"
			type	float
			size	3
			default	{ "0.5" "0.5" "0.5" }
			disablewhen	"{ dd_active == 0 } { dd_docc == 0 } { dd_cc_dobias == 0 }"
			range	{ 0 10 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "displace" }
		    }
		    parm {
			name	"dd_cc_dogain"
			label	"Do Gain"
			type	toggle
			nolabel
			joinnext
			default	{ "off" }
			disablewhen	"{ dd_active == 0 } { dd_docc == 0 }"
			range	{ 0 1 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "displace" }
		    }
		    parm {
			name	"dd_cc_gain"
			label	"Gain"
			type	float
			size	3
			default	{ "0.5" "0.5" "0.5" }
			disablewhen	"{ dd_active == 0 } { dd_docc == 0 } { dd_cc_dogain == 0 }"
			range	{ 0 10 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "displace" }
		    }
		    parm {
			name	"dd_spacer11"
			label	"dd_spacer10"
			type	label
			nolabel
			default	{ "" }
			range	{ 0 1 }
			export	none
		    }
		    parm {
			name	"dd_cc_inv"
			label	"Complement"
			type	toggle
			default	{ "off" }
			disablewhen	"{ dd_active == 0 } { dd_docc == 0 }"
			range	{ 0 1 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "displace" }
		    }
		    parm {
			name	"dd_spacer12"
			label	"dd_spacer11"
			type	label
			nolabel
			default	{ "" }
			range	{ 0 1 }
			export	none
		    }
		    parm {
			name	"dd_cc_dorng"
			label	"Output Range (Clamped)"
			type	toggle
			default	{ "on" }
			disablewhen	"{ dd_active == 0 } { dd_docc == 0 }"
			range	{ 0 1 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "displace" }
		    }
		    parm {
			name	"dd_cc_rnglo"
			label	"New Minimum"
			type	float
			size	3
			default	{ "-1" "-1" "-1" }
			disablewhen	"{ dd_active == 0 } { dd_docc == 0 } { dd_cc_dorng == 0 }"
			range	{ 0 10 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "displace" }
		    }
		    parm {
			name	"dd_cc_rnghi"
			label	"New Maximum"
			type	float
			size	3
			default	{ "1" "1" "1" }
			disablewhen	"{ dd_active == 0 } { dd_docc == 0 } { dd_cc_dorng == 0 }"
			range	{ 0 10 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "displace" }
		    }
		    parm {
			name	"dd_spacer13"
			label	"dd_spacer12"
			type	label
			nolabel
			default	{ "" }
			range	{ 0 1 }
			export	none
		    }
		    parm {
			name	"dd_cc_amp"
			label	"Final Amplitude"
			type	float
			size	3
			default	{ "1" "1" "1" }
			disablewhen	"{ dd_active == 0 } { dd_docc == 0 }"
			range	{ 0 10 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "displace" }
		    }
		}

		group {
		    name	"dd_folder12_2"
		    label	"Rest Position"

		    group {
			name	"dd_folder15"
			label	"Fields"

			parm {
			    name	"dd_spacer14"
			    label	"dd_spacer13"
			    type	label
			    nolabel
			    default	{ "" }
			    range	{ 0 1 }
			    export	none
			}
			parm {
			    name	"dd_restinterp"
			    label	"Ratio Interpolation"
			    type	integer
			    default	{ "0" }
			    menu	{
				"0"	"Unmodified (Linear)"
				"1"	"Cubic"
				"2"	"Cosine"
			    }
			    range	{ 0 10 }
			    export	none
			    parmtag	{ "parmvop" "1" }
			    parmtag	{ "shaderparmcontexts" "displace" }
			}
			parm {
			    name	"dd_spacer15"
			    label	"dd_spacer14"
			    type	label
			    nolabel
			    default	{ "" }
			    range	{ 0 1 }
			    export	none
			}
			parm {
			    name	"dd_rest_name"
			    label	"Rest Position 1"
			    type	string
			    joinnext
			    default	{ "rest" }
			    range	{ 0 1 }
			    export	none
			}
			parm {
			    name	"dd_rest_intype"
			    label	"Type"
			    type	string
			    default	{ "vector" }
			    disablewhen	"{ dd_rest_name == \"\" }"
			    menu	{
				"float"	"Float"
				"vector"	"Vector"
				"vector4"	"Vector4"
			    }
			    range	{ 0 1 }
			    export	none
			    unquoted
			    parmtag	{ "script_callback" "if not kwargs['node'].isInsideLockedHDA():kwargs['node'].parm('dd_rest_method').set('assign')" }
			    parmtag	{ "script_callback_language" "python" }
			}
			parm {
			    name	"dd_rest_method"
			    label	"Conversion to Vector"
			    type	string
			    joinnext
			    default	{ "assign" }
			    disablewhen	"{ dd_rest_name == \"\" } { dd_rest_intype == vector }"
			    menu	{
				[ "hou.vopNodeTypeCategory().nodeTypes()['typeconvertimpl'].hdaModule().methodmenu(hou.evalParm('dd_rest_intype'),'vector')" ]
				language	python
			    }
			    range	{ 0 1 }
			    export	none
			}
			parm {
			    name	"dd_rest_padval"
			    label	"Padding Constant"
			    type	float
			    nolabel
			    default	{ "0" }
			    disablewhen	"{ dd_rest_name == \"\" } { rest_promote == 0 } { dd_rest_method != padc }"
			    range	{ 0 1 }
			    export	none
			}
			parm {
			    name	"dd_rest_ratio_name"
			    label	"Rest1 Ratio"
			    type	string
			    joinnext
			    default	{ "rest_ratio" }
			    range	{ 0 1 }
			    export	none
			}
			parm {
			    name	"dd_rest_ratio_intype"
			    label	"Type"
			    type	string
			    default	{ "float" }
			    disablewhen	"{ dd_rest_ratio_name == \"\" }"
			    menu	{
				"float"	"Float"
				"vector"	"Vector"
				"vector4"	"Vector4"
			    }
			    range	{ 0 1 }
			    export	none
			    unquoted
			    parmtag	{ "script_callback" "if not kwargs['node'].isInsideLockedHDA():kwargs['node'].parm('dd_rest_ratio_method').set('assign')" }
			    parmtag	{ "script_callback_language" "python" }
			}
			parm {
			    name	"dd_rest_ratio_method"
			    label	"Conversion to Float"
			    type	string
			    default	{ "assign" }
			    disablewhen	"{ dd_rest_ratio_name == \"\" } { dd_rest_ratio_intype == float }"
			    menu	{
				[ "hou.vopNodeTypeCategory().nodeTypes()['typeconvertimpl'].hdaModule().methodmenu(hou.evalParm('dd_rest_ratio_intype'),'float')" ]
				language	python
			    }
			    range	{ 0 1 }
			    export	none
			}
			parm {
			    name	"dd_rest2_name"
			    label	"Rest Position 2"
			    type	string
			    joinnext
			    default	{ "rest2" }
			    range	{ 0 1 }
			    export	none
			}
			parm {
			    name	"dd_rest2_intype"
			    label	"Type"
			    type	string
			    default	{ "vector" }
			    disablewhen	"{ dd_rest2_name == \"\" }"
			    menu	{
				"float"	"Float"
				"vector"	"Vector"
				"vector4"	"Vector4"
			    }
			    range	{ 0 1 }
			    export	none
			    unquoted
			    parmtag	{ "script_callback" "if not kwargs['node'].isInsideLockedHDA():kwargs['node'].parm('dd_rest2_method').set('assign')" }
			    parmtag	{ "script_callback_language" "python" }
			}
			parm {
			    name	"dd_rest2_method"
			    label	"Conversion to Vector"
			    type	string
			    joinnext
			    default	{ "assign" }
			    disablewhen	"{ dd_rest2_name == \"\" } { dd_rest2_intype == vector }"
			    menu	{
				[ "hou.vopNodeTypeCategory().nodeTypes()['typeconvertimpl'].hdaModule().methodmenu(hou.evalParm('dd_rest2_intype'),'vector')" ]
				language	python
			    }
			    range	{ 0 1 }
			    export	none
			}
			parm {
			    name	"dd_rest2_padval"
			    label	"Padding Constant"
			    type	float
			    nolabel
			    default	{ "0" }
			    disablewhen	"{ dd_rest2_name == \"\" } { rest2_promote == 0 } { dd_rest2_method != padc }"
			    range	{ 0 1 }
			    export	none
			}
			parm {
			    name	"dd_rest2_ratio_name"
			    label	"Rest2 Ratio"
			    type	string
			    joinnext
			    default	{ "rest2_ratio" }
			    range	{ 0 1 }
			    export	none
			}
			parm {
			    name	"dd_rest2_ratio_intype"
			    label	"Type"
			    type	string
			    default	{ "float" }
			    disablewhen	"{ dd_rest2_ratio_name == \"\" }"
			    menu	{
				"float"	"Float"
				"vector"	"Vector"
				"vector4"	"Vector4"
			    }
			    range	{ 0 1 }
			    export	none
			    unquoted
			    parmtag	{ "script_callback" "if not kwargs['node'].isInsideLockedHDA():kwargs['node'].parm('dd_rest2_ratio_method').set('assign')" }
			    parmtag	{ "script_callback_language" "python" }
			}
			parm {
			    name	"dd_rest2_ratio_method"
			    label	"Conversion to Float"
			    type	string
			    default	{ "assign" }
			    disablewhen	"{ dd_rest2_ratio_name == \"\" } { dd_rest2_ratio_intype == float }"
			    menu	{
				[ "hou.vopNodeTypeCategory().nodeTypes()['typeconvertimpl'].hdaModule().methodmenu(hou.evalParm('dd_rest2_ratio_intype'),'float')" ]
				language	python
			    }
			    range	{ 0 1 }
			    export	none
			}
		    }

		    group {
			name	"dd_folder15_1"
			label	"Fallback"

			parm {
			    name	"dd_spacer16"
			    label	"dd_spacer15"
			    type	label
			    nolabel
			    default	{ "" }
			    range	{ 0 1 }
			    export	none
			}
			parm {
			    name	"dd_fallback_label"
			    label	"fallback_label"
			    type	label
			    nolabel
			    default	{ "Fallback Rest Position Upon Failure (VEX):" }
			    range	{ 0 1 }
			    export	none
			}
			parm {
			    name	"dd_spacer17"
			    label	"dd_spacer16"
			    type	label
			    nolabel
			    default	{ "" }
			    range	{ 0 1 }
			    export	none
			}
			parm {
			    name	"dd_fail_shading"
			    label	"SHADING Contexts"
			    type	string
			    default	{ "ptransform(\"space:object\",P)" }
			    range	{ 0 1 }
			    export	none
			    unquoted
			}
			parm {
			    name	"dd_fail_cop"
			    label	"COP|COP2 Contexts"
			    type	string
			    default	{ "set(X,Y,0)" }
			    range	{ 0 1 }
			    export	none
			    unquoted
			}
			parm {
			    name	"dd_fail_sop"
			    label	"SOP|POP Contexts"
			    type	string
			    default	{ "P" }
			    range	{ 0 1 }
			    export	none
			    unquoted
			}
			parm {
			    name	"dd_fail_chop"
			    label	"CHOP Context"
			    type	string
			    default	{ "set((float)I/SR,V,0)" }
			    range	{ 0 1 }
			    export	none
			    unquoted
			}
			parm {
			    name	"dd_fail_cvex"
			    label	"CVEX Context"
			    type	string
			    default	{ "0" }
			    range	{ 0 1 }
			    export	none
			    unquoted
			}
			parm {
			    name	"dd_fail_fail"
			    label	"Unknown Context"
			    type	string
			    default	{ "0" }
			    range	{ 0 1 }
			    export	none
			    unquoted
			}
		    }

		}

	    }

	}

	group {
	    name	"dd_folder8_1"
	    label	"Amplitude"

	    parm {
		name	"da_name"
		label	"Field Name"
		type	string
		joinnext
		default	{ "" }
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"da_intype"
		label	"Type"
		type	string
		default	{ "float" }
		menu	{
		    "float"	"Float"
		    "vector"	"Vector"
		    "vector4"	"Vector4"
		}
		range	{ 0 1 }
		export	none
		unquoted
		parmtag	{ "script_callback" "__import__('pyro2').updateField(kwargs,'da_intype','da_promote','da_method','da_outtype','DispAmplitude_flt')" }
		parmtag	{ "script_callback_language" "python" }
	    }
	    parm {
		name	"da_promote"
		label	"Promote"
		type	toggle
		joinnext
		default	{ "0" }
		disablewhen	"{ da_name == \"\" }"
		range	{ 0 1 }
		export	none
		parmtag	{ "script_callback" "__import__('pyro2').updateField(kwargs,'da_intype','da_promote','da_method','da_outtype','DispAmplitude_flt')" }
		parmtag	{ "script_callback_language" "python" }
	    }
	    parm {
		name	"da_outtype"
		label	"To Type"
		type	string
		joinnext
		default	{ "float" }
		disablewhen	"{ da_name == \"\" } { da_promote == 0 }"
		menu	{
		    "float"	"Float"
		    "vector"	"Vector"
		    "vector4"	"Vector4"
		}
		range	{ 0 1 }
		export	none
		unquoted
		parmtag	{ "script_callback" "__import__('pyro2').updateField(kwargs,'da_intype','da_promote','da_method','da_outtype','DispAmplitude_flt')" }
		parmtag	{ "script_callback_language" "python" }
	    }
	    parm {
		name	"da_method"
		label	"Method"
		type	string
		nolabel
		joinnext
		default	{ "assign" }
		disablewhen	"{ da_name == \"\" } { da_doconvert == 0 }"
		menu	{
		    [ "hou.vopNodeTypeCategory().nodeTypes()['typeconvertimpl'].hdaModule().methodmenu(hou.evalParm('da_intype'),hou.evalParm('da_outtype'))" ]
		    language	python
		}
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"da_padval"
		label	"Padding Constant"
		type	float
		nolabel
		default	{ "0" }
		disablewhen	"{ da_name == \"\" } { da_promote == 0 } { da_method != padc }"
		range	{ 0 1 }
		export	none
		parmtag	{ "parmvop" "1" }
		parmtag	{ "shaderparmcontexts" "displace" }
	    }
	    parm {
		name	"da_doconvert"
		label	"doconvert"
		type	integer
		invisible
		default	{ "0" }
		range	{ 0 10 }
		export	none
		parmtag	{ "pyro_expression" "evalParm('da_promote') and evalParm('da_intype') != evalParm('da_outtype')" }
		parmtag	{ "pyro_expression_language" "python" }
	    }
	    parm {
		name	"da_dfltval"
		label	"Default Field Value"
		type	float
		size	4
		default	{ "0" "0" "0" "0" }
		disablewhen	"{ da_name != \"\" }"
		range	{ 0 10 }
		export	none
		parmtag	{ "parmvop" "1" }
		parmtag	{ "shaderparmcontexts" "displace" }
	    }
	    parm {
		name	"da_spacer"
		label	"spacer"
		type	label
		nolabel
		default	{ "" }
		range	{ 0 1 }
		export	none
	    }
	    group {
		name	"da_folder8"
		label	"Field Shape"

		parm {
		    name	"da_dofit"
		    label	"Fit to Range (Unclamped)"
		    type	toggle
		    joinnext
		    default	{ "0" }
		    disablewhen	"{ da_name == \"\" }"
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"da_spacer2"
		    label	"da_spacer"
		    type	label
		    nolabel
		    default	{ "" }
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"da_fit_srcmin"
		    label	"Source Range"
		    type	float
		    joinnext
		    default	{ "0" }
		    disablewhen	"{ da_name == \"\" } { da_dofit == 0 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "displace" }
		}
		parm {
		    name	"da_fit_srcmax"
		    label	"Max"
		    type	float
		    nolabel
		    default	{ "1" }
		    disablewhen	"{ da_name == \"\" } { da_dofit == 0 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "displace" }
		}
		parm {
		    name	"da_fit_tgtmin"
		    label	"Target Range"
		    type	float
		    joinnext
		    default	{ "0" }
		    disablewhen	"{ da_name == \"\" } { da_dofit == 0 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "displace" }
		}
		parm {
		    name	"da_fit_tgtmax"
		    label	"Max"
		    type	float
		    nolabel
		    default	{ "1" }
		    disablewhen	"{ da_name == \"\" } { da_dofit == 0 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "displace" }
		}
		parm {
		    name	"da_spacer3"
		    label	"da_spacer2"
		    type	label
		    nolabel
		    default	{ "" }
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"da_doramp"
		    label	"Ramp"
		    type	toggle
		    joinnext
		    default	{ "0" }
		    disablewhen	"{ da_name == \"\" }"
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"da_presets"
		    label	"Presets"
		    type	ordinal
		    nolabel
		    joinnext
		    default	{ "0" }
		    disablewhen	"{ da_name == \"\" } { da_doramp == 0 }"
		    menu	{
			[ "__import__('pyro2').rampPresetMenu(kwargs,'DispAmplitude',True)" ]
			language	python
		    }
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "script_callback" "__import__('pyro2').rampPresetCB(kwargs,'DispAmplitude',True)" }
		    parmtag	{ "script_callback_language" "python" }
		}
		parm {
		    name	"da_spacename"
		    label	" Space"
		    type	string
		    nolabel
		    joinnext
		    default	{ "rgb" }
		    disablewhen	"{ da_name == \"\" } { da_doramp == 0 } { rampswitcher1 == 0 }"
		    menu	{
			"rgb"	"RGB"
			"hsv"	"HSV"
			"Lab"	"LAB"
			"hsl"	"HSL"
			"XYZ"	"XYZ"
		    }
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "displace" }
		}
		parm {
		    name	"da_gammaname"
		    label	"Gamma Type"
		    type	string
		    nolabel
		    joinnext
		    default	{ "linear" }
		    disablewhen	"{ da_name == \"\" } { da_doramp == 0 }"
		    menu	{
			"linear"	"Linear"
			"srgb"	"sRGB"
			"custom"	"Custom"
		    }
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "displace" }
		}
		parm {
		    name	"da_gammaval"
		    label	"Gamma Value"
		    type	float
		    nolabel
		    default	{ "2.2" }
		    disablewhen	"{ da_name == \"\" } { da_doramp == 0 } { da_gammaname != custom }"
		    range	{ 0.0001 4 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "displace" }
		}
		groupradio {
		    name	"da_rampswitcher8"
		    label	"Float"

		    parm {
			name	"DispAmplitude_flt"
			label	"Lookup Ramp"
			type	ramp_flt
			default	{ "2" }
			disablewhen	"{ da_name == \"\" } { da_doramp == 0 }"
			range	{ 1! 10 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "rampbasis_var" "DispAmplitude_flt_the_basis_strings" }
			parmtag	{ "rampbasisdefault" "linear" }
			parmtag	{ "rampkeys_var" "DispAmplitude_flt_the_key_positions" }
			parmtag	{ "rampshowcontrolsdefault" "0" }
			parmtag	{ "rampvalues_var" "DispAmplitude_flt_the_key_values" }
			parmtag	{ "shaderparmcontexts" "displace" }
		    }
		}

		groupradio {
		    name	"da_rampswitcher8_1"
		    label	"Color"

		    parm {
			name	"DispAmplitude_rgb"
			label	"Lookup Ramp"
			type	ramp_rgb
			default	{ "2" }
			disablewhen	"{ da_name == \"\" } { da_doramp == 0 }"
			range	{ 1! 10 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "rampbasis_var" "DispAmplitude_rgb_the_basis_strings" }
			parmtag	{ "rampbasisdefault" "linear" }
			parmtag	{ "rampcolortype" "rgb" }
			parmtag	{ "rampkeys_var" "DispAmplitude_rgb_the_key_positions" }
			parmtag	{ "rampshowcontrolsdefault" "0" }
			parmtag	{ "rampvalues_var" "DispAmplitude_rgb_the_key_values" }
			parmtag	{ "shaderparmcontexts" "displace" }
		    }
		}

		parm {
		    name	"da_ramp_rngmin"
		    label	"Ramp Interval"
		    type	float
		    joinnext
		    default	{ "0" }
		    disablewhen	"{ da_name == \"\" } { da_doramp == 0 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "displace" }
		}
		parm {
		    name	"da_ramp_rngmax"
		    label	"Ramp: Range Max"
		    type	float
		    nolabel
		    default	{ "1" }
		    disablewhen	"{ da_name == \"\" } { da_doramp == 0 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "displace" }
		}
		parm {
		    name	"da_lbt"
		    label	"Ramp Boundaries"
		    type	string
		    joinnext
		    default	{ "hold" }
		    disablewhen	"{ da_name == \"\" } { da_doramp == 0 }"
		    menu	{
			"hold"	"Hold"
			"cycle"	"Cycle"
			"accum"	"Cycle-Accumulate"
			"mirror"	"Mirror"
			"slope"	"Slope"
		    }
		    range	{ 0 1 }
		    export	none
		    unquoted
		}
		parm {
		    name	"da_rbt"
		    label	"Right"
		    type	string
		    nolabel
		    default	{ "hold" }
		    disablewhen	"{ da_name == \"\" } { da_doramp == 0 }"
		    menu	{
			"hold"	"Hold"
			"cycle"	"Cycle"
			"accum"	"Cycle-Accumulate"
			"mirror"	"Mirror"
			"slope"	"Slope"
		    }
		    range	{ 0 1 }
		    export	none
		    unquoted
		}
		parm {
		    name	"da_spacer4"
		    label	"da_spacer3"
		    type	label
		    nolabel
		    default	{ "" }
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"da_docontour"
		    label	"Enable Contour"
		    type	toggle
		    nolabel
		    joinnext
		    default	{ "0" }
		    disablewhen	"{ da_name == \"\" }"
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"da_contour_width"
		    label	"Contour: Width"
		    type	float
		    joinnext
		    default	{ "0.02" }
		    disablewhen	"{ da_name == \"\" } { da_docontour == 0 }"
		    range	{ 0 0.1 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "displace" }
		}
		parm {
		    name	"da_contour_sharp"
		    label	"Sharpness"
		    type	float
		    default	{ "4" }
		    disablewhen	"{ da_name == \"\" } { da_docontour == 0 }"
		    range	{ 0 10 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "displace" }
		}
		parm {
		    name	"da_dosclip"
		    label	"Enable Soft Clip"
		    type	toggle
		    nolabel
		    joinnext
		    default	{ "0" }
		    disablewhen	"{ da_name == \"\" }"
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"da_sclip_start"
		    label	"SoftClip: Start"
		    type	float
		    joinnext
		    default	{ "0.8" }
		    disablewhen	"{ da_name == \"\" } { da_dosclip == 0 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "displace" }
		}
		parm {
		    name	"da_sclip_suppress"
		    label	"  Suppress"
		    type	float
		    default	{ "1" }
		    disablewhen	"{ da_name == \"\" } { da_dosclip == 0 }"
		    range	{ 0 10 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "displace" }
		}
		parm {
		    name	"da_spacer5"
		    label	"da_spacer4"
		    type	label
		    nolabel
		    default	{ "" }
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"da_dolowlimit"
		    label	"Enable Lower Limit"
		    type	toggle
		    nolabel
		    joinnext
		    default	{ "0" }
		    disablewhen	"{ da_name == \"\" }"
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"da_lowlimit"
		    label	"Clamp to Min"
		    type	float
		    default	{ "0" }
		    disablewhen	"{ da_name == \"\" } { da_dolowlimit == 0 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "displace" }
		}
		parm {
		    name	"da_dohighlimit"
		    label	"Enable Upper Limit"
		    type	toggle
		    nolabel
		    joinnext
		    default	{ "0" }
		    disablewhen	"{ da_name == \"\" }"
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"da_highlimit"
		    label	"Clamp to Max"
		    type	float
		    default	{ "1" }
		    disablewhen	"{ da_name == \"\" } { da_dohighlimit == 0 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "displace" }
		}
		parm {
		    name	"da_spacer6"
		    label	"da_spacer5"
		    type	label
		    nolabel
		    default	{ "" }
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"da_amp"
		    label	"Final Amplitude"
		    type	float
		    default	{ "1" }
		    range	{ 0 2 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "displace" }
		}
	    }

	    group {
		name	"da_folder8_1"
		label	"Field Noise"

		parm {
		    name	"da_active"
		    label	"Active"
		    type	toggle
		    default	{ "0" }
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"da_ntype"
		    label	"Noise Output Type"
		    type	ordinal
		    joinnext
		    default	{ "0" }
		    disablewhen	"{ da_active == 0 }"
		    menu	{
			[ "d3 = (\"default\", \"Float\", \"v3\", \"Vector\")" ]
			[ "d4 = (\"f4\", \"Float\", \"v4\", \"Vector\")" ]
			[ "return (d3,d4)[kwargs[\"node\"].evalParm(\"da_dim4\")]" ]
			language	python
		    }
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"da_dim4"
		    label	"Space"
		    type	ordinal
		    joinnext
		    default	{ "0" }
		    disablewhen	"{ da_active == 0 }"
		    menu	{
			"0"	"3D"
			"1"	"4D"
		    }
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"da_time"
		    label	"Time"
		    type	float
		    default	{ "0" }
		    disablewhen	"{ da_active == 0 } { da_dim4 == 0 }"
		    range	{ 0 10 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "displace" }
		}
		parm {
		    name	"da_fieldop"
		    label	"Field Operation"
		    type	string
		    default	{ "add" }
		    disablewhen	"{ da_active == 0 }"
		    menu	{
			"add"	"Offset (Field + Noise)"
			"mult"	"Scale (Field * Noise)"
		    }
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"da_spacer7"
		    label	"da_spacer6"
		    type	label
		    nolabel
		    default	{ "" }
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"da_freq"
		    label	"Frequency"
		    type	float
		    size	4
		    default	{ "1" "1" "1" "1" }
		    disablewhen	"{ da_active == 0 }"
		    range	{ 0 10 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "displace" }
		}
		parm {
		    name	"da_offset"
		    label	"Offset"
		    type	float
		    size	4
		    default	{ "0" "0" "0" "0" }
		    disablewhen	"{ da_active == 0 }"
		    range	{ 0 10 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "displace" }
		}
		parm {
		    name	"da_period"
		    label	"Period"
		    type	float
		    size	4
		    default	{ "1" "1" "1" "1" }
		    disablewhen	"{ da_active == 0 } { da_basis != pperlin da_basis != pflow }"
		    range	{ 0 10 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "displace" }
		}
		parm {
		    name	"da_spacer8"
		    label	"da_spacer7"
		    type	label
		    nolabel
		    default	{ "" }
		    range	{ 0 1 }
		    export	none
		}
		group {
		    name	"da_folder10"
		    label	"Construction"

		    parm {
			name	"da_basis"
			label	"Noise Type"
			type	string
			default	{ "simplex" }
			disablewhen	"{ da_active == 0 }"
			menu	{
			    "sine"	"Sinusoid"
			    "perlin"	"Perlin"
			    "pperlin"	"Periodic Perlin"
			    "simplex"	"Simplex (Improved Perlin)"
			    "sparse"	"Sparse Convolution"
			    "flow"	"Flow"
			    "pflow"	"Periodic Flow"
			    "worleyFA"	"Worley (cellular) F1"
			    "worleyFB"	"Worley (cellular) F2-F1"
			    "alligator"	"Alligator"
			}
			range	{ 0 1 }
			export	none
			unquoted
		    }
		    parm {
			name	"da_inv"
			label	"Complement"
			type	toggle
			default	{ "off" }
			disablewhen	"{ da_active == 0 }"
			range	{ 0 1 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "displace" }
		    }
		    parm {
			name	"da_fold"
			label	"Fold"
			type	toggle
			default	{ "off" }
			disablewhen	"{ da_active == 0 }"
			range	{ 0 1 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "displace" }
		    }
		    parm {
			name	"da_expon"
			label	"Exponent"
			type	float
			default	{ "1" }
			disablewhen	"{ da_active == 0 }"
			range	{ 0 2 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "displace" }
		    }
		    parm {
			name	"da_dolwarp"
			label	"Enable Lattice Warp"
			type	toggle
			nolabel
			joinnext
			default	{ "off" }
			disablewhen	"{ da_active == 0 }"
			range	{ 0 1 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "displace" }
		    }
		    parm {
			name	"da_disp"
			label	"Lattice Warp"
			type	float
			joinnext
			default	{ "0" }
			disablewhen	"{ da_active == 0 } { da_dolwarp == 0 }"
			range	{ -0.5 0.5 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "displace" }
		    }
		    parm {
			name	"da_dispfreq"
			label	"Freq"
			type	float
			default	{ "1" }
			disablewhen	"{ da_active == 0 } { da_dolwarp == 0 }"
			range	{ 0 1 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "displace" }
		    }
		    parm {
			name	"da_dogwarp"
			label	"Enable Gradient Warp"
			type	toggle
			nolabel
			joinnext
			default	{ "off" }
			disablewhen	"{ da_active == 0 }"
			range	{ 0 1 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "displace" }
		    }
		    parm {
			name	"da_gflow"
			label	"Gradient Warp"
			type	float
			default	{ "0" }
			disablewhen	"{ da_active == 0 } { da_dogwarp == 0 }"
			range	{ -0.5 0.5 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "displace" }
		    }
		    parm {
			name	"da_flowrot"
			label	"Flow Rotation"
			type	float
			default	{ "0" }
			disablewhen	"{ da_active == 0 } { da_basis != flow da_basis != pflow }"
			range	{ 0 10 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "displace" }
		    }
		    parm {
			name	"da_spacer9"
			label	"da_spacer8"
			type	label
			nolabel
			default	{ "" }
			range	{ 0 1 }
			export	none
		    }
		    parm {
			name	"da_fractal"
			label	"Fractal Type"
			type	string
			default	{ "none" }
			disablewhen	"{ da_active == 0 }"
			menu	{
			    "none"	"None"
			    "fBm"	"Standard (fBm)"
			    "mfT"	"Terrain"
			    "hmfT"	"Hybrid Terrain"
			}
			range	{ 0 1 }
			export	none
			unquoted
		    }
		    parm {
			name	"da_accuml"
			label	"Accumulate Lattice Warp"
			type	toggle
			default	{ "off" }
			disablewhen	"{ da_active == 0 } { da_fractal == none }"
			range	{ 0 1 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "displace" }
		    }
		    parm {
			name	"da_accumg"
			label	"Accumulate Gradient Warp"
			type	toggle
			default	{ "off" }
			disablewhen	"{ da_active == 0 } { da_fractal == none }"
			range	{ 0 1 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "displace" }
		    }
		    parm {
			name	"da_oct"
			label	"Max Octaves"
			type	float
			default	{ "8" }
			disablewhen	"{ da_active == 0 } { da_fractal == none }"
			range	{ 0 16 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "displace" }
		    }
		    parm {
			name	"da_lac"
			label	"Lacunarity"
			type	float
			default	{ "2.01234" }
			disablewhen	"{ da_active == 0 } { da_fractal == none }"
			range	{ 0 4 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "displace" }
		    }
		    parm {
			name	"da_rough"
			label	"Roughness"
			type	float
			default	{ "0.5" }
			disablewhen	"{ da_active == 0 } { da_fractal == none }"
			range	{ 0 1 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "displace" }
		    }
		}

		group {
		    name	"da_folder10_1"
		    label	"Output"

		    parm {
			name	"da_docc"
			label	"Enable Output Correction"
			type	toggle
			default	{ "on" }
			disablewhen	"{ da_active == 0 }"
			range	{ 0 1 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "displace" }
		    }
		    parm {
			name	"da_spacer10"
			label	"da_spacer9"
			type	label
			nolabel
			default	{ "" }
			range	{ 0 1 }
			export	none
		    }
		    parm {
			name	"da_cc_dobias"
			label	"Do Bias"
			type	toggle
			nolabel
			joinnext
			default	{ "off" }
			disablewhen	"{ da_active == 0 } { da_docc == 0 }"
			range	{ 0 1 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "displace" }
		    }
		    parm {
			name	"da_cc_bias"
			label	"Bias"
			type	float
			size	3
			default	{ "0.5" "0.5" "0.5" }
			disablewhen	"{ da_active == 0 } { da_docc == 0 } { da_cc_dobias == 0 }"
			range	{ 0 10 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "displace" }
		    }
		    parm {
			name	"da_cc_dogain"
			label	"Do Gain"
			type	toggle
			nolabel
			joinnext
			default	{ "off" }
			disablewhen	"{ da_active == 0 } { da_docc == 0 }"
			range	{ 0 1 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "displace" }
		    }
		    parm {
			name	"da_cc_gain"
			label	"Gain"
			type	float
			size	3
			default	{ "0.5" "0.5" "0.5" }
			disablewhen	"{ da_active == 0 } { da_docc == 0 } { da_cc_dogain == 0 }"
			range	{ 0 10 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "displace" }
		    }
		    parm {
			name	"da_spacer11"
			label	"da_spacer10"
			type	label
			nolabel
			default	{ "" }
			range	{ 0 1 }
			export	none
		    }
		    parm {
			name	"da_cc_inv"
			label	"Complement"
			type	toggle
			default	{ "off" }
			disablewhen	"{ da_active == 0 } { da_docc == 0 }"
			range	{ 0 1 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "displace" }
		    }
		    parm {
			name	"da_spacer12"
			label	"da_spacer11"
			type	label
			nolabel
			default	{ "" }
			range	{ 0 1 }
			export	none
		    }
		    parm {
			name	"da_cc_dorng"
			label	"Output Range (Clamped)"
			type	toggle
			default	{ "on" }
			disablewhen	"{ da_active == 0 } { da_docc == 0 }"
			range	{ 0 1 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "displace" }
		    }
		    parm {
			name	"da_cc_rnglo"
			label	"New Minimum"
			type	float
			size	3
			default	{ "-1" "-1" "-1" }
			disablewhen	"{ da_active == 0 } { da_docc == 0 } { da_cc_dorng == 0 }"
			range	{ 0 10 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "displace" }
		    }
		    parm {
			name	"da_cc_rnghi"
			label	"New Maximum"
			type	float
			size	3
			default	{ "1" "1" "1" }
			disablewhen	"{ da_active == 0 } { da_docc == 0 } { da_cc_dorng == 0 }"
			range	{ 0 10 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "displace" }
		    }
		    parm {
			name	"da_spacer13"
			label	"da_spacer12"
			type	label
			nolabel
			default	{ "" }
			range	{ 0 1 }
			export	none
		    }
		    parm {
			name	"da_cc_amp"
			label	"Final Amplitude"
			type	float
			size	3
			default	{ "1" "1" "1" }
			disablewhen	"{ da_active == 0 } { da_docc == 0 }"
			range	{ 0 10 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "displace" }
		    }
		}

		group {
		    name	"da_folder10_2"
		    label	"Rest Position"

		    group {
			name	"da_folder13"
			label	"Fields"

			parm {
			    name	"da_spacer14"
			    label	"da_spacer13"
			    type	label
			    nolabel
			    default	{ "" }
			    range	{ 0 1 }
			    export	none
			}
			parm {
			    name	"da_restinterp"
			    label	"Ratio Interpolation"
			    type	integer
			    default	{ "0" }
			    menu	{
				"0"	"Unmodified (Linear)"
				"1"	"Cubic"
				"2"	"Cosine"
			    }
			    range	{ 0 10 }
			    export	none
			    parmtag	{ "parmvop" "1" }
			    parmtag	{ "shaderparmcontexts" "displace" }
			}
			parm {
			    name	"da_spacer15"
			    label	"da_spacer14"
			    type	label
			    nolabel
			    default	{ "" }
			    range	{ 0 1 }
			    export	none
			}
			parm {
			    name	"da_rest_name"
			    label	"Rest Position 1"
			    type	string
			    joinnext
			    default	{ "rest" }
			    range	{ 0 1 }
			    export	none
			}
			parm {
			    name	"da_rest_intype"
			    label	"Type"
			    type	string
			    default	{ "vector" }
			    disablewhen	"{ da_rest_name == \"\" }"
			    menu	{
				"float"	"Float"
				"vector"	"Vector"
				"vector4"	"Vector4"
			    }
			    range	{ 0 1 }
			    export	none
			    unquoted
			    parmtag	{ "script_callback" "if not kwargs['node'].isInsideLockedHDA():kwargs['node'].parm('da_rest_method').set('assign')" }
			    parmtag	{ "script_callback_language" "python" }
			}
			parm {
			    name	"da_rest_method"
			    label	"Conversion to Vector"
			    type	string
			    joinnext
			    default	{ "assign" }
			    disablewhen	"{ da_rest_name == \"\" } { da_rest_intype == vector }"
			    menu	{
				[ "hou.vopNodeTypeCategory().nodeTypes()['typeconvertimpl'].hdaModule().methodmenu(hou.evalParm('da_rest_intype'),'vector')" ]
				language	python
			    }
			    range	{ 0 1 }
			    export	none
			}
			parm {
			    name	"da_rest_padval"
			    label	"Padding Constant"
			    type	float
			    nolabel
			    default	{ "0" }
			    disablewhen	"{ da_rest_name == \"\" } { rest_promote == 0 } { da_rest_method != padc }"
			    range	{ 0 1 }
			    export	none
			}
			parm {
			    name	"da_rest_ratio_name"
			    label	"Rest1 Ratio"
			    type	string
			    joinnext
			    default	{ "rest_ratio" }
			    range	{ 0 1 }
			    export	none
			}
			parm {
			    name	"da_rest_ratio_intype"
			    label	"Type"
			    type	string
			    default	{ "float" }
			    disablewhen	"{ da_rest_ratio_name == \"\" }"
			    menu	{
				"float"	"Float"
				"vector"	"Vector"
				"vector4"	"Vector4"
			    }
			    range	{ 0 1 }
			    export	none
			    unquoted
			    parmtag	{ "script_callback" "if not kwargs['node'].isInsideLockedHDA():kwargs['node'].parm('da_rest_ratio_method').set('assign')" }
			    parmtag	{ "script_callback_language" "python" }
			}
			parm {
			    name	"da_rest_ratio_method"
			    label	"Conversion to Float"
			    type	string
			    default	{ "assign" }
			    disablewhen	"{ da_rest_ratio_name == \"\" } { da_rest_ratio_intype == float }"
			    menu	{
				[ "hou.vopNodeTypeCategory().nodeTypes()['typeconvertimpl'].hdaModule().methodmenu(hou.evalParm('da_rest_ratio_intype'),'float')" ]
				language	python
			    }
			    range	{ 0 1 }
			    export	none
			}
			parm {
			    name	"da_rest2_name"
			    label	"Rest Position 2"
			    type	string
			    joinnext
			    default	{ "rest2" }
			    range	{ 0 1 }
			    export	none
			}
			parm {
			    name	"da_rest2_intype"
			    label	"Type"
			    type	string
			    default	{ "vector" }
			    disablewhen	"{ da_rest2_name == \"\" }"
			    menu	{
				"float"	"Float"
				"vector"	"Vector"
				"vector4"	"Vector4"
			    }
			    range	{ 0 1 }
			    export	none
			    unquoted
			    parmtag	{ "script_callback" "if not kwargs['node'].isInsideLockedHDA():kwargs['node'].parm('da_rest2_method').set('assign')" }
			    parmtag	{ "script_callback_language" "python" }
			}
			parm {
			    name	"da_rest2_method"
			    label	"Conversion to Vector"
			    type	string
			    joinnext
			    default	{ "assign" }
			    disablewhen	"{ da_rest2_name == \"\" } { da_rest2_intype == vector }"
			    menu	{
				[ "hou.vopNodeTypeCategory().nodeTypes()['typeconvertimpl'].hdaModule().methodmenu(hou.evalParm('da_rest2_intype'),'vector')" ]
				language	python
			    }
			    range	{ 0 1 }
			    export	none
			}
			parm {
			    name	"da_rest2_padval"
			    label	"Padding Constant"
			    type	float
			    nolabel
			    default	{ "0" }
			    disablewhen	"{ da_rest2_name == \"\" } { rest2_promote == 0 } { da_rest2_method != padc }"
			    range	{ 0 1 }
			    export	none
			}
			parm {
			    name	"da_rest2_ratio_name"
			    label	"Rest2 Ratio"
			    type	string
			    joinnext
			    default	{ "rest2_ratio" }
			    range	{ 0 1 }
			    export	none
			}
			parm {
			    name	"da_rest2_ratio_intype"
			    label	"Type"
			    type	string
			    default	{ "float" }
			    disablewhen	"{ da_rest2_ratio_name == \"\" }"
			    menu	{
				"float"	"Float"
				"vector"	"Vector"
				"vector4"	"Vector4"
			    }
			    range	{ 0 1 }
			    export	none
			    unquoted
			    parmtag	{ "script_callback" "if not kwargs['node'].isInsideLockedHDA():kwargs['node'].parm('da_rest2_ratio_method').set('assign')" }
			    parmtag	{ "script_callback_language" "python" }
			}
			parm {
			    name	"da_rest2_ratio_method"
			    label	"Conversion to Float"
			    type	string
			    default	{ "assign" }
			    disablewhen	"{ da_rest2_ratio_name == \"\" } { da_rest2_ratio_intype == float }"
			    menu	{
				[ "hou.vopNodeTypeCategory().nodeTypes()['typeconvertimpl'].hdaModule().methodmenu(hou.evalParm('da_rest2_ratio_intype'),'float')" ]
				language	python
			    }
			    range	{ 0 1 }
			    export	none
			}
		    }

		    group {
			name	"da_folder13_1"
			label	"Fallback"

			parm {
			    name	"da_spacer16"
			    label	"da_spacer15"
			    type	label
			    nolabel
			    default	{ "" }
			    range	{ 0 1 }
			    export	none
			}
			parm {
			    name	"da_fallback_label"
			    label	"fallback_label"
			    type	label
			    nolabel
			    default	{ "Fallback Rest Position Upon Failure (VEX):" }
			    range	{ 0 1 }
			    export	none
			}
			parm {
			    name	"da_spacer17"
			    label	"da_spacer16"
			    type	label
			    nolabel
			    default	{ "" }
			    range	{ 0 1 }
			    export	none
			}
			parm {
			    name	"da_fail_shading"
			    label	"SHADING Contexts"
			    type	string
			    default	{ "ptransform(\"space:object\",P)" }
			    range	{ 0 1 }
			    export	none
			    unquoted
			}
			parm {
			    name	"da_fail_cop"
			    label	"COP|COP2 Contexts"
			    type	string
			    default	{ "set(X,Y,0)" }
			    range	{ 0 1 }
			    export	none
			    unquoted
			}
			parm {
			    name	"da_fail_sop"
			    label	"SOP|POP Contexts"
			    type	string
			    default	{ "P" }
			    range	{ 0 1 }
			    export	none
			    unquoted
			}
			parm {
			    name	"da_fail_chop"
			    label	"CHOP Context"
			    type	string
			    default	{ "set((float)I/SR,V,0)" }
			    range	{ 0 1 }
			    export	none
			    unquoted
			}
			parm {
			    name	"da_fail_cvex"
			    label	"CVEX Context"
			    type	string
			    default	{ "0" }
			    range	{ 0 1 }
			    export	none
			    unquoted
			}
			parm {
			    name	"da_fail_fail"
			    label	"Unknown Context"
			    type	string
			    default	{ "0" }
			    range	{ 0 1 }
			    export	none
			    unquoted
			}
		    }

		}

	    }

	}

    }

    group {
	name	"folder6_3"
	label	"Shading"

	parm {
	    name	"shade_kmodel"
	    label	"Brightness Model"
	    type	string
	    default	{ "ogl" }
	    menu	{
		"ogl"	"Match Visualization"
		"pbr"	"Match Mantra"
	    }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"shade_dmodel"
	    label	"Density Model"
	    type	string
	    default	{ "ogl" }
	    menu	{
		"ogl"	"Match Visualization (Fire Density As Intensity)"
		"pyro1"	"Fire Density As Actual Density (Pyro1)"
	    }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"FireDensityBlend"
	    label	"Smoke- To Fire-Density Transition Relative To Emit Intensity"
	    type	ramp_flt
	    default	{ "2" }
	    hidewhen	"{ shade_dmodel == ogl }"
	    range	{ 1! 10 }
	    export	none
	    parmtag	{ "parmvop" "1" }
	    parmtag	{ "rampbasis_var" "FireDensityBlend_the_basis_strings" }
	    parmtag	{ "rampbasisdefault" "linear" }
	    parmtag	{ "rampkeys_var" "FireDensityBlend_the_key_positions" }
	    parmtag	{ "rampshowcontrolsdefault" "0" }
	    parmtag	{ "rampvalues_var" "FireDensityBlend_the_key_values" }
	    parmtag	{ "shaderparmcontexts" "surface" }
	}
	parm {
	    name	"shade_fblend_rangemin"
	    label	"Ramp Interval"
	    type	float
	    joinnext
	    default	{ "0" }
	    hidewhen	"{ shade_dmodel == ogl }"
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "parmvop" "1" }
	    parmtag	{ "shaderparmcontexts" "surface" }
	}
	parm {
	    name	"shade_fblend_rangemax"
	    label	"Ramp: Range Max"
	    type	float
	    nolabel
	    default	{ "1" }
	    hidewhen	"{ shade_dmodel == ogl }"
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "parmvop" "1" }
	    parmtag	{ "shaderparmcontexts" "surface" }
	}
	parm {
	    name	"shade_fblend_ftype"
	    label	"Filter"
	    type	string
	    joinnext
	    default	{ "point" }
	    hidewhen	"{ shade_dmodel == ogl }"
	    menu	{
		"point"	"Point"
		"box"	"Box"
		"gauss"	"Gaussian"
	    }
	    range	{ 0 1 }
	    export	none
	    unquoted
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"shade_fblend_fscale"
	    label	"Filter Scale"
	    type	float
	    default	{ "1" }
	    disablewhen	"{ shade_fblend_ftype == point }"
	    hidewhen	"{ shade_dmodel == ogl }"
	    range	{ 0 2 }
	    export	none
	    parmtag	{ "parmvop" "1" }
	    parmtag	{ "shaderparmcontexts" "surface" }
	}
	parm {
	    name	"sepparm3"
	    label	"Separator"
	    type	separator
	    default	{ }
	    hidewhen	"{ shade_dmodel == ogl }"
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"spacer12"
	    label	"spacer"
	    type	label
	    nolabel
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"shade_ksmoke"
	    label	"Smoke Brightness"
	    type	float
	    default	{ "1" }
	    range	{ 0 2 }
	    export	none
	    parmtag	{ "parmvop" "1" }
	    parmtag	{ "shaderparmcontexts" "surface" }
	}
	parm {
	    name	"shade_phase"
	    label	"Scattering Phase"
	    type	float
	    default	{ "0" }
	    range	{ -1 1 }
	    export	none
	    parmtag	{ "parmvop" "1" }
	    parmtag	{ "shaderparmcontexts" "surface" }
	}
	parm {
	    name	"spacer3"
	    label	"spacer"
	    type	label
	    nolabel
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"shade_kemit"
	    label	"Emit Brightness"
	    type	float
	    default	{ "1" }
	    range	{ 0 2 }
	    export	none
	    parmtag	{ "parmvop" "1" }
	    parmtag	{ "shaderparmcontexts" "surface" }
	}
	parm {
	    name	"spacer2"
	    label	"spacer"
	    type	label
	    nolabel
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"shade_doshadows"
	    label	"Calculate Shadows"
	    type	toggle
	    default	{ "on" }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "parmvop" "1" }
	    parmtag	{ "shaderparmcontexts" "surface" }
	}
	parm {
	    name	"shade_cshadow"
	    label	"Shadow Color"
	    type	color
	    size	3
	    default	{ "1" "1" "1" }
	    disablewhen	"{ shade_doshadows == 0 }"
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "parmvop" "1" }
	    parmtag	{ "shaderparmcontexts" "surface" }
	}
	parm {
	    name	"shade_kshadow"
	    label	"Shadow Density"
	    type	float
	    default	{ "1" }
	    disablewhen	"{ shade_doshadows == 0 }"
	    range	{ 0 2 }
	    export	none
	    parmtag	{ "parmvop" "1" }
	    parmtag	{ "shaderparmcontexts" "surface" }
	}
	parm {
	    name	"spacer"
	    label	"spacer"
	    type	label
	    nolabel
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"shop_disable_displace_shader"
	    label	"Disable Displace Shader Rendering"
	    type	toggle
	    invisible
	    default	{ "!ch(\"disp_dispactive\")" }
	    help	"None"
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "spare_category" "Shaders" }
	}
	parm {
	    name	"disp_dispactive"
	    label	"Enable Displacements"
	    type	toggle
	    default	{ "off" }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "parmvop" "1" }
	    parmtag	{ "shaderparmcontexts" "displace" }
	}
	parm {
	    name	"disp_dispnorm"
	    label	"Normalize Displacement Direction"
	    type	toggle
	    default	{ "on" }
	    disablewhen	"{ disp_dispactive == 0 }"
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "parmvop" "1" }
	    parmtag	{ "shaderparmcontexts" "displace" }
	}
	parm {
	    name	"disp_dispscale"
	    label	"Displacement Scale"
	    type	float
	    default	{ "1" }
	    disablewhen	"{ disp_dispactive == 0 }"
	    range	{ -1 1 }
	    export	none
	    parmtag	{ "parmvop" "1" }
	    parmtag	{ "shaderparmcontexts" "displace" }
	}
	parm {
	    name	"vm_displacebound"
	    label	"Displacement Bound"
	    type	float
	    default	{ "1.5*ch(disp_dispscale)" }
	    disablewhen	"{ disp_dispactive == 0 }"
	    range	{ -1 1 }
	    export	none
	    parmtag	{ "parmvop" "1" }
	    parmtag	{ "shaderparmcontexts" "" }
	}
	parm {
	    name	"vm_displacespace"
	    label	"Displacement Space"
	    type	string
	    default	{ "camera" }
	    disablewhen	"{ disp_dispactive == 0 }"
	    menu	{
		"camera"	"Bounds specified in world space"
		"object"	"Bounds specified in object space"
	    }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "parmvop" "1" }
	    parmtag	{ "shaderparmcontexts" "" }
	}
	parm {
	    name	"vm_redice"
	    label	"Re-Dice Displacements"
	    type	toggle
	    default	{ "off" }
	    disablewhen	"{ disp_dispactive == 0 }"
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "parmvop" "1" }
	    parmtag	{ "shaderparmcontexts" "" }
	}
    }

    group {
	name	"folder6_4"
	label	"Filter"

	parm {
	    name	"spacer5"
	    label	"spacer"
	    type	label
	    nolabel
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"labelparm"
	    label	"Texture Filter"
	    type	label
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"sepparm"
	    label	"sepparm"
	    type	separator
	    default	{ }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"ftype_tx"
	    label	"Filter"
	    type	string
	    default	{ "point" }
	    disablewhen	"{ fmode == none }"
	    menu	{
		"point"	"Point"
		"box"	"Box"
		"gauss"	"Gaussian"
	    }
	    range	{ 0 1 }
	    export	none
	    unquoted
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"fscale_tx"
	    label	"Filter Scale"
	    type	float
	    default	{ "1" }
	    disablewhen	"{ ftype_tx == point }"
	    range	{ 0 2 }
	    export	none
	    parmtag	{ "parmvop" "1" }
	    parmtag	{ "shaderparmcontexts" "surface displace" }
	}
	parm {
	    name	"spacer6"
	    label	"spacer"
	    type	label
	    nolabel
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"labelparm2"
	    label	"Noise Filter"
	    type	label
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"sepparm2"
	    label	"sepparm2"
	    type	separator
	    default	{ }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"fscale_noise"
	    label	"Filter Scale"
	    type	float
	    default	{ "1" }
	    range	{ 0 2 }
	    export	none
	    parmtag	{ "parmvop" "1" }
	    parmtag	{ "shaderparmcontexts" "surface displace" }
	}
    }

    group {
	name	"folder6_5"
	label	"Utils"

	group {
	    name	"folder12"
	    label	"Parm Transfers"

	    parm {
		name	"spacer9"
		label	"spacer"
		type	label
		nolabel
		default	{ "" }
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"xferall"
		label	"Apply All Transfers"
		type	button
		joinnext
		default	{ "0" }
		disablewhen	"{ ntransfers == 0 } { xfer_nvalid == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "script_callback" "__import__('pyro2').xferTransfer(kwargs)" }
		parmtag	{ "script_callback_language" "python" }
	    }
	    parm {
		name	"xfer_nvalid"
		label	"nvalid"
		type	integer
		invisible
		default	{ "0" }
		range	{ 0 10 }
		export	none
	    }
	    parm {
		name	"spacer7"
		label	"spacer"
		type	label
		nolabel
		default	{ "" }
		range	{ 0 1 }
		export	none
	    }
	    multiparm {
		name	"ntransfers"
		label	"Transfers"
		default	0

		parm {
		    name	"copy_disable#"
		    label	"Disable This Transfer"
		    type	toggle
		    default	{ "0" }
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"copy_other#"
		    label	"Visualization Op"
		    type	oppath
		    default	{ "" }
		    disablewhen	"{ copy_disable# != 0 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "oprelative" "." }
		    parmtag	{ "script_callback" "__import__('pyro2').xferValidateOther(kwargs,'ntransfers','copy_other','copy_valid','copy_type','xfer_nvalid')" }
		    parmtag	{ "script_callback_language" "python" }
		}
		parm {
		    name	"copy_valid#"
		    label	"copy_valid"
		    type	integer
		    invisible
		    default	{ "0" }
		    range	{ 0 10 }
		    export	none
		}
		parm {
		    name	"copy_type#"
		    label	"copy_type"
		    type	string
		    invisible
		    default	{ "unknown" }
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"copy_dir#"
		    label	"Transfer Direction"
		    type	string
		    default	{ "fromother" }
		    disablewhen	"{ copy_disable# != 0 } { copy_valid# == 0 }"
		    menu	{
			"fromother"	"From Visualization Op To Pyro"
			"frompyro"	"From Pyro To Visualization Op"
		    }
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"copy_setall#"
		    label	"Transfer Affects All Pyro Parameters"
		    type	toggle
		    default	{ "1" }
		    disablewhen	"{ copy_disable# != 0 } { copy_valid# == 0 } { copy_dir# == frompyro }"
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"xfersingle#"
		    label	"Apply This Transfer"
		    type	button
		    default	{ "0" }
		    disablewhen	"{ copy_disable# != 0 } { copy_valid# == 0 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "script_callback" "__import__('pyro2').xferTransfer(kwargs)" }
		    parmtag	{ "script_callback_language" "python" }
		}
	    }

	}

	group {
	    name	"folder12_1"
	    label	"Exports"

	    parm {
		name	"export_cs"
		label	"Smoke Color (vector)"
		type	string
		default	{ "smoke_color" }
		range	{ 0 1 }
		export	none
		unquoted
	    }
	    parm {
		name	"export_ms"
		label	"Smoke Mask (float)"
		type	string
		default	{ "smoke_mask" }
		range	{ 0 1 }
		export	none
		unquoted
	    }
	    parm {
		name	"export_ce"
		label	"Fire Color (vector)"
		type	string
		default	{ "fire_color" }
		range	{ 0 1 }
		export	none
		unquoted
	    }
	    parm {
		name	"export_me"
		label	"Fire Mask (float)"
		type	string
		default	{ "fire_mask" }
		range	{ 0 1 }
		export	none
		unquoted
	    }
	    parm {
		name	"export_se"
		label	"Scatter Color (vector)"
		type	string
		default	{ "scatter_color" }
		range	{ 0 1 }
		export	none
	    }
	}

	parm {
	    name	"link_nvalid"
	    label	"nvalid"
	    type	integer
	    invisible
	    default	{ "0" }
	    range	{ 0 10 }
	    export	none
	}
	parm {
	    name	"link_valid_"
	    label	"link_valid"
	    type	integer
	    invisible
	    default	{ "0" }
	    range	{ 0 10 }
	    export	none
	}
	parm {
	    name	"link_type_"
	    label	"link_type"
	    type	string
	    invisible
	    default	{ "unknown" }
	    range	{ 0 1 }
	    export	none
	}
    }

    parm {
	name	"density"
	label	"Field Parameter Value"
	type	float
	invisible
	default	{ "1" }
	range	{ 0 1 }
	export	none
	parmtag	{ "parmvop" "1" }
	parmtag	{ "shaderparmcontexts" "surface" }
    }
    parm {
	name	"Cd"
	label	"Field Parameter Value"
	type	float
	invisible
	size	3
	default	{ "1" "1" "1" }
	range	{ 0 10 }
	export	none
	parmtag	{ "parmvop" "1" }
	parmtag	{ "shaderparmcontexts" "surface" }
    }
    parm {
	name	"rest"
	label	"Field Parameter Value"
	type	float
	invisible
	size	3
	default	{ "1" "1" "1" }
	range	{ 0 10 }
	export	none
	parmtag	{ "parmvop" "1" }
	parmtag	{ "shaderparmcontexts" "surface" }
    }
    parm {
	name	"rest2"
	label	"Field Parameter Value"
	type	float
	invisible
	size	3
	default	{ "1" "1" "1" }
	range	{ 0 10 }
	export	none
	parmtag	{ "parmvop" "1" }
	parmtag	{ "shaderparmcontexts" "surface" }
    }
    parm {
	name	"rest_ratio"
	label	"Field Parameter Value"
	type	float
	invisible
	default	{ "1" }
	range	{ 0 1 }
	export	none
	parmtag	{ "parmvop" "1" }
	parmtag	{ "shaderparmcontexts" "surface" }
    }
    parm {
	name	"rest2_ratio"
	label	"Field Parameter Value"
	type	float
	invisible
	default	{ "1" }
	range	{ 0 1 }
	export	none
	parmtag	{ "parmvop" "1" }
	parmtag	{ "shaderparmcontexts" "surface" }
    }
    parm {
	name	"DispDirection_Field_Field_final_field_value"
	label	"Field Parameter Value"
	type	float
	invisible
	size	3
	default	{ "1" "1" "1" }
	range	{ 0 10 }
	export	none
	parmtag	{ "parmvop" "1" }
	parmtag	{ "shaderparmcontexts" "displace" }
    }
    parm {
	name	"DispAmplitude_Field_Field_final_field_value"
	label	"Field Parameter Value"
	type	float
	invisible
	default	{ "1" }
	range	{ 0 1 }
	export	none
	parmtag	{ "parmvop" "1" }
	parmtag	{ "shaderparmcontexts" "displace" }
    }
    parm {
	name	"Ce"
	label	"Ce"
	type	color
	invisible
	size	3
	default	{ "0" "0" "0" }
	range	{ 0 1 }
	export	none
	parmtag	{ "parmvop" "1" }
	parmtag	{ "shaderparmcontexts" "surface" }
    }
    parm {
	name	"SmokeColor_Field_Field_final_field_value"
	label	"Field Parameter Value"
	type	float
	invisible
	default	{ "1" }
	range	{ 0 1 }
	export	none
	parmtag	{ "parmvop" "1" }
	parmtag	{ "shaderparmcontexts" "surface" }
    }
    parm {
	name	"EmitDensity_Field_Field_final_field_value"
	label	"Field Parameter Value"
	type	float
	invisible
	default	{ "1" }
	range	{ 0 1 }
	export	none
	parmtag	{ "parmvop" "1" }
	parmtag	{ "shaderparmcontexts" "surface" }
    }
    parm {
	name	"EmitColor_Field_Field_final_field_value"
	label	"Field Parameter Value"
	type	float
	invisible
	default	{ "1" }
	range	{ 0 1 }
	export	none
	parmtag	{ "parmvop" "1" }
	parmtag	{ "shaderparmcontexts" "surface" }
    }
    parm {
	name	"smoke_color"
	label	"smoke_color"
	type	color
	invisible
	size	3
	default	{ "0" "0" "0" }
	range	{ 0 1 }
	export	none
	parmtag	{ "parmvop" "1" }
	parmtag	{ "shaderparmcontexts" "surface" }
    }
    parm {
	name	"smoke_mask"
	label	"smoke_mask"
	type	float
	invisible
	default	{ "0" }
	range	{ 0 1 }
	export	none
	parmtag	{ "parmvop" "1" }
	parmtag	{ "shaderparmcontexts" "surface" }
    }
    parm {
	name	"fire_color"
	label	"fire_color"
	type	color
	invisible
	size	3
	default	{ "0" "0" "0" }
	range	{ 0 1 }
	export	none
	parmtag	{ "parmvop" "1" }
	parmtag	{ "shaderparmcontexts" "surface" }
    }
    parm {
	name	"fire_mask"
	label	"fire_mask"
	type	float
	invisible
	default	{ "0" }
	range	{ 0 1 }
	export	none
	parmtag	{ "parmvop" "1" }
	parmtag	{ "shaderparmcontexts" "surface" }
    }
    parm {
	name	"scatter_color"
	label	"scatter_color"
	type	color
	invisible
	size	3
	default	{ "0" "0" "0" }
	range	{ 0 1 }
	export	none
	parmtag	{ "parmvop" "1" }
	parmtag	{ "shaderparmcontexts" "surface" }
    }
}
# Automatically generated script: Saturday March 02, 17:11 2013
\set noalias = 1
#
#  Creation script for pyro::2.0 operator
#

if ( "$arg1" == "" ) then
    echo This script is intended as a creation script
    exit
endif

# Node $arg1 (Shop/pyro::2.0)
opexprlanguage -s hscript $arg1
opuserdata -n '___Version___' -v '' $arg1
SaveSpareParms := 0;
CheckExternal := 1;
GzipContents := 1;
UnlockOnCreate := 0;
SaveCachedCode := 0;
LockContents := 1;
MakeDefault := 1;
UseDSParms := 1;
ForbidOutsideParms := 0;
PrefixDroppedParmLabel := 0;
PrefixDroppedParmName := 0;
ParmsFromVfl := 0;
<?xml version="1.0" encoding="UTF-8"?>
<shelfDocument>
  <!-- This file contains definitions of shelves, toolbars, and tools.
 It should not be hand-edited when it is being used by the application.
 Note, that two definitions of the same element are not allowed in
 a single file. -->

  <tool name="$HDA_DEFAULT_TOOL" label="$HDA_LABEL" icon="$HDA_ICON">
    <toolMenuContext name="viewer">
      <contextNetType>SHOP</contextNetType>
    </toolMenuContext>
    <toolMenuContext name="pop_viewer">
      <contextNetType>SHOP</contextNetType>
    </toolMenuContext>
    <toolMenuContext name="network">
      <contextOpType>$HDA_TABLE_AND_NAME</contextOpType>
    </toolMenuContext>
    <toolSubmenu>Material</toolSubmenu>
    <script scriptType="python"><![CDATA[import shoptoolutils

shoptoolutils.genericTool(kwargs, '$HDA_NAME')]]></script>
    <keywordList>
      <keyword>Mantra</keyword>
    </keywordList>
  </tool>
</shelfDocument>
      ݏY'ꏙ{fzgwvgCNJ1jը}V	#)s*UHt$Dփ0x>-/۳~Yϓ?ۻy0{Wψ LUKU 9sOqOGcݾz'7h~GuxϮΒ~0Mًx/ I'>Jx}d׏qFz<ʼ~]1R.Jgc:ߜ$'0σdBn;qX9U8B34`V̉(ҭBDoNÙLV)?lOғh>8&*<8+7lxx*1NB#Wma!wIj^[g`O TݜbIxfJս8IJ0'GhB,$+ue4)R9RyXYR[)E]-h`TVme$cJجQRxF+4I|WƘAPnIBv?Ab29ax׍߿~|}xG{OI?]HhiQWG_K?Wh6Bsah/$?x}xFDdO[5>o?hQw4ڸ|\h|h)3\cwl4~pD#Ww31+{~FbCTr,
M~n4S@=gh6M#P{OQV%MqQ9l4>Lhw{W(yDa5l|JɰYj|~h<gjE3_W- G7mqgL#GhoDin7C=CGk>
thÃ׍עh`r6`>A?"|mCu[H/҉*}l8?WDgxVj#jLivc,ގ"!mCVy*!9{rFy;G-^蓈'WiU,5X>YXWO cB#V2w?P7a!봘1 ;)%KWe90!"c}PЀhlK'-#T;HF@ϑ:Ob+49 G$#')mL%Flk
V)(-jf~,#葲c>Đ^xm-g<IɆSKHu[d#T:00t]3)6բN:w[[kRȚGPMZI~G!{ `*򑧼hw"iQf,L4rۆQ&5ZhJ6:Ee`LhKoz l*wdѷ?!ѷq4W&bTX
yzPCX)wA>`*)VA+XMX$pC'+k':AFS4jI0(6!Y"B,'auPnpB&i)F|8엊8!ꃣ+lp52%s66w
l~0Db+ |L+4ʮÇH<9Q|9Q@@RSiV#{J-:FHCw d:5B~J㏙I#r,ˌWl~YF/lo&ۣB<zիW:bN@B/3
Aϑݾoݛ{ʛ+#ŦV",c(7[E f9N03ex7Q_@98g4?L$Ho"Γhj㟚<\OFNtX d:	xޤHg(IdJ<f
jܪ-lXI8{!^dt=N/>_:2Gd9ĳ24n
e)ǎ^7\"Q{8=-ϢL'Aq8ɿX$Ώy:|\鱟\<Tϙa:AX쁵mrYBԔFq[P)h#/R3(v}8Dj3M֢!z {$G8,qNv9_~#3&aOX)ei0iOSBQ<	Oj4)l`
q^CClp:<e(hO|A8psdL/zy(X:G#G'0B	S&qdoY<dށav!\#SA2`gW b'>^nT3A>[Q852#4AY][{H+TF~4ܗ+/OJ&UH0?L?3mxM*%>2扱d*Yf.C_y =4Ka@q$Lш-8ғG<NĤg4^6d+ZG0rCݖ0Ooz"BZ"Q/IQ %IY/ȥQʇ=5BdZG8S>qh4tZT>43Gk·PZL>\Ң䡑5*[$h@:(%@8<@P%C-^4PZ0|=@jfᴮu.)' kd60h>CLQ
[(k9bXbb
Z-_FXl	#ȐCơC^ђO2c*9O7FY}B<U[cHWXZoSOqܛ+ã`tf4vsΡ	e8πVK(L'`4
Yt&b>([S^TkhPhKMf1zR|Ó 씄hpl~4Q	-0	&hu8[KYQ-E
Ü3tbgv<iwvѽ$@kd^GiGbOJWW -:|B7
2&-& +gLqCK<S4$5<\#RA!`1R!Ћ39<loc ̏#Jem|k-2Ht&>5
Ff'4[WW(	-&͋'K^/y=Z΅5j/dQKXx4S)TR"]Y~jU8KơatE&x"iPM]o+6	
@CgJ/	Ma ӆY<{JC6u'gNw[y   h(#@AդMv+S@ojhnATt.7=s	VZpycj."E-T`U3 BP`*=
fGQ1;lP@Vu
IAjz"
5@$$~4=S=Ŀֽjk	ȉA&k0֙;|$ ,},Wu.՗>B
q2A858!9nG[.oS`{Gs",U|B
[Ľ#B	Z^oCr+/'0w_8_/f؋w1{>sn[m" .tŦ)DN!?^9?-B`>	u6\cIwD{Q?iۋpatfw [4 |snKT` 65"
L~A^xu{t^ Ž^dߡy& !c-4a,<Z,*`}йoF[E?]^7kLA4	Hwl|q<!;b1N|?C!lS,)uoQXDb!_XxJ%yK,HF~րRgePv:^ɖ?[|\>G=ST#_Qis:Vk.㣹Zb:Ȫفc\]f႐eĞ~dث^2yI$[1	!~V%ui,htlU齤W;x/ o>qȫ9Xa+ǼsAN<0t[v1+2űv%EPCo-#o6sTZaz*x˚*G6UO#&kiMו:
u"%<+T[OE/.{cYĮkg79175]nB{-SU'rQ>C~틪+%Nɭ2rwhtMO װ](i3qq!	v~/ׄB&25[E?	;ѤCV$E$G5 
<e;]roG[oyi [E;mBgD;!-iD4M۹TF,U}^=PVKՌ2kVibSDyM  )\i;&RrX$0Ipp"d[ !RgNp\&@n8^>Mi8&3(f7h2K,t	"4|X<^0ˇOKJpyIwPWb'+%kNԿq4ʌW5&uZ|kVh)"4 
)[NIUt5}f腠wRxKR`flT]bWbs5պs5`>̓_0޺L(Ur)6F%DVƺ۹߆WM,=&Y8B5
v>-	<'G1'JBJ8*lkB$>'Rġ{#=Ɨ1uޘ}p:m&s<HIgGI4t(rc#r"^YV uMPǋ0{{+Zw@.Yf52?p}@GWs:p:J*΍6+L,h^kEx۶ )2.ϬrW{OhRNC;ւԁmj}0֤])RD@i^>ܵrsy_eSlyhHb)h"8o .V;k5 7w'SuNXpO8|8A%GpId1Y˯V+ۺ{NR9LROWlRm|Y9vONDBDظmJS6{0gi_r1749!><{0LLw3G3Lsrhbzk!?Wds745Kǁa?/xHld'pģh>ڔnm֭".9m5U%J~r)~b~+rҵyUeWBU33H:1B>rn>+l.>4
A; ̗p7;QhFq<xݹ$RXX(NNn;ۏ'rdA׎Rp^uh(#Z%9x?/mw^jG}S<NwMY9Dqb;kZ@--|t;A5#;M`XҌds+@NzkY-&aq[jLHqG_;93/tf1}ޯ?Qag,ӿLF30gF4F4uijV0rG5s֘ؑ#/ے5< -MJV<}i¼cE^1UXbvޗ3ЏƋ$p/|ݹYyaBCT%80Nd;=_&}ZgsCH_J܌W~M㰐A,5W_v{-y;@Wem:VEOI5<~b32d!b9mrzL7{GM0M6Ӳ_<q'_E/tXVhFкq\cH `mXTe,کʞvz󩴛x
CSy/@dG1lջ򐑿H8נgTU_vAQ°6t CaO ;9w&HWTՆMA-(<7
w}!Z7ݬv] Kwڸ"Ǒ+lI7M<eG
Pj*6!HSt1ƧYX/a_0ho 	%	d??~y8}}} 6**Of^YlMky4
s$QG~=8]b1lw{ ǃ;h꘯PWby쏣ԓ$8DW~9XhA9kpߨs)2Lќ8%/=Coܘܨ,\ՅI'G(<B,*pNZRf5feAhlʣn>@?e&$[Cb /nF	BbX>sFNiBݾoݛ\ysA,dh=$l\ů}oh:/Џ??;ǿ.i[[߹>?Gm㷝-xFaD~ӟ:WX_I܆ܝ"X(aeNc x`$þFSl}%D]0'3$Rdto%{mR¸$<P4@o-ybԔj Y5@
st^DG<QxR=US=Hcr)L -s1CjHĮAf|ҽ0Շ?Fjqm)/Qr&1΂$AqowwIbScRBeP:`rE<^9r!uY1{CBG^?q(А-l4m"wcshx $|ǯ:< .K7-|k
f4[Dd(.%L Kڸebo	qްKW.d~Wg>-͘^"R+DvHkee, _ebSrO4"g!( B4ĄjtXE{*æYNO5ZJ0IpP*.B*,P/P5gi,\Evc!Hc [_ͫ/t=[v/CU#N(wƮP]ucރlZ[Bݞ~ ^(|sdk/^׹WlDDplʙ8+A(U$dqW-Z!
?R@9GB\5=F+`X32E<eU`ʳrŬ0D2ԅ_~L~5Ujtlmq_n9[hF a!"gX_|zV$ȰҲᘐ%eF96 }TtMG5>5%'U'6q֡|e#BUym͉?A*r`WPzFbU1{8Q~)LbAm:oC#upI4e.BLST3W:tq:I0\P[@R/P*û,ҮsrqSpq{PQGmiWDlp
ab$.&GZM5E78+J*>̒&o@a"K[!{K累jmaW-Дw</2'efboWHi:j^fxim1Uc?ixEZb=;C\]i.-|YG
ٳ<l[ɭSiy[%p%_ZNhI*X_qtղL f!=V?9s_fRQшIC!NdPIy:'ut5:3i4vNdi8g,skmb^/fSpbyW`O~:JP\gTKLjp5bnFhi|cΜvV8 LL	)iD:14uF3W2[7J;:Zo:ZԱI\.7@t:
i{+HX,ǡ*.j)֖r VߢGy{I?CIj GAu2 SŃ]jޤ!R-j8H3%sYIU4lmf*p`
%TNu5v#_?E=t`%x6L5jvn|D2|g\\E	]H̱ZҔDŶDF%w@4g]x o%|dn*`IOfJ2"Ů*VlbvW3ίA)ӞQe%Lbԋ.wV b7-9YZԣ#4`-cFJvM{kO&~^B Ŕt\~AHR L!N8IzL6Apj*6El͉SJYI'xȹߵ t]'xgHy:&ofmй5:mtc/c(7`^Ċ!M"Ǔ."p*$E`	fw!)Awe@*WĚI5O83h4Ʃ^ߔ[1ZVk1o9!q b"0׆p̡kk9
ZAY\]}ىVOڌPsܴv,eUZPE~<?omyU9mqfUڋZUB,wQqRm#,hbiEAOrMp%u4av.t<mʽ$/O+pQcpK aF#L>A#h 4E\/X Awc1@K xm	Pr1*I.-%|)^*[l8|~!oDAh~K%q@/RO,)^ħ{TE8Oث҄+:6VX"3RAj|4zp:GSiq+<v.8\g1w?i ^/c(IcOq}am6Q@Ϣѱ&0p6Mo3pŎQNt"sEpx0*RWt!sWN;R}1Xs>g:OiW?kW?w|O`bݾz'n+$yΣ]za׈ס^ŤFuw%q$`$Px׫>zMn\[a4?L^3yFAHD1,#krh{'`^LX>=LG"At
VHE)i2|uV5\aeX˜TQuH=Qq|_ qC9129˗Yq2H{q	I]s~2s@0Ӕ;a:ك8C7;Ɇf_fc*F]ǔ*;8WcoM+X{$G.*ׯ4gyInTp:O/̒84{%-ҡ(ZDoZB[sHMyD+'%{[cRjIb^o`mdbM@_γT5<rjsƑ)c9 gPِvI
xΕ_khA^Z-|]&)RFTrT)2/rd׫	&i:0sP^Mepcn
"C83ޥ' t(~߿νaP`ɹB)$AVu5eNٸ]_Q]ٝ'7	, 1xn;6Pva%3B
C(cXe$
#(\>w" E0˹BĐğ)&C裹.;!YلD'-UAR4&{1YL|a{z)0>H"ebQsrCF(1&`E-fR"mb^MVm( L8hx%zEE0Ohl.,%!6o@s)꥔fNML`0SZL|<'W"
>7_y r#:|o秲'=x4UU2=/r'a>ľw1%% K44ݖ0[?ɿH%{8EeKq˚詫kW&#e-0ޖ_\[*N`+cI^G[Wf*1Z^q)LBVOcYZ~E%S9"躃)
&:F2` 	z`[Jlo#z#touk,ځ4Z<\9K>rq%(|Zk$3X{$Z"}BM1tjibSGSS"l4C;=I"lɘ̓,xvcX"[gSa`iEa_F#%EY<O["]IGXs(2܅G!Տen62wOFO{ʧ909F8$R9/R>)Ră/f΄Zmuf 8rK/KTo䙗՝?R?	F!iC+l7)7z0]ZJřZT\zb<o</:ΓzimLHo5/4ݛi2ΥiS̆KV7Ͷ/xV!P.ݘU_Wޫ
̈?*%!Ž:_+1LkjA:v&x2|[m[jv]NW}dCFMmxȱ[~sqֶ,k5s	W$Y*(,|D@yzOVZ>ȬEWoYTH? V=x!t>=%!fϤ>EtՂuzַ\wFNfot2C9m;XXZ1Xd*vkfk3͵+'㩲&K
_2UX"'C6O㥗3_qBo-!l%}50FCxxƨ֮p~'z_8Sɍ8ۅ]-,|3N+1f@\)$t}_/Om~_Oh0] nln蕶*߭V2-kcq[buT[`FJͮ4h,lw4W|+*EqlS[U_+SK#m4P{Qr#ñyr{ܱrspmlӼwHtj˂[*IL_O/R@{/*}zǍ{қMǹ'FXk2Y9b.^djwIQ.|J(gi
}8YexE4Z׬T|Mfz/;0ӵ7 -&lp1Xnp&۫X
E8HIR6YQ6Sņ[c*6Wۧ+7?&2")RގU\ xޗs~˷O^aKkdmD{XW]x׃*bR/!BRiWݼ%	)eӧb1O,9Jb5h(vVO|jVG"ųeUՠjPyߝP)fLdM+%ᗞ.>Gx>ww}*#_xVy߹ђ>K.d+M\}ZP2h1{^-Fs&ߵ6kWJ)x
vϥfw,2Vj(O}f镲2(o$DaQ,@{C#7Ql"S,uZ5mu[iNNkTn5>ZeGzP\Ƀ@ßC΅2o"}a4#|9t %4[]41zy;W-JDd%jq2[y1=i,ZۢW%;1",yWK_iI5ԕ ԕ-mZr^oSr	
җ.
κg4U57`~X}(5sYrMW=ltZoL~vFl=8no/Yv~\%P +E.O&>F=K#%.?/җk-;sU1r8/Hˣ[	xu%/r,%syTϣhQ'J¥a!I$tH>8Dryig"9<*K겱,hnkd3WqGh\GW>f貞;@zT*znby=~VN._.Zź䞋k-3#!/#-re	LIpb\\F+{ǊK/8>{y/kdGVHMUSy|28oQ*.[kUA d|LΝ{4۠j[*k˶.&oi7=Wï-*R㥇KEݜ;XgѨ+Iǟwo};cr]0Z0j@nSJ7};^_hYìq.5;a^_F[D|=)雼@FA:gMM8*B첰WcrQئ/Q]~yꢶkKW-zܡg2ҳ[$g޽|Ղ^^{'OPio"mc]b燉-VTx}>s]2\7/ѤЬT@f#\ $&X=zZ_COykBf܈	͟Wm&HHt5Q^%TR&;'rwL6mHbzG)P7 TSmlH>(gA"h*$85#:!̻T=SdStldQ)ZMjɄM)KG+.8" 
&28b4ߜ,`HuhB$_`KFfn89?iG88{x~:A0/~qRDk,?G#Q|2c"XL+֪2u!p3.'KvSh)u_Cmz)j/Ro]gGiZ7j~J-k7c.XVGluODRmhe֣U}.fVjj&JS^ɥO!X*>Ua<CJ㔾m8~&[_=!	>r[q~8.xV}p:m7'Q$>/ΎhQ@2%sh mh^+-킨hlz:{*&ӵW~6,~wYUww7kX?N&k91k+	`K
\P{g|/tuoVjӣPIz1{Q$HzFɆ\='VT9F8&fKM/8dN+(BrO8q
N/,&+jMK[ɵK82I?]MBGGB3n2>M1mOua-y&gGςti}W/?Î3ypx	OS5OpI|gpLGryKh:\ ;NaFimd'4/ASRא>v;nk(EՂ_ߟFoo&*VJ솬v+4	6\-FC׻<q:Ytʂ$ՙǎPj*$\\E< D% ȹ6v/1w6-R9tǒ{,w.Jpm`Y./:ڬdM꽡*l2sU,A5:V]5VR.dK%;jhcCY(Dm15K)m Q$K1%+%:ov4?407QwHQr]r崟C0No60i2LH<r>_gםWOuPD!GO? 0ި+p>#0qoGVwS^qKU+_v{2\TuٿU+E^
m ytY%iAHlCbzrzL/[[Hϸͨ"F9X3IcQUXVŎk{]ɛ<R fM/
a#I+"oXS7c7JN؜p&*'hbؾz7>!#-B/J/S8[p.]UA\Oa^,S!>*A;sDLWTՆMD'<gOO
<rx3Vdsĉ[bd  K!S $1qEndPؒ5nI?y.M
fpA׎%yUfatC I+͓@l	m\l<cʓ٧rtWVhM֦%h>VO/ds$ѓyc򹅔Y!9"\2ݓ k!$'^d8z"h4U$FUwrr'߸8%09? OT`B!gujlЮ4a8L?BbWs'up
vl2	pӗQ,%AtǸ'/4#<[>gONy͏fYnwnVa\=mN䐰ʣn>@?8;Hlg:$!FNs|H2'h/LΜQ0vnq77+ovdq)I"ڒ o/v3 ևt0^<;K<;ǿhm $-n)Z(jBnc1|I?Ʃ0
%tE%kE0	T$ޖ̝8Zx1CIΝI鹚0<|ĽIϚi@jl=an^Z8G)sO$UԃQe@ĸF8$`mı{r!tZ./(CE-ZRb<8D1m!><<<
Fx^)sfEf.}L2B}Á2rnn8XKܾ]U(N"	x@Cr:*}Vq2v`i@;`m(Br;<vBlqՖmЂ[;	Z."2Km3n;j^<%|ĳ4Rqw*Fj^0aڀd}CvSBfW.K)7$]:{lZ`kr*-T9kmZ&*\Ik  _fꂡYj)]Uݨq[m|k6߅͚k>uBV'؈![yufAJDBR	k.MlW1ֲHc]k4V]~ìVn.^swh!dյ{ԴjK+0r!:!q3%°B%!k,v<~݂[BK/,}/gVgrzP(.x݆ɛ(!9>k"6% Nn/@P8@`HH5_k24]	,+2LcHBqմkVjdaMWXu9L_|1歺N\M3ș
>Eک0	|0+Y,Q
FP{ndYLL/x{T3MϓXjP9HVe}RT+sJ@؝l{F$AăbVfh9@Ҁ٤nllfӡYUk}Ů_x8%	W8 !6vtb+)GNC_k%S $ eWo	pmxG5g򙖸OHvĸ}xPq$1	[Nԓ*F^x~13Kt_^?"T;b}ew,]N]o!̔xUD8O-5>a#VS" \Ah%D}[l[z	wa_^=*]{(aAsq⽞ׁx3Ob+uH7>ۆ$wV4ͺ[0n#sԅꠑ&D[V=eEbBt=n#%r8y)+.L#AQ~Yw.Z
T}n!|5-|q!h[AOVZ
hG_?ŃAGH,t kDYʶX~kwQ|v8g_ΞLG87>};H}Ќ0W8g~	~Dc6AiNw!\YSkT姼U(Xt/4$ C&O^%ģ)5YHMXnWRNlH-
!?4XR:܋IĕkԒI.aQSQӄJz\)aH>*xA,rAf~]uk00.'H8'\D5!ڔpd)?NzBUe
X3r6dpp N6r<mJJM}eL)K*`ʪ%b_{!Ӿ@Z{mLڜ[-ZA ~Z8^4X<-X;-9=L1:YZN:iG91p>0$΍)A)alEnL1[bP7@7傸{y{By=ai	H&PW᧝ꞏA˝1i~T
@vw؃
zPw,!] v-E"X2eCb/|ћ͓ϊoVXؽx<,BeO[LbBs_U?xOI*ح9H _EHGw
\5KqO?Xk:Ӟgr1sr(=12ジKEcA۠ĝ7N~7qqsKaN}1Q?xVc{WqnvSvkybv F/nƖzD1OUiTɇxhHÉ^V'X{4p(sڏ&4i'ObϗxK.^|B/>ɹ)$N;(Wb'硫kN׿&$E%d۝EQO?W=Cv{TCg9j:}!2ezy,?.|l`O=+m)9##+LTK6Az;7[k:i
#[r%V^Eok]Offҫȣ56rH^mCg_AW]>C ÈheSH)vaK)2Cѫ2?7;»1C~H:	$nSn/Ύb[ KG=WmOnvIP{${tl0:1G">;=C2 iiPSajV(,5taúJ8G]k#C`qx+ݬ:
lVZ\k<v.#
Yy|NC.u(lK<G u7.iym@%ұp,v.0/BGj4YL*v/ix%_|./WHZ*몊x2j8`qަoTUZ{QOQO_8iޟ4(m̫BLwcTAxsU?u~j`(C/V`-Rcقhg׽_qtŋ;:,<Dv฽ͽඅMUveSb!G2vJÕ|~pIBժt^"W/Yzo7yC{Ӛ}5:+0&9G)e]՘}FY5ŵ㺾~МS՟OpWG	T?X=ź}OsWHٝG<zjt:x	z4uw/OvM|Zm<|9s|nPQg'p񱃽|vs+A#a3Qɧao&՝km YFA/ՕC|Qe(0#gG{=*HkO"sI8vӠK@6r[?,=řPt;Dk^n7;Q0x^/iwnif&AT`W;&ګ?#}\YWC0(zժ7.GPW2bf%-+yPخux礚|ݟakdۜ5xIJ؆Y<{JCP1vl	x?q߾Flv+! rI-oAG}3hHLME$]ZjOGr@U[[,jtj<IyF!WP>ǟ]2(nE=<Pë/	߅YdqRbV,aIϥȜk"aV6tW͡fچPK15Ib4\veVz)Zarb[!|Ã,maJ3\6SeY`%tfjCүϢ逎+ڋk׸ZنM{CV֎_=ɶi]~>?IO&ծqϥyq}ODk`xٛHqU/X"ʉ08un҇7
aC]마(!*;,RWjǇĤ}mÞ͎ub1UޥoCCT>|c8ʔޥo,Uy2L#hT2S$"be:gRxsGN$:ݵPC]\iIhHJFBJ1T"282I1T!CЇAI}L?$mZuɇAS	uF&$dBD-"2ߠy6ZX.4,%yVIz~Ť>wߤ6OCnJDJ4Ӡ˄ZF-%RŞjvx)K?OsF(2!6d0L$.hOTEC/h܇·'9ɶĶ>MfClC	=9OrQn#bbF BbC *vIM=!BN;ub`E0uN1#3b$
B	$. Qp0B	$&*dCHp!A[@QDH!ABx;͔LuePaЏ{5qrH-2
1P'TL Al.TfAL+鲇624+V12860fdrHh660ldxl[饘^+Ə G&G~AI!LQ腄^hW"LDI
fhf Z$LYً({g]%ŐLY4Q[$#8p"e."M)[	%#P"u)!ȖGP`œ!p4t9]PBG0@STҜeh	xj<k͹]4.O!S0ǖOz)xx<y<z̤)e+a+x<<dSBV!<
CCD^nw^<FGGD +$Bm@&5k{D1 PzF&(DyT0u1ʣHP)Xe1`_W,OG,O,s2KWF[rY&eFUi-<$B\1*"BY2B3h*cV=TŰ<J׳
){gm-{`rS^%?%n]e3alL)!jd)M	@N"v#܏,up:%$%i6hg31<;E;΄9de<X(1`o-*zSgpS(Dji%~5qLώW4srS!TT4RL\P+A(
P:>cN=D"L7tC![I4D*G4*͈H"\+A!
B:d沇-lCG{]0;PQGsN=Z 8op%˟R4h8b%˟.S1atQe#lТ#,.{;TR' *ۥNR	T\&PI1HBL(	J$@E~`ajNTR&*ʒGhz6vPI	"(C~+Y&*J^NRTdnIH(;p
"^:MRTrwMRTD/z^1MRT$+ hLR	Tde/QҞvLR	Td/N$U@EnI*4l%lI*dSB65- O{c=8
)(mH2!1"@A3B*I}\h	(9Dϳ(EL٧Ⱦ⌜gmD?9$P(MI;EJL$(GJ25H3!Q+Ox(h@v{
}Cg(>uW[uT}R ͨzF^]V]
g7;mj~|raFB٧̾˜}kDUf8B4Wc.=$8;|7B_l|.{(Ċ@$$3;ŌPԜˠ$JP- Qs9HB	PEz;i񬀊+!W9BХdmTmT	}Wƌ.{(4K<)KFܜO)
]!7CWȜQGty]4q[4ÚPRy9
qBzPuVG-
@!ܤs ) Ϩ[JS	}[:EI`|ͻ͗!;'(#@w`鲇J2Ey)b$w[*e2	Tߟ"%{SF)I}[@x)ФaSF@)560E)e+a<e2_ncV=T%m2_nA9˟~dnw}sf?F)ur(BeɻZ~׼4_,ȻT&A
m*^iEX+@w[5E0(VeݖMQm`ˣs^?Ϻ(|y:~yZ9˟B(y:y
YhgQ<f<,xvHyPTT0AU@6Bcƀ<pq&0gwS^̀3 'A\Zcx SuKw)y<y*p c]<~	JqXmBAOB\᛭S:z3,`hhcQF7Dπ
ʘ0y}#}/0uSݳ#d)QWK1vS#[)57pk3J
^8k9319Oj)f+h+\B	;}wЮO=}Eܗ_$[MqY|f}%1u<}8Ǩˀ+.@0LHzBwpb+zc9GU`\Ί"r̊;(cW^).Kߍ\ "D}cN=TzPHPBD3BTRdh@@ ͔=JZG
ǰ }*j3^ԣcXfҔ(``lJ@Ws('ݷMA7[f?Ɏl-˟f.4h&@Zt",PfB2K+V}~RRװK.[n?=uUkݘeٵ[)|}cN=TzEJ}͕#Oь`+pJ.QҺW{9lR	uԉo[j~lR_oSDRVJ*57wydSBVwu/Ue\)\3Q2J)\MfSrJZ2li_]q`p[)CT-mQ|LLVJ*ux_ sn?)\_	vRJ=5QVsùW΋Ff5ft迒^^)2e+(gv	.V*|HߊKNkpqjt$eջRaYY-^-^jA::)ck]ր5-oa}x[Nxk[1xk[X:ցu-oaxk[XZւu-oaxJdf5 .+rګ\VsA]Vu
wYU*`]@^f6{Y	sV2C똇GP/
G/*P/
u.@WK׀G>ү	^RFMd2^,ghSpUR@W3{o-Q7o-*`gyAkPC+z<ZT:5Y?rp벜TqRlYkd.6<YkQ1</mjRKwzCV7%ོzK1/ݯkRW1^u`ʯUȯ+qU+j
T	:F!B%>\8ZXͮ1wFY:|UEցkUmDeYŊVgd_FيJ ņ&1HGeWH2
iXz@Z2(c`#~)'تi	nW]7"]}-HlywCC˻b-h!]'_!\Lz;n:[n:{nnZn5lk׺Ư&.6>FNV:ցu/}a]kA_kA_V@_9@_XZւ􅵠/}a-A_Xzփ􅵠/}a-@_V:ЗՁeu/}/}Z/}/}Y-jA_VZЗՂe/}Y=A_VZЗՂeϫ}^-jWZ@z@zA
zAzЫ^=(aWzhՃC&z5ѫ^MHaWzՂEzGuhWEzHXda֘Z Y,A0/u`*,Bz,Bhy=굶ԃE~7HU~*`]Rԣ^kb-P "zx8ZXA(փz(Xa`=5&ՄzWa_-K@_Z:Зցu/}/}Z/}/}i-KkA_ZZЗւ/}i=KA_ZZЗւ?ҵZbO&:'A:i]ii W,Ni<vt\c(?gM(H4'7K%g'vggH`:?`ğ۝o:-gv6?7j3 9n~5?BѭtD1ʷGAiZ۞kZ:
HPyeEz-xz?hhZJ6\x3; yπ_Tɫʣn>@?xt#?}|q8A-0p@'<gW`uwqݛ}]rq)X	dGm+vd#ҠFx~1>89<{A4?s[N!Сn9tv`iԕhavB{4{_ܹ?ᇇYpslE N0O "
;op`:BmĈiLq,LIB9bDcSDj9j"MH(D~y4fQt8.i;O<R~|1_h*ΆH~kNcy5'ɬ\U+C_:ίmGڋi1-<:ӆP.UH#N5*jc@ڸvz=`l|t#]R}RE3T5IpR4R#8?]31C9!7$֟vz(Gugb<t!4'!4!ex#[AAPqcqRhOusI(	(k5>*Kg|lƽ}b0=3H"ۋ
kf[^=}\sAI}Fh.ESd$d,bУ-Չ͝;+ـ9#[Z6#PIƎeA8)ڝ&oR#ӉTIIO$#{4ҟRHP[*޺azb3))EݛM`J"QگZhĳx|x:SU
;2O0֢tv`EqZ@#zjĥ;NX15gqz?gi:itm{?;?豬(h6p#6Ǭ4v]Hc"Xnw5m#dƨ!Dm#e|HsoUD3
@{cʴ&Ç 6F5|LX[ciI)rFYfD[pPjԜ{sr H81L@	C|ᘗf>0u|;EvM0$S<ކ8J:9LhGw(-4Gld݁n3>0nϝR{AIc&]joJmBٜEI`8dX2S2*/dMD!I&yd@?aI^bB́T=2ӊY5[ 4YQB*KA|dl=D_=C?]dHR=%(a>߇1!&7)#:; c{x 9<4	Bhjs_+CK&JHBlIUQZJEG dqL$NyCKAVNHְz[ҲaU<%S8G)Sڭl\CDt\-1EW"4mF)Ӗ`$^OqCo#C*g/HN5tx@$~hэ&G]ThVpwg<wakR!dи]~k6y\z,w9=Q'L|q$i^% a!hX8$.` &@[7<<	SCCNx/B-MJ;~8Re^,{I ӱ'~2J;%yorIx1Ec4~	DFqBˡ"*00"C$@h2o5HMl=_Z.-&WAQe4=C?H43kˤOWpqTaQ*WFL7[OˏQ:G)tGzɪ'JPCNs;)G' ,DAHzg0G%6s;5+? B9*_($TRx#KX	p)xJ#VVgosN'S^u˨8	?[>G#@/t(V_ZVH_])nhjx9juWJUdM̡D>Vω:CN-6{h ի:T@LI3L~iC3K8VUd+If C4ћAa ^_1C|1npMoBnΣ%}Ɩi i!svy}n>C&lx(k?,YѩlbğtεiPT!ӹΖX4M?y&fp?efaY0holwv=Nl7	gߟ?<	h޾>V<BqXD[>Y h+<!
-!5:ey=c8_kXjz5xxV"ڿ߻i.Mt,0j<[Qrk3;)~3@eϣP|鮽?/sKi7$&u0"j.^dσ28N.|箜ydfB}:bmSvN0O[ɡ?gshL&)+謬 P_Kj11.Kyg]zH>/<ocxcbJd险֣[IQI}Q"Ŝ&L2Uހޏ40`zxg3 YWE2^ĉ9s9EۙVGXZ1+k^Vd`'#!>gȎuk!Pľi2k
H0~ ~F${G>0V8FUM/IUp{){!B}2iӁh~Dh0w/|pz6FPďl%r
L&Rk8lS(88FXCL3"@
AaJ^PRd<dZL᲌tkHݚc.!"o9{damzGwKͪ`pQ^i~XYjXn%3X1w5[vYN
+<m\XLӶj J\jdY"%
pBjvu?QV}\UpU֭4#m؉jL("j텇Mݲ XՋH~W[0&ǻss[D<o|rWɈ\SP:Oų9_k<2G/33\2lg_Xf6/XuOS]4sT!M|>IaWzd	wy6?4 >DEO!?p'g7t+TyvF9<mXnTO%YwN(-ݧKmJV&}z0XSS1nn 31c/W|9\lsJF.Je&Glbui862)%M}3@)JV~lRJ]6Ũ,5յ|4dee˛?lz
O<klZc|9=^XS~w=ΑY.o3R~|fQ*~֘ttTى̔0=ZN<ɐI,i?stoO_|s,_Z述o0
8>ۭ{{峷´hjhZCyES6 .iXڥ9҇.Qz[X8敆. le
75paPUj-.y!p)"7;IAmw|wb%8chF@n{Ě>樹<#c+'mr |DB`g? 8KCQCÎh2.>
Hz-$UМUcoK1[m>lg/}O?|9s H3l?$i'~@D;_8bI˄ bR,5+yqUj@MGO6:=|SCDr!OHœP@&b^LΠԪC,6ӈn6AdQWMbMh@-dtߏ?dE<
t,gu*+0C)MBO2{!co}+BϯrDέ-~7796 Je?ԕʭ_.3oٵ2eA(7D
A]q@kR|s	nM\xsJL&39/To<W7ޯ d|w~p[p#qKnߚʴoEQrģu!挤x\hV?4m#ڋj+
J=}x?)\`=GNPKZpТɝ|.lx>3)^L4f9kBaNd D)۝Xcřt:#z˕!sa)WEmm<tG`+}E	̘-GeRF<.Kt	LƼkd;&aixdOL333slb|;1L'}r
u6Y>~uT>Tz&N~Wmv| 9o@\i"ˬ37R.l*ᢻm~lPбտe+VxWV:Zku#G k$v.:P'3kJ'2
6<|fGz/;%5/ɉ^c>qXiTo!sEeGEʧ_ɇjeB֬OhIg
7h%lHVL`glHeV)
zI~Ԛ.po31-هX# AV련ԁl:M/(N%˳OCB`@Wgz7ƩY7eS:LlC#c3td5 3&`n  
pBA @?MG*
&pbP/&Sʪ6P8#T/z

Q iD#
`FS`aJ~DY%X&TM$X&TV%X&T)_}LTMlY#&@bJl+&`b]&D&LƒZLZ a09+ױI؄JZKڄ[" r[&D&Lr^vw̼ٛ0+DB@$@aNM p
q]'T&\K Sh%*.%$8Yf		b=4
Le		"!R4.KgahXBy.p.60_a^ 
[X@TL׭0'v
ه."&i5&o.Vj٤utAT vEuA6B%J"...8~
C[vAuĶȢ(	  "`[*sv]P]p-3^L.]P]p-&jE/.* Rxpv)^]0).1XN@g} $%QKpc}u<&=$z,kls}߽R!ARDZ>,Ռb
-6sꘊXj)b>V伭f?VYaK>Ž g g1$cYX.1,cQ	 `S 1 bY }"@LA,k[NX w:AA(n1 ;BBXU R1bE?2&S%Z"VԄyP90bY:k\8dr#`gZ!PkU,\HIY CfQxLp^LvUk`>?kXM
 ]-djZ9Kw 	\V~?p? 3*SP	gXB%@VUx,;
 
hlnlR45_͠d`7\ծ*S90L'̜́a8T/LCW*oDEHB>5_E9 T%*6@ԅV>ZVu@TQkK-5 i*iNT*`/YZ&(UB!W1|*e/{s}lzY+\+dZ-g2^񪄷T^.ݙpWd*-CihTB]Z!2#\07
هV&s,s*dɱϩ ʛyExNtgm>'b.AcSA.[aF!pH	r(&b]DL+]+0,s&ȕZ6AcSA.V;$Hcc
rY[J.B%xyɝY%dr ωϙ Y%!PUDLK UPy.s*s.efu) %s*s.eu$<\h99RE@
 .s"s&%u 	o䐁KS0 PV1K%lZc0هTb"(m5BA %Gec
$Vv01v.r܅@E X/JSH* ;
FbްlN`%QP+C`3fԚeE#L+*$B6vV	\fm#Kk3
 *9,3qg r\<#`L0unPG X<"
AӀ9{c)pNA@ev#	h8kf6HDᴅ$;5$v8Sp;b;[Vs )X0;B\9$֑\+l<!2<$h&" JeUjZH@J!+&POd6Y%* N֨VPhy^?z6A0^fc'̘P]>aR>)Ž.ԜjUOOdRYnP aWIE~$R;&}Z8r/d:!r/dJB$UrnUP*jk/ cDUUWř&@iQrlwl*  UPBUYPmP *^s*V9T!@5WVfCuBdj!_PP *^͘MPaZ٠!
RC(MrJU**V9we`MPV9T?@)kP90',bQ[&"F1U3bYiX%X"ssR˪#VbA!2
3+$l&.NGbEĪ&2khX'PlpXTRVe\5zU'S.]brXXQ21ЖږaEld&VtM30kXU9q-sjvT<z7Sv3+
(V5<nej(VP*"bs`\.Q@mDl$
z!T-E5(S)N`	Zdk'ĂB,dne+hlWe>
(WF*ۻASRl͕d
	>5)I|gSʦ0RX R5,U-ٖŸh/aEl0(6q1\ M
*Ӡ
zF.eD S	RTF60¯_-΁ifU&CQ]$"QYCcBT	:HVAF(	HPjY( 
	TajG:1Ë) ѡpQԍ/0QTMMCg]aHYU0QXN
TY|iOY0+Sh&L(DU%!kZ"trX~1T>T~kblLo(jg:CQjff?V3W#r UN>:FkW#r ٻ2(iJtD$W.
@UENUDU/ cD	,U9WSLbUZӦ*r#r rHTENtD$XEX.*"e,UBT3R@!*ڬdȁl'[
zwR0pXiTڱsR0	KULC䥪ι 2*",Єf?6Sن)XW]<+,&t]?<.[8V%~DWB𑪱W	]Yј"u(1[=]X5	x@Fk9\@. ^cXyr9_2Qwy˫C%2K|T\R%*.YK<T\G%>*.QqKT\/xG%>*.Qq+*T\,<\Qa/
OUWxJjOUVRyEʫ̚^Q1P}E1C}C1G}Wz3G}W:7x*ƬЋcЍ=c\C?VTqYO5ѓuXkj֥.;љճK|ЛzaPC֘^8ѡ5@zF."G)/S.*x]^&~ʖze^!:jl^F+TĹ*[*&~WRNW(đ[=/,pq+'.n¦By/.Y-2^z}iP4RXy9Լ5WKaeAUrhkPod/j+>a9WUrz+%%f5WKJ/ֈ^VɊK=V{QxD^HT[+kJˁb9P
5~In^+v+oVx^`vk	a<3+{>nϻx+xzހ>>o 7z 78z w8!{ 81zG%>/Q}K|U_K%+U}K֧՗xK%^/R}KT_?՗O%~/R}KT_
WG>Q}+T_WxbQ}T_
/WxK^R}+T_
?WO^R}+T_b/{iK^/VWc?V	^Z0^`c?MO~0ӆ:=acO{O'~J1ӊZ%j^^-ҘW4ZdQ(|Y<E=Q4Ųj~C->\Z1.|*^j6~}ԢVR^:K%ziDoWj.\*҄~OA?-t
Ԁ
Sy??t}T_r՗G循/R}
T_򕪾GS}˽T_r/՗{K^/R}T_r?՗{K^/Ǡ?rͦ:JQN {t\yz>k/'tg㾀H:/aCp6/٧I65_4Jsl5a3)_ tP{_{od,i?sto?<M08No -?Faq?Bwo_|_|A!I6P,@2OEܟYڏB({>bb
-DҸLI&OHzo:<Ӡ~y?8>0< i6n
5qgPPOO05%|$Cpc-5MH;c[/xJ6~aѽPfR?NbDw$8 $q8Fs?7`cah>ǟ4tHH1Oa8kP3ؽ\ T!.<_φ97l c d0ٛOzG}XG0wy7 kRa"p,eJ#IMZ-)K˲hbLzi8X0l5A8ѠnE6yM?Ȧwvy&íAza҆my;E&ήLYkkRe	Ji&YܠXa!
[u񠰎>=]qJD >5e3 ~1tDz%unrɳj9N,φ%@( z"i	 7"9OaNf8cڅkGr'D(HiY0 M`HAvar0#%JbL?b_ٿC^ҧ>`t|<@g7MQKI !{?9;<'aާf	W5-blk?T{chٛ]=Y;pVϮp\^bo.)Q1g@gqLL138ILi%C zPlL']fCblDhDj!%y'oo|"BobQ'0`-ޖfy9Nߍ#cmsK6Xh
¦\9XOʠXU/;TLƔ&-a
Kp/ڙ'&M$v'N
h?OTdBQ-CX8%;J&*g+A:h)OlsqSsU"I~,&ySg>i }3Fp`.U%%3\RZRԽ%\=	\;Sķ0}ڇ2&{>ޥ\;ùLLp1꿵fII$Ӱ$;\$p3!s0maB1ۏzR'::Z&w)4EI]3Q"0%u&M{HDiȴ86}0t2@S~	R`VPf._P-O1+pޟDStrU|'܁e,yuVV	.B]BDf%"-1dqu0_}SQPцDFvag?*㗫_fެjl?8դ6;/qCLK`Z9J菌x#XtUbVg|" XL=g)u+Dzr.kǰKs<.Y>ӻ!%dc2^2zFz]\Ma$Tf,^eN\y8oomuQl
ז>Z#7`6xm"(g2jf{֙zqBw
$t60-	Aai=[X9!,nC_~2CtóP@Epuck6rhYtX^ܞ,8lim6T*ɺ.;yfwA'0>ɦSuEmF{tBZx"_֬%<A{FF:nmF)o7(P[`4)8f3"}} 8(FF]ܚt6M`(i
u0e]Ⱦc}8>$'#ySC'l	iMgc4 Uf3zTQ=dM[1(",o;	SaFQ=IGQm8B[u\y_8'ɫ5+pX9StKVZ|qfrXU@U\eyhߡ9TE'RXTR3Q2O* 7/SR,k1,k	f,-=|kvf>4S9WLYBFzQէw#حFsA*0En*U:z,iy?X2teqP"ah{_x;	za1	8>ϳ!\!d-"&J&!/Q-zLkA2-0+@m3ItlD.@zn,u+S0Dʓ<K֑4a{:V7v`t/S640x++<2IujBoQA4sWтc7v8x"}P!OKnhj]0QYGSon,7M/q?@yrx"GKywe
xG#l[x_oͶx/^M5ݓ$	Na`v^Og&	F:Xm1&5-dlSa]ݓg_ka:JgygyG#e>,^	)X/IB/>>#5Ϸ NXFoz(Bf?woR.09?JƇ_3b4..2e1Z6.M')zMHi%dț
LSZ1`I饆oJ-Z	O\<pog_oMGF$/aڢܠnXQИO;nMfvE&2q`)v"ct5Iڔ00qp\66"VPюЌJU#t(q|A>a}Tw,6-<mwVR64Iq M&UNw KKc4lo*thYu|lFyE-.*k h su-	hP偵I,AC9du#Ԩo*=֖MAA֙fÍ'ζ%Vǌ6YDي"pb@X[8@W^ y9bin%ajSZ&l19sU_3%ښɂ9.G|xd]idx/WU-$-L*n,B</_=*~/[<*>/Ot:sś,/<*ҌtڭP*+/uhzl̩/jfH2}u_;ݵ$E/)\rg?+wS.Vvz6.L
NNW=1e2Doetao&N}ދXF滂nHT\''lzT".WCH\	fuꄄЍ5w%MUӝqq6EWiǽ^0;ÀlCwK۞_RbBLK)pMn>{>ǌﺆ`mBŮ&gδ+5^|=Mg)*?+RJ(dW`'Ͼ7e)zŰ7Bn]Y!GuS/HsWCxRާm'ގ<d0G94XY-!aW(E#o_yL8E_O'40UK	<{W#I$(#؞^!WBe~(7Cfons;:	.BP_iY4i4q~CLe)ĜdKDLEڅeG[jP;\K]UUҝ$UR°
Z&IB#0D[ϟ'JP4jϋ_/L_Yؽu]!1rKZV)uYxXn@AeДEޝJidf-ϪqCGzACQ,y+w%z?DC<=Yԗ"7oFŜZ]\ĝݰ˖@I-d}iC2

:`%~r_m4svHRW&/	0p`6c8ƱO6uK`4	^fٯ	OGھ;zA"㡅C4r؂Uk<st2tDa//agə|tf<f8-vgf, ؓh[8oʉ+4>p!a󩮛q"hite28_|6p]6R/p<nup:Ol-Gz}e,j)VKsz¿;BA^?H~(1ܗ&;*KӗR2/l7br(FĜ84&gMvyă[;ɨ@Aj^T?$BCWxɊpDMQ]/uWʒv#7>7hGt!Ff%f^VIӲ]Y%]D sVʔrJ:9<GOӴ/upŕED~HO%=<FCb@F)z_|E=DԁK5.୎t;;ѭvGknq#a+e{h?XЋ'{"]D;A/spx}R	)X <'gnAXGh͑WBMv$FTsek/<R/IK1$xixQ.ؿz
>t'4QLRpp=&̍ISV₰Vc'pACsg|%
7<o>LwCЮhVrbFp~KE<DLҕ%qϙY$A!4LUw/Lݖ};Y5Ʀm9g\å`;8ppYG'(4~x9ݪMUpUX'5)NƖY4*@\WUBUf1ZSAeƙHM\CR+JBOIב22.r+fB1l@i!&@l!&5gaO+Aj@xER]F؀mŨJ-FiuYQ/^!}U.Fa1L%/NbE0ri*!ʬBL)AmͯɩS_Sr ߧh#wfg0}2z[R
&ǯ` [u/=~K9r00p3
׿\6M!_Sȓ*(*% PKxU>P%nٻUVcMMklDSfDqiOwiz&.[_,W~W^Q̝[ϛRf;KƕA@#nNq.&|ypXw	d`{9C	lr?W۴
nߥ2n>@_odPZ2]m՘neAxoi8.TAO+<1!u5K<ȞsTS|.S )oe2K_3͓s e)N5<Q\	鈍@9y/&Wۘh{#]|SW6q|U6	>-W}%JM0:
\.8\+u`{uE0_x+d/8KӴpFkjgol%p/Q-.-!f+)Il$fZR |gp86Tʝܧ^y^!]hϫ;?O4>U^i':nDV:ak)G!찕:[J9yށq r/xEEёYR|npddNL\g%?kJ'o6?"+(q;egfdƜͧl_-IOh˔K`=a7{Z0A x^?z<ElC֚ oh:jEw4|7lȶCs%QB%LGlT-P??y4oz^yyM+izȧlpq#p}+_ L';aބ	0رV?&j뛲)/h|,fp&tQ[hy)̦7`Hc\S8T$b}c4!ЭpdCe3iC78
s^_<L8r宒%"R$Ze2^ŰUCÑ?ѻ;qwڿܝswڿ|I?z{Sكtfcc=E͈-|)`T5![:FPև*:fca6n&P@هf$&c>={Y<9Ar/^|:B%͋רc/X~ِv!Si)Dd &yMş!~y ?.S Gf CsR!GpΣh<-:PC*1$oh~@G	i3TBnTW]6.Ǧ<ͳl~0BWǧn!;-[vf1n&jl;P䈘s!\k:JP:I66?OE]@;x&k] .*F[SlW4a#+n"Dj"DDQ:4 sQ#3&e&@qaik",MzM6Z٠v+a%D۱-EghΝUXVÜt6(]bIX`%J@%ZOtHKAm*H.G>zu~񒵉oG)t-Eg/zb\FB["2G-r[D8y4EѮtxS$a׆Z;urHi)MŖ_e*RhzhzH[E7ZXeli8]mƆƋt5:bk?R!kL}7~ǋཱྀWzcr˒Cģ'"YҸZy\׌|u
ێ|
y1}YFb$j⍋vtt2KDTRyzN$hw>ǳSF?t๽öۖr.дU[lJoa#w"T1W۟\,o~&gd0mK]֝_Yצeǥu׵ys_'Z_<;њY]Y>UP4o>(RۙJV(:jM4EgHeA?.	k4ޠ䯾gLD?,EbKД1&^Zngn`;华*Jil4NLj. e@KfR:]UXr	ЍbH#fM+Q$F<{!ɩ[^	!gڸ!2 s\/jEpAMBNlAdD`ޡ懦)GBT.mmgĵgffpI%O[Ȍd뗽41Ρxu~xzX)2;L"G>\2NE0\<AH4pJg'YM^þ#zE6e&;R.!=*͇}y3'DvvJ}pܦL=Tٙ]0T!^\dRH#ҘT"8-.lRꝀr
(BŔX*8}Y%LHy+U"6Hb}:V^fDL{FG_hDwr"Ghku0|]VfѪW}-VִV#к<yMV:x91W*eQ	g O (?>yΥ+ W:<GCGe??}{9&3<O2Ȩ揳CsN39L<|r_TM$~nk(J7'oafD.XxtvUS[/EXƵ@,ޏgkDF=du'<\U~O4WE,_	bҤ\a/*W)|$H}wx*m`ue>P]@5V :ym{1EL2|$^_i%Cb![7S:;˧]y:{fiFAr軲bV3{˨0o6gM4Bh8p飥I>tU>R lܘO>R~0Fe*^l^hujvFm5Mc+NpG1j;L'g@<͒1zc>:I'pR5fbBV#d87.#'P
i_vꈚ<ݢ'҈~Oa+:o%RXL!in3'=sA,rʉaz$kLZ>\-2;/xǴx\z<b3jӷdrb]<}
$i}p96^,Yzʈܔ$Ucm2Y-ɕIrA9snƌހ*gLRqMDT=_"bIͲ_GX	\#e/2Sk差¸Ӵ7q&24]n[dw{؝zUN3a<lhAv~DAڄaw5i& I$0Ԡ ?D4-\Ss5Y~!R׆r*9N ƽ@5
gJ>o\/Kҙ^qwGYsuy@8lLi7J(DƆv18%A
 6^0FZ@Ζ.4؋0;W䴌1Ό~G1 +_kEuhu\ޏ?I(^t
j
mt,ph\,\-m}Q_\*'پvwz&V0B{Y>Bq>wΝ\^;+t,cCr}$RhQ)๬
p&D 8'8qr\
d1߯VH!Cy(<~f+Md~S)_/L^q5sa#!!WC?EXhMEKs(˥BZ%$!7I|X`5nm62ւ5kH]Q߇3C|aY1ȆI
KOa	R@;|HE4t:7%,h@)\X8T#~z1<m\vGEWW:ŧȂGݽ'=Ӂ+]Q,JIFX!
-"w,xR&&,&CgܣۦV"
	\A3],oݜpu]FޫhowZN26uC=;ve']h+F,[R+X
y[aMz4=zx	-7Eqn\y|?z[aA+St]r9,Q{39Qi2\Uxα2!o.xΔ FMCۻi+t|v6tµ{ݕmx1
ޡWS_{{ZIx]݅-cs(Q@wS6Nn4_g~Q2ˊo§G(2|Cz$bEE0MDr!e`{JD|Sm|WU&Q7bgF2j.R۬+Lda40KSFXjY7|qAHuI]*ٟ
mFur^9o878,D|0zyz3~C]E
[=qkRD[C*R?v6co0flť5e?7a倸U Iۘ\3ݗA|Ţސ%HC[
K<	1U9-+隂KQ`"#SWaљakF5c4),]FS+h+Xieeȓ*]7Kz]oiO-?;fPN&)%-ć=b,3$ׁ}7MdYdkx#˂ZkQ[^X:]PyO1r%!n}Yi,\7C&Z`E||4,E˧`6ϳt6D!*&\bD# C>e\:h=1jnB3֯c5y@`iύϼ?~2Ȓ$'Ðjobo$CXBΔLtX@Zь7z^6='G/2q?	[HMA Vd(M)GKcYQ
fTx]fi//~!ugP;En;i:eOŠEh]I6BQf*4_EP@aAj.NVO(lLس]Xjs-7G d/ez>M_-HA~X"}WYď|o܁Hl3­/ka":wSbbjlWsXi}"x{4Z*Z2zT3L\`ԱPwH9@$t?X~0
rʔe͠ɔe0"C"y,9PژrpX^|˻U}ȶ'/AH&P*D;*Tpoۿ(sLM>l*r"r#\;,=jO$uNRV6?~w^J4rʏ#6#^7l!<p_mVq*"2쵃oYE|bAT3&5X*Q>w{ΟhpظC!(fv~vh~nNjf)Ir\2ޥ]F/ ֜H+6G˴wM<ݴ@##?z! , #Ic"xҿ܌#Kr4 DL[Ϋ(9P,Ŵ5(p)G+DdtdQjC>ѫ;La
SGWꣾ/.=(nyλ
%aČ,C0]Z9S"KPՍ9OEi:Y2tM<φ&M3LR!߂nzNY?jȆsH4ňqr?facX'5LwZ;sP%@,{ˇd,A*LE؆Ad´=ܝYM[x7y|j.`.*y"OZbLWp[+!i.blD}irD[{ [۸{qbПl:	L^|o.{]\{5m6cIϾE1dZ%oFU4:r!ş-RuwtUN/؆˅(y3S ,$OӴW wF(۲ds/+Mf'dc+	ﯭWCЕJթhFxc*ArJjl5kg}8{cr`#k{wG~O3zq-apEuu(SErǶaJ"ũl%;tQ46K_+h}gbWÕ҃?:jQ4ؓ2؍+f|)?"t4Ք$2b`:UA\|~x~ʧf6LM⟐h	9k1jX 0rl|=?lܪ]:ѦzpiOg"X~)BIؤcOMPf*P@:إɮklu=nhĺ5xg)aA*
颀RO#tOr0VmHxӈ#ibJ*MgH#c1"]5i(ZOr6b! A%->9yor~Gd= U]|v<җ)̆[3`ov_L2-}A>J/}0QʎAEBe1ST A~ƫEeQuA𬖘6XaS3܆$b(Ӣ؃%?5E0!b6ewtSqr#s7}^@]qQ	YcHㇱ؈l7%t+7ԧ՟̒-`\!⭺ja^x+oUo:oYOJ+y}>#H%;*)mHܣ?٤ޤV9Ղ.em}bAP).K\k!#3PpQP\]
JYQgBxN]K.,-r:yTz{fyV]/zK5Fz1׮cY7qUpuLVh}WG{t-fm5Qr,ޞ-~uO;PIb}Ud`ԥ^,tm+H+IV|o/??3]uf`S<:UBJ/<ctƔs)K.;B],Ά..͝mJ[WJ|kZv-CIrYcC( 08ŏ(qKBB͹?w|y{g1xW^w4,}~ Odgw,CO^?x$pqwoo`q6CL vv~oՅ7KD7@Ӽ;~OG AtlO?=VPf|pMQ;MpAS?w4ϲd{51HWFӊݻ'%^/{n9>5I)rKRL1d_˿~)}l?@NYV4IU<B9fBL#UMkșC\Bn|`o)u*w~*2|Hu=}#wS1YpTʘ2c1~P(Ge[ͫX"%"M/ZWF?F%{Y|A5MӊFNKY|oMIAMк$h5:aUIfl:CTq*q}w$|"_v_wOcJy//hK2m[XmOtDڬNkk:؀\_Mc4D8ѕ)㇆ kBd9fVj|"6DXEph>l~Z[i"\$X[j>ۡã~vϰ,c̸䢫3H%l:G hmV"	Jn#50̝ ~}@:}Mnn@Qbg黷R\*l%|D*YMۋO+>vRF+c>!q2j+wWTIߑ8~!^uOpeVBg>u|^Dɋgx4/:;ϳ!\aǦR*U*Kq]6T܊ϲD!|q:&M2	ixA-6"yA?G{]]ZE7gPaQ{Q^ <scQ\ڃ)\bA$k	v%~$Y6m(riE4y
):H/C*eA?`O&pKZBy党,stk}c+hB؟'Ó,|pvqޏ"0i#Oۇ{Ydc;y
t{:8v4Qߝ H{Ԁ/ˬX{LެqC?E%o0?Or	;>:4)HҊgDU
mD6A:{GGQ;8܋x9A2A|~Dc?):		q8r
GP)4q$HW4O`2܊4,>c潎T57IVeCYm-E04ףA	c\/m姿${sS/<0=Z&|^A<B5
ZvnP@GkCϴ!,Ϧk(7J7p%kGG92;d>x8^>=(+bk_ESJ٠՛&=\rנʧ(ۇÛ)	b;k.(XF(²17'>pb'$hV`qd&}(ãȽE{?!(Td}Tl{GAzbyR薲?4E۪<A#fDB/7SS1jAc@ݘ,T,:eh#8l8ey$0bH&v<luvKg	ۼwWL8OY aR#Fu؝aL0Ò2p'/&{ŲNHh"`gg;Je2/$pCbF6WLR[#ix`&ԜؼHAlfQy1J
]ȅxV&<E,K!@"Ke(	Jx,EɏV~|z|%dX-6q2,M#T;S!H%24,Nt&'юpz3E3cKI#A^yq8ǦO\v(DQgaQLeòtuph	CyI?Q%]!D<GaH :m_(mSmBRmB!̝wo7<yo9JAVyn:O>ۄF-2ϡN۔>ȭXA0MSPeق+ ql C㐕QK,ÜVrf'n㘕n`JR|0Ұ;:.e].,G$6j̧	Pxp	ln% KB	&X"%q-2m\Fb
,e`.!<98F<9zɬG`CV=
0Rqh^fkl磘˄ZGe%)LQKlv1锽K}HyK4˰e;HMAЅ²¦e9P	OrغMj gZVB3Rtr3(tVK}-" [lpx6b~CRʊҼ4/+Dвk;Zδv3.̫3j̾򲭲k*udX4IH]k }ݣu%1fibXhkÂD_e,10."B2I囔5Uo6ii^6jb5ZU:դIӤ.
ҠJРΠ̤ʢLHW>fcR0Fb!Lm௒)h9N):qGtn)%;:X?_7Ltч235GY^r"StZe`e-;_A6Ao(3'gi?"
@&˃@V~w|GBWͽGyLBCsG_S[GԌ7>_+$rq;4Iįlmm-ykg&[&bbK*>\cu"9]>cۭB1x\keX:3˧Q[_R.:ár	m/6TF~"[{m_܎<4%hWz%EbJo~CH^u\8:tx-rkkyo;k=!9USrԇA9ztESt1xs5A6m.?}\eEpUk*@Y0ܮY+Jbc̯HZ6Q&~|k@ǵ:RA{DL]jis][zo0;;~1{EJE[ʖxz*ȺtKteٕyK/? *Ⱥ2"#՞aّ*9z	_p4knoj8HsCyi_n~[hKsdm`q+#>0\ӻʳ3l{GBfނ^as#22Y2wv?4!qp|%wF
fս?w[;Wus3pjpRfyW.wv{"k>| {g
"KڋzjrWiKPÔ  hOo([,{H튯o8M.}vQ:S"/Wi$qR7aJ:۱y,{b못.e8G} fDi5v@:<Ko ?deK@˒!ă-BUmR*PRf>k2SM5ZӇFZVMs0I冄0{!w,Mür$C<WRB"U9͇ރl&2L!8
^"aVd`*2ps;St[wi XK6
k"TԇQ12b@efN@HN \rDojO*! Vk{G9^[nqҰwBzQj*WDA/*0iu5Ȩ5c[kp~U6g*#REcbj{9jTBlrh\Fl=hX+ vEfk(2f|"꥗V]Z>5vM~cl<5q%eg]-
S<t蚎TYX	f"!i	K4P8#b-|cƳUQ=կUd[9KxmeP>d96HeK[t<Z|so^kc~dŀC^>7@?TA\>,wТ~e?+ƼR'.ֆBjr}2-T60*(.쁚Xِ$)FV
vX&xc载cŝ79-pS{vb _;Ft5ئUwlԛ>f`&EUGk69p	D'ğ_U"!tL+1)1W^]e\[*ZR~!{gQj
t_	d~&]E[p2$8KN"-\6luR6FfQ!S5x&[r9-ZyQ**کTL8S4T6cFTѣLTBȉtFAjbcdǨ@FU#>|Z6G*pn˂haniOpt8Xnr#ddi3-҄D;k7
րSuVqZA-
㨂 QlbV1P{ض8,$b`Q}=[ƞps"Zn=6mנ糰)`	젞Zz8KgCy]G#	<N\ ߖ#ecܼ/nc!z^]
k}oQ/77CfI:ّѓy>F_v/akh?huwDv!+5g;:.qӡZh|t:8;==+Γ qЅ\p4r:%&pZ1!w'^˳W'O߿<~wt)#8ň8e+~rU4H8A>!|`П<;hp`g/=N1~0G7u>	<l3 {axttD{>3ڇC!G+h[&~N䓰unF0<~v(XTh;ͣ	<yaaT-"
N	ֽ0<t+[Фv;3YACRA;"z:vZR[h`kPfhn]%U,q5KfYj<TͲ,yWjI\͒Yq5Kfcj<Tuam1!mNTtTtpKb[&b[&b[&b[&b[&b[&.αe.αeN!9L\9L\9L\9L\9L\9L\9L,]c]c]c
9m2qE2qE2qE2qE2qE2wq-Wtq-Wtq-Wtq-Wt.n8ǖ+8ǖ+8ǖ+8ǖ+8ǖ~.αe.αe.αe.αe.αe΅s:.αe.αe.αe.αeտslslslslslG2QشnT}_<C^>UϪ	ŪxJzoWG-M?D;s)K8uZ8)nwnqRq?_:BAesi	ǒχUK6vLDz:D::eC|eCivR5
2[>V*8n!5*K5 RȌ]'Ɠla W~՞gKluDb?EI'B_1\k8>B
:NYmڵ@5|'¾C)¾wZN}t}BKPJw5Ļ]uWCܵPjw-],mW rv9D]	ͮe7d7c7b7aBkMMaygn].YWceh2xT].ScyHlB^O"aӥR2Zz*].I"KхB`t)*].C#ayt G?υB2y\,::!xrps9\i.4ˡ8rs9\]..BǇ(b!zhc=Xglelc0kzbsbsbSbKb1<X
J,E$V˱@Rb9X
>EV1ՀJa%԰gX2,G뱅zTa5OX&E+1͍<Z4zp#,%n.lÖz/UzeqRoc^7$E%(YOx1hMwt{\"!_=gl;O'%ߢ P=ͲKTߦ	Wk8e$}KѬ1CmOw`ks5{ՁoO^ ̷#k:z͏ޫ~3´	;	ҫHV~܇n[/:qrrbl}uVD`w#s;]7 Vu[0W-G-@%ګ*	iݫZz++OIÆ;ܾ{WW9}rN#6ޒ"Vj7EDF2{cW]tCf$Z@m(ٱ'T{ǦVҺCi{@C%=!/5g+f#-bQ*"HUDU3j5b%Z;P1S	2r~JU F?U}
d$z2yxr9pp~>ՊTIxE;Ys8C;a!jqxEpoc7TIddԤiT*:+n1jzwn*֒5В3RU%{|%Wp%{d%=RELJhJPJ8J(ټ+vZ/iuz1NkMT1~$Z-^튐d
䎍d䎊d䎇dT	*RH HuC9UD<;udtTF|F"ՊiTĝnΰH,h(FFEEj"Wآ:1\hEPE8ESHrHϭVh,b3p (DqȳMԈCC~,]"w7$P؊bppGYqyl|7;"QY0vρM9
[(	~>{}&:QXƔjǆ0ih9EatD{Nxx@8.;C_k.$sl<049c[0~|xT+*P`h*Ё`PI9	:^.RX|= j T@tQ. ] "GŻ Dw9* rT@xQ. 헕*"HnArrJ\aZ ܋:GnOwaCޠc%aA6ĕ"*Jt7ó+V+Q"܅#nء5/(#rsHT/06&"=Jpb'#SHYbAݺ&nQw57iMYE|	pA<	i.RP]%v|33:J2qB
Y<߀v8죥8C	#TSB+!ڲfŰooƖ0pBƙms.1a'fǮl:CW	lM*KDS¸fx#{+-ᓖ][o-cO-Æ2$܋>'k</]*H5O74!ˆfn2&HG/_|û*'d&߹(IF;r)6!yWkHOgF{UzS.ets}rFjTmٮJC&Ucﵓd_%1휭oI5CRPk/Hll hs6EU]9˖Q͖MI7[ꪩ2<z[/x4odLșo[s(T'q[);r\қ 'm ^a6R6l̉M&Dd:$~\TMlBģ<>n["666o~e&KddX4e
r(C4eCߏ*50^L|i~$]
gj:$AUD4%ޯv{G}YlL1V:jauT]`k6jjta-GHzMX]5?h[MXKZa-?9ƢmFcAd4^Ed4hժ&ґ5m5w:>t5555'i,jjtu`-d6@X+Ρ&kZ"5m5ajhhhghPƢ9F`[5h2j_ͼ6BK=ԓl")gBCg>|VW;v'3dF;/Fc:"!!m@<|㿼ߤ$s>ooÿpܶBw^ycVM7_2$kna0P'wm
/]2K(F+"ȗ#U@˷V"+ bb'FC;ȣ PFc]~0c'{vi
lXPv_ܶ!#]Nv8 yjMuBê@)A/(6Bl"<NfCƂ;;uylh:%	:ҲrزXZ@m҅8lE+IQ!O)jwz}uqG:=qJ \j9:AmMP۞>6=rEj+(jR["=TKm{APj-Xxp.@pCpCp;A_܉["Ա\NnDwVK64na.B]%l4\#8o% pvbYJŃ;z89`8	G"w]GvEܤ۶Uw;\Q;pz㢚pW9	_ha+ܽ'9Mu""]ǐΗr$8G	Vg6GV7yv;޶5Vo!7\V
]
ݔATUC×E>{O;冥@C!9sxhu9or[͸|)Z؀.`@"Щ@[NtRV` 	#;^w^<:09Cw[$8Ncڏ6c M̳E֐K{D^߆o	=MYԳG6 ԳaMc՜Lݮ"!!9M]G<CT62hҪ
0-fRF+r&t=v ɂwEPѧvN&ѮZ5on:5:K#ˌ`K gàhРhFjB٥3P&u:"bcPb/e:*eᷱGCbb:|ayW۬=\X>$!ƅH{	=bI~ցEX!ˀÑUgU8oL>^|I:R'j&x]jm0bH{ xIցEX%dM?"į/A'BB*uZEBsU]e	64+_]nA'2b-V.%WQIXаы/"W_H^H^gM^0^S؋_^tnًXDZMd$*j؁JYW٫^/d/dg/S6dW[DٲԗS4nBڜj6> ϠpFΞ̔+F@,"V&;'>1FUes˺[Y*:k5oEmcκ瓿JhJM
-eW+u/(c字,VwIK3XP%Qe3#8T/nδgEH[<	qKne)[L-Z
\?G021@:1RBsԥ88uMV/Mm-.8)^F^>#/nȋ7YdbM
ݡ/A"
%;x1+]$&nJm:Ȝ2:aɓ1eb_m9hkȑ^b}bN,+MA
 ۖR:/v}^^_icIj0#T_="D]2"	9U5,r="LY:SD0D.;/.CwHvĪ`2ͶT;f9kwrg̲G85_Ytc,b2e2**c;YZ(/Z"!!9Ii0h9kxв:y_ښ.nñNg8Fc<	QLNOnb/DrpL(Geh%#X_۰,fX3y d"&AK6Jvh$V̎g/Ilw+h׌gggg$dWºVh}n1o+>hs`c-V5Dߏ
v RvX{NN Dn;EnۃmHmKmkHI?xrmJuH
i3+EpEi3jCZ$5i9)JEjȧf$ripm >|\;|\2˷HJ8Wؙm̓qºFa1q"9aݓh-#AX W0*BM	a*:} A+Iǻ%4&wFaa11Q#&řnvLvqp C1`EIgcLUׁ@FYɱh"cߐƐƺDcidqC~1MrmNrزq}bu1R>BɣBwZsR%Y`\v\e 'f9RxfSnER,e^#]C 1HL6Zǔdd2AeU;dA;Xy?c>qqqpmc"6habjU[lK>QlvˢNf{Gء4ecee8~SVK}^.Vu,3ܦGVBl	'6xHi<j,QVǣF
"5$7$79nQeZs㳘|c,fZZM2eX!!G=0wRkzZôV2uVY~u(N g5h
4$<ʬ4pPRVN<'8ZCrq ƓƢ9S-#eCqC)-Lq&&fx2.z$a\ҳ:P>q#{z5O3\ɉvR1G:hՠ
UƮoA.F۬j<Q-Gg-gG_-v#=ѐp!m'Jn̘On7Y׷[vȍ$IrJzVn;[ͧ6$-UK-U#W ϑHd Mk;UkPʎj/e:ZedvbC9kh4eJľOީ!6H?gOCz1[;@V+m#[MѶC7%.^ӜyzUOpN]{^[ŵ%3;Oͧg/<$WOrvv9^-T|Z~Ŗp6|Nm!R3pNx7学"\1Cm;Ԗ#ܯdɻZ-}g[|"!¡,|nxIzUEpV:X"j}C d2WNu}i#
Mlb)*nFJUN
jCބIWv{1Nw2'|w/c/Guٔ~p:a1ˏ'N7Zq\mVd<&EZ:@JfJhc9k0I:p<Y|FGQEZtj&KkN
؈,`D!	"cVA2\1*f_nRPǌAw[.^5y:к>Ψ"N6熈`4K>!5<WtIɳoKZe<ds<zUpͺJf{4pX#!!=ۤ@1}\ŭf-@jǱnf//iP?Vj[jl3%fDǏDTUj/Hs1rs@Ǒn)x#鸱D2pL vԪƪhT_ij)1NZ"Ł.{C1l
)8kRĪlؼ$߱8ACV;/V[>9tCX{p(qt/cs>o:r8kr'zS eE2u]D7 v"ItC'.D'ډ}7
pXvvǁ#p pmXo`olWn Yrk`*Hq*X`. a sŸAMtԁ_U$w1.;-=>JM ٹFv>GG^GzbU"dHybsU[2j&=UMIq}8q*qeAAU8Qqt0yLpz%
zN<sMd.tү3T[q!2Yү&#LPɒ
Wү{Kz}xXXXX5Oډr؆LGeTa '[xl:G&yJXbMs(qAQg0R_ z=ǆۏ_$	X,rDC*~)hZfjh-QS;R6 mV0Xړ5eC)VKN0uz1bNmc

9_[&59̡ [~Uj8xQ+='9R:N-vtvHjwN4[lv؏+5Z@cmVkHhׄ5B݊dBj)iEYȏHvFH](@&C&;&n`7 e6}h
(-@(w V݁@
jb;m҇APո;1W$<rL-		N3&yͣBlf5AO;j
B w
1\udi|i9-cY>%m`7R[N~BR|Wɵv{n=v1NeCCC;Ak3.6mn*Z54jʨiRԆ$w'Imӎ4aSH[-FOhM= 4:|"!uҾqRvSK==ӎ
+gۧ,ݴlu P \H.B-w1I-YmTj:Hٽζ#@grܹq:ۜrQSѾ9V39Hm6Lv9VqU5%Yc]liYo "!=D;FzLm͢6K7hu[,m	:ڊ6rzGD8wZmTj:HٽW11mQy9ڨhmHm HITiGQZmm/bц6PG1s5na^h[,F-AlYۨr&Wդ8wJE
F˹nUwف-"q8Xs(nYBXV+<n#m16Of	$%Ѩui&lzX0m 7@+D]o&йWA'@722C<p9>Upl4s(nE9_X[ ) gø!Ρ HzN wgB\bCs<]ڒGX'MVZ
D+^9*r;1ޔV?j\M_{nw;EEG܉Ü8*3ͱ2/ JZ$EiD҅(Fs(P 	㲮"}|=٬`#!u
p'3@ClaMYG~NiۋNY%,6k6rz$8)Nc{=m?,Qӆ@wv@6qEOy)3폋6mqѽԖj%*8b!6e\ki-'5!uN;F{uK8
[xX!p@8\Ptݘ&ĹײU^7RvynC;?Cw碻ͼ5)*ĕX@m @ f´ ͡o
_QZ>Gxh!!5Cfb/. E4W*OfOYdOFvYmhkaD7?< @r[HoeYMs(DR\~[;bێ5EC;5o2ݩ3~wC7m.xBI7<U#HW.Z؀nȁ.F+]tDV$Z;үV{Kǌ788ĸa\sgq`<qٶ9^%"8X9NjrܥgJslEDw9nEt;x-l@s@gr	Y=܉kqq;1wv9n<G=n<\BJq}2#ō
W8ETc@8Yޓ|ǮJeqq'99-r(O7p1tEp9K7p]9]yZTL)HdY$lX6W4Jm,],Ҷ0@CpU4TD5Нs
\j,lGW$^+Cp#DG@ֆAQxٮ喧`u&yʭA`?_W?h7QIMs0V]u:W]wx^Pl Q5<y9EȂ8{ϯ}N4UOsLV菴h5d#buZ>N4]$8p;$QW0;ң}M|?݀Σ߹x|%5vcYq{ӭ(kC3(1dg%ق\-<r;;05C?Vj}&ۛf.04ULx!wIu ᱷxU+kRCĻ$IlRW8XｿgN"u="9uC;ڎ_,Mf+ I׷] @V & #
 3 @ E&< 	 XB<4E}}>_ʑ[<fL݌L-jj5l3-yi·zx:/M@.yqoz{yνaY:}|3}xh'q39SBVM"I37p`}eg>)~$ZX yyh	|Hz#=t﹎z;֋,'I۱W6"kƵg"`[3:C h*咚XP=!.Jtdv͖a`YYn?ˉ޴8g"HA4Er y%l޺KNl*)0P =QծwŹk7888w8'Ӯ>*rnJ@?M3N|]?)^q4Z!N8h*ĚN;AGE%lPk/e:jedoc55x-@^C^0p$^6kh+2zgKz&+L^^>8؉uV3]	2w4=&"SLdVdZd2zy
d*Lk2;&E%;H1+r=Ydd?HfDfffNĨhĪaߠڛiCpo~X6,XUpL$2wºyX_VÑB/"Y׉}eHdHdgNdhn`h'-2Ɇpd*L&1YN,6bj3+he_Ed3zɐɐɚ`2)d-tlYIw	2(1$g8x -a'HzMm;&K#v8A)+]C.HOc.69Emmg
m@;[4mO1[駘,f)fd)f4&LYqDE%1Y9%ˀiO.#9S©FtfR l KmV0Z܉X&czv8rV8/N0l ^Pdj݃|(%Jh 'D[d2&9,)\KZ%鵼7v}W(`Zn#iqN~iݜ%G.m2Dù9Aݪ|Fk¸d5ٱeHcw3d2k2:4&5AR"5,b?Vk5_5m4\Ph&t>HpNpWkOkG<\_5Z   e tf 5 P3e ԯh[ٝ@_IFG@pE~;Y#څv}Ii*Sgg-gB2=4\kyiٯF^5֯&j`&6"0JjՐ"&9,IEj`%]|XgvFm{MQjO/t&K!--?+`!9\ i5ZDrMa|j+h'$ώ=.K1R:ܙzoZNpڽ5淙o,o3=jC~˪VfwNECCCC&<j5nh0Uybn@!ߎ}ً}\ աlQaRаÉJqm:̓кh1"hhE>#Wـ.M|-V3V
Ζ;ϠޤfCYЃ#D4D!Z:j7iq)>.G)YxjMRs("[T	pV嬴XB+<45zjj]5\W2nqC4n6PJ%۸Oc51mAQa]j"/QyW5ІЦ##u;txf,b%i^p1D4nNS$`-v'( 	Nl^#Ci-1110cV6ȣXZi޴QDl3t*(ls3*[XѶZж~d	Ox(U6TȆȆá1=ѕ&$ i#	W,ܲ+s}s#w1IMs':Gu+{E֝+Z]qlW$nGaCALж^CdCdCW{p8ҷ ͙\q6.Tnuyl$7d$KTFӁMqi˃]qPJqWrxCsNGs,(KT`õ._(BL&9M|4:_sKRwvyOv:yMN~ՔqP]cUa\02GMq\P
c\WѢvy{/b8Ny0QFN@M:AlP7`PJPwjBY@(\] u:ACCC;#ܸtq8R}\P :h4z0%NWZ( 2[s9XMsssss9j#GHsEZp36Y+~M`[PW	3,qt+4\JPtQ(;Щ݁W(lGw)\{؜z,r8SaPnǋߖ;=}7}|\>ec81~]f:,JbOlbtHu 鿯ŴHw$VvA2QhAq[w;xE5]<"a~w\e)pZH$[H@@&]_o[G?szGvYْA.O׋!ogbyp8,*=/[O\<J{=xJhC,],RE*_<ҼiOhh6xtOB1-ʥ7HڭG_g)A0϶I׷l4A3nv0SR @fR-≐ZKgZ6m~ /D۫%~L6,9v^O%7B"O,5§D\ X JqDVsB"9y9cH_F@K:8dJO^
'p!ǐL,8Z_ ;B47f`oxEˍIXe:$-Ńb[+nW㱬8/[[ǄT\2Q%I$T\rQ@E3󣐟ht!XQ!Քh 7YAHD1.<&Vqؘ_& R2Z.u.Vӫj:RMߩ.udKvi:9Cfȴ*L>I{bSoLw)+ґjQ,J]Dk(w~^+_|5xּ͕7V_;Z}1ox	a)W$j]YQQTF²+zwtc	~Tz|/rp7)@S<&f^o  5K_	 |~. 7U[ɿ?mH=ij]6:ٷj-&2<dۓOxK?)4-`jjg)>Q/dEaxӎo6O?^zNFxL{߸Vӎ6z^[}2`x|CPǏ4UܐRQӽ{~gӳ=#W&o5|poxu{w߾gߧ-zPC;6W`4ĩ:=}BdYonߥl{:M.W)OzJe>OM7Vg~f4	Bl0Q-YUz6JnUs봘BL&-[-.| };ooy5_q Z{OЮ}ڦ۰ӯyVLgҲvw=4Cqjc77DnʠnrCF~| E)oFwҚ1ȳޒ&-s܉zݸ_=v[n߆uMմܿ)}h^oocxcF?Otb-JoS+2Yecwa+qoL)^$?1RGP*j{?Cw-d^rT:iM;F:]
ݚJ)N~c颷ZsdiFҸѫa?aubfu".ӯ rYd 2]yln?+cY9k
Ie֚B&/0dy[w[՜()Ŗy/I7&D@+QkFUHK:E1YxfI&fلgmiYP_7;-Fӈ{Sǐ|je23kvn-EqJYl*WsPdikMgkuBݮWO:&Myօ<{96)kg*n!C_mJ^rL"j>_saDy	>E:&C
Jx-MYo)jOKUꫮFH9ԀMjidd,o0t5Ņ@L܋VIX[6a9՞GNHԔI2´6%&v>S/GY\v3YzSC/cN;SIdMV<$Fj\cM>5U`rB)-byylߏn[j}!DL`@C<<{mƎ]b&, É<:J5,m3RFT\gJ)#Rߟ S!%GrM(#):?ȫEL%30Wdͣ	?p	x	b/#SI.ޑwW704S?kR>IgT:M8ILlQED
\~UOc9@yhX-yZg>V2SY7|mloAY:u#Ev̫P{yf8S{r"^.gKydJcB<ˠ}LͶ7JhZ`])mmrX{lxwY.-53`^5]]0YV5qMu,`3(vW{#ב׏rmESc A/a=8cl~v&
-3]t+Hyf
~rCqyxrI6$9j8(/T@)JqFhX7_J{|}F/~oo@!hrodT?F#+LNλx>Vѷ(nN4nzSepǴ	{0^gA6$2xoS܏mAr8=mAW/K%,xgޙ?ovXO{;nzlhx	j\.ĸ,mYiZ*dmH=z7/F/_z~.H0bQP6E<_<7Å<rTNRWoբHI\2R@̴AF 3H1=b)fe2H1-fbZ #_LAF>gh1>n%{!-hUܷEWL>WVТ-&8+hhoS)IH$mc7ަ9&!-hv2	lc҂61	iA昄MsLBZЦ9&!-hiIH;}昄MsLBZЦ9&!-h5P	mc҂61	iA昄MsLBZЦ9&!-h}昄MsLBZЦ9&!-hEs"昄MsLBZЦ9&!-hiIHϦ9&!-hiIH4$mc҂V0h9&!-hiIH4$oiIH4$mc҂61	q*E嫵M |a52RxOӛeouWܷ3KOf- )
OzdYpi]_W|ZAsuVOFR'RRYG?J!]Jui5J?eX%|퍦."$Ct^wo854TꬾLNY-_*[afNsTVpLu77nFbe忙mŃ\/o!2dwIv/:)I=ؒRI;x/7eA\TCvȺFֻ"+Skm|;Aшd'q\x[O6g~G	<`71&No+lX9\Π{[5ka.K7eoH=JO:`S{̉M&C	?.i؁&B4Xhݬb/rrrrr7?pt0ޫ|[pa-\@h3\KW`A |D.l[35&n  	hJ*+_3333ĳr?֑ĥeRS5XKk
X)]ҁ(o6=VaVүVX{K;#!!!u΃&k60խ2d4h٪&k2Z5j5s:>t5555'i,jltZv*X`-6@X+Ρ&kZyaÚPVСvvv5a-c<`4XC6IBck=֓l")5>Cg{VW;v'3dF;/Fc[8"!!m@<|㿼ߤ$s>ooÿpܶBw^y+VM7_2$knawT̧X6On)5 _#_GOZz<	ﯢg"_^lx>37@= 00b;	;-SLMsll]sa@AF.9rSkr]	-/q]P ]N1@pzA<0G`{|!0t42i-McT2TGv^Κ[HTkt!Nl[
7pIh@S9^C&prk\;uO\uӗ5Bm{@| Imn,P-i[]j۳Rl{pI	N]rr#ʳڭG_vG`D[x*No+[ITX$!5?H@s2\Xｿη"uHқ`8	G"w]G;é+]Mmx-,p7p pG[Nw\T"7C(p5&V{Or,A"D:D!/Hp\h% mnv|mmdPEp\[)t*nnxPFVF_ޯW{=}
s@<8㑣ka:Z'͡r[
)|}5,@rTMe:)u,s$aWzdǋދ\:Gqsr˝)[,#l5咫+`!=M4ZԚ jd(hǴ9]yo%.IEP;?PCNCN3sEjP"h3/(Wi al")5A͍Rsߚg,yWTۿ
}jjjjj:U*9X3Xҳ$rm|WhB=(Aj4芪lνGv7ymŐźbX!+A9R<rm$7V7Iq ,`Eb)5ˍRu cBV2p$rYqC"gO+4`-;yZj _p/`Eb)5+r$R@"2@_ ~~!}!}y:-b9મVL򕯮[+ЅÉXK(c1T-@bŬȂuBYWuym5>`pbMVd/VWu {bVUdA:{ًnU:y,+(Mؐ6lm=p g^E8	,vn}A2(ce+xsҩcT\>1˰UuOBVaROVYg_`_4&mnV>+U:tKIIIIIEMBsUʲ!֒NnδgE[H[<&n92^ne)[\-Z
\?G021@:1RCsԥx8uMV/m-.8,]B^'/nȋYdbMrd½ v rViIz'MB<=8t!9d8u ΓcV~T9H!Gvq"~/X*V1Rz

u(A!;^1<"at4#bG$Aѿ{DYNω,OGfI21d5Np|켸a#"O4B涢1Yc=c1|9f9ӍYΎLYF%;xrv1WtAK444')-gMZV'Kk-868+ObMO¢fb/DrpL(Gej%#5X_[,X3y f"&974H^؄VШp7ID3(4iuxѤ-i3>bZ}qy!Nƚk"&9@@ZcQ8vܶېΗڮאν~Ӕ	/LH6kfVHpH
46iCGVTHUfwDJCJCJCJCJ"i5nhSE"g6o>.>=9tdMI+Zu A;Mz@_yy1!RRX(,1N0'8{mB<a9 a^E	5!̑ BZu A+Iǻ%&Faa11Q6řnvL~up C1bEI5q̑ LUց@FKYɱxh"cߐƐƺDci&qC~1]zqNrزq}X}ƇH!%V}6jIӳƖff-r9rYLןډKA@_1؝OYi8Bb}Nb8l")ґ"c~E3YNg/VޏECC;5;fۥȺg2XX5mF/j4HheF>LKgG#eQRҰl/2;t&ll/]bJ2c	xN
5Mk,͖zX,6Ći5G%פ6G <jLxHɽWѣ5\=jdQkд|p>Õ ϴtv9@QKf{ˀ522fQ#]	ZAᵦie*(Vc[N g5h
ѴV ~RTAY9
thgirbbZLOVXxLYpMr\8e|M3ISkq(\&<H¸du7}l/|Gj.ngAAAA@-T[e2A6QWjG5\< Q6ZxjMTsd@jj~~-CFCFAOг*qk>d-BNn@%LGn$&9@!d&_ϛ|ql#j͹jd8ld`i5q͑U\ )2[s9TMkkkkk'6FFs\A4lᥚbX}Z#y等dRkr#k
n5UJڻ{Ms=lC W=I`ékl8uaxmǋߖ<}7}|\>ec81~NxƷPqiiQ>!Evp ;0k\A\#h_wao0L7L:q(..h/;&.C:xWMz;@J RzUaGP5HxHefb{t@9UEjؤ9h/)Ox_5ү<v%^<*c,|wJ㸔pJ%qr!O	!*d4/5KK]<TrX$A 6R2$ğSb. 6g[d퍒bv=i:de3g#XPR!렐uwK_jn.<J'rNm <Zvi.GL>-OEr"KKT|;I.fAR1Y&et	x+J)D*"2џ pɟU :AE
@4❊rO?+~N"
_r1	BVz4Orra.36.NycrZbdgm) `6y"{r[l@(/d-rewRdda~~Bx)EJ!
Z$b	Da~2׾x-D6K§SG%MVBDȒ75ǋXh	!Mϥ7/x .x
}~hݼY|%ߕ,]ML!T$^II,K.&@Sd]"DQ:IoJIY"˧zYA oOBr/LV7˪&A&_dd,K&APdd,K&AA~O,<CB4mJDa~&b>"2˶f3&Jo	!.g`bAv9hd]$(-NcD$	2d/[db76mzM?A:R
mN<jOmĒ&rs?YBqFbYt f`
cUJS*sS#
iH=Ug4S2T)&z :t-LhADb_k6^of\k+bVYgWoluUoPuTo4uV`lLvNk4`JotH zX0>4lpHy,,Kcaq8ħ7uT~P׍oEnn&].sX?O[<o>rԊM'>ΨSxߏ@[neg/x*#r!!η5o~<
UxKz?Mn}O.@ޛɿ?mHH'=R)]6s|}}[{L]xRkTwm`!x}}:txD4Ɠg?ɳ;˒֣:*jiUŮn߈RQӽpU#M9ao0I8%[{ܘ(L.n?K^=0|vM_|4<zon}Nztp;G':m.`!'&-[zIXTZٛ|𭲛^RxFhl\PB]♷[鉻O}'v9X}Dq?6^e~vjMmx߽MN[k53sN'wdT{rLۯj{rV淲e~ڕ4ڬdT̴_H:i#,}	)CݧY;~/:e;8hOoz6;8bu7e3WnK%Y'd@Yonߥl;tL--St{aU	gϾx4<?9 G,]xt)ՠgݷP΍Ղ<-[܀BB}ot!@~@f}%L~k[֥ɇ"9sjvnxEߊ|rFV͸?+YG##}C&lˍNz߷ICԚ)+N4ږRc?	ʓz5mLw>t QNCEO9B&\?eOȐE0~^_
i*PهR3j2ľQΚ˕K04T2ϳb1VMyq!\)Ug_FU.W#E5![G(lZ>-TgXreN(t87;(D1-{b'k(Vh[YTid*T+C'}u9'YrSJ:y?~7D0AXSm\%:mfC׆WIi9l=cȗ\i,@FV96l~=.7391[|tߩt93%O{ΡϣeU<69>f4kD#ݬ*.5|֊vgaKxgu5Y%`s*,ߺoGb^1:qyK2=LW>~B"aJcc(/wl3)Vh-6[_uIoiQFԛC!ɭkjB޼fa(+M^X7zeVW2FteL>|GPT,ŗ_r`}5J_ryb{JHa9ԬQ.uysRI6Z>EA!L'y2P``O,]rޝ~TRF4I	x [yDgNO'ՀQ0OҠ%\Hܥ-Y[}XL[ոZ!ӱ XAKK3j[jx=g`Ԕ{vrO4ʺ_aeTAVy~!SYZar䈽!Ur<\,k2~4.KY_,Y*ߺB6ţݲ4QLP*<Vz31Sʏ1<2$;>,{j8)Nz?˼wU2{O{}TViހ~
9ԩŉdڃl+19rF"Kn%ҥn׺+O)ᦜ"K*8LĀ0}*t: ſD(=_#P	yfG{r^"G\liճˠrmuʕirkz<_2?bU3jvlk+"A>2^j;QU.>_lzIMPvj^^ F9<*4G?0\Chg:/f'`8$ẆfuMiF~K7Aj-o??~oo1E2!Дj;Y(OVMҏ@瓉$jfzk=}7/F/_3K6{ގK]֣E}-*xO_^^zA/}yL{Ge
y/`܏r%;>^[}bM]M&߳*D!z2 ?KCh7A񃘠@6ģG兞_^,iA'yx0b.tvɗ
NRޛF3FZ2R ִAFP3H1b)fpwb)fLb)fpb)f2R06a b7:+h(?+hߦ.&!-hSIHڔ$mjc҂61	oiIHZ;61	iA昄MsLBZЦ9&!-hiIH4$MsLBZЦ9&!-h(61	iA昄MsLBZЦ9&!-hiIHMsLBZЦ9&!-hiIHZƢ9MsLBZЦ9&!-hiIH4$giIH4$mc҂61	iA+[4g`iIH4$mcRiIH4$mc҂61	iA昄G;=yFQfmT-LU{ˋ/_D?yQSQ}rc;T8ZB\Uq_UV_Ux%˂
*>J8J)a=ĨH|QRM$A04WOGzn>!b[52zG{_N_ޣz]V
Xӗɩ;t7t',wՙdj=nǉ5GR7N]5vN(gp~
F$,rx^g}N>tޅ". Q)PH[%aPRO)o&=HĨjN$i'z	~T?~~M'4Y.chsb.&	sY0QB&Dl6tjf2z)dϦ6r,WE:S-m&.Rɗ242ϥ,}yn?e@-h,퓡<3<6")'ͰhnU/ĺ j=(&ڷ[ʹo7_7<34\U`]yfvkd&n5~EI!Y	֪k[_)z9L"*WeTCmO9RWM"+E~Cd2CreizV1˫Q:w3\H!UyJ	ʇu#٪`'5nI ([lo6GcBx4>[ށ";;;Ļƻo~edrT59W&6lQ.+`b/@75hEVSk	PZaY4Wӊhmޯt]._w5yv$1z(Z["! kjZ,/$,2,14! RE"$2Ad*H&1YwɈgLݭ<	<TG$64#[q)[Ǳk<`yX뀈.GXX(vb1}]$?^#qА@ʏs O(])̊EisX1͏:X7 JV%`) Հ9S#n,΁CqqrC:4ȝ;K!#d`I:n\0ͱ-YMn+vT*a>5ǏsZW5ERb7xM
:;]']yaڃ{@Տ/Gy;CWo9M__8qm/-O̿ueItJ%D7]rgIt*DHjݥsDp+ RRToh``Wkz{c+99bNZL9sCs8Zj܂܈|$qiAV#9Ev>GGM;ݙzbU"dHybtƤe/"[qy,ìG'ڭq&ǹU%m;DY;ï넥]⩠G픸q#i;״LN0Y}&#u0}kCd"_LF5̍ *
%Wh[]&Kgw$|222ĲyNˈqh.xR4da.K׷u&G&yJXb=^&I4p#rLۭ{lܺ;X,f"!u
12MVEoa2Xa#hc5!,rⲊa[-,G"F:5 k΃iKb1bNmcpr'o#L
jrXy0u-_n5bǞ)Q܇{e?t![Nx?hh4(Kd"}ڭKT`Zi7z8݃P Nªb5RԊj?;d !u
ʾHeHeCe-Ucsת-BebYoRPۃ Ѩ[=xY+Ek9yЦREQEYIZNQWt!6zi=sF5D!	;Ø}.:zMǴ]g>^*2YݬWQ6U}Ǿ>žo6&9h#}ת\-cbj{r·̆w׺gnlӃ5m`[V<n
5iqӰZ2$Qp:N;ء 8bB|'BBZ ;9i9舱84#]p}M6V	|Dtzgø;,6r5m^gۏنwn6)mVlkՌζ=AHj*8(JscHTui%Yc]liYo "!=D;FzLm6K9hcP[Vt;ژ&9UTh{EmqqhslEXhKj K$S=CinmG0^B{2		m!ڡ6chk GѶXy|) ;-K@~jNRį|?QlwG699t9r.Uw5 Mks%@oQm?9?b+	otnm2l[uZERĦX0.7@+D]onl _ )O̵N`J<t!!1s)+|ha5r%r
0hsdAzpw<=}zUޘ?:YmҶu] {娠&nVj^7t[)Z/:ΐNtThn21j͑@j,wTpBv9$a\QZr6?|3NDhv:u)=¢|7m})pCFNczN4*]M?-(Z=mtgtis\WrhfGmT!%j32qƮ
ʸh;ZNjwCL;7LCvۍx36p5BpBFZNwc
LjzHN݆w~61Ewy_f+W9TSUUZ"@ f´c -pclTV!Vm;$3$fLfa#]:L)4l :ێ6񢱭K j';)$0nb,	p*@Zw =mWx#FmASD:DSs!ҝ:1r#&R/Α
zγ\5Hٌtү9RseKyj#9^R1c8)))kw`]l"8X1Na\vкǊrlE@wn9aFspˉjxnx.@+-'d5yΑn9uGΎ-'GH]@SQKA܀@\qBUND8Gc 8Yޓ|.Heqq'88-b(t@O7p1tEp9K7ppܶ#O(|I ?7_2+kwJVm2E:*a0B2d(JF}0hUv2|EyB:D:<@18@dzDX cm3n4wjIabzS'97.U!  n~Pշ~h>bkH(B1߃<~mX`jh}?%XG嬹6L>"@@X/@DAjRގH5=@k6\?t:O~gQ@uSkl۷n#f!]t7
z`7pdpWĠxǀݞgKq4ׇ+9NثwpZeX;Lz%lo»#K5^_ztMe/DWפ<GqE IbwŲ~>pQs7qEe?v5t 77 kb%_ ! V  & :2~` g{c	!!u|)Gsjkq5i{w3g#0vUqCC=,qI||"^%o;MUX.|71u·{O;vAC!9|٣lׁOh}}ipUc@RVEV}	@_G+Co>#Iy=7OAfOv q<4>$Α\G{q)YX+l5j{[n%v].Iu7N*VDa;],{-q-~iiC%7$mOf@'+? !$Ɇ"rC7XN(~C\Js֢giiiiNv]9}@dŖ4s~؛fH.g-1pRFͪF[;nR@6(g2{An71s !u*Q&z.G۬M4%oA+
(z6+L^c^>8։uV]	2w49&"S, Lz=WLƮoadHU%d5&%;H9+r=Ydd?HfDfffNĘhĪAߠܛiCŝ<[?c>&scV1\Ȇn 5̯HJZD2$2$s'j6DdS06Ld}d12`2j&5̍&d~Yɺd%C&C&kdҧtmȦЕγe%ޭ/'p¤4pJ\6pA.7ېn@-BzMVA7V AjwFphbVb'<']4\HmIs:atdڞb7CO1׷0ؐNOpڿ2ڬ:Ō&֤071PV\&QIjL1rV{2 !!!!u˨mhpj9Y6`Q.+`;p0h
0ҍ=a\0Z
b?G0F@;=SW,Ds4V	X]Ϳ4}Z@d1Nω7[dzM*scO Ahp.EdvӒZޛt+y{0-4CPsi8a7Sô^Nhy䒠H#DpDù9Aݪ|Fkk#I4A9;ci1<"wLf_X뜖gP9Z6hR*Q%R쇚:X`-ⰆSfjAeߍqNADmnwl#llZ}Z;z5vYl;3 ˾{U3 : u:Ɉ(o3:kzTpt_\8+`pဤ4hF5	͍Εƕp>tv@(BcPgfZkM[jUShj
bcpao5[5HGm#~8Z^VдܐΈp<m/04J酮zߤeiy0ŻżD,44k$ͱVHrl?0Tpc%$Qe	8FP !ӝ;]!1{?-WiN0']Y6[w ಄6ol[\ѳ63p*\7nQqSͣ-6.e;f/qͣ¤^t@6"!ub7EDs[KQ2q|F/o᳄.M|MV3Vٔ=糨^ٛt[Blxh8zpa1DА\'4j?Z^@^f7m. PZL)-9FpOIjlÞ/ Ur%;hA+#9klZ@  9jգ|jܔ7Mpm\ĚnHlZ5R>cBwZs%22[̆ve03De
\6C=>e8s?UBh'4\K 	M6\I=VZ$aSÁMSۋ#i=rNӎߚj<&^2GA٠&>(Bn@E7m*AªՂ#p@hx#ZD6D6u!6&ahNMZ.fil*aṀ=(H]qLR6tő{]qH+]qaٻh]q{ͧ₄lA5⎀e@W""csőhk崱utی+j`!>'9\hrMsdH5V5AI+]Ӟ.x{ˡ)ACC;	ϛ6͍ʣeS!$R쇚:q-[!\1Sh7)D6GFL8HDm5L}4}Glj.ngNkLI՘Z8^9Jh(Q p_m(S/[xővcoo8vTbOqdsuu7눠&׹1p]k.dwysO !!!ԝtq8Zб\P :h50P2;NPJAeLsЯlLNs4KZpJ5!G@[x놰Mz~.iL9n+[ITb7JZ;
(.^Ӝyz3UOpN{[%%30@Oͧg/<$WOrw9_NZF̸ ,/DX:.}5߁.oC_0u1]/ѥ0x7;wn ||2&_$/3.l3ÐVkxHȤt!¾ht\"\:ێ6"[rap8ג<z8dl[,.GP%@G1rK	ǱCBIxxO	q}x=EHǗ\7	mz-- cZKoCÑ;&m,ak*eDulOff--%R.mgS 	@-JMJllfArpj%of\ggp۠ףyz3_)!pK(oPF(P(=.ecP78+Pxe~@mRYtj5n@(/<X(+X tC<Dsq'@9iB{5C>P/A~ap	}\<l{ؔ=̇n"\C0iYpZ_ çZ7`
7wQr#<	LFD
9QT;]']F2,?r+
ˎT2Q15&s *SQVb~GBVH7ҥM1B!9!YDT)D: AZ-PYc2|,~t nZ.[XU!NȲI,+;36!.YMҙɛ)uەA)(ۍ(i(5\/4|S״RִR.rs-r,Feѐb#A
YPOlg6ťMyߐC湧|dyL<o@j." '=L	ɔA\t}&5}va=G>?ڦChWGOM>tÓ'K|@/hnHuR_a/qDTE;tOa1W;O/鮞qs7D%lty魷RdZ{)|E%@)	5^갑ڳU90e
1s}}zOjΧȌ7=H́Ѧ:5[?"$~Ml%t[2N/	'dd3̉(I,W<cwLA&kMB փJl2c3ռw@dNrˑǅO[;TΣ5Wv,7ךKao'_^#]-)Y M>V 	][q)N#5vY%5G6߽mSgT-Fw0D7؈\ԁu9Kȉu-uЋD-:grݴVy6dL#evǴҞzw55d83
qҵhjyܜxx"귂<&c*bIV^֫l,f[qu_W&ZEZ I-8l(	%G,Z~uer%kRɸL-#]Pv6'ޝq;#]2<*in
3#o=?-NlN>O~3!ȉf&۝;.~c u~er,$=v#($`Ms/0dZ=ɥ<(Ŗz/|?K4?FjH8J;oYK+7kvK21[l͖=kc˴1
Y=JҜDQ$[ )puMf	y2hKS$.WkBYWO:&XV{V{d!;
922h*IÐ/gKK&tS@IBF&׼_
,_ooDD6R(ff/jQ2)\	4)rS'P[Y5o!& g
GLlka',O`}ze)pTFƍ5Me~5erYCّNO>LjKp"+*sn$1r
]4V'69؏rT񺬃2trÊ|	rS9Zy96]c$y%\ X4x3gͶٱS`8J)%؆t>.YＳQ*S+L4 bqiO-0ER~`d僤P C-8K:VXMՂ$Zkk\\|w l!֠6M'{G[ez/t]MǿדkzSIKbuV~Yلo0=}J9U?<_PVNgiQ#TVEF/2h!CI<Ebsyp/L7ij.7lc Ot~A۶L9ݤ4eM ф6.̡%Z/K2C/̓MC$"5ؒ&CDߋScnS`)֦zNobtvcuw:
'(x)񽋷Pƿ-ਇ?Яd^.d7A>h8Av9RP3,p;byC+niz?>W=|ïwIoUuECSQO3?N27Ӝq<(vN69d5*(b|?D!ԇ$59RȠQZUԋbU!0փ~P4vcm',o`*Yy2tCyҺ{ӧϠ3Y~fd7SVB0ߟDW/^?|ˏ=C>JuD
:˅q[nNPݖlzAkz0lv Ώ,2̀4AFxF3H4̓AF&h4D3hf2Cd3BѪ(M1鲈]1òm1}1A61	iDҘ4MmLBѦ8&!m61	iD昄4X44$mc҈61	iD昄4MsLBѦ9&!h}昄4MsLBѦ9&!h,4$mc҈61	iD昄4MsLBѦ9&!mc҈61	iD昄4MsLB
7	lc҈61	iD昄4MsLBѦ9&!E?昄4MsLBѦ9&!hFiIH#Zآ9MsLBѦ9&!hFiIHߦ9&!hFiIH#4$mc<ywkm(.V^zA ^~^բGԊd8{%xZT^zA`z
eں*m־AВv̈>&HOFRS9߷'QYv>?x$Ż
NMqLd<[Dpvbk{yMfx<?]`stwԘV9my1	]ͤn54>ȕٙ C-mlz(nGnsIՆ8LFaU9r0X5%8D~;V?~\(^Z)zZdL=#;vФ<*CNtUf3?ҝ< Noz"AO"%y3ׂ,r~V=gb~#E]LQ`S̈MVD&4(*h؞&\9X9sQ=b8b6m/Nɲѫ$q[e
r(S#˲A}IhQ4SVLh>j	m1ʪ')N~]&;A9<sxlL툗q2vʤVUSkF`57񙇵HxEXk/ZEXKZa'r!CAk'ޢiFce4#ew&[Dx5Fzmc4u@MZF~߭jtqj9Zk%=5m5<&`>Ztj""m5u@MZEXsj9D{p0DoQʳjB0ǥX-<R\3q=,;:'ۓudna1;A4#-v2(\op:!dsk+ѝW<~ 
C\Oʞ̔I6|J
,P*G>YjyS!_询g{"_v~&y9sط?9;ȣ PkkF#]~37cg{vJWSeخ>7 A&	M*dWrV~;Nhy몸Buwr+|)`ymüsVy8sӰwS?Γƺ,RPij:՗	:RbZ߶X\,lZ㍱Rny	^Ԏ;8ƱF<%
lPs׵]둮#q#\:Nj` "Nm[ڊ; r|U (6zo}mṕŝ)պ)BFg]ͬvc b6zT9[VU#bIq:'b)"}UƝRص쪸#\쩣]LBr
p%Ꭷww$m%;.w8@K;_ƶ{r
侩.pHĐI#\%o%A8{49ӛ!tMc34XuKr+.QЭOjhm_%Y\㹖!#rԸ:̕ZsI}(ˣGMqX1't1:!tL'epIǱjWxt;y{Qun87,v;hX,8N9b-Mi]Cre#Y,k0_+(<e%ng	k"Ӟ{.ܖTj9N3sjeW"YѤ_QZ!inC*4YjyNSڠ.DgckIj2]Qm.T7P͡CjҌ:*}G} `z0ɑ8w[A#> Wh@E(k^!EѪ=qAeHޏGf;c9;5Î0d4ԇWʈ6img`Iy-IXB* vZ^*֞E"Y!MG:zP\֍9"gVvr0NRi!hV4^
1^B*W;fŁX{dpvq
~3~!ï#ᗣ/G_^	XPpwYB)'u-vWPBt".VdyavEj^{f_-N#/G^#E${L_7^qr0bEg/VS6c8'{hVz+nquF{9wb?%tMNU#:O0hR_΍DR{Ɩw'  gP^y8dTLQ1U{bı23911r\Ze"2lWn_y]aR-/V[uAѐO(Rk_[/i9rHtIKv	VK+XKF~:vlJ{[Ń*VKʣ,׭=yƲr[΅cc.BAיAWJ1G]r[+3eg/X%4Ǩa{g%΋Nd7怬5@斁p9zT7*tMN9hlʑb!g1$ b4"ėjk_Hv/]-î{c/^_iN43hHψ`!v"+{BYВ3"T
tv'`n~q27~$;`Wy0XȬhvrt眥ϩ-sSݜ9ˠ%Y9ˠa{YN<g*Dsݤ4GiZIiarZey>1_[n1q-g8FK,c<-L!~^1ˎa{񗛻t2rs(@fe?5%#)X-_%`XVs
>,D`E4k;l,
'ώg/owK(ԔYtg$LzqN\˭fM%Mz߇nw{=oxzl&ªZk)zIk,~$lBqGtvܶ=\jZAH2wo\LN4E8M0w܎ ҦHVx($ԫ
Miǜt(Q4Gi'EifHZjDm>37>*><ċGVedoޯ`kn'{;
svj9NaIhɨ1@X!`啇0P8l7 ժ=!X!u2.D67.d9;19k)>͙v:kls&"bn C1ZbyAq%~2͙«,׭=Ʋ";r
ྉs4hh̹p4+]Ft-4rsKѨlTyhb윥cc$}{+֍lpҫ5 f"2i~>RhΧ4Yar
,$<:~Pl(-cJpE(kq#1*)ڞd&csc9s<vn<vȹK#;m>rѤ2HF/
 -r&Mg٠%e3eA\Pl'n8t?O$E3fnmdvWYf,@" [vluaLmfX
,Ȇ9ٔ15Rl15\=ʘsLgRnL͡C772r{cjhxLFDӎ4;@ųjpSf;gvSs`̍̎>FL [vluZ,$~O~XqX{hm
k4"`,
?A4+=39#5jdȔjQ q(c8*bqЊd_BqGE52	|3;Ey͓P͡C5jgja0_6	k<XXIXV5ZPKl`-j?шvXe{-z{} Q470m'Xse7ޛ4nav#	[,-t즲,ձ	nhqQ*,%_6!7nHW5kh$AU6ܒl
?A4;Lt*ll9`svfkר̔4S&4ɪ.:rp{l[P(%"iB۳5U=JFڻ{E\Γ#J o=K`slk>vV<Nk|z!<~JGp5t	hN|ePK-!2r{"0-[s0E6zH.nVa8AWds"JOut=K_!U+ (ABʠdw1Nc0޷ɋt3\Fg,s3y Ov.}&L7,sd\| .ㆌ[gPB:r|ҹ0	9.;}b\_'T\
CʞOB1=ʤ7_nW/x36?m=KV7hŸӛ!`JN	[Bym.7BBq)IY ,({[oʂ%3PnWDu%By1B]1>2lt4&괜;%BIC!9^οdKLK@%'aæa>P?I˂Rd>ע\0US@ŋ@He2 Tن؉>r4	'G[T(]v?⼐I#17 Qq^E:?ZD1+Hʄ|!p
,	J LŌF %j
4`)6w7ʷvjƮjLzDb_i̜LtU6O-NK޲LJɔHrEHC$-A ~Z=plf=fH/s	4czcE( nK6(Ahd
` :=#c Ն Vt^ =7g:?v>vHx^O'O510߮3kPuy=h6BÿJ>z\ot<YxEWp@!2$:f	)ޯUg8"*֏?vݧзsDR7giyClty魷RlZ{)|I%@)	5^갑ڳU90e
1s}}zOjΧȌ7=H́Ѧ:5[?"$~Ml%t[2N/	'dd3̉(I,W<cwLA&kMB փJl2c3ռw@dNrˑǅO[;TΣ5Wv,7ךKao'_^#]-)Y M>V 	][q)N#5vY%5G6߽mSgT-Fw0D7؈\ԁu9Kȉu-uЋDȯ=ٰ~In2o	J{wԈ̌~|IK)7rsY4
̏|%YxY\m`\jh^$ϧ^c$֏㴳$Ԛc՜CwO,duq9*ם?	aNۤD{sxqK9916t[W24MMa^hfڥi=6o%9lu3]Y2?O;̸yV{nךDy*c5ͽ\0_k'r.VLW[$,dBn$L}	oWIbAzf^I&f٢gml6_6RA11bGI~Wh^t8d#%3Ց\n}YB=s.Exҽ'T,&/tE6uZPָNI(2UYBLǶL-z0d+Ғɭ/wRоIDfk5o dl*1MMiY/VTLʟf=>:CB!0M
G-ԖFi[&`.$ d&/+aZ	X^<tQ&,/q[1yuu| _tG٭\PvSS3D/cwZ2Ȋ1;|H娜>m#M;N4#dU.ܮb|߽}{v<b{V^zM8IeI;A7<5LY-wv4NdRN	:2!]rK2r;lKTveK{Jl)rG{&s($ermYұŚ`llO'6'Z3XS5xwbbTKase0Wah/;Ҧ
.{j=ſ]ӛN^JK2-&|#YDPq3vR=[M+MnG(2|m'7oxAY8J)[+̓P{dESp$^.gy`=][ڶ]XgZm&()mz	X&pa-zYza4m/1Ɩ4b&:^b̎	>hvim
>ۮ7pn}.<3{i3.BB7L@y1
l-ދA0rnq_=ăCyRP3,p;MMYe7Hgx7_޿_~}Kz#hg-Xn&zҜAxp!~Ώ1h7m]Dѷsq&IWEA#<<Cԏ/A?@}hA\UE(V[c=[D7;F	E'fP՚>PBZou?~Q[;t4,fJJȻx×~{GHQc!.vK	?B_^ےMY5=q6;ch21 #<Md$m #R4AFfmh4D3|Chf2Z݆MV!hUtYDaYDYDXD ʘ4MiLBѦ6&!hSx昄4MsLBjd,mc҈61	iD昄4MsLBѦ9&!hFiIHMsLBѦ9&!hFvPmc҈61	iD昄4MsLBѦ9&!h61	iD昄4MsLBѦ9&!h61	iD昄4MsLBѦ9&!hMsLBѦ9&!hFiIH#4$`lќЦ9&!hFiIH#4$oFiIH#4$mc҈61	Պ	P]$ͯ_|Ax8E-<Hd;&r>TC]ȖS(UilF=8~TCKJ1#RT >QHMmF#p|ߞDe2g1Cّq
NMqLd<#9jE^=Ϗk"Xe,]55Ub[^LBa3v[ãpMd .7OH=wv!6a2,D82;[<y8/gUM31aLӮ2d-JwVe&<*pq6\Ḫ'kqљ4yrUSGI)E]찍bz
njx%|ý9p?+ƽ_nWanY9swjp&7*ğ%5jq
|mHl[q:X#`˪V֒VX{C;Ȇ9DshhM2HhqM2+2ojB*0w1jPPshZ+iAn`5"k9Xj:&T"5h=8D{jʾ15!ZR
,<R\^;L4}O<ˎy}n,`F{Xr iJlhz\NHY릇Jtr%%@Bfje!#E͠r䓥G>%"d?i|bWѳ=/;ϊ|?ۼЀ9Q@~L 55udGb;`rlW XȮM*dWV㺠%{y"d=vOjςv*;.imy|Nt4q3yXE
J=MmTK#EKNAoC,byS.Z'jvr]NPJDj<qѶ=!Okwb"wAzn㺶qk=ҵ}$.7du'AmPێSsV~ۨi[Uj۱	RlêjGܖnXܙ["\NnDyK:a79kSaO|-Wry~+*ܠ'4ܞmgҊWuwrbKu`rDp7v
)zn;
@-"wpE.
w^+m}S]!݉!rGp-%JJZphrfu=7CWfVsiuKr+.Q-nef54ڶ,}Lj{Okp@\y9j\OS>+hQp\v=FdXssr@ǋNtRV^n;{/Ᾱ-swrڎq˝Ǖ/v Mi]Cre#Y,rB˃[Z-=MfJ'vL{6'Kw7KMp[R=<Ps8i:]dGpGieJ
,qLsRRs\BDjz6ٞ&cvBucj9T{H&詳Zٛwk֠ӐYc_yu +f4!Dj4(Vcb/E2~=J7cX̱ةv,X!נѾ>RFxgIk;K8T_n,IXB*"V;\xHq/PkO"#W=(rXųtL+y;9n봐A4	^W/rx
1^B*Z^Q'xHVz	7l'G=9:~9r뼀uWy%zRגlwe_oCNdŊ,]"xv8ǐkObѬőשrAWy{d	K^!g/w| c/Vdya٫,20^{fe^^n˱c{g/SNT0t&(M!M.ll=}	 ;Wh@52GaG3#3!FŨVedϠVĨ8&ƨqk9,{XvʰU^uOF-uIyZ>g-/+,!iEX.HVznpHˑ#-GZKZe_KG]]YZ2ӹ[`sr+l[~ܒGY-[{e䎃	\\΅3)c6N]KmG%9 ﷐3eg/X/8FEۓx<+u^,u^'HvXA0d2@v'ωԣQhrʑ`GcSqs9A
 FCQX2G_8X"D>\~9jv}{92bLs0d=FgD|Fd #v"+{BYAfr|L*Y:G07?aqk?+<Ls,dW4;g9mxrcq-͗sSݜ90j)sAAyU2NIKGi¤I}b|4x݂c11x-<j(3\yh,;_nW]>;hlzehr`ˏ~yL߂e2;`eVa!+YKXddaPа}=Yxv<{I|[B̢;<sx̝&̆fҋ+uz^n]5h/i>tyc-r`s"k\SyړX4;HR: 7m9j{vdb4i.qH6iS+1P!mieH+yzyCZW*63sQ4GiM="i9iSsD}|gno ?>|T<;|Ty_"{d&8ƑU{bı3ٛ+ؚ8EnqX+8|z1y2j-9 FAؠ6U ^'Jd}uhr;59݂bPXxPE+y=O6g
\2ˊd(&2јS1X;h3wz_jy/XӘ[/<FEeCcAG<Y,🝳4lDProeҺ-WNzqCS0_O_
r& ,bJ)0Xzc҇Îņ@WT&n1.kڞh&csd9 s@vn@vK$;m@rѤ2HF/Z_ZM3Trqty0₎f;'váӗy2-W92ssmCJ6cy΀زbj$]4;R`a6rAKWن4j,"KaTiZQ5sϤݨc7nnTePGXZUIh 4M3ܒ]Ql~f7Q5GfܨZjĤe7(V7B":6_oP0׆JFêߒmY5lVhVT{5<'vvsA4j-D5GjN4eEoQ)ԉբ# )FX,`K
~(rLsЊh֒BqGE=2	s|K;Gy͓Xͱc5jgji0_6Ik<Z r&i[xh5ZZ 0,F#i4v#?i㴝`Yxo<҆$oX[MY7Z+.Y%xwÆ7Ds͑#J^\4nBmHR[MRZhXEbAlٺ55l^hvZ{.#Tَ'9bsDhQ)iAMhTU]xIԡ&h:u|6̊p:^Ӣ4Țj%y]
뽢w.N'%5lN\y;XP+B5d>Y=Hm?#:~4Nx'o2&Eɿgx8z_d  c/
c;'omu hH,[\$t .1\kKK^_/?Og7]ABJ.ޓ'?63!X"*]%_\0.ɈPHs0Y.KH)9Ik{"3}G0.nfɚe߻/נ|/k&?!kdHEYJ IZy8K҄JeEX(;rWHPH|HxLrEQ*05DԼrh^Q>B$|dk4[|C%`6^-EWCc20D7`HX ,aoS	ד)5[ fDD#*'u=Y?&v6>,[l~=}ݣ',O@-Ke3Gr:lc}Ju2d	yMT=$x'E5|ˮ"lWeV"|y|lS'!"d$b_p2n=ВwPxM77jqEL& T+VU[(Ěh\gnNo)6! 3Pɲ֦\JD㌩gl:Jh3,= 邩O4
&ɴؤ8s?6sA_b,ыbS"V,bAI%/~=d	[*_ؕ+s1' lw˙lEN /k1#d7 ?IG	/A~G\H=BdR|}fF}ThG#?FvQxu6j/u(Na4ESidX#o7ɁDoDu!0&UlP.2Xlirɜ:cs{JI,o&M:Y9Fb;c;Pq
4D d":2>&lQeJ(1ҽ4/B
~a~+wqdɞk XGqHtMW_P	%\	\eodp'!=t \P!_E)sjpyA;I4vwYGU"ӝtҘ}^ta6t<%gyPb}k>^ zAVǎGL˞|Z/[Pd[6KxfX<ct`SbdJrKkc8.Wt<Y$_;J%cW\sYIhʝ5+(/t4Xn!h2"&W2sOXj>D`z73R[ωɃRlNg
|
+th큡sD󦓍wVo?ŚɃʝv]%бlIwBjAV!'
zRF	5Ud\ȋ>M
=,Y-L1H ִiA%p}p7ƛ'?<vfl6xt:ki#Qb41kIFHkzC7+.״#S棑Q/"{PD-uGJv£ni1yO咡G9*gdtd>u#qcͧ2:bh5hJgr|n>+MU۲|LkY~gЄ!E,Q?āu{~`~
O%XUeQ
>:!h**~{}WL&,]bYn=uợy_9JaE%n?dvزmZ="n2ntq;'~jg3v$'Blye0oAyĨG"uEAQ{W'&KZYgݙ|+t污F=b!Ïf>vĴVuY?9d\#T4x,QÝ F1bq1FT<{!j{pNpȇg>8ѿ7ԬPvgE7@-B,D=3!:qP;pMpuMhtd{?9J|7&UG/o@{f'3*> ``r`nq>h_,n=gu)ü;342q{	P7D~nGX'[GpcݼHOT;1?ۑqx~(+>`}~KPط;ruZȅrq/K]B^>Rل#R<Rār3wE|]vj|F'uHu1G9;so--f.7봘m5puХBjZ0閴CbsB{^H1Xoe_QumZYY2mp¯1c0 }9;eӬFOfkTx@P<jVv|vap;XV|9:r_>Ozu'\I$,}މddw8 g}>q,kYEawG2~*[|̭	sP栬{!ݤpY'R=&fv  ЬX(ϲ}q\R}PvF3tKGjogR ògZqnc=PyEw{PށC2Ae cp,86e
QA*=ԊbP Z0+>i,sk9*sTv_ggM,Ae5{4_S\Lgرjthm+ZGkWV	9{@kMq:B{X`:F#iIDIn/&hQc{K|;,2s[Qb zAneǶqA[x]/H>7^zn(b,PEumƃ[v }U@o48p9;KH-4m:m3>}/F =l!)NgAc~7ʜirh6
Uժĳw!CD.Y#74V`+!uC4+]`)!&CݸPE 
Ȋ`GG^TzA@񀌄+	]Py.~u.%_UQP#k&V:̧ubm2\FJ՗e$bx]!d@^*WW 4㲟7	Be;þ8F7$YgmhEc2h@иHX8N po.;;\$Ze^O	oyFDb']Z='mz;ylf-DB=~wxX+}_,7>YvKĔbG5^lNSr
i6iwDVT]gL2vЫO^i?vgvC0'P[,eT|N>R}A4j>tl2ߒO4L):<٦bj{ڏ'fJb~KG>@7:h
I^oa|{MW%~V^(nd#ckGuVO{YX|J]wq^?/V9(iGr_[3&,fwf.rȍlN&@6ǀWi99\7[iPΚZeMb+`	faLt33:)KcmTOe~E&ms:EjT=`c}|7/o^4˺w~PdVc'&@.of:2,tzqx^36|tnɎByt Vd'=G$7qjncW'=at{eѤ$,%m]n,Xmd52cacDNEmbsZcOaw^(h-*kFx-qcx2CCzCR`b^A0 +Vȋ{ eEJR+Y?#`hXೂ3^<3Efg|e:,1F7q?=tغm5QVzI19a2vk,ҽ,K8^y,݆zGh.GhrlL]|gH8i׸)<j&ys~v_Sb}Gus݁e%Z8]R'GO{RvqT?
}?.AN5C~/0dy cPx~:OR|Dsއy<6ӲraZJn0ӡI4=<Hyj7AyRIԇe\'o=ԕM	~.YCa_R^%evŽ;o?X<ucBIG룃ƶ{'{ɝ=@Q^GzLe
ZC
bSB,Ћ#ADzSWS/w^!SPoNj^*Ro]ԛz:uW!qFzߡ) Kc@c.> ╻a^w(ueWx:u`d`7A*-:祈vY^5vI{]}__7>ՋCK/\;8[l9 sZ+2P*&Wd6ARu2nPˠ٦܈i:N_s4'`lO}Ïnɉ.]G)$!˴E~e}1lDCFoPQ	T-6_ z5N2J/7Ӎ%*}g^ҥ3ty}ZLIy,t_Y\>WqC)eBӻdC
zIW.K֓Ǆo}\rF/4||!8eǎF93\BA^bFp&kr%³)\$	T 'g\@6)q{	ymKQ#!hL.Ft`^-k IzȪBkRC2Dkz](4g/gR\$ҘA^CYrxtxNuv5^S&/KRʪ+?B\;%RmA6vA_h$H#k'QŐ6KFvWDo-_րB!rI+%\D\V%#*"F46%&Ci͎]'kR(Pi
pÈeDiDmDqDuDyD}D@"B"DDy#T+
fI;2CDT"j+7[KD%1DZ"i30YM$&v"b91ND'ʬ'e	E҄"iC4[QQt)	MH5HTUZU3(gWjXjYjZHWZWWW3H(gbbcQ"ʢEE%C
e-R-ʙ[[T0`qQ䢂EyV.*]T4lyQEr/	F	FF#a4HH`Zbb$m1R1ʬqv9E#nHdH1(gbQfjjjQfQ8gXggggggg,3V3V3gXϸ`8ϘgL3s}>cj1XgL-3}>cn)&}>>caqfϘg,3K}Ɗ}Ɨ&^R{R{R{R{~V{~V{=_=_=?_{~|B|R{>=֞ki|Q{>7_֞/jgySԞOjgEY|^{=_֞/k+9ެM:Y_^
Ij2N3]g{y3K%q/y;^9$zA2𓬆jLqiC@.ye栋?಼.f8|@iHCއw?zo?8 def pc_ropparms(rop,pyro):
   rop.parm('trange').set(pyro.parm('shade_pc_tfrng').evalAsInt())
   rop.parm('f1').set(pyro.evalParm('shade_pc_frng1'))
   rop.parm('f2').set(pyro.evalParm('shade_pc_frng2'))
   rop.parm('camera').set(pyro.evalParm('shade_pc_cam'))
   rop.parm('vm_volumestepsize').set(pyro.evalParm('shade_pc_vstep'))

   rop.parm('vm_renderengine').set('micropoly')
   rop.parm('vm_samplesx').set(1)
   rop.parm('vm_samplesy').set(1)
   rop.parm('vm_dorayvariance').set(0)
   rop.parm('vm_minraysamples').set(1)
   rop.parm('vm_transparent').set(0)
   rop.parm('vm_reflectlimit').set(0)
   rop.parm('vm_refractlimit').set(0)
   rop.parm('vm_diffuselimit').set(0)
   rop.parm('vm_volumelimit').set(0)
   rop.parm('vm_smoothcolor').set(0)

   modeparm  = pyro.parm('shade_mode') 
   setpcgen  = 'hou.parm("%s").set("pcgen")'%modeparm.path()
   setnormal = 'hou.parm("%s").set("%s")'%(modeparm.path(),modeparm.eval())
   rop.parm('tpreframe').set(1)
   rop.parm('preframe').set(setpcgen)
   rop.parm('lpreframe').set('python')
   rop.parm('tpostframe').set(1)
   rop.parm('postframe').set(setnormal)
   rop.parm('lpostframe').set('python')



def pc_generate(kwargs):
   pyro = kwargs['node']
   firefile  = pyro.evalParm('shade_pc_firefile')

   if not firefile:
      hou.ui.displayMessage( "The fire point cloud file must be defined " + \
                             "before the point clouds can be saved.") 
      return

   # create the rop(s)
   ropname = pyro.path().replace('/','_')[1:]
   net = hou.node('/out')
   rop = net.createNode('ifd','%s_genpc'%ropname)
   pc_ropparms(rop,pyro)

   if kwargs['script_value'] == 'doitnow':
      rop.parm('execute').pressButton()
      rop.destroy()import pyro2
node = kwargs['node']

cmodelparms = ["sc_cm_", "ec_cm_"]
for name in cmodelparms:
   p = node.parm("%scmodel"%name)
   p.deleteAllKeyframes()
   p.setExpression("__import__('pyro2').uiGetRadioValue(node('.'),'%sconstcol')"%name,hou.exprLanguage.Python,True)
   p.lock(True)

r = hou.Ramp((hou.rampBasis.MonotoneCubic, hou.rampBasis.MonotoneCubic), (0.0, 0.1), (0.0, 1.0))
node.parm('FireDensityBlend').set(r)
   
 PythonModule/Source      PythonModule/IsScript       PythonModule/IsExpr        PythonModule/Cursor                         PythonModule/IsPython       OnCreated/Cursor                         OnCreated/Source      OnCreated/IsScript       OnCreated/IsPython       OnCreated/IsExpr           nodeconntype       INDX              DialogScript      Q   VexCode    >Q   VflCode  K  'EQ   TypePropertiesOptions  r  Q   Help  s    Q   Tools.shelf  s  Q   CreateScript  w[  VQ   ExtraFileOptions  x   Q# Context: CVex

/*
 * Houdini Dialog Script generated automatically
 * by vcc from source file systemscalarvolumenoise.
 * Generated: Tue Jul 16 17:57:01 2013
 */

{
    name	"scalarvolumenoise"
    script	"systemscalarvolumenoise"
    label	"System Scalar Volume Noise"
    rendermask	VMantra

    help {
	  ""
    }

    parm {
	name	use_rest
	label	"Use Rest"
	type	toggle
	default	{ 0 }
	export	none
    }
    parm {
	name	additive
	label	"Additive Turbulence"
	type	toggle
	default	{ 1 }
	export	none
    }
    parm {
	name	timescale
	label	"Timescale"
	type	float
	default	{ 0 }
	range	 { 0 1 }
	export	none
    }
    parm {
	name	turbulence_freq
	label	"Turbulence Frequency"
	type	float
	default	{ 1 }
	export	none
    }
    parm {
	name	turbulence_scale
	label	"Turbulence Scale"
	type	float
	size	3
	default	{ 1 1 1 }
	export	none
    }
    parm {
	name	srcmin
	label	"Turbulence Min Noise"
	type	float
	default	{ -0.5 }
	range	 { 0 1 }
	export	none
    }
    parm {
	name	srcmax
	label	"Turbulence Max Noise"
	type	float
	default	{ 0.5 }
	range	 { 0 1 }
	export	none
    }
    parm {
	name	sharpness
	label	"Turbulence Sharpness"
	type	float
	default	{ 0.5 }
	range	 { 0 1 }
	export	none
    }
    parm {
	name	destmin
	label	"Turbulence Influence"
	type	float
	default	{ 0 }
	range	 { 0 1 }
	export	none
    }
    parm {
	name	seed
	label	"Turbulence Seed"
	type	float
	default	{ 0 }
	range	 { 0 1 }
	export	none
    }
    parm {
	name	amp
	label	"Turbulence Amplitude"
	type	float
	default	{ 1 }
	range	 { -1 1 }
	export	none
    }
    parm {
	name	rough
	label	"Turbulence Roughness"
	type	float
	default	{ 0.10000000000000001 }
	range	 { 0 1 }
	export	none
    }
    parm {
	name	maxoctave
	label	"Turbulence Octaves"
	type	integer
	default	{ 1 }
	range	 { 0 32 }
	export	none
    }
    parm {
	name	enable_cells
	label	"Enable Cellular Noise"
	type	toggle
	default	{ 0 }
	export	none
    }
    parm {
	name	change_on_noise
	label	"Adaptive Cells"
	type	toggle
	default	{ 1 }
	export	none
    }
    parm {
	name	invert_cells
	label	"Invert Cells"
	type	toggle
	default	{ 0 }
	export	none
    }
    parm {
	name	additive_cells
	label	"Additive Cells"
	type	toggle
	default	{ 1 }
	export	none
    }
    parm {
	name	cell_min
	label	"Cell Minimum"
	type	float
	default	{ 0.10000000000000001 }
	range	 { 0 1 }
	export	none
    }
    parm {
	name	cell_max
	label	"Cell Maximum"
	type	float
	default	{ 1 }
	range	 { 0 1 }
	export	none
    }
    parm {
	name	cell_sharpness
	label	"Cell Sharpness"
	type	float
	default	{ 0 }
	range	 { 0 1 }
	export	none
    }
    parm {
	name	cell_influence
	label	"Cell Influence"
	type	float
	default	{ 0 }
	range	 { 0 1 }
	export	none
    }
    parm {
	name	voronoi_noise_seed
	label	"Cell Seed"
	type	float
	default	{ 0 }
	range	 { 0 1 }
	export	none
    }
    parm {
	name	cell_frequency
	label	"Cell Frequency"
	type	float
	default	{ 0.5 }
	range	 { 0 10 }
	export	none
    }
    parm {
	name	cell_scale
	label	"Cell Scale"
	type	float
	size	3
	default	{ 1 1 1 }
	export	none
    }
    parm {
	name	cell_distance
	label	"Cell Distance"
	type	float
	default	{ 0.25 }
	range	 { 0 1 }
	export	none
    }
    parm {
	name	clampoutput
	label	"Clamp Output"
	type	toggle
	default	{ 1 }
	export	none
    }
}
;_name	volumevop1
; ModuleID = 'volumevop1'

@0 = private constant [7 x i8] c"xnoise\00"
@density = external global double

define private double @"vop_fbmNoiseFP@FPFIS"(<4 x double>* %pos, double* %rough, i32* %maxoctaves, i8** %noisetype) nounwind alwaysinline {
entry:
  %return = call double @"sqrt@FF"(double 1.000000e-06)
  %pos1 = load <4 x double>* %pos
  %output = fmul double 2.000000e+00, %return
  br label %cond

cond:                                             ; preds = %end13, %entry
  %octaves.0 = phi i32 [ 0, %entry ], [ %output37, %end13 ]
  %scale.0 = phi double [ 1.000000e+00, %entry ], [ %output32, %end13 ]
  %amp.0 = phi double [ 1.000000e+00, %entry ], [ %output30, %end13 ]
  %nval.0 = phi double [ 0.000000e+00, %entry ], [ %nval.1, %end13 ]
  %pp.0 = phi <4 x double> [ %pos1, %entry ], [ %output34, %end13 ]
  %return5 = fcmp ogt double %scale.0, %output
  %return6 = zext i1 %return5 to i32
  %maxoctaves8 = load i32* %maxoctaves
  %return9 = call i32 @"lt@III"(i32 %octaves.0, i32 %maxoctaves8)
  %return10 = call i32 @"and@III"(i32 %return6, i32 %return9)
  %0 = icmp ne i32 %return10, 0
  br i1 %0, label %body, label %end

body:                                             ; preds = %cond
  %noisetype11 = load i8** %noisetype
  %return12 = call i32 @"eq@ISS"(i8* %noisetype11, i8* getelementptr inbounds ([7 x i8]* @0, i32 0, i32 0))
  %1 = icmp ne i32 %return12, 0
  br i1 %1, label %true, label %false

end:                                              ; preds = %cond
  %return40 = fcmp ogt double %scale.0, %return
  %return41 = zext i1 %return40 to i32
  br i1 %return40, label %true42, label %end43

true:                                             ; preds = %body
  %return17 = call double @"xnoise@FP"(<4 x double> %pp.0)
  %output18 = fsub double %return17, 5.000000e-01
  %output19 = fmul double %amp.0, %output18
  %output20 = fadd double %nval.0, %output19
  br label %end13

false:                                            ; preds = %body
  %return24 = call double @"noise@FP"(<4 x double> %pp.0)
  %output25 = fsub double %return24, 5.000000e-01
  %output26 = fmul double %amp.0, %output25
  %output27 = fadd double %nval.0, %output26
  br label %end13

end13:                                            ; preds = %false, %true
  %nval.1 = phi double [ %output20, %true ], [ %output27, %false ]
  %rough29 = load double* %rough
  %output30 = fmul double %amp.0, %rough29
  %output32 = fmul double %scale.0, 5.000000e-01
  %cast = call <4 x double> @"set@PI"(i32 2)
  %output34 = call <4 x double> @"mul@PP"(<4 x double> %pp.0, <4 x double> %cast)
  %output37 = add i32 %octaves.0, 1
  br label %cond

true42:                                           ; preds = %end
  %output47 = call double @"div@FF"(double %scale.0, double %return)
  %output48 = fsub double %output47, 1.000000e+00
  %return49 = call double @"clamp@FFFF"(double %output48, double 0.000000e+00, double 1.000000e+00)
  %output50 = fmul double %amp.0, %return49
  %noisetype51 = load i8** %noisetype
  %return52 = call i32 @"eq@ISS"(i8* %noisetype51, i8* getelementptr inbounds ([7 x i8]* @0, i32 0, i32 0))
  %2 = icmp ne i32 %return52, 0
  br i1 %2, label %true53, label %false54

end43:                                            ; preds = %true53, %false54, %end
  %nval.2 = phi double [ %output62, %true53 ], [ %output69, %false54 ], [ %nval.0, %end ]
  ret double %nval.2

true53:                                           ; preds = %true42
  %return59 = call double @"xnoise@FP"(<4 x double> %pp.0)
  %output60 = fsub double %return59, 5.000000e-01
  %output61 = fmul double %output50, %output60
  %output62 = fadd double %nval.0, %output61
  br label %end43

false54:                                          ; preds = %true42
  %return66 = call double @"noise@FP"(<4 x double> %pp.0)
  %output67 = fsub double %return66, 5.000000e-01
  %output68 = fmul double %output50, %output67
  %output69 = fadd double %nval.0, %output68
  br label %end43
}

declare double @"sqrt@FF"(double) nounwind readnone

declare i32 @"lt@III"(i32, i32) nounwind readnone

declare i32 @"and@III"(i32, i32) nounwind readnone

declare i32 @"eq@ISS"(i8*, i8*) nounwind readnone

declare double @"xnoise@FP"(<4 x double>) nounwind readnone

declare double @"noise@FP"(<4 x double>) nounwind readnone

declare <4 x double> @"set@PI"(i32) nounwind readnone

declare <4 x double> @"mul@PP"(<4 x double>, <4 x double>) nounwind readnone

declare double @"div@FF"(double, double) nounwind readnone

declare double @"clamp@FFFF"(double, double, double) nounwind readnone

define void @volumevop1(double %density, <3 x double> %rest, i32 %use_rest, i32 %additive, double %timescale, double %turbulence_freq, <3 x double> %turbulence_scale, double %srcmin, double %srcmax, double %sharpness, double %destmin, double %seed, double %amp, double %rough, i32 %maxoctave, i32 %enable_cells, i32 %change_on_noise, i32 %invert_cells, i32 %additive_cells, double %cell_min, double %cell_max, double %cell_sharpness, double %cell_influence, double %voronoi_noise_seed, double %cell_frequency, <3 x double> %cell_scale, double %cell_distance, <3 x double> %P, i32 %clampoutput) nounwind {
entry:
  %0 = alloca <4 x double>
  %1 = alloca double
  %2 = alloca i32
  %3 = alloca i8*
  %return3 = call i32 @"ne@III"(i32 %use_rest, i32 0)
  %4 = icmp ne i32 %return3, 0
  br i1 %4, label %true, label %end

true:                                             ; preds = %entry
  br label %end

end:                                              ; preds = %true, %entry
  %_P.0 = phi <3 x double> [ %rest, %true ], [ %P, %entry ]
  %cast = call <4 x double> @"set@PV"(<3 x double> %_P.0)
  %output = call <4 x double> @"setcomp@PFI"(<4 x double> %cast, double 0.000000e+00, i32 3)
  %return10 = call double @"clamp@FFFF"(double %sharpness, double 0.000000e+00, double 9.900000e-01)
  %return11 = call double @"neg@FF"(double %return10)
  %output12 = fadd double %return11, 1.000000e+00
  %output15 = fmul double %output12, %srcmin
  %output18 = fmul double %srcmax, %output12
  %return22 = call <3 x double> @"set@VFFF"(double %turbulence_freq, double %turbulence_freq, double %turbulence_freq)
  %output25 = call <3 x double> @"mul@VV"(<3 x double> %return22, <3 x double> %turbulence_scale)
  %return26 = call <3 x double> @"clamp@VVVV"(<3 x double> %output25, <3 x double> zeroinitializer, <3 x double> <double 1.000000e+03, double 1.000000e+03, double 1.000000e+03>)
  %cast27 = call <4 x double> @"set@PV"(<3 x double> %return26)
  %output29 = call <4 x double> @"setcomp@PFI"(<4 x double> %cast27, double 0.000000e+00, i32 3)
  %return33 = call <3 x double> @"set@VFFF"(double %seed, double %seed, double %seed)
  %return35 = call <3 x double> @"max@VVV"(<3 x double> %return33, <3 x double> zeroinitializer)
  %cast36 = call <4 x double> @"set@PV"(<3 x double> %return35)
  %output39 = call <4 x double> @"setcomp@PFI"(<4 x double> %cast36, double %timescale, i32 3)
  %output42 = call <4 x double> @"mul@PP"(<4 x double> %output, <4 x double> %output29)
  %output44 = call <4 x double> @"sub@PP"(<4 x double> %output42, <4 x double> %output39)
  store <4 x double> %output44, <4 x double>* %0
  store double %rough, double* %1
  store i32 %maxoctave, i32* %2
  store i8* getelementptr inbounds ([7 x i8]* @0, i32 0, i32 0), i8** %3
  %vop_fbmNoiseFP = call double @"vop_fbmNoiseFP@FPFIS"(<4 x double>* %0, double* %1, i32* %2, i8** %3)
  %output49 = fmul double %vop_fbmNoiseFP, %amp
  %return53 = call i32 @"ne@III"(i32 %change_on_noise, i32 0)
  %5 = icmp ne i32 %return53, 0
  br i1 %5, label %true54, label %end55

true54:                                           ; preds = %end
  %return61 = call double @"fit@FFFFFF"(double %output49, double %output15, double %output18, double %cell_min, double %cell_max)
  br label %end55

end55:                                            ; preds = %true54, %end
  %constant1.0 = phi double [ %return61, %true54 ], [ 1.000000e+00, %end ]
  %output64 = fmul double %cell_frequency, %constant1.0
  %return68 = call <3 x double> @"set@VFFF"(double %output64, double %output64, double %output64)
  %output70 = call <3 x double> @"mul@VV"(<3 x double> %return68, <3 x double> %cell_scale)
  %return71 = call <3 x double> @"clamp@VVVV"(<3 x double> %output70, <3 x double> zeroinitializer, <3 x double> <double 1.000000e+03, double 1.000000e+03, double 1.000000e+03>)
  %cast72 = call <4 x double> @"set@PV"(<3 x double> %return71)
  %output74 = call <4 x double> @"setcomp@PFI"(<4 x double> %cast72, double 0.000000e+00, i32 3)
  %return78 = call <3 x double> @"set@VFFF"(double %voronoi_noise_seed, double %voronoi_noise_seed, double %voronoi_noise_seed)
  %cast79 = call <4 x double> @"set@PV"(<3 x double> %return78)
  %output82 = call <4 x double> @"setcomp@PFI"(<4 x double> %cast79, double %timescale, i32 3)
  %output85 = fmul double %constant1.0, %cell_distance
  %return89 = call i32 @"ne@III"(i32 %additive, i32 0)
  %6 = icmp ne i32 %return89, 0
  br i1 %6, label %true90, label %end91

true90:                                           ; preds = %end55
  %return96 = call double @"neg@FF"(double %destmin)
  %return98 = call double @"fit@FFFFFF"(double %output49, double %output15, double %output18, double %return96, double %destmin)
  %output101 = fmul double %return98, %density
  %output104 = fadd double %density, %output101
  br label %end91

end91:                                            ; preds = %true90, %end55
  %density206.0 = phi double [ %output104, %true90 ], [ %density, %end55 ]
  %return106 = call i32 @"eq@III"(i32 %additive, i32 0)
  %7 = icmp ne i32 %return106, 0
  br i1 %7, label %true107, label %end108

true107:                                          ; preds = %end91
  %return113 = call double @"neg@FF"(double %destmin)
  %output114 = fadd double %return113, 1.000000e+00
  %return115 = call double @"fit@FFFFFF"(double %output49, double %output15, double %output18, double %output114, double 1.000000e+00)
  %output118 = fmul double %density206.0, %return115
  br label %end108

end108:                                           ; preds = %true107, %end91
  %density206.1 = phi double [ %output118, %true107 ], [ %density206.0, %end91 ]
  %return120 = call i32 @"ne@III"(i32 %enable_cells, i32 0)
  %8 = icmp ne i32 %return120, 0
  br i1 %8, label %true121, label %end122

true121:                                          ; preds = %end108
  %output138 = call <4 x double> @"mul@PP"(<4 x double> %output, <4 x double> %output74)
  %output140 = call <4 x double> @"sub@PP"(<4 x double> %output138, <4 x double> %output82)
  %output141 = call { i32, double, double } @"wnoise@PIFF"(<4 x double> %output140)
  %output143 = extractvalue { i32, double, double } %output141, 1
  %output144 = extractvalue { i32, double, double } %output141, 2
  %output147 = fsub double %output144, %output143
  %return150 = fcmp olt double %output147, %output85
  %return151 = zext i1 %return150 to i32
  %return153 = call i32 @"ne@III"(i32 %return151, i32 0)
  %9 = icmp ne i32 %return153, 0
  br i1 %9, label %true154, label %end155

end122:                                           ; preds = %end176, %true190, %end108
  %density206.2 = phi double [ %output199, %true190 ], [ %density206.3, %end176 ], [ %density206.1, %end108 ]
  %10 = icmp ne i32 %clampoutput, 0
  br i1 %10, label %true202, label %end203

true154:                                          ; preds = %true121
  %return158 = call double @"fit@FFFFFF"(double %output147, double 0.000000e+00, double %output85, double 0.000000e+00, double 1.000000e+00)
  %return159 = call double @"neg@FF"(double %return158)
  %output161 = fadd double %return159, 1.000000e+00
  %return164 = call double @"pow@FFF"(double %output161, double %cell_sharpness)
  br label %end155

end155:                                           ; preds = %true154, %true121
  %none.0 = phi double [ %return164, %true154 ], [ 0.000000e+00, %true121 ]
  %return166 = call i32 @"ne@III"(i32 %invert_cells, i32 0)
  %11 = icmp ne i32 %return166, 0
  br i1 %11, label %true167, label %end168

true167:                                          ; preds = %end155
  %return170 = call double @"neg@FF"(double %none.0)
  %output171 = fadd double %return170, 1.000000e+00
  br label %end168

end168:                                           ; preds = %true167, %end155
  %none.1 = phi double [ %output171, %true167 ], [ %none.0, %end155 ]
  %return174 = call i32 @"ne@III"(i32 %additive_cells, i32 0)
  %12 = icmp ne i32 %return174, 0
  br i1 %12, label %true175, label %end176

true175:                                          ; preds = %end168
  %return179 = call double @"neg@FF"(double %cell_influence)
  %return181 = call double @"fit@FFFFFF"(double %none.1, double 0.000000e+00, double 1.000000e+00, double %return179, double %cell_influence)
  %output184 = fadd double %return181, %density206.1
  %output187 = fmul double %density206.1, %output184
  br label %end176

end176:                                           ; preds = %true175, %end168
  %cells.0 = phi double [ %output184, %true175 ], [ %none.1, %end168 ]
  %density206.3 = phi double [ %output187, %true175 ], [ %density206.1, %end168 ]
  %return189 = call i32 @"eq@III"(i32 %additive_cells, i32 0)
  %13 = icmp ne i32 %return189, 0
  br i1 %13, label %true190, label %end122

true190:                                          ; preds = %end176
  %return194 = call double @"neg@FF"(double %cell_influence)
  %output195 = fadd double %return194, 1.000000e+00
  %return196 = call double @"fit@FFFFFF"(double %cells.0, double 0.000000e+00, double 1.000000e+00, double %output195, double 1.000000e+00)
  %output199 = fmul double %density206.3, %return196
  br label %end122

true202:                                          ; preds = %end122
  %return205 = call double @"max@FFF"(double 0.000000e+00, double %density206.2)
  br label %end203

end203:                                           ; preds = %true202, %end122
  %density206.4 = phi double [ %return205, %true202 ], [ %density206.2, %end122 ]
  store double %density206.4, double* @density
  ret void
}

declare i32 @"isbound@IS"(i8*) nounwind readnone

declare i32 @"ne@III"(i32, i32) nounwind readnone

declare <4 x double> @"set@PV"(<3 x double>) nounwind readnone

declare <4 x double> @"setcomp@PFI"(<4 x double>, double, i32) nounwind readnone

declare double @"neg@FF"(double) nounwind readnone

declare <3 x double> @"set@VFFF"(double, double, double) nounwind readnone

declare <3 x double> @"mul@VV"(<3 x double>, <3 x double>) nounwind readnone

declare <3 x double> @"clamp@VVVV"(<3 x double>, <3 x double>, <3 x double>) nounwind readnone

declare <3 x double> @"max@VVV"(<3 x double>, <3 x double>) nounwind readnone

declare <4 x double> @"sub@PP"(<4 x double>, <4 x double>) nounwind readnone

declare double @"fit@FFFFFF"(double, double, double, double, double) nounwind readnone

declare i32 @"eq@III"(i32, i32) nounwind readnone

declare { i32, double, double, double, double } @"wnoise@PIFFFF"(<4 x double>) nounwind readnone

declare { i32, double, double } @"wnoise@PIFF"(<4 x double>) nounwind readnone

declare double @"pow@FFF"(double, double) nounwind readnone

declare double @"max@FFF"(double, double) nounwind readnone

define void @__shader_default_arguments() {
entry:
  call void @volumevop1(double 0.000000e+00, <3 x double> zeroinitializer, i32 0, i32 1, double 0.000000e+00, double 1.000000e+00, <3 x double> <double 1.000000e+00, double 1.000000e+00, double 1.000000e+00>, double -5.000000e-01, double 5.000000e-01, double 5.000000e-01, double 0.000000e+00, double 0.000000e+00, double 1.000000e+00, double 1.000000e-01, i32 1, i32 0, i32 1, i32 0, i32 1, double 1.000000e-01, double 1.000000e+00, double 0.000000e+00, double 0.000000e+00, double 0.000000e+00, double 5.000000e-01, <3 x double> <double 1.000000e+00, double 1.000000e+00, double 1.000000e+00>, double 2.500000e-01, <3 x double> zeroinitializer, i32 1)
  ret void
}

!context = !{!0}
!version = !{!1}

!0 = metadata !{metadata !"cvex"}
!1 = metadata !{metadata !"13.0.112"}

;_code_end
/*------------------------------------------------------------------------------
Defines a CVEX volume operator that creates and applies noise to a scalar volume (density)
Noise types incorporated are turbulence and cellular. 
There are certain dependencies between the noise types mentioned, in a way they react up on each other.
Creating a fragmented cellular look ideal for volumes designed to be a fluid source.
-------------------------------------------------------------------------------*/

#define VOP_OP
#define VOP_CVEX

   /*---------------------------------------------------------------------------
   ---------------------------Define Parameters---------------------------------
   ----------------------------------------------------------------------------*/

#pragma opname volumevop1
#pragma oplabel "Local Vop Code"
#pragma opmininputs 1
#pragma opmaxinputs 1
#pragma label   density density
#pragma hint    density invisible
#pragma range   density 0       1
#pragma label   rest    rest
#pragma hint    rest    invisible
#pragma label   use_rest        "Use Rest"
#pragma hint    use_rest        toggle
#pragma label   turbulence_freq    "Turbulence Frequency"
#pragma label   turbulence_scale    "Turbulence Scale"
#pragma label   srcmin  "Turbulence Min Noise"
#pragma range   srcmin  0       1
#pragma label   srcmax  "Turbulence Max Noise"
#pragma range   srcmax  0       1
#pragma label   sharpness       "Turbulence Sharpness"
#pragma range   sharpness       0       1
#pragma label   destmin "Turbulence Influence"
#pragma range   destmin 0       1
#pragma label   additive        "Additive Turbulence"
#pragma hint    additive        toggle
#pragma label   timescale       Timescale
#pragma range   timescale       0       1
#pragma label   change_on_noise "Adaptive Cells"
#pragma hint    change_on_noise toggle
#pragma label   cell_min        "Cell Minimum"
#pragma range   cell_min        0       1
#pragma label   cell_max        "Cell Maximum"
#pragma range   cell_max        0       1
#pragma label   cell_sharpness  "Cell Sharpness"
#pragma range   cell_sharpness  0       1
#pragma label   invert_cells    "Invert Cells"
#pragma hint    invert_cells    toggle
#pragma label   additive_cells  "Additive Cells"
#pragma hint    additive_cells  toggle
#pragma label   cell_influence  "Cell Influence"
#pragma range   cell_influence  0       1
#pragma label   enable_cells    "Enable Cellular Noise"
#pragma hint    enable_cells    toggle
#pragma label   voronoi_noise_seed      "Cell Seed"
#pragma range   voronoi_noise_seed      0       1
#pragma label   cell_frequency  "Cell Frequency"
#pragma range   cell_frequency  0       10
#pragma label   cell_scale  "Cell Scale"
#pragma label   cell_distance   "Cell Distance"
#pragma range   cell_distance   0       1
#pragma label   P       P
#pragma hint    P       invisible
#pragma label   seed    "Turbulence Seed"
#pragma range   seed    0       1
#pragma label   amp     "Turbulence Amplitude"
#pragma range   amp     -1      1
#pragma label   rough   "Turbulence Roughness"
#pragma range   rough   0       1
#pragma label   maxoctave       "Turbulence Octaves"
#pragma range   maxoctave       0       32

#pragma label   clampoutput "Clamp Output"
#pragma hint    clampoutput toggle


#include <voptype.h>
#include <voplib.h>

cvex
volumevop1(
                  export float density = 0;
                  vector rest = { 0, 0, 0 };
                  int use_rest = 0;
                  int additive = 1;
                  float timescale = 0;
                  float turbulence_freq = 1;
                  vector turbulence_scale = {1,1,1};
                  float srcmin = -0.5;
                  float srcmax = 0.5;
                  float sharpness = 0.5;
                  float destmin = 0;
                  float seed = 0;
                  float amp = 1;
                  float rough = 0.10000000000000001;
                  int maxoctave = 1;
                  int enable_cells = 0;
                  int change_on_noise = 1;
                  int invert_cells = 0;
                  int additive_cells = 1;
                  float cell_min = 0.10000000000000001;
                  float cell_max = 1;
                  float cell_sharpness = 0;
                  float cell_influence = 0;
                  float voronoi_noise_seed = 0;
                  float cell_frequency = 0.5;
                  vector cell_scale = { 1,1,1 };
                  float cell_distance = 0.25;
                  vector P = { 0, 0, 0 };
                  int clampoutput = 1;
          )


{
    
   /*---------------------------------------------------------------------------
   ---------------------------Start Computing-----------------------------------
   ----------------------------------------------------------------------------*/ 
    
    int bound_P = isbound("P");
    
    // try and define rest
    vector      _P = P;
    if( use_rest != 0 )
        {   
        int bound_rest = isbound("rest");
        _P = rest;
        }
    
    //Create Vector 4 P
    vector4 hvec = _P;
    setcomp(hvec, 0, 3);
    
    // Assign vor_positiontion to previously calculated P
    vector4 vor_pos = hvec;
    
    // Calculate Sharpness and Noise Bounds
    float complem = -clamp(sharpness, 0, 0.98999999999999999) +1;

    float srcmin1 = complem * srcmin;
    float srcmax1 = srcmax * complem;
    
   /*---------------------------------------------------------------------------
   -----------------------------Turbulence--------------------------------------
   ----------------------------------------------------------------------------*/
    
    // Compute Final Turbulence Noise Frequency
    vector freq = vop_floattovec(turbulence_freq,turbulence_freq,turbulence_freq);
    vector4 hvec1 = clamp(freq * turbulence_scale, {0,0,0}, {1000,1000,1000});
    setcomp(hvec1, 0, 3);
    
    // Compute Turbulence Seed > promote float  to vec
    vector vec = vop_floattovec(seed, seed, seed);
    
    // Code produced by: vectohvec5
    vector4 hvec2 = max( vec , {0,0,0} );
    setcomp(hvec2, timescale, 3);
    
    // Create AA noise
    float noise;
    #ifndef __vex
       noise = vop_fbmNoise(hvec * hvec1 - hvec2, rough, maxoctave);
    #else
      #if !strcmp("fp", "default")
       noise = vop_fbmNoiseFV(hvec * hvec1 - hvec2, rough, maxoctave, "xnoise");
      #elif !strcmp("fp", "ff")
       noise = vop_fbmNoiseFF(hvec * hvec1 - hvec2, rough, maxoctave, "xnoise");
      #elif !strcmp("fp", "fp")
       noise = vop_fbmNoiseFP(hvec * hvec1 - hvec2, rough, maxoctave, "xnoise");
      #elif !strcmp("fp", "vf")
       noise = vop_fbmNoiseVF(hvec * hvec1 - hvec2, rough, maxoctave, "xnoise");
      #elif !strcmp("fp", "vv")
       noise = vop_fbmNoiseVV(hvec * hvec1 - hvec2, rough, maxoctave, "xnoise");
      #else
       noise = vop_fbmNoiseVP(hvec * hvec1 - hvec2, rough, maxoctave, "xnoise");
      #endif
    #endif
    noise *= amp;
    
    // if_adaptive_cells
    float       _srcmin = srcmin1;
    float       _srcmax = srcmax1;

    float constant1 = 1;
    if( change_on_noise != 0 ) constant1 = vop_fit(noise, _srcmin, _srcmax, cell_min, cell_max);
    

    float product2 = cell_frequency * constant1;   
    vector4 vor_freq = clamp(vop_floattovec(product2, product2, product2) * cell_scale,{0,0,0},{1000,1000,1000});
    setcomp(vor_freq, 0, 3);
    
    // Create voronoi offset
    vector4 vor_off = vop_floattovec(voronoi_noise_seed, voronoi_noise_seed, voronoi_noise_seed);
    setcomp(vor_off, timescale, 3);
    
    float cell_distance1 = constant1 * cell_distance;

    // Copy into influence
    float influence = destmin;
    int bound_density = isbound("density");
    
    // If Additive Turbulence
    if( additive != 0 )
        {        
        float shift1 = vop_fit(noise, srcmin1, srcmax1, -influence, influence);
        shift1 *= density;
        density += shift1;
        }
    
    // If Multiplicative Turbulence
    if( additive == 0 )
        {        
        float shift2 = vop_fit(noise, srcmin1, srcmax1, -influence + 1, 1);
        density *= shift2;
        }
    
   /*---------------------------------------------------------------------------
   -----------------------------If Cells Used-----------------------------------
   ----------------------------------------------------------------------------*/
    
    if( enable_cells != 0 )
    {
        // initialize voronoi outputs
        float dist1 = 0;
        float dist2 = 0;
        float dist3 = 0;
        float dist4 = 0;
        
        int seed1;
        if (0) wnoise(vor_pos * vor_freq - vor_off, seed1, dist1, dist2, dist3, dist4);
        else   wnoise(vor_pos * vor_freq - vor_off, seed1, dist1, dist2);
        
        float diff = dist2 - dist1;
        int bool = (diff < cell_distance1);
        float none = 0;
        if( bool != 0 )
            {            
            float shift3 = -(vop_fit(diff, 0, cell_distance1, 0, 1));
            shift3 +=1;
            none = vop_pow(shift3, cell_sharpness);
            }
        
        // If cells are inverted
        if( invert_cells != 0 ) none = -none +1;
        
        // Copy none into Cells
        float cells = none;
        
        // If Additive Cells
        if( additive_cells != 0 )
            {           
            cells = vop_fit(cells, 0, 1, -cell_influence, cell_influence);
            cells += density;
            density *= cells;
            }
        
        // If Multiplicative Cells
        if( additive_cells == 0 )
            {            
            cells = vop_fit(cells, 0, 1, -cell_influence +1, 1);
            density *= cells;
            }
        
    }
    
   /*---------------------------------------------------------------------------
   -----------------------------Output Density----------------------------------
   ----------------------------------------------------------------------------*/
    
    int bound_density1 = isbound("density");
    if (clampoutput)
        density = max(0, density);
    
}SaveSpareParms := 0;
CheckExternal := 1;
GzipContents := 1;
UnlockOnCreate := 0;
SaveCachedCode := 0;
LockContents := 1;
MakeDefault := 1;
UseDSParms := 1;
ForbidOutsideParms := 1;
PrefixDroppedParmLabel := 1;
PrefixDroppedParmName := 1;
ParmsFromVfl := 1;
<?xml version="1.0" encoding="UTF-8"?>
<shelfDocument>
  <!-- This file contains definitions of shelves, toolbars, and tools.
 It should not be hand-edited when it is being used by the application.
 Note, that two definitions of the same element are not allowed in
 a single file. -->

  <tool name="$HDA_TABLE_$HDA_NAME" label="$HDA_LABEL" icon="$HDA_ICON">
    <toolMenuContext name="viewer">
      <contextNetType>SHOP</contextNetType>
    </toolMenuContext>
    <toolMenuContext name="pop_viewer">
      <contextNetType>SHOP</contextNetType>
    </toolMenuContext>
    <toolMenuContext name="network">
      <contextOpType>$HDA_TABLE/$HDA_NAME</contextOpType>
    </toolMenuContext>
    <script scriptType="python"><![CDATA[import shoptoolutils

shoptoolutils.genericTool(kwargs, '$HDA_NAME')]]></script>
    <keywordList>
      <keyword>Mantra</keyword>
    </keywordList>
  </tool>
</shelfDocument>
# Automatically generated script: Tuesday July 16, 17:57 2013
\set noalias = 1
#
#  Creation script for scalarvolumenoise operator
#

if ( "$arg1" == "" ) then
    echo This script is intended as a creation script
    exit
endif

# Node $arg1 (Shop/scalarvolumenoise)
opexprlanguage -s hscript $arg1
opuserdata -n '___Version___' -v '' $arg1
    INDX              DialogScript      R//*
 * PROPRIETARY INFORMATION.  This software is proprietary to
 * Side Effects Software Inc., and is not to be reproduced,
 * transmitted, or disclosed in any way without written permission.
 *
 * Produced by:
 *	Side Effects Software Inc
 *	477 Richmond Street West
 *	Toronto, Ontario
 *	Canada   M5V 3E7
 *	416-504-9876
 *
 */

#include <parameter.ds>

{
    name	"distance"
    script	"distance"
    label	"distance"


    code {
	"$dist = distance($p1, $p2);"
    }

    input	point	p1	"Point 1"
    input	point	p2	"Point 2"
    output	float	dist	"Point Distance"

    signature	"3D Points"		default	{ }
    signature	"4D Points"		v4	{ vector4 vector4 float }
    signature	"Uniform 3D Points"	up	{ upoint upoint ufloat }

    VOP_VEC_PARM (p1,		"Point 1", 0, 0, 0)
    VOP_VEC_PARM (p2,		"Point 2", 0, 0, 0)

    VOP_VEC4_PARM(p1_v4,	"Point 1", 0, 0, 0, 0)
    VOP_VEC4_PARM(p2_v4,	"Point 2", 0, 0, 0, 0)

    VOP_VEC_PARM (p1_up,	"Point 1", 0, 0, 0)
    VOP_VEC_PARM (p2_up,	"Point 2", 0, 0, 0)
}
INDX           
   DialogScript      ER   CreateScript  E  KR   TypePropertiesOptions  Fh  OE$$   Help  Gi    OE$$   Tools.shelf  Gi  dOE$$   Contents.gz  J  mR   PythonModule    |N;   	OnCreated  -   eN̕   ExtraFileOptions  ؒ  COE$$   InternalFileOptions     R# Dialog script for pyroField automatically generated 11/13/13 15:24:01

{
    name	pyroField
    script	pyroField
    label	"Pyro Field"

    input	vector4	dfltval	"Default Field Value"
    input	float	fit_srcmin	"Fit: Source Min"
    input	float	fit_srcmax	"Fit: Source Max"
    input	float	fit_tgtmin	"Fit: Target Min"
    input	float	fit_tgtmax	"Fit: Target Max"
    input	float	ramp_rngmin	"Ramp: Range Min"
    input	float	ramp_rngmax	"Ramp: Range Max"
    input	string	spacename	"Ramp: Name Of Color Space (rgb,hsl,hsv,Lab,XYZ)"
    input	string	gammaname	"Ramp: Name Of Gamma Space (linear,srgb,custom)"
    input	float	gammaval	"Ramp: Custom Gamma Value"
    input	float	lowlimit	"Lower Limit"
    input	float	highlimit	"Upper Limit"
    input	float	contour_width	"Contour: Width"
    input	float	contour_sharp	"Contour: Sharpness"
    input	float	sclip_start	"SoftClip: Start Value"
    input	float	sclip_suppress	"SoftClip: Suppression"
    input	float	amp	"Final Amplitude"
    input	float	padval	"Promotion Padding Value"
    input	float	fw	"Override Filter Width"
    input	float	fscale	"Filter Scale"
    output	float	field_shaped	field_shaped
    output	float	field_raw	field_raw
    inputflags	dfltval	0
    inputflags	fit_srcmin	0
    inputflags	fit_srcmax	0
    inputflags	fit_tgtmin	0
    inputflags	fit_tgtmax	0
    inputflags	ramp_rngmin	0
    inputflags	ramp_rngmax	0
    inputflags	spacename	0
    inputflags	gammaname	0
    inputflags	gammaval	0
    inputflags	lowlimit	0
    inputflags	highlimit	0
    inputflags	contour_width	0
    inputflags	contour_sharp	0
    inputflags	sclip_start	0
    inputflags	sclip_suppress	0
    inputflags	amp	0
    inputflags	padval	0
    inputflags	fw	0
    inputflags	fscale	0
    signature	Default	default	{ vector4 float float float float float float string string float float float float float float float float float float float float float }

    outputoverrides	default
    {
	___begin	auto
			(0)
	___begin	auto
			(0)
    }

    help {
	""
    }

    parm {
	name	"makeui"
	label	"Promote Interface"
	type	button
	nolabel
	default	{ "0" }
	menu	{
	    [ "import pyro2" ]
	    [ "return pyro2.makeuimenu()" ]
	    language	python
	}
	range	{ 0 1 }
	export	none
	parmtag	{ "export_disable" "1" }
	parmtag	{ "script_callback" "hou.phm().uiCreate(kwargs)" }
	parmtag	{ "script_callback_language" "python" }
    }
    group {
	name	"folder0"
	label	"VOP Parameters"

	parm {
	    name	"name"
	    label	"Field Name"
	    type	string
	    joinnext
	    default	{ "density" }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"intype"
	    label	"Field Type"
	    type	string
	    default	{ "float" }
	    disablewhen	"{ name == \"\" }"
	    menu	{
		"float"	"Float"
		"vector"	"Vector"
		"vector4"	"Vector4"
	    }
	    range	{ 0 1 }
	    export	none
	    unquoted
	    parmtag	{ "autoscope" "0000000000000000" }
	    parmtag	{ "script_callback" "hou.phm().updatemethod(kwargs,False)" }
	    parmtag	{ "script_callback_language" "python" }
	}
	parm {
	    name	"promote"
	    label	"Promote"
	    type	toggle
	    nolabel
	    joinnext
	    default	{ "0" }
	    disablewhen	"{ name == \"\" }"
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	    parmtag	{ "script_callback" "#hou.#phm().cookme(kwargs)" }
	    parmtag	{ "script_callback_language" "python" }
	}
	parm {
	    name	"outtype"
	    label	"Promote To Type"
	    type	string
	    joinnext
	    default	{ "float" }
	    disablewhen	"{ name == \"\" } { promote == 0 }"
	    menu	{
		"float"	"Float"
		"vector"	"Vector"
		"vector4"	"Vector4"
	    }
	    range	{ 0 1 }
	    export	none
	    unquoted
	    parmtag	{ "autoscope" "0000000000000000" }
	    parmtag	{ "script_callback" "hou.phm().updatemethod(kwargs,False)" }
	    parmtag	{ "script_callback_language" "python" }
	}
	parm {
	    name	"method"
	    label	"Method"
	    type	string
	    nolabel
	    joinnext
	    default	{ "assign" }
	    disablewhen	"{ name == \"\" } { promote == 0 } { doconvert == 0 }"
	    menu	{
		[ "hou.nodeType(hou.vopNodeTypeCategory(),'typeconvertimpl').hdaModule().methodmenu(hou.evalParm('intype'),hou.evalParm('outtype'))" ]
		language	python
	    }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"padval"
	    label	"Constant"
	    type	float
	    nolabel
	    default	{ "0" }
	    disablewhen	"{ name == \"\" } { promote == 0 } { method != padc }"
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"dfltval"
	    label	"Default Field Value"
	    type	vector4
	    size	4
	    default	{ "0" "0" "0" "0" }
	    disablewhen	"{ name != \"\" }"
	    range	{ -1 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"doconvert"
	    label	"doconvert"
	    type	integer
	    invisible
	    default	{ [ "evalParm('promote') and evalParm('intype')!=evalParm('outtype')" python ] }
	    range	{ 0 10 }
	    export	none
	}
	parm {
	    name	"spacer"
	    label	"spacer"
	    type	label
	    nolabel
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"dofit"
	    label	"Fit to Range (Unclamped)"
	    type	toggle
	    joinnext
	    default	{ "off" }
	    disablewhen	"{ name == \"\" }"
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"labelparm2"
	    label	"forceleft"
	    type	label
	    nolabel
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"fit_srcmin"
	    label	"Source Range"
	    type	float
	    joinnext
	    default	{ "0" }
	    disablewhen	"{ name == \"\" } { dofit == 0 }"
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"fit_srcmax"
	    label	"Source Max"
	    type	float
	    nolabel
	    default	{ "1" }
	    disablewhen	"{ name == \"\" } { dofit == 0 }"
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"fit_tgtmin"
	    label	"Target Range"
	    type	float
	    joinnext
	    default	{ "0" }
	    disablewhen	"{ name == \"\" } { dofit == 0 }"
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"fit_tgtmax"
	    label	"Target Max"
	    type	float
	    nolabel
	    default	{ "1" }
	    disablewhen	"{ name == \"\" } { dofit == 0 }"
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"spacer2"
	    label	"spacer"
	    type	label
	    invisible
	    nolabel
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"doramp"
	    label	"Use Lookup Ramp"
	    type	toggle
	    joinnext
	    default	{ "off" }
	    disablewhen	"{ name == \"\" }"
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	    parmtag	{ "script_callback" "hou.phm().cookme(kwargs)" }
	    parmtag	{ "script_callback_language" "python" }
	}
	parm {
	    name	"labelparm"
	    label	"forceleft"
	    type	label
	    nolabel
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"rampparm"
	    label	"Unique Ramp Name"
	    type	string
	    default	{ "uniqueparmname" }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"disablewhen"
	    label	"Disable When"
	    type	string
	    default	{ [ "'{ %sname%s \"\" } { %sdoramp%s 0 }'%(ch('ui_prefix'),ch('ui_postfix'),ch('ui_prefix'),ch('ui_postfix'))" python ] }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"callback"
	    label	"Callback Script"
	    type	string
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"help"
	    label	"Help"
	    type	string
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"spacer9"
	    label	"spacer"
	    type	label
	    nolabel
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"ramptype"
	    label	"Ramp Type"
	    type	ordinal
	    default	{ "flt" }
	    disablewhen	"{ name == \"\" } { doramp == 0 }"
	    menu	{
		"flt"	"Float Spline"
		"rgb"	"Color Ramp"
	    }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	    parmtag	{ "script_callback" "hou.phm().cookme(kwargs)" }
	    parmtag	{ "script_callback_language" "python" }
	}
	parm {
	    name	"spacename"
	    label	"Color Space"
	    type	string
	    joinnext
	    default	{ "rgb" }
	    disablewhen	"{ name == \"\" } { doramp == 0 } { ramptype == flt }"
	    menu	{
		"rgb"	"RGB"
		"hsv"	"HSV"
		"lab"	"LAB"
		"hsl"	"HSL"
		"xyz"	"XYZ"
	    }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"gammaname"
	    label	"Gamma"
	    type	string
	    joinnext
	    default	{ "linear" }
	    disablewhen	"{ name == \"\" } { doramp == 0 }"
	    menu	{
		"linear"	"Linear"
		"srgb"	"sRGB"
		"custom"	"Custom"
	    }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"gammaval"
	    label	"Gamma Value"
	    type	float
	    nolabel
	    default	{ "2.2" }
	    disablewhen	"{ name == \"\" } { doramp == 0 } { gammaname != custom }"
	    range	{ 0.0001! 4 }
	    export	none
	}
	parm {
	    name	"ramp_rngmin"
	    label	"Ramp Interval"
	    type	float
	    joinnext
	    default	{ "0" }
	    disablewhen	"{ name == \"\" } { active == 0 } { doramp == 0 }"
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"ramp_rngmax"
	    label	"Ramp Interval Max"
	    type	float
	    nolabel
	    default	{ "1" }
	    disablewhen	"{ name == \"\" } { doramp == 0 }"
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"lbt"
	    label	"Ramp Boundaries"
	    type	string
	    joinnext
	    default	{ "hold" }
	    disablewhen	"{ name == \"\" } { doramp == 0 }"
	    menu	{
		"hold"	"Hold"
		"cycle"	"Cycle"
		"accum"	"Cycle-Accumulate"
		"mirror"	"Mirror"
		"slope"	"Slope"
	    }
	    range	{ 0 1 }
	    export	none
	    unquoted
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"rbt"
	    label	"Right"
	    type	string
	    nolabel
	    default	{ "hold" }
	    disablewhen	"{ name == \"\" } { doramp == 0 }"
	    menu	{
		"hold"	"Hold"
		"cycle"	"Cycle"
		"accum"	"Cycle-Accumulate"
		"mirror"	"Mirror"
		"slope"	"Slope"
	    }
	    range	{ 0 1 }
	    export	none
	    unquoted
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"spacer6"
	    label	"spacer"
	    type	label
	    nolabel
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"docontour"
	    label	"Contour"
	    type	toggle
	    nolabel
	    joinnext
	    default	{ "off" }
	    disablewhen	"{ name == \"\" }"
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"contour_width"
	    label	"Contour Width"
	    type	float
	    joinnext
	    default	{ "0.02" }
	    disablewhen	"{ name == \"\" } { docontour == 0 }"
	    range	{ 0! 0.1 }
	    export	none
	}
	parm {
	    name	"contour_sharp"
	    label	"Sharpness"
	    type	float
	    default	{ "4" }
	    disablewhen	"{ name == \"\" } { docontour == 0 }"
	    range	{ 0! 10 }
	    export	none
	}
	parm {
	    name	"dosclip"
	    label	"Soft Clip"
	    type	toggle
	    nolabel
	    joinnext
	    default	{ "off" }
	    disablewhen	"{ name == \"\" }"
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"sclip_start"
	    label	"Soft Clip Start"
	    type	float
	    joinnext
	    default	{ "0.8" }
	    disablewhen	"{ name == \"\" } { dosclip == 0 }"
	    range	{ 0! 1 }
	    export	none
	}
	parm {
	    name	"sclip_suppress"
	    label	"  Suppress"
	    type	float
	    default	{ "1" }
	    disablewhen	"{ name == \"\" } { dosclip == 0 }"
	    range	{ 0! 10 }
	    export	none
	}
	parm {
	    name	"spacer5"
	    label	"spacer"
	    type	label
	    nolabel
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"dolowlimit"
	    label	"Clamp at Lower Limit"
	    type	toggle
	    nolabel
	    joinnext
	    default	{ "off" }
	    disablewhen	"{ name == \"\" }"
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"lowlimit"
	    label	"Clamp To Min"
	    type	float
	    default	{ "0" }
	    disablewhen	"{ name == \"\" } { dolowlimit == 0 }"
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"dohighlimit"
	    label	"Clamp at Upper Limit"
	    type	toggle
	    nolabel
	    joinnext
	    default	{ "off" }
	    disablewhen	"{ name == \"\" }"
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"highlimit"
	    label	"Clamp To Max"
	    type	float
	    default	{ "1" }
	    disablewhen	"{ name == \"\" } { dohighlimit == 0 }"
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"spacer4"
	    label	"spacer"
	    type	label
	    nolabel
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"amp"
	    label	"Final Amplitude"
	    type	float
	    default	{ "1" }
	    disablewhen	"{ name == \"\" }"
	    range	{ 0 2 }
	    export	none
	}
	parm {
	    name	"spacer7"
	    label	"spacer"
	    type	label
	    nolabel
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"ftype"
	    label	"Filter"
	    type	string
	    joinnext
	    default	{ "point" }
	    disablewhen	"{ name == \"\" }"
	    menu	{
		"point"	"Point"
		"box"	"Box"
		"gauss"	"Gaussian"
	    }
	    range	{ 0 1 }
	    export	none
	    unquoted
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"fscale"
	    label	"Scale"
	    type	float
	    default	{ "1" }
	    disablewhen	"{ name == \"\" } { ftype == point }"
	    range	{ 0 2 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
    }

    group {
	name	"folder0_1"
	label	"UI Promotion"

	parm {
	    name	"ui_prefix"
	    label	"Parameter Prefix"
	    type	string
	    joinnext
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"ui_postfix"
	    label	"Postfix"
	    type	string
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"ui_infolder"
	    label	"ui_infolder"
	    type	toggle
	    nolabel
	    joinnext
	    default	{ "1" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"ui_foldername"
	    label	"Create In Folder"
	    type	string
	    default	{ [ "node('.').creator().relativePathTo(node('.')).replace('/','_')" python ] }
	    disablewhen	"{ ui_infolder == 0 }"
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"spacer3"
	    label	"spacer"
	    type	label
	    nolabel
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"labelparm3"
	    label	"Field:"
	    type	label
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"sepparm"
	    label	"Separator"
	    type	separator
	    default	{ }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"ui_initfieldlabel"
	    label	"Field Label"
	    type	string
	    default	{ "Field Name" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"ui_initfieldname"
	    label	"Default Field Name"
	    type	string
	    joinnext
	    default	{ [ "chs(name)" hscript-expr ] }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"ui_forcefieldname"
	    label	"Disallow Empty String"
	    type	toggle
	    default	{ "0" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"ui_initfieldtype"
	    label	"Default Field Type"
	    type	string
	    default	{ [ "chs(intype)" hscript-expr ] }
	    menu	{
		"float"	"Float"
		"vector"	"Vector"
		"vector4"	"Vector4"
	    }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	    parmtag	{ "script_callback" "" }
	    parmtag	{ "script_callback_language" "python" }
	}
	parm {
	    name	"ui_forceouttype"
	    label	"Forced Output Type"
	    type	string
	    default	{ "none" }
	    menu	{
		"none"	"None"
		"float"	"Float"
		"vector"	"Vector"
		"vector4"	"Vector4"
	    }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	    parmtag	{ "script_callback_language" "hscript" }
	}
	parm {
	    name	"spacer8"
	    label	"spacer"
	    type	label
	    nolabel
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"labelparm4"
	    label	"Ramp:"
	    type	label
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"sepparm2"
	    label	"Separator"
	    type	separator
	    default	{ }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"ui_initcspace"
	    label	"Default Color Space"
	    type	string
	    default	{ [ "chs(spacename)" hscript-expr ] }
	    menu	{
		"rgb"	"RGB"
		"hsv"	"HSV"
		"lab"	"LAB"
		"hsl"	"HSL"
		"xyz"	"XYZ"
	    }
	    range	{ 0 1 }
	    export	none
	    unquoted
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"ui_initgammatype"
	    label	"Default Gamma Type"
	    type	string
	    joinnext
	    default	{ [ "chs(gammaname)" hscript-expr ] }
	    menu	{
		"linear"	"Linear"
		"srgb"	"sRGB"
		"custom"	"Custom"
	    }
	    range	{ 0 1 }
	    export	none
	    unquoted
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"ui_initgammaval"
	    label	"Value"
	    type	float
	    default	{ [ "ch(gammaval)" hscript-expr ] }
	    disablewhen	"{ ui_initgammatype != custom }"
	    range	{ 0.0001! 4 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	    parmtag	{ "script_unquoted" "1" }
	}
    }

}
# Automatically generated script: Wednesday November 13, 15:24 2013
\set noalias = 1
#
#  Creation script for pyroField operator
#

if ( "$arg1" == "" ) then
    echo This script is intended as a creation script
    exit
endif

# Node $arg1 (Vop/pyroField)
opexprlanguage -s hscript $arg1
opuserdata -n '___Version___' -v '' $arg1
ParmsFromVfl := 0;
PrefixDroppedParmName := 0;
UseDSParms := 1;
ForbidOutsideParms := 0;
LockContents := 1;
SaveSpareParms := 0;
CheckExternal := 1;
GzipContents := 1;
MakeDefault := 1;
SaveCachedCode := 0;
PrefixDroppedParmLabel := 0;
UnlockOnCreate := 0;
<?xml version="1.0" encoding="UTF-8"?>
<shelfDocument>
  <!-- This file contains definitions of shelves, toolbars, and tools.
 It should not be hand-edited when it is being used by the application.
 Note, that two definitions of the same element are not allowed in
 a single file. -->

  <tool name="$HDA_TABLE_$HDA_NAME" label="$HDA_LABEL" icon="$HDA_ICON">
    <toolMenuContext name="viewer">
      <contextNetType>VOP</contextNetType>
    </toolMenuContext>
    <toolMenuContext name="pop_viewer">
      <contextNetType>VOP</contextNetType>
    </toolMenuContext>
    <toolMenuContext name="network">
      <contextOpType>$HDA_TABLE/$HDA_NAME</contextOpType>
    </toolMenuContext>
    <toolSubmenu>Pyro</toolSubmenu>
    <script scriptType="python"><![CDATA[import voptoolutils

voptoolutils.genericTool(kwargs, '$HDA_NAME')]]></script>
  </tool>
</shelfDocument>
      ˓G'V3y쎙V6@],ddzfsAH YVQˬ 2NkڋNY &tEf9I_ F;ҳ~<ߠ?XпO{4A` Јt?Op<>W!ϓ_lΫb2^QV=ݳbTLr>y:.Np]kBĞ(/(I|9}	/.Ap^lS𥸘eeq>/Y=NQN%yb\f˒dyQ.Ifu\,ٲ5_	<b(?(4Z{X|u@Ӽْ(ђyfjL^RlJGQG_|ϟ/=/??1&y]ykk?	(OO=pm/?%XkkpI6SkkWeQn?1AbG/1/߭'s8k?=iL:b=a\"HJ7Z)IOl<O$QFkdmg:=]?5*n'OXp5qi;RgXE$WcZT4&LRuk4sk\%XwKGTToj)kG%z#lR²N]Y65V]HgªUARO_$O𱢔XG1g Le.k^!o}+?k0mÄcU?db~fɗHg$Ǎ}/_dQbtWYak/ i~l\jp22X5\9"@5򧪕][/lB?|V5h^\@e+-M5{'؏DCXA(qoqe? j<ˏI鉩SPZOOٴ<yxgoqՀR?zٝ;wKQI>'\.96Ci6ؒ^n7'i^[_?D:*XtD+9'ٸmtiNGYzҸ7Q1-N>²3Nx<~t 05Ή</&$=DUr^LN;h-|؞Ik+9ylOOvvÓڶ9P%k%ȌI;.nmSbJf$WpNAWu1*ϒ'XȖ~ɟ_]6rGC SDG֍xkxԶA#R/\f+,G9.|)XŸNhO֠"07:ACtlXNt<A4g5eiͧ Q+!Ngu֖}ygyipg2ݫ9Nj6tIh9Im[@&IKӁ]Lxgs}(Op:y!fcɢ,;&L|tsOfi|W3\3ؓ[u1..3_)Q	O$'|X&]FJ΀ӝME`a%.Ay:.fME(Ĉ` 5_]ˢ"U,}9V}9==g,Bu^RjH;/4h8j |Uq]dr	Ȃ3K`Y9B.Ĩ@d<0NX$}KVN]UOكGlug[xDHmn'H6_:"?fs<Cz8i%M;wڨuWjM`2M+#JMY*imkYAҏevj.
BUEMeG.	U]<|F]ǟ8p<rmfWנ	ui}>2׉h8R&Zxz/<QcO 3ꗫzE6p忞I4jMo<//!VHT/2u親AԚS&hMQ߮w}nG		wz\661hSXLnp)[uMC'6Uy\+t1yKG/4'p$z1gDYiHbp81'c<ϋ|J5 cRs^Z.dj^duqzл
vVpnQPru̲y8Iu
ua'7_g-ɕ.Y-ܥF\h%Y\;<㴙(a tVznn7ofXJJ&G.ńէ*XPlU /+ 2<x|f\LGdηw6w>ًV<vke~VfR,3hů il,/8܆ZjVl˃Km]itZl*U'ti.\Ť(m]/.#dckZtEm跤
HZ
Gr抶el5rXyc;DƞW?, D:6ٜ)z>Pײ8rhJ%AYO6o:wx}b027k*0ܖeauz>~ro5z4/6:ۀ{Oq~6tsΘ_m;\nAgKq"p9MF *!.sQ$B?]bpu.%nss}|	//eBsk//j
 s8ػQ6AEyq]vZcd=$hc
7)}i@	V8XjAELXf7-#t}6Oom[?MGۻ(+6!"ves{u=U!%rIsov/	2W{]׼kbrwmdTwo8
!p/*NM|
|:Z3,!eus{G@0Fvd/ tأv냯T!5A2¢cAzA4ܘHrbPC{jü:Kl/jh*?i6Lgs;Qb;Y:nͻDȗ\ڲҬfeBC]MCQheL^۰v9-33d\nAmhež`hL6ex&YbsM+^peu)UUmP~dY~Zz~ٓ=|q&ɳw&ɋ%2cg	гyp~S9'+=J/A6Df49ɒ9yhMɋkd΋Ŀr@N.$ߌm^rNNY6?/z:4frrq8E"AOpXLPI <8r?*<<4zÃ}&
9ge[J,"Jۈx'w$UFF$٘g(Gľ]/3"j	{[ȸsIk2	1&EN=<mm;xrxmf6G^hQ^Rpt%'L?`l/.ܠs5mrV!᤹$ll09 xP;15c!@#ENѷ֩P9ry0tN:1>bNVl`MqjS'y`;G@X*yia5e8Lde-9qBן07R}CwH[O#'?VtFa;u-UPYWs!p>iM^_IcI9&`vr'YN"2򮡇>J,f2!UG@Lw=tRb(bHTZtxu0bQ\|_׉-25[#
a^k7ľ{ 7{H^O?|ĝ6;	'}$;.\	x$DJnIJJ%.|O*PI
u
lkJYzkAy՟y1ms+龍I/rWeq6_\-njwqK>z=3	x>IBTiP
k؄/'7O#אw@hTJŜ<O_%͑.EYٯ\nWݻt7 ,20K&Y&f$TlTpǣg"v
OE;cLU|	/?"!#]%/HrM%|4%k0O]JKBĹ4;4LynlL	иbS֠C'dnlxde49t$7yolZ  We4{]޶*dH-ɷߊɖI:=-hچEAs.٤&9H?4I^vRq>1HmQ%SUciDl\S4H"2mMdK0 `T^+B^-$\JIA$> A+b l"s_HWa$`u @s	$8s~rZSq5+#j[.C`rmr]btl5Z
B|~52j]zڌQ3
z&.TM_T(9u&gs/bf[{cd>ffzy/ꩨ_gmPk;Υ6Ⅴ&Br*rޗ֤N:ʫ]K:%@I-AʈG-lVJ	5MuZ.jr)Ѫ
,%)*P
lեlJ{]*咤CdpI(h8ed><k=k?UWckR;+v7gC4Fv,9"y!b}iuY7>
1JmbyЊoq
cCjITcIU8_(X#\|MGֶ~o9ߚSRṭq&goۤUOߙQ"ֿo|l%r99A0ӸK۩H8ˍǦMU׭V4.)x~TT:V{龲s+rT]DcVhIMu|%SrNVdr%,X$"'QeVa\}з]|A	IQ \	nltT<	uoJY%WO~5]:Vy] -%9ƐMx[P;d٠/tF9$9LJ+b郯e6)4'ϧ89u{gTs92C*4.5Ic0SOyEH9~yV,_%ω$oRU6^?{s+x|1g*믥(!r/9v/sVU*ڥK<2J?x^G:w\yw_?N3Zwoҭ8m}3Xɥ`m~p㿵-xIyzʚWC@^bߋZkO,#\sܽFItK+2[%VjGS>}HHGtK}>zOJ;JYP^#dERU4Yf+),@e0L,G(8I@>.}ne#	|]~@~
xYC%+w~suњӶSFf4,ֆI{slӱy!7J	=,*ȷ-'1e;y-/J"iU1cL2DJ
'!VC)Mi7;S&3^A!wYoF҈oqݮ+fpcm"*pKnnˎ3r9XW4Wh`^34ZCrp@;˳bx38Bd)<q1,m!C[wUlxKE/'446.wU6 i۵I7en훤m'mXr}ٶWIrJ>h!6U[b$17Cw[&f#r
=s$cmc|Q+ԚN㓒%ysR+'R&[!JR5%DOCq	bV|kJ6FyiI0	3u
_@5!R{8I,!;FeD(	3%0߯RSvL>-{aݶ֦,V%CAi7moBv<|؛d2M\LfWygb]DMd&G"0R`ӈFKVhؖ3W0wZ'&Z%?dT繩M.opLn=m[ULESV.DU.nE4fmkݍX78-R-O(+BI'<!`zAYz\WВƼin5Ff
Zؤaӣwﭯ`GqNf*37Kɨfw}ٓ58˗0%	q_$n-MܖԘufڼrr%bFP:Io)|l 74[=U?a>kɸE4U)zzL!f~{nZzei˖Qc%M	%πUđ2QBjKO/;cJΤڨ9av6<d(;<	**r33e}pµ>fc|\c(Y_$g"ND.mYBTy|BH*|=oϒ(6OC}yɰS]K'|Oxj1<m2N5fݳbyhtq=Mܙ^ozwj$4Ό4I@&AQ[BִRkF-p4x{+O%4d<jz2s	Νyx3_ufk3D;+
XgV%Hj(Bڋ1ZDn_UX$T=9cWJ̝*_ y3VͲ]kptOpXY膙u\h9ϥ;P(ou͎4t#OH#p6?DWbSƇH"~ekɼFW5(k'WHnc7,H:+^xzbHCFn:$ބKh{k"_kEW$D:BU,/<Yt@ᘼcy$"b}uϋsE(ٝ±iت#gr=+Nό=ڧNzݣ6^J4Rv?ت=5/wv{k^fՓ'767=|䠗K*տ-fxC"۝ ggSգ3;|IȹDH!(17pkHRqखN}Wb>t0"(Rˋ,EIiӬ()BЮkeWިo!/D֕,d]*i&l`?I=kzM5KX]גe%+IV*,p-ٖytUy}oqK\ѵ/(xH[ X~G/gk!;0`݁p`#*{b]Iy\vyHw:rY"6_	X5(nAFʃ[P6hlkP*D!ElmuZ[m n:Gۮ>KK}۵vwjaCۘZT
.Y^9 R>zw꾴սOnIүs4EgRK*<1QOIWG+Ҩ1%'́%HnZ&F`\AZ2ocZ
~;NgmrU˖Wyǁ1	WfRͯ?W?hi8k1n.W<Nn=`1w#DK*. D׏e%/|O`ؾ&wR4/kBvZiPDo6N8[g~T&e;b=m4~q_?˖kko<?пOZqiF)ɋg=~h%}tx>{P]KHJQ4^$󮱑'5{so+v	ko<_Y`::ShJTW'u,$m?R*d);P$U?\Ք=E$Y?mWZFhF4a*ũfAT;0nUKBbk;WG5q$G8oŝR4;tG:${$d~HP.9#Cc:]q7`*q{ܾդq&@l tF 6_l
bEueXqN:#'FPϓSc>_K&nrjHsnN6irjJsnP_Sss+VԪܶ 	0 \͙qͅetq6vV㲴99r7`ⲷ99	'DY }.d}a{sftsa{f39˽ͧb|*h0ιk;L3
5V:!ymlN3c,pL^n˜3l9dϓ@a*j+n6]Q\qrUEsōPQot+j+nC |7W*G.TWFWTl:Q+]	crY[k%cdq슚l堚\o+f+a	=0ו0rpi+f+aaU1V4xWhWV;~WnWV'UmN^1]	d1,VbV\;fr,9PL9P&<<V{AEo&OE`wKJᤙPkTm ,<pTYyyyWδ͜N[3,&0Toe30k~~ {\.  
@ pf94P@-/Ǌswz <  =؋
@p(ڴPh`+ڸz0p *J &y"h7T`A0VSylPGPRPWSpll ,쀗*p
"|mzO
"\Nџ-#-b̐{3Ę!*HCCo\ ݘʡ^f9gCSPAgXAKr8
Zz*hL+/1APh5C;lc+ڸttAxy"Ax!-}?V` kˑO-6(Р-YزSB
*&ekTF.'p4P@7\,=m֜A YW̿jYRgqY~nU/}{Tj_5gJEgrznUKz{TF.6^3wdL¸k]Ύi2:Q,=W*G.3fUks{TF.!GԄ#n% j7Rz!GԄ#nȕ8'e>C	GܐKNQ<1!+܌ LVnCGk]'3j0Z.!GԄ#nU|\Q!Wͱ\̥-HwBoTj!Ĝ#a.3.94Ӑ#f0J
}m76jg!pr8g=<G!3:9b	Cd1,܆1!Wzb4ېLl8^7`v/af!-1Xӧ"P;<!sUbP1UoIZ py!w\b3sb΋P^$tFn>eqZxl(R\Ό{3Bɝ\!hKcKsȡ֍Y:T\!msccx3<P8cQ2^-
OGx,:Jݹ>Gؘ\';`q{Juvu
A{ΡeYkTJ$9 #le3,veoTO%6ڶ܀ɍw^qmq͐yGֆ\299=$kƙ\=g<$FLL.oInsKBŐ3uf;MrCmVܰPqVqn4bK|.C7^^@0>s+7^>ܝ1zVϹϡR٘nSWM~ƀ{3DTWTrr'Ìa=\r%Wxr╣t+V-^9	t?GW}ÓyptAŀWNm}9?;$T*x@}-ѠWTlij^9*zPqHӆǄ
^9FPA+','L+h͜6_-Q	`:5i0CU
6TrCA89V ,/
CP1`sfɑ4pp8J؂@ @`_`cs84 :8XsOL@  '@`kQHlϚ֡)hȚ6_O1@ #s|13;? k~,W֏}n5 r@lu;;<Tf# h tr[|CD.)ErQ:B=_ZZ>(䮢Pesf0
(T]FkDr8J#/1B?ZiF̂q_1ܛPsD'RyBT
5R-;=õ
R9Bcő9mPBǴ?+h>GSA7Sڸ=SXRoϝ6_!X#hӬHFЦ\0XBD<<V b
AV.9+\G{*ƪRXutб!p ntdXAM pQqF
;C	1aT1fHaւ-Z4df=[ZZ6;L i]h"DJ\9:4s:aFDqfN/nCG;3gfFAFPNy"hQi9n#T]"kTj+Wa=\r%Wx^F 6êb**TC~p!Ped~5T9]PF 6ǐsAb|+3Ę!Y_,UX:سuer@Puƨ=cZFF,U?YzlWδ͜.@!PƲW)_`c
$5Par@v\g9D :Bsuht|!AՇ6#A9ie.@'Xs7.GDV|+/_v˘7?aZ'845)S-b	D槌"B>E	p-J1U*3bbxS@;ug-ϙ{5"|<xk<!.|G@\~eG@\qy1@\qy1GA\qyQ@\qy1W@\ɬ"`jvC]	uU$UmPD 6"*ȫZ /@+%44<_po %!:ÿ
C34-uA .1< |l	 #ChD$+J]\ l.2Afkov  ;ە'N (B04@wdXQ`iF./{_{x,˫$l[W(N,w6N0{*]BNP/^2G~xԗV8Y}y+%Mx_IZad:B0d_x|/%U!RRE /'ZP p$t
a#%)/?\-,gWb]a9#W(b9+lDe,ptU
+lԱX^.e (	H1+B+ j	BG~o@AMF-;BXG/jAVbvuaނ<wk?*X74pJf/_>sĩsƜo`70\s^sFQ'p`uFQp`1wāq'q`QuFƁQq`qc/<c/|ЗGA_Rc/:c/<
(ˣ/<
(/<8ˣ/<
(b*b*
@_}J꠯*
(諢*
(諢*8⠯*
(Da?~ 
@h qV jAD BQ8!!B A88x"D""D A*(XKD<,;'"r/XP4&
}+E~EE0Wv%]¢"FCC,-bzyc,qXq_q㎪D"Fmb*Fb&FAb"Fbp`WQHq8q(q		q~q}(PC1ЇbB>CQЇV
}(A>}(
P(CQЇEA>}(P(CQЇCβv	<:z<]@8[dfyٙL'$JWdNY^2LNz_yt{]L3I;$dff#O>-xz|8/f%w$AQOI^d2!tb4dsXf׿MIڿה=-[F1Z$/g$2v`p:hܽ|BoUi.Ӥ$C\KNʤ&M8MyFd's8HdX	"Y!+]m!Ip\IXJiZ<(8;c?۠*8N>J
t2]LF[v7H[~N>NɽdcKC7cwP9H1~mw1ocLP2K-~vmg2*rOpLWpȺcѶRJJ9STeJTyDҢ eVuo:H+vҎq0qgˮ6RTwMPQ^
v.X6W[#.^L^CTunE@DNU^(ycT&Fo|k{we#DHWkNnmv]t|G$b/ϲI:-/>"w
GgS %Y:g=Fsqa&HyUGX8^`11٤-03!p3YZj'~(]7폡«$5?EaoßmFe,Yq>2{QBCi^GXQ4^$P~a
W:H# NO~K?`&ޖ}	8l5RZ}"qZ㾂9}Mm陏(k{| &q>Vz|oR'VgKOVzlxWL*ʤҘle@g\ cܷDp7ڹYqKkíVzAyX1NVFZwaoXAfeۉ@ի!׎[YUv"M:}:=ūb*WM:4z!V~Q]Ŕݹ*BKܾnɑ3s߻n]tnmwқk(V˸[gms%+WE9U'nݙRzvLv0mEr"y
Im}|5+͐ss~zqb(3d0 MZ@8`]&Cr,7&w9Vcerl~[Ztpz:5\-n"0{r.n`T7Ox"gTk}찑7ZiL'ZFm˕O0mmSa76qkC`9SXa]&N1*8.7OSO>5Q~vtL+U-®L~9[Q]&K0´HiuhSgY'oЦ/E*MN8aǚsv2v#
ME-mP|T-0h9S d%YSL[p& #Nۛ!0!hʝ֡νw ` PΚsv2v` *Y"!ІB0q@d"T^#pT<+gk$ІI0QIH/ 8 	, e
!
X0
 0(T&D PT*a]! ,`" ˮo@+l{DXrwY&vŘW9b"P9S|nS["Йa_V6p[j:T
u!9soTv.bwy@e!1[ޮ:4zr5v=r-es}\uh^]xb, @H "`K\|*WVy`߷U6ݰoتCy#ٸC-䯶<)TVjn[j@pʀ)mȖ- e>MLE`e&L&0fޚ3ƶ$Ԇ),hԚbE*YSׂBL!Ȟ-.c=l;&hcϙ_=#7:82uhiU1aL3[8Ȣ=g*Aޒ?_KNW[
vR.;Fm˕OT=HSaزSv,%`<T؅G"PjxkT6POSOսESz_ehdPiz7fKE`TD"0U/gr??{D`cZY
m8k~)QÝ	@Ev+,}9g'c7D`["6PakTtB
xH)5O*PMC"X۾L^~87աYz\!E3r3u1epHPn͑3s	H7H[3"P'C5eA~OΖs^9(7[Z>!wWrc}}a+}/jxXw]!iSgc+3|TTg\87|{DR["И@#c͘@~SOZ[¯Cnϛ֡ƺV؍<"0l]\]nS[3"xx@shɡ#nϘ֡2.Gh094\߬S6e8_#o޴-&WAGU/w ؛!#it'wG' ~NZ{N_i?94gmzL]GT["PxnM`͙@$vT
XVֆJ:1^΀6ځ_S*w}K֞;C{6+sD`e9;݈#|c͚@gƑwTiZw;=sZVur{q|5:l~ m8	rHU*Zi
{xepm"%{8VUnkƧoŻ-  -`{޴5:z_/ u*il 8ƀEmqn2 Xp 	,Bpm+ dڀm@7B 7'p8 m{m^u.B,.^x.m.ݭ\: Dyv!0p 0`C$-Xh#[@"`"AѥBw;0qPރ{޴5=70KqPcQN`F~'Nj9yyWō8+" X<ہQ\|ф@.׀ENBE!;h 84]ġ8wx0n/y}pVoq0n/6k66`4_:"B%Dc}ͮmrZy0wH"p$ׁdjQSH/1|PCOyf~B	Pn͗@eAD&B5g*
9@᠕iŘ ؊-3M ?}QʝPybYsNNhguV5YPN9AFzN4tseNЪNndf5\:lՈf4ϜC|XVCrH/Ya@_V
ʏ8wtrNЮquWPn͗@umtbx5
֜t~>B4\k0Sӝ+~*p֦W{;l!WH-p;m`K-
AÿFk[<V5]`qBv˖=kZ=rsBtzǧL+Mn|=hT2%$hT2&^BlBp N
A/>vl]SDVD\VDVD\VDV\VV\V>":nc+".c+bb+bb+bnb+b.b+ba+ba+bna+.a+`+`+n`+b.`+b_+b_+b.##-<x#-<xW	oyWoy1[oy1[oyQG[oy1[oU*k<U-0;6"wUXU- ^{E@_}cZ/@Gc@`Dqo!?}Hк  [h?A >H!4"adA%v
.A ^J 3۵7|fFI'A ~o!q2B(	]#~E֏~yIzYIXVI]+'vW'
ĮW'g(WD#?<_
DK+^,~Ⱦ/oY0Qz!K/cb`>嗒*)"?-z(8XJUFˉyUC.+1.l䰜e+lG6XҲH8XҪDIv6XV,/AE2x$ǍPX{p X!#?JrE&VnQ#oJDl:0ovUb;	[,F8$)q1gn`u:wWzƜWwƜQo`uFQp`	uƝqp`)wFÁQq`Iu'c/<Xˣ/_QЗ˯ˣ/<
(ˣ/<
8/<(ˣ/<
b*bjWEA_Rb:b*
(諢*
(⠯*8諢*
8QD?  AU@ @ZQ(A8 qHa!C A$H@"!a"E 
Qcx/"$= 1EqȊ`_#̕E~WȲ(
8⪐^=K,wDW*Q(Q81QQр84\-FaBaa`
Ɓ`A`$F`$E_Ł_EA>}(PCЇ PB>tuЇbEA>}(
P(CQЇA>}(
P(CGl<#]9v$vϳN뤻9(#O;٫t^v&I&,&5'ٸY^̲N1)l7t^'$8I5{9.lR>̿ n.ʳ$s4ù{I#e:D]4x8x-iM\vg麼f\QMa-2HdQ:.Ud5u"]qΦ9 mm7|O1Sv81?O>-xz2!kk?;ɟ'?iF)ɋg=~Ν;k%ayBx8`u(aY^$}9,QM~{{״!%
47y+eSLBvK
T_"K^MQF%L&Y6B	
PRNz}P?C%Ep4"7u= ?JJS	:"ʾG2,Ȩ6J]WԻ'`SPŢ%/XU)vGTHϳɢ<<~ž(ѠAn.&]Lq:-]Fg8hp~p:#tY0ܖjM?W_ՌjSjK|."TQ Fg٤}M0~}MWmoX&QFu/Φdxs{l?c»L~BȰyɔus{G]kswL6265J+q#vq|k*+>F tYЈFzafsҖ0L+4I
yo{S)mn2铇Άhq1snO?
2*+qN׭Q0Q,{㗳xQc{+yeQŏ6-GuY6pl7/qmH$O'"WxiXRNE~aB(K\\$<yP>bMt!F,r%Fb,g>|$E:s2ti1
ȴ`ݠ+cDb8&1J?RH%\otBPUŜ7vAC8t&pA븳{1\0"e8@m4E!0xX7r\bژu	1Wq<U3a=Aq`x0ϰwԘpTt13%yz4~k8>I4T$ Rj7d*R<bvk5IE;o1ӄP._tpr>d#'F$_O${eJ;H,óbͦ!9¿?NWkp	L}	i:j1DVUn&H⟴vvNVSF|0J7.ceZ*.D)*MHCU/&t<`>0_QEȤ ?Uj`M>3WE2s!>c gcHSXnIȓ͝c}dQ RvKZzRVjMVK^!GdWoqvHgy	dU!ySi^.4
:EikG8OE!I2]unCH1UA*0Bu|EDa]{yme\%
ZyImY^wbXM<f+.sec8d-,2\b,hz^L)9|%~l+5}1<P:t=1]srKWKJ>b}NEmHWR$ᗳJ/|My/\Aa2Lj3m٬y<"mز1[/ؐt7b۽wJ5$յTh$ToZ5Dae]*bѻD''1+-%5R&%Ë;fnԋJQۥR)."C
e/},Xg7$A^
t-t$2&6"fLU+tkL2Ah#y	DaUfIEE+Ci%{_a5iJ=e-"/#,Cˈ+# 67c@ZTC6'Ij'5vp#שoZޗ	C'e<5mBSF^
}Q.Y)eL"1pW@u8 Jܬrh*\r}0g'c39妣%ҡ'o#Q+m鰺%<¬#%nrÈf06wf#06wW:A`G۹͆ale댏;u(r$1,2$x=zۼ*Z=XzC2.;^]
n#-]lMV
{LcktXv)*rڄ&,?dMxA灶B @*Bb(ԪoK`::UqWe$n:#!㊋B9esvʼ]Ng>_'ޒ]{f{&EeXz;1_[^WD++7W? {GI	?&}5R	2gE6S'I~Ype^t~oOɯ٤ĵ$vId{qx.IׇSlx0b3Ki'[cK~iI_Bb_,zMgg,bG#*'?HAN5be%,D٨XK9YgK`ztsRaβQw9|Ž69zIKӍ1yWJw="<F!][Ʉlŗ%M,$Gfط= 9R09O9dGz4+\V\c6NҲcriawl
G~6<U>ӎT.5=}̏ {_*ȅ+\h*V;\706GUɷ~mP~vX;j(KL.i&m6҆W0Knoq}I~F@0q~wbɼ*&tq]l諁pH4wppcg$ױa͝5ůc[mA`Jvp9!$^?X[e,po/3fGK_.b?!{I:{I3Im?N9}Y}x|axj[Ͽsrd/Q)K^ސ?؆G2f+oR64o.ZfS^1vzv1\0@=:8^O{(nQ5Lu,B/П۳=ydh:V {撑X=%h97Ƚ_}vCJ%(轿oyTR
  RlвyJ@ꃻHk6	X@;8
hQ}Gpkz<#qyGk==Gzi:NSk)Ņ:4
RJqb\FR\C`).ّQ(Zvdvdvd.ۑQ>.ۑQ>.ۑQ>.ۑQ>.ۑQ6ht'^:I#SY	iLþ߰7~þ߰7ASAS؁TAmp4Amp7p7 5a4@4@4n}o;,f|_d!vŐ-c%`z] ˶Np2|:d܃>u|Kl:lӕt\?\@:BnH. !#####ݸڏRij$C#$!%!	)P	IH	HHBJ0TIBRjUBjJHBJ0TSBR )PM	IH	jJHBJ0TSBRՔ`$C5%$!|jJHBJ0TSBRpj TSBRՔ`$C5%$!%)!	:TSBRՔ`$''B5%$!%)!	)PM	IH	jJHBJ0TSB)c$C5%$!%)!	)PM	IH	jJHBJ0x"){Ք`$C5%$!]	Ք`$C5%$!%)!	)PM	Ib6}z /R#4v,Yy^qӍNR#- =L~o߻oDsMm oc{6^u@ۢ;#}CzS:f {̃=skyo(exp$AO-baA@u^ϲ{2xwOzYծݓ+k&CIz_iڞx.j\.{)8LA:8:o)l%sbc:Y?%lIz8ǩx dQu_IŷU.#;XXɹR> FMgq2X<Y^r=NQvJU5&59-#ҩt،bs;Q|Y]i[kDf@>'#ov(uA"#rmyTgh]"ԷmW)2=m'0%2Lf.Kh~
eƲIDr	-Ct$p	)I&	ErȊQ!"ōHu"7"-R^REtz00{UBZzu=˳_1}!r IKpBfW-IQ%xc	ݳ$O$X].YZF&]B(M=hv'߀`BǚW8f<i!Ӏ߭(P51R􀵖*qZRkaR·/uA$rIUZLt
Z*ɐ?_
hZ&W~JK>񳧳?~ghǐcv ͚ށd=8:)={_Mx;K8`'_-t@N|VǢf'x3e ̟K%K\AZb=Q󜬐|}%A	&sXȉ>ЪׁOQ&b8h"&␝?h"1&ݓȒk`Y+Jj9۲`ҼC$k{"C7^dXqڔU3,-smevO]*1Jt0w\un='[l[YPmuVv\w]}^blpRZ`<YޱK5ԝstص3w_gW侎7כt۷˨B"DZ"Kz8Jq'qRĮGE];jlLw2hREi*Ezf;l6eYyn.2+oK\><bxגNT_^?hY?V_NH]BFB~i	"wV
N$[?Kٸdp.尯׏j}1L<YO_exMKl*J<yXeݖ%Jߒ}jh.^CoٺѼHIKDpi)%V8faBy;gDVGm)%O9ozq4w@]6H<s^*Aùv?">AJ6A&F"o7n"H1.U;l:RIӤO]!h==>yT\ʣҷ&0چ*!&uC"%p6?L7 (/`=\a+*(^zXtR.86'^\7RgЍ[3v%_$,vn7z]+eٗ2TkvVmmkv(#zvcBG:cޜ1~+;HA#MH]بm|Ccn SCĺQ\obl$ڧpl˖sl"Co(H귲ܾQԷnld:zg! u>wűB
p=VII.e;R^S/e
Q4
[9!8ɗԟ?EvPˤ?/ԟ?5aR,*K钥Te)UYJU]/8+h5?h_uiI>U'AR_Rd.5KM)s\j2̥&385hnzBMup-6X4ao}9,myrվ![/^<oX406	.8Vw	\~+8#n+þ]'ݡ-Y]C=+U@*yHo@yF]RA
gQZ)'ik4,__uZ1ke*bp_;JVj}l_U̎z߰?ిw_jd%fVʋ>D/WQbL 됚
vUz]es<ffu;!sЮ`r0-7~< 66Pշb؊pll	޺#ѵ9*@yT1䘥MىQZ^.2!ӵ~y`r{߻~}˔xz>^<\;Cs+ynh`	nK=d,Z~ooΒ0}#s
_(9dń<\B3xdq`:?4IxjgϿsletK}ʒQpɈJGWJb\fUVU[[)[)[)[(Y3[*bnga-6[lvYmV4SY|GtDxF}r]Bzip{}n5/ֿ75=;6B4Քnc;Cx`n3F!FCW'P޿Ho"nwQO +f.SV[vu~52:l>-[9moI5B]Zc0O!G7yJs1M&,Y&:Ԛ%-u#Wma&6\ew7:oHnXv] GQrFI{W%)mwx=t\*<Gc4ڹ@=bq.@й˚|xuު$ַQR|wĐT\ӣ~xY*5N+4tt3Tjuvs2`o3|Pf:CYYbDqgeh\˶L86;6#|O*k|q[phFZEb~&A2qǡ^!Oefw)f+\>G)1iow{zgYWZ5JԎ3d0ϭk5?8n[}aIҚ^Ŋzxߚkހ6/=HwRz&qDݯMi݀KPۀKp}cnoэ>iIptـ|6׳l\߶7ptOlm>Eހ#y"mnF6o!_I%dQ~{H8iq@?hq6C(5F!et8O?7RkwG[YyLlXŞ 55{jjzUbZ >Dzl\ʝB8ԇkvjަZR`w߸ȴކ=i[z
8U[VzWkuLn@9{Īk Xk Xk D{ۑuۑu[ohv WA	7)!\[uCر&~:I,Pܤط+[ˍܜ^##-o:۴칳͚]\D3)15݈ͨAH{"3mr~f5z:W"|V&,pC%zA UTBx}8M% ܌-k(3#Lg>%c(ҝXJs+QQz=G`s2s"դդb]|niqh`d2ͨܔh⦄:y=WwoLnBbZi;spf>'vzStn+S7	v!~t"eBS'Bmjwy<8,-j>^SugS
G)Ztv(GWo#7ytF848?s\"QMc6MN*oM-CZ(H
>(#E36n3zq摦W/Ū('[zs import pyro2

pmFieldP  = hou.vopNodeTypeCategory().nodeTypes()['fieldparm'].hdaModule()
pmFit     = hou.vopNodeTypeCategory().nodeTypes()['efit'].hdaModule()
pmDAARamp = hou.vopNodeTypeCategory().nodeTypes()['dualaarampparm'].hdaModule()
pmContour = hou.vopNodeTypeCategory().nodeTypes()['contour'].hdaModule()
pmSClip   = hou.vopNodeTypeCategory().nodeTypes()['softclip'].hdaModule()
pmLimits  = hou.vopNodeTypeCategory().nodeTypes()['limits'].hdaModule()

def cookme(kwargs):
   node = kwargs['node']
   #node.cook(True)
   node.node('Field').cook(True)
   #node.node('Fit_Field_Range').cook(True)
   #node.node('Field_Ramp').cook(True)
   node.node('contour').cook(True)
   #node.node('softclip').cook(True)
   #node.node('limits').cook(True)
   #node.node('Final_Amplitude').cook(True)
   #pass

def updatemethod(kwargs,docook):
   node = kwargs['node']
   if not node.isInsideLockedHDA():
      node.parm('method').set('assign')
   if docook: cookme(kwargs)





def uiEmbedded(node,prefix='',postfix=''):
   rp = node.evalParm('rampparm')
   return ('%s_flt'%(rp),'%s_rgb'%(rp))


def uiPromotableInputs(node,prefix='',postfix=''):
   return tuple( ['%s%s%s'%(prefix,p,postfix) for p in ( 
            'dfltval',
            'fit_srcmin'     , 'fit_srcmax'    , 'fit_tgtmin'  , 'fit_tgtmax'   , 
            'spacename'      , 'gammaname'     , 'gammaval'    ,
            'ramp_rngmin'    , 'ramp_rngmax'   , 'lowlimit'    , 'highlimit'    , 
            'contour_width'  , 'contour_sharp' , 'sclip_start' , 
            'sclip_suppress' , 'amp'           , 'padval' )] )

def uiRadios(node,prefix='',postfix=''):
   return ()

def uiExtraLinks(node,prefix='',postfix=''):
   return ((  '%sramptype%s'%(prefix,postfix),
      {'expr':'PM.uiGetRadioValue(RPATHNETX,"%s_flt"%node(".").evalParm(' + \
       '"%srampparm%s"))'%(prefix,postfix), 
       'lang':'python'} ), )


def uiCreate(kwargs):
   node  = kwargs['node']
   style = kwargs['script_value']

   iprom  = uiPromotableInputs(node)
   pvops  = uiEmbedded(node)
   radios = uiRadios(node)
   xlinks = uiExtraLinks(node)

   # build the top-level interface
   pyro2.uiCreateFromTuple(style,node,uiParmTemplates(node),iprom,
                             pvops=pvops,radios=radios,xlinks=xlinks,
                             prefix=node.evalParm('ui_prefix'),
                             postfix=node.evalParm('ui_postfix'))



def uiAppend(infolder,pt,ptl,tplt):
   if infolder:
      pt.addParmTemplate(tplt)
   else:
      ptl.append(tplt)

def uiAppendList(infolder,pt,ptl,tpltiter):
   if infolder:
      for t in tpltiter: pt.addParmTemplate(t)
   else:
      ptl += tpltiter

def uiAppendListToGroup(pt,tpltiter):
   for t in tpltiter: pt.addParmTemplate(t)

def uiParmTemplates( 
      node,
      usenodesettings = True,
      foldername='NODENAME',
      infolder=True,
      forcefieldname=False,   # whether to force the field name to not be empty
      forceouttype=None,      # type (or None) that should be the forced outtype
      initfieldlabel='Field Name',# field label
      initfieldname='density',# default field name
      initfieldtype='float',  # default field type
      initcspace    = 'rgb',  # initial color space
      initgammatype = 'linear', # initial gamma type
      initgammaval  = 2.2,    # initial custom gamma value
      dwhen   = '',
      prefix  = '',
      postfix = ''
   ):

   # Fetch export settings
   if usenodesettings:
      infolder   = node.evalParm('ui_infolder')
      foldername = node.evalParm('ui_foldername')
      forcefieldname = node.evalParm('ui_forcefieldname')
      initfieldlabel = node.evalParm('ui_initfieldlabel')
      initfieldname  = node.evalParm('ui_initfieldname')
      initfieldtype  = node.evalParm('ui_initfieldtype')
      forceouttype   = node.parm('ui_forceouttype').evalAsString()
      if forceouttype == 'none': forceouttype = None
      initcspace    = node.evalParm('ui_initcspace')
      initgammatype = node.evalParm('ui_initgammatype')
      initgammaval  = node.evalParm('ui_initgammaval')

   # Container list, when infolder==False
   ptl = []

   # base disablewhen
   dw = "{ %sname%s \"\" } %s"%(prefix,postfix,dwhen)

   # Container folder, when infolder==True
   pt = pyro2.uitTabFolder(foldername)

   rampname = node.evalParm('rampparm')
   srcnode  = node.node('Field')
   nintype  = "%sintype%s"%(prefix,postfix)
   nouttype = "%souttype%s"%(prefix,postfix)
   npromote = "%spromote%s"%(prefix,postfix)
   nmethod  = "%smethod%s"%(prefix,postfix)

   # Field Parameter
   tl = pmFieldP.uiParmTemplates(srcnode, usenodesettings=False,
         infolder=False, forcefieldname=forcefieldname,
         initfieldlabel=initfieldlabel, initfieldname=initfieldname,
         initfieldtype=initfieldtype, forceouttype=forceouttype,
         prefix=prefix,postfix=postfix)
   tl = pyro2.uitlRepath(node,srcnode,tl)
   tl = pyro2.uitlReplaceCallback(tl,(nintype,nouttype,npromote),
      "PM.updateField(kwargs,'%s','%s','%s','%s','%s_flt')"%(
         nintype,npromote,nmethod,nouttype,rampname), "python")
   tl.append(pyro2.uitSpacer())
   uiAppendList(infolder,pt,ptl,tl)

   # Field Shape Folder
   pt2 = pyro2.uitTabFolder('Field Shape')

   # Fit to Range
   srcnode = node.node('Fit_Field_Range')
   tl = pmFit.uiParmTemplates(srcnode,usenodesettings=False,
        infolder=False,dwhen=dw)
   tl = pyro2.uitlRepath(node,srcnode,tl)
   tl = pyro2.uitlRename(tl,{ 
         'active': '%sdofit%s'%(prefix,postfix),
         'smin'  : '%sfit_srcmin%s'%(prefix,postfix),
         'smax'  : '%sfit_srcmax%s'%(prefix,postfix),
         'tmin'  : '%sfit_tgtmin%s'%(prefix,postfix),
         'tmax'  : '%sfit_tgtmax%s'%(prefix,postfix) } )
   tl.append(pyro2.uitSpacer())
   uiAppendListToGroup(pt2,tl)

   # Dual Ramps
   srcnode = node.node('Field_Ramp')
   tl = pmDAARamp.uiParmTemplates(srcnode, usenodesettings=False,
         infolder=False,dwhen=dw,prefix=prefix,postfix=postfix,
         initcspace=initcspace, initgammatype=initgammatype,
         initgammaval=initgammaval)
   tl = pyro2.uitlRepath(node,srcnode,tl)
   tl = pyro2.uitlRename(tl,
      { '%sactive%s'%(prefix,postfix)   : '%sdoramp%s'%(prefix,postfix),
        '%srangemin%s'%(prefix,postfix) : '%sramp_rngmin%s'%(prefix,postfix),
        '%srangemax%s'%(prefix,postfix) : '%sramp_rngmax%s'%(prefix,postfix)
        } )
   tl.append(pyro2.uitSpacer())
   uiAppendListToGroup(pt2,tl)

   # Contour
   srcnode = node.node('contour')
   tl = pmContour.uiParmTemplates(srcnode,usenodesettings=False,
        infolder=False,dwhen=dw)
   tl = pyro2.uitlRepath(node,srcnode,tl)
   tl = pyro2.uitlRename(tl,
      { 'active' : '%sdocontour%s'%(prefix,postfix),
        'width'  : '%scontour_width%s'%(prefix,postfix),
        'sharp'  : '%scontour_sharp%s'%(prefix,postfix)} )
   uiAppendListToGroup(pt2,tl)

   # Soft Clip
   srcnode = node.node('softclip')
   tl = pmSClip.uiParmTemplates(srcnode,usenodesettings=False,
        infolder=False,dwhen=dw)
   tl = pyro2.uitlRepath(node,srcnode,tl)
   tl = pyro2.uitlRename(tl,
      { 'active' : '%sdosclip%s'%(prefix,postfix),
        'start'  : '%ssclip_start%s'%(prefix,postfix),
        'sup'    : '%ssclip_suppress%s'%(prefix,postfix)} )
   tl.append(pyro2.uitSpacer())
   uiAppendListToGroup(pt2,tl)

   # Limits
   srcnode = node.node('limits')
   tl = pmLimits.uiParmTemplates(srcnode,usenodesettings=False,
        infolder=False,dwhen=dw)
   tl = pyro2.uitlRepath(node,srcnode,tl)
   tl = pyro2.uitlRename(tl,
      {'domin'  : '%sdolowlimit%s'%(prefix,postfix),
       'domax'  : '%sdohighlimit%s'%(prefix,postfix),
       'min'    : '%slowlimit%s'%(prefix,postfix),
       'max'    : '%shighlimit%s'%(prefix,postfix)})
   tl.append(pyro2.uitSpacer())
   uiAppendListToGroup(pt2,tl)
   
   # Final Amplitude
   pt3 = hou.FloatParmTemplate("%samp%s"%(prefix,postfix), "Final Amplitude", 1,
         default_value=([1]), min=0, max=2)
   pt3.setDisableWhen(dwhen)
   pt2.addParmTemplate(pt3)


   uiAppendList(infolder,pt,ptl,[pt2])
   if infolder: return (pt,)
   return ptlnode = kwargs['node']
node.parm('rampparm').set(node.creator().relativePathTo(node).replace('/','_'))   
 OnCreated/Cursor                           OnCreated/IsExpr        OnCreated/IsPython       OnCreated/IsScript       OnCreated/Source      PythonModule/Cursor                           PythonModule/IsExpr        PythonModule/IsPython       PythonModule/IsScript       PythonModule/Source         nodeconntype       INDX              DialogScript      QGO   CreateScript    dQGO   TypePropertiesOptions  z  QGO   Help  {    QGO   Contents.gz  {  aQGO   ExtraFileOptions  $   QGO   InternalFileOptions  $   QGO# Dialog script for volumevopglobal automatically generated 03/18/13 13:32:00

{
    name	volumevopglobal
    script	volumevexglobal
    label	"Volume VOP Global Parameters"

    output	vector	P	P
    output	float	density	density
    output	int	ix	ix
    output	int	iy	iy
    output	int	iz	iz
    output	int	resx	resx
    output	int	resy	resy
    output	int	resz	resz
    output	vector	center	center
    output	vector	orig	orig
    output	vector	size	size
    output	vector	dPdx	dPdx
    output	vector	dPdy	dPdy
    output	vector	dPdz	dPdz
    output	vector	BB	BB
    output	float	Time	Time
    output	float	Timeinc	Timeinc
    output	float	Frame	Frame
    output	string	OpInput1	OpInput1
    output	string	OpInput2	OpInput2
    output	string	OpInput3	OpInput3
    output	string	OpInput4	OpInput4
    signature	"Default Inputs"	default	{ vector float int int int int int int vector vector vector vector vector vector vector float float float string string string string }

    outputoverrides	default
    {
	___begin	auto
			(0,0,0)
	___begin	auto
			(0)
	___begin	auto
			(0)
	___begin	auto
			(0)
	___begin	auto
			(0)
	___begin	auto
			(0)
	___begin	auto
			(0)
	___begin	auto
			(0)
	___begin	auto
			(0,0,0)
	___begin	auto
			(0,0,0)
	___begin	auto
			(0,0,0)
	___begin	auto
			(0,0,0)
	___begin	auto
			(0,0,0)
	___begin	auto
			(0,0,0)
	___begin	auto
			(0,0,0)
	___begin	auto
			(0)
	___begin	auto
			(0)
	___begin	auto
			(0)
	___begin	auto
			("")
	___begin	auto
			("")
	___begin	auto
			("")
	___begin	auto
			("")
    }

    help {
	""
    }

}
# Automatically generated script: Monday March 18, 13:32 2013
\set noalias = 1
#
#  Creation script for volumevopglobal operator
#

if ( "$arg1" == "" ) then
    echo This script is intended as a creation script
    exit
endif

# Node $arg1 (Vop/volumevopglobal)
opspareds "" $arg1
opexprlanguage -s hscript $arg1
opuserdata -n '___Version___' -v '' $arg1
SaveSpareParms := 1;
CheckExternal := 1;
GzipContents := 1;
UnlockOnCreate := 0;
SaveCachedCode := 0;
LockContents := 1;
MakeDefault := 1;
UseDSParms := 1;
ForbidOutsideParms := 1;
PrefixDroppedParmLabel := 1;
PrefixDroppedParmName := 1;
ParmsFromVfl := 0;
      ]O8vf7T*hV id7;vd6[bwsWMDꩽC9#䐪ϐC D jղglx #88^m?Y
?=N].F?8<p۬M:;afhzfIE8Qty|6d4;Og8|7i<ɣQZh4L,_E:(9t"3F@-X%k.Z,S\|ev55ǖa4Ӭo;՟ߟ@o<v˃6ݝH:'H>t~BVs!OOt/<#tx
q]9eV>?$׭/370O!t}xP̃F
%?#)dk^(U5u>b420!fD\f­Cij)Gt>zɏV& q˳\ݨ?'ytM#zQ՟P۰'HI:b}\\gB~c.{MD7Yy*?8'kS;綀|aKѿ}f_??W/^iǙpp<itn)1~"){fɰ1J͓ȜFh6Fm>"GpfX%`<7߆7s(&&Eeq!Z"Ods8JDE
{C7e94Aw>p4{ZΓA{{gq29	EG(+ k3nM#iÓhLPtU3/R=$/Lp6>zxz&E//z<d2˻ԪKg$M$7PuXupQt{4hݓzTCPMS&jh"&nhb)%XTVbQ^,>K|6_awS^wbFNPh*^^7%T6|˧ }cRpHj_')inkv	9̘sk=H3{-^D"x.
Zq3k_/ס&P7S$pO0B6|5EP~nPǳDԁ9-z`Az]]>P&*n 7%(MP؝6kkѦrѦdM˩)┿*T57$-W͌TM0B/bVTJEXMQĬP5e(ah3|fuԵ}(
=e#&ӊΓBJYgy@1EȄK͗RHnBÛ$RzW|Xn'VBxf%3F@8acf*T<\5YT㖮<g 7-lrsDJuϦ)唤٘3g'Y:VeڈMH\5ɋFenӇ1XKpL6	\W,)/\Q;ݛ/^@
\tqBJtP
?6B lS<]Zaf=#v,6K,7⦐}vۛW~q5|Us5a.?ˁV#ĄɆ[2^i͗/HI6:eaUO+0`rAp۾ȕS)mCy*G+684\D6gT):e:]Dlc'q!'4<2cZ.G-UHg^\3&i ۇKGoCR$xmK&ULqxAiq:PczGqcrr9cp5rv5n'aC@%Odgcg	xǈfe4
LQSt5]8};3f%F좖@2秉@;{:лXfgfo%P= كKCG@fo5L{`i|ABd}8K#01=[~!{E^p	\l8gJlgA#=Yu<Bߔ.v8S=l)ǧ*ͅpajf_IӰ38!!yFp(P0A ?b8qPxq³<gxm[	p ۭV2ˢ)1F~r||M4%Dy1kNeXf''Q&1.FiE02@v|bVJp;A}bGmA#f20
b,&&ۍ%:uq0%R!4bҴ2zfKX|KtH*-罷c""`(ȭ A[4m^AMӮ4( 99IY0R2m$~O8]1Y:f 5d 8(e!2!A)5s6#6}OzYn)t%SޤA襬á)vTHR>Ôρt2	eu3g*>]Wʤ\AQ/,u|k@gqKmWL	?|g\ Tiu	0f_wu{1C
3aDFDF\DF<DF|DFDF
3>n%#|mㄛ]y[idBjv3slȄ԰ O"aq[ɄPC2!5TyLHU~$R h{J$BjB*1G>H:2!5T9LHU#RCȄP92!5TyLHU#>@92!5TyLHU#RCe<G&*ϑ	sdBj<G&4@92!5TyLHU#RCȄPu<G&*ϑ	sdBj<G&LP92!5TyLHU#RCȄP92!5Td*ϑ	sdBj<G&ȄP92!5TyLHU#RCȄ^qRA=tvc>vк&&-YIR9RsocEQdSdC5+z7[⒃h2|wi2R@iksAo͹Z3kV\7{qjnR+},.Y/$Õq;>BѸICgvp(j$C,Ё!IXK^aN)ZrY=oX 7l=p3ԯX3YRj YQih(eYBՑgSXBT"8>cc#ZTzӹT6BU}R%U5ǉNǹ@b-[	T#-Ov/SDpHS0#n&Nf@tf,JJN!/<POsxrrZZlz,d^ƣ4/"195иd,vVJɯ=\oϣD|stX#Ɠ;.a%: RƒW!V]GTbGlgIOHGɭ;l/X W<]9N
iv_)W4V+M4J+\4U;
`W9+I[ѫZUЫjjWJ+M4j7|kU{%
W6'v߱3NIN-jZMA+M4J W$W-)xIu3ܔB.D}e 8^"<ͪJV~omޚ,HBn0-{WD^{_Vd}Y6pK3M4=Lӳ5R#g?G&V֊I!cgY0vgV<<;]L%ŝyͽWBu2˥	&\piµ-zuVDh'=lkCaؖ|. #|r@ym568e41Xƶthf[miΰmPx2%}!+¶B&ZoNmE-ٖf[mi3lk^JE>
lCƶw{_V,TFy5mlkS1Z)lPлni¥	&\pmXLŐ.wۮ庚p͛kckpi¥	&\pmpmz"v.zX^
\4ke+|HkDbp]k¥	&\piµCkK,L}|3l.G^0eEMXmhOX
읚Nīn[P/f$_ϸ_~i闦_[BچmU[ @])$PmjYE1ۈDP=u%\ٍȖ\d$3p]&59{4Io;;vbX9Ƒj64ǛOuXu`yK񧳾acSm9/sDP3䐗@) ;$Y<<=ܘÏo٩!d(>X7qУ<h7[;O;c_"o~!586  )H2=.X .T^5c9+ I%a>Gld0m	w[r=o&q.Wd,nJFrqȖzu<"1lU LTJPkTRmqw	hjvJƊ[Tt_D[TD!&s߱j[t-@;G7)9*+[@U(=^ҋZzQk;1EؒҐpXKmy}}**kxєq`,P~xתl20I&aiIv0gx9VxB67kW+bl|}߹_j8_#کopՎWc~
J54K/M4U)	%DRqٶ"Wз-Q0nQraԦܒxgB,}OT4dt%/Ȣx^$p	,M1e	.|W-	vfn, x)&6fc1)T_whT)AvA	<c77TːcJ4yŪdV?ۼ!X̅M2.׼yG4'#5S|Wo3 P/zρ ] "CA{RT@ߨWDr"/%P!"p[ o v<ww+s3ÀȠke\wU%y<[XBS=6Ũ"bK>vOh6`Bsoݥ۩B%UjmhϝQTww][NBEq׍4>[|"O lbuX`:fN<ܙ5$&tKpM,bJuU.U$3UNQw6!ܩ55POQG5nnDOއf<]+O>r)G92WNW	D7'BJgLHmuSUQS!8\^9.,
.)uV-!hЄ	<Md\:L'C;LP=QMfC!7OY'6<<!aȇ'0*1.rJ\+'䃓]68)]m'e?ޞ	VN.8hɾ9>.,pSNJwLTro)ĶM9+ɵtpN'KVLă!lhpr!,?ojn?^)Xv/O=@:ؒBsaU,/ ޱ
ޑq@
^RZ ;nlS_K/+.3g&Ǽ7v@b/rm%۫ka'
S6GNwyHCoyf	Bb( Ġo/=xjKO=tK# ;O+iMoSaE7:J?VwhHя|˳	C{:~du}Skd]!ַux~4ϧ<j$m!oYHZ5',hu}G4JyVR{<47HX&z5:lʣ#F-[3CcŤa6knw˕#܂OvI'li3[V_Cܲ(2AVQ? zϷ3<历UҊb4hc,dNa?I]9JG+x*
Vs{7Lڻ݆l[8Pxxv<^FWzûP[\xM4A	\EE2}SBpaAC&7Tg	8dbo-w}/{jvtO5yM7M4yEܛ7g{ț|[@c7ysykOM:&_F5y{Φfoiٛfo;n&Qfo{tmKż7n7{cnĽM:&#[%-f&oiɛ&o;H69*ɛ?OF6;aBF|es#557W7?GW9`{[EWPh67NNҫc`0ؘQ|q̠3GemsdGfeJ%d)帔c/~QZhi|`~Pۺ>cm?έ/a/_>%(=O         nodeconntype       INDX              DialogScript      lO_   CreateScript  l  FO_   TypePropertiesOptions    OE!   Help      OE!   Tools.shelf    dOE!   Contents.gz    GO_   PythonModule  d  LNR   ExtraFileOptions     OE!# Dialog script for fieldparm automatically generated 03/13/12 14:37:37

{
    name	fieldparm
    script	pyro2wrap_field
    label	"Field Parameter"

    outercode {
	""
    }

    code {
	""
    }

    input	vector4	dfltval	"Default Field Value"
    input	float	padval	"Padding Constant"
    output	float	field	field
    output	int	bound	bound
    inputflags	dfltval	0
    inputflags	padval	0
    signature	Default	default	{ vector4 float float int }

    outputoverrides	default
    {
	___begin	auto
			(0)
	___begin	auto
			(0)
    }

    help {
	""
    }

    parm {
	name	"makeui"
	label	"Promote Interface"
	type	button
	nolabel
	default	{ "0" }
	menu	{
	    [ "import pyro2" ]
	    [ "return pyro2.makeuimenu()" ]
	    language	python
	}
	range	{ 0 1 }
	export	none
	parmtag	{ "script_callback_language" "python" }
	parmtag	{ "script_callback" "hou.phm().uiCreate(kwargs)" }
	parmtag	{ "export_disable" "1" }
    }
    group {
	name	"folder0"
	label	"VOP Parameters"

	parm {
	    name	"name"
	    label	"Field Name"
	    type	string
	    default	{ "density" }
	    range	{ 0 1 }
	    export	none
	    unquoted
	}
	parm {
	    name	"intype"
	    label	"Field Type"
	    type	string
	    default	{ "float" }
	    menu	{
		"float"	"Float"
		"vector"	"Vector"
		"vector4"	"Vector4"
	    }
	    range	{ 0 1 }
	    export	none
	    unquoted
	    parmtag	{ "script_callback_language" "python" }
	    parmtag	{ "script_callback" "if not kwargs['node'].isInsideLockedHDA(): kwargs['node'].parm('method').set('assign')" }
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"promote"
	    label	"Promote"
	    type	toggle
	    default	{ "0" }
	    disablewhen	"{ name == \"\" }"
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"outtype"
	    label	"Output Type"
	    type	string
	    default	{ "float" }
	    disablewhen	"{ name == \"\" } { promote == 0 }"
	    menu	{
		"float"	"Float"
		"vector"	"Vector"
		"vector4"	"Vector4"
	    }
	    range	{ 0 1 }
	    export	none
	    unquoted
	    parmtag	{ "script_callback_language" "python" }
	    parmtag	{ "script_callback" "if not kwargs['node'].isInsideLockedHDA(): kwargs['node'].parm('method').set('assign')" }
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"method"
	    label	"Method"
	    type	string
	    default	{ "assign" }
	    disablewhen	"{ name == \"\" } { promote == 0 } { doconvert == 0 }"
	    menu	{
		[ "hou.nodeType(hou.vopNodeTypeCategory(),'typeconvertimpl').hdaModule().methodmenu(hou.evalParm('intype'),hou.evalParm('outtype'))" ]
		language	python
	    }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"padval"
	    label	"Padding Constant"
	    type	float
	    default	{ "0" }
	    disablewhen	"{ name == \"\" } { promote == 0 } { method != padc }"
	    range	{ -1 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"dfltval"
	    label	"Default Value"
	    type	vector4
	    size	4
	    default	{ "0" "0" "0" "0" }
	    disablewhen	"{ name != \"\" }"
	    range	{ -1 1 }
	    export	none
	}
	parm {
	    name	"doconvert"
	    label	"doconvert"
	    type	integer
	    default	{ [ "evalParm('promote') and evalParm('intype')!=evalParm('outtype')" python ] }
	    range	{ 0 10 }
	    export	none
	}
    }

    group {
	name	"folder0_1"
	label	"UI Promotion"

	parm {
	    name	"ui_prefix"
	    label	"Parameter Prefix"
	    type	string
	    joinnext
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"ui_postfix"
	    label	"Postfix"
	    type	string
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"ui_infolder"
	    label	"ui_infolder"
	    type	toggle
	    nolabel
	    joinnext
	    default	{ "0" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"ui_foldername"
	    label	"Create In Folder"
	    type	string
	    default	{ [ "node('.').creator().relativePathTo(node('.')).replace('/','_')" python ] }
	    disablewhen	"{ ui_infolder == 0 }"
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"spacer2"
	    label	"spacer"
	    type	label
	    nolabel
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"ui_initfieldlabel"
	    label	"Field Label"
	    type	string
	    default	{ "Field Name" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"ui_initfieldname"
	    label	"Default Field Name"
	    type	string
	    default	{ [ "chs(name)" hscript-expr ] }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"ui_initfieldtype"
	    label	"Default Field Type"
	    type	string
	    default	{ [ "chs(intype)" hscript-expr ] }
	    menu	{
		"float"	"Float"
		"vector"	"Vector"
		"vector4"	"Vector4"
	    }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "script_callback_language" "python" }
	    parmtag	{ "script_callback" "" }
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"ui_forceouttype"
	    label	"Forced Output Type"
	    type	string
	    default	{ "none" }
	    menu	{
		"none"	"none"
		"float"	"Float"
		"vector"	"Vector"
		"vector4"	"Vector4"
	    }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "script_callback_language" "hscript" }
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"spacer"
	    label	"spacer"
	    type	label
	    nolabel
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"ui_forcefieldname"
	    label	"Disallow Empty String in Field Name"
	    type	toggle
	    default	{ "0" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"ui_incdfltvalue"
	    label	"Include Default Field Value"
	    type	toggle
	    default	{ "1" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"leftalign3"
	    label	"spacer"
	    type	label
	    nolabel
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"ui_dwhen"
	    label	"Extra Disable When"
	    type	string
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	}
    }

}
# Automatically generated script: Tuesday March 13, 14:37 2012
\set noalias = 1
#
#  Creation script for fieldparm operator
#

if ( "$arg1" == "" ) then
    echo This script is intended as a creation script
    exit
endif

# Node $arg1 (Vop/fieldparm)
opexprlanguage -s hscript $arg1
opuserdata -n '___Version___' -v '' $arg1
ParmsFromVfl := 0;
PrefixDroppedParmName := 0;
UseDSParms := 1;
ForbidOutsideParms := 1;
LockContents := 1;
SaveSpareParms := 0;
CheckExternal := 1;
GzipContents := 1;
MakeDefault := 1;
SaveCachedCode := 0;
PrefixDroppedParmLabel := 0;
UnlockOnCreate := 0;
<?xml version="1.0" encoding="UTF-8"?>
<shelfDocument>
  <!-- This file contains definitions of shelves, toolbars, and tools.
 It should not be hand-edited when it is being used by the application.
 Note, that two definitions of the same element are not allowed in
 a single file. -->

  <tool name="$HDA_TABLE_$HDA_NAME" label="$HDA_LABEL" icon="$HDA_ICON">
    <toolMenuContext name="viewer">
      <contextNetType>VOP</contextNetType>
    </toolMenuContext>
    <toolMenuContext name="pop_viewer">
      <contextNetType>VOP</contextNetType>
    </toolMenuContext>
    <toolMenuContext name="network">
      <contextOpType>$HDA_TABLE/$HDA_NAME</contextOpType>
    </toolMenuContext>
    <toolSubmenu>Pyro</toolSubmenu>
    <script scriptType="python"><![CDATA[import voptoolutils

voptoolutils.genericTool(kwargs, '$HDA_NAME')]]></script>
  </tool>
</shelfDocument>
      M#Isv֖vcEij63gKuol.Ue]5=u7i^L1JI#:?ƅ.`3	>  O=ʚfDy;{SCCwrr2tVNGD@fh<:z%%l|YyUëuNʊL\f;,b={rݒׯثC;e>M_%EZ"7pULx#ɜ\`^/g;vHF)ϵ*?ǼO67O>^7uGxZr}V{oYouۿewZ31ο:[}Z|PŒ&oqx^es~G|gO{k?Lyzn>?q3?֊{{Mω?j;!}2曣J&P}&Y1iUKD}k:OD{EƑڶsS<V:A'*YmNwm[^*Kr&b7kvW`]×by$W;ĕǝ[s^s3/VӥhG?a?'/[H~?{P]<.fW֛Ⲝ+g8~F}m<_'YU\
VrO֠/LͺW
*s}Ffxu`<OeIgml<#ΛK!dVu"*iʡ3rɤ]VrN֛Ul9ql{]})dwc5mtr6*gKo0h]յX+`*{Kjc?FgㅉcjԂ1[e%ŗ_bofoa~O\
WT:н/`C.A1Xެx>8Z^]m^Kn79+d8b
nyՑ4?~*O_jUjs?#A;ބ6+=Ly9+_]ൌ*&.?l_ڿbRz p??{X>w8xt5!,&Yɏ_-(yyw`_5j]RbMO9۞&(:9[f:-`O.I1;J鶎jB㾽R?]ej#n\
u/;,N}o4?CwՎ|nUoѶݍ||F}lTgcm|fw6հV:nUw8.x!:42D<zb^Tەe{]]ǘOχ˯}ȋgWNKU*"kz5nJ\%+TEdU]ά@~JN8V>VQu\LWψLb7iFI8
1USIL#3Y8יubD.X}$Bv$#PTєص2V8USbWLb@mPqjOLR
qjP"UQu+IxDTV՘Ȋ1vZhWi&*F`J:umu+CpyCe(:dl*˦+Y~*?+TLD~a%=x*Rc1%`M,RcmRDbHKuU:z$`-tԥ*RuHUKT]jbo*%ĭLU&kK\R:jX<SiZrhLuu4*h\PEbZGd,
]BMZLUH&2kl\)%FZϕ̕ϭc$bU26W:BBt%sClŐҟEx++hըF4J:8iLCubteB636*&tec֕ӕ֖QBI	:]P]逭Mt䍪0*]`]NDgTHخTLnWф
U*x:++ړTE:ޕUʚZSq]g*rWuw!R2!2L	j\<W*|W&[8!Ɣ#~Or"9B9.6$M0cбѱM2IϦRJР2I,h%B5!1>REyly%S2
؊aA|b>>~P)1fuD~C?c?np' 5 l3 %~Cs k`n%+X@L `uNbCI*`p`b	>ulH5!mJ`ᖢ5	8*xk^k,v$M<#UҰ!I\0*xJ)U!xfTXNa-qTp}BS"¤ԒŴ2I,dŔtO1%,4*D&d'DP!oI1(BnijgRҊ	8*d}68Ӳp
Z2Hi$!ꅸqX(ӺF6GZ@CIj2H$PHaX(?ҟV #",BCH:8(6XhpnYLtMbTPvV$U6PB&XjEh`D+?hk:q&$I8o|;އI\XסގN[!xV ob1Duƣ	Nlwsi0uTV$
v4wy
ĳr&C8Ӂ5<!XLVP g23ȭ_SY<m
Lp}8QILEpfs".⁜L wQ1	U,3vl+)!_'V9Lr;GUTam.	M$Id$șvMPBWL jOBRR\<3YʚZS @nل
a43	aJP⁜L joB)1FP/(f"qiStkC0?2?2RXSB(CȋvUp\k
%-=pF.6Wa1)5xF/-k%W(e\Xy`F;PIl`FG3pFHFa@%N5N:MbCHZgZ"n=Kp$f#9oqlx6rKt$f#9oulx&vz;=F<6!7*g<İG=&Fbĭя*JSHg$EpՔAZA8(AmK$BMI{4d:ҩ:Muئuv~VKa}HiĝqA5:],S)icsBMZNU$=P8Ҡ2k-9%xIbҰS(<hRuJa]N5t2ìjbS.詉	v5Njb#pOMMksJWlBkT{J!MN̀db\X#+ hZY$F_kTl 6Q9*WczB*j$G_kT҃R,Q9 UMwCJkAPLj?%4ըeAEQ9ulO	j\	bAEQ9Ľ}4C&br4*b!v7l1@=*7l3L=*;W
GYb#C5Q !*!SzTN8
Já"&ʧtlH51*G"&ЧZd$VR85+ܦE`l'52lC#"F959@ XiV6 A,68$i8`$i=Ӂ	Π	86OF5ULaSTitħv肉s#b420;jGQG`5EFኄqjhM"ga.v0A]`=Pk)T@?; .bzP<56`;.bMH3j\!D% Qb?Cu؅G=TcERbTQ[,=`2Z%XiVLH`#CC]N%fh#ڧF1백Q	wِjt|ĘѤNJ"Lk2[kL)1J387#YpM#CK[JĻ1F͂oaJS1m0F"zhj,͠K8jnJ$ؖ:<0Nݶځ~5j֑a	if	54lIA&md#(B
T'(U)ʒC:a=q@17./5j2HAcsaEXP䢈ф%(Ɣ:b␅?vP:fa8H!!S0F%.JbN}(Fj5FB8Ώ.=5FB87ld}YLk2h(]N}0WFzUQĶ	vU`j~B*j$*F0b{c~BRR%Fӈ`5*'SzXbbFQ>ʒT`kT1T0FuO	j\L1kHbL1Kc\F#XbV	:uc5"Ѱ!S06JV#{lSS+V$P;e!X
KQ]NB^';6i$:RCg5"/-Q4"f|5	4e!kϭm9? V *a!SK_pfk}1R괣0#9~4XK+j0hH,}S(SrQ@$!h k6H l{eUF;օ
D G!D ( q8
A BG!Q(q8
B!BG!Qu
sۣB]V0U]*`Wȫ:a^g U]hЁ6
Q@`F#w`0BP>A`yz3Z@gpCCЈ3ة#c>89e 1s8SP3X]g;2q3[/(|dp<`gwyό!m.\ y};~E{m=˻[VŮ~g<!˝wYݠXzw~_ 
Gi<:
|IKٷ o:} f΀|IKٷ	^Q~+ #V^I\w2{[ynA^`;7懲Cز
$,z5`_y=-#ĳŖQ:+ױ]/2X%}G;]°+tC;䎠Prmk@kI:$@iv7GxC"HNFCd2Oc7>xC@Oސ<zC@ސ>|C Oߐ{@!p	z!p)z!qI{!qiz>
ABG!PQGA;E(}>
BGA Q(}>
CGA Q******(*)*C_A_B_B_B_B_B_B_B_C_C_C_C_B_B_B_CA a0F@bn!AwA Ha(0b1C!H0&b1E== g `Bq hf>aQOQq`Qe-̈́
 ,- zzPUaLqi60uATADAD]F;D!08 0C @ ~0BA c1}>1N cw>A@c 1}>C`c 1},}2*gKo0h]յX;'eoPt2^Vt^Mʯպ7_˖gv!0#/YoX],K^Ժ,Wފ/Kux@
_'bd|~.j'>qqӧ>}ы>'?^<~(^\MYtʂ//WjZG?ǹb͊&у'hX˲X梜<kCz^bULb`%s+~ZW+q^,b~ː27oｨKb#>=->^\]/s׫\?/Zl{X-ŃT_2''ǟNe!~abO5?ru4aￖF'U<:]*U.TUpJ{l^ܯ/eŻr-OE
oCi]Yjtx*B8霷LTvK3hX9cSB(V؍M!#7-x~jM4^]XoA]gd)p/MOD9FVYQYʵJqk&d|,2zEDJLUzSaL{N<7ӹ"ܛж4x.Ltp?CvOk2sc8ĳ//>X̸]4F/ل><ll9q`ոD%
bW]mͪZl> ueP^FE`9`hW$PW7Mdf.HU;IRWͼ]6n-U6T-h)։\ѧMz2&^H~Hw]7=n!czKo'
"͔Hw۽5]>{㟾8ާރBwDOlX/>22+9?+geg_.<n_Xّ*PuՠQ_V~M]gPפ|FEr4IHdYBIony7g:;<S~\<bp/H/bƻ&BYF~.~^cw{⇅ڢT{<NysvS\rE%G1=}gV_ow,VOA=eҽ}ł˛B\\цe/ϳ`n:\-_䵑ڻ_>[W \Ϭj폸|?eM*wf>9bp_T6BtWEٚ}mo]p;:s]Չ#薥.LsȩR_jH\@o3˭n10ܶrʒ\ءj##[#ߋ޶վ}b.+iϫ#^LPwĤƾ!#u~Y[9\(+wCZ|b~4MOVToĴn4^|^WG0QtXy+;??|P}|o+~ap2eF s4fKiM5ei
}1]s)*_ﰻ1bx|&̴;ŏfs'jv|hty֚\jޕ6Wn)G?0Wt}q5^βz㷏YvOVFmj5^c4)^Z?'7sxm+ʛ͡dDng{}"*r5r[YzloczBfo&)^?,jS].9|]Kt~WM](?ҟR.+\6FHX"#ۦ7+cJXIV敚$WV?2uKN?]R

5\+&e%eaL$V&ZMT&~&#PS%~ݎP%C]m@-RR	ԼV*WX4Tg ֊8,IDw1Q#n<iZ3$UԂa=R	TSjU3V&u-taTΣ?_[7
rl:?fUIQҡ:n-jrlr8 (ý$mMc2S;ۖ/֟b\PEb_h?b:ĘcX jk8՟?QZ@jjx .F0PUįqJ)Vb<uh	YuqL8=MuF\ZA:ppxPTNj٘jj~j%ɔ&5P!g֟֯ϭŐҟZZ2u
OG(9/riub%Ê8iLcCM,mKD$FeñC ?	M%SC?-=zL1_/5I6AVA"5IУJQ>$P_] 3=iQK<uj/	uEʡkŉ$픴V
ǉw6I$deN`Ea[A;d[ق\GD&q1؃vd ֨>kDi4W>rÜ5SW;X{6zZ9*VM,S>p9 
"xq
FX86I5O%S#ڕɵc#ni  (Q8(B*ib!'2@5**q >p{jNlMbm/Ij2-5GIl5%2$"ili4$XKv[z:8`=q9Z<6E&	ǰ$6-eJdש׈H݌HE'@[JR-KCily4Tڕ֮B]23	7v p܅B%P"m,-=op\H{`Ǳg
PsK3BR^ iypʶY!%A8aʹe2CQ '2!hLMI惖$l'<"u1E(@NC"E6fH:zFPo1h6D&	8w4v|8	["k87ܸ:ihq1Fun2)hqD&	
'آK$؀PObO#ײ
AE?-:d#UZb!3?4T&	($V8&$ӉZ"8]PπhBSIc[ξ?o̭wU:z]&v2,"PQӬo	=h@/5I5!Z)* =jJJkiNAEOZPW0aT\(T&	hrT85I'!˔,vAEͪjzi$1p$5IZ"-۠2%1$-ϾA#dK+=Cjzz8."K&"=8٘Lɤ%jSxqE-֋DijZ;HI,DP&eN݆7Z@cH:C|2Õ3^	:%1ˤ ffo	]lݡ$ffo!qm={#I<u)'nD61܄hѢxf	5'IZ#H{1hLbCMBjKʲ!8b)GMb	ڣy$b%z:,ֺXnFԒvnmQ:]XQ3$ ղ1\Ԭ&4>yB7XA<lo20xCgPIWZ"i4Xâk$ձG,R=Dŏ[@@z:'zT<1VZotDnYBM@2=8!#53Il5%2B$hDm]TғiH'GuIOZlթ&5IBIiIi[ֹ}4E&qe;Fi2UFNiFi8UFܰ6FulNmOGuFY᚝F&Z j"+5@i4zt+(ur!q ݦYUt[T{m[&-Sgd]^X-%lԓMBkacAQDځڝ,f8@3( 6kg  ԰Kzvl8lXlbQaM8#g9SOk[5;b]`HkwZQ6a\6`\΀CY5qŘ!!
bBPk)(q إȃڏ8DB1@Q`s|֩5z_¶N{q0=uJ	[:dS`s{֩#Ԯv`(x̞BPw8`4S{6Nqce0>\8׏=BCĉCrDi0.0i;%3XGh&lBCР.0;`p2.Ǝwn]~ڑ0sy-3m]z]j"nF3Ɣ70K7PDh\y5},k9hLb&8%-I\$
5	}:VJԇ`'tVZڧ_sTWb/zz>brT8;M;v낲L\r­f7$xs3FulNqb-f4\HǳhY4jH(Z j"m,ˠW_YL{rFunqWx׉C&6Ʊư%2Sb^'!Z)Q8{>RZލ-q,l%v[}[Lo|{MV
ǰ;	2%uӸbN![aSTvqň?N1i.l1+FnR5[kƿwcZ1[ͯd2`Z1[ޅFBNtci\1' ֨NQW⳰ô:us
_z
^z
]z
\z
[z
Zz
Yz
Xzyiw60222222244442224w鐱|-9v{Fx Q (o7
%( oFxQ(o7
BFAx Q(o7
BVu+dV UsU溵aPU wU
e8sGث: }U2Z($<t/B;H@i.O>XށČVP\46v3ةD$adN@LN攱3TVv;tWL
n 2x`d3|ahFۅ@dEnzGzq$z[OGz<V~@;v`z]v7(Vߝ (W0QϷ _ҠuÃF țx>٭3 _@uGmy+ 󈿕W@g;]̞V[+ͻ",yBfoa	wy="į^vW^b,weTyvAul+ @ et	oߑ`D0:
 t9C4;=#4Իpup;A v6	t"iC$l`0 YML1y@!Їnnorwȳ7=}C@7 =C@38=C`s8 =C@@G!Q(}>
B(}tѻCGA Q(}>
BGa0Q(}>
B_A_A_A_A_A_E_B_U U;E_A_uw @@@@@@@````@@@` a0~?w@c -11A0b	1B!p<@ b 1D"Q YCǢ`=,  ,y@ a#,	A /,BŢ*BaE3UAXj_0}أ* ,i@ " (B"` xh[Xx(BaQAa@ ?@c1}>Av>B)} c 1}>B`c01}>BeO&Wl)KkNKJ+Z.V|1/[ؖ[r|],t./Ug>.>/xbZs#xp[AY_-ŗ\"˒[4ێ?kr7j\_%me9(|},@5;l%fgf_nżY>٥;ޣhyu͏R6u}S2[\>~t?P[
SŪ|^/gd=>+.'pp4zF=ok<N)r/Fr^UUg7*>PVcnV^
ŵ')WI)نjqYOgϬQgsar^(A`U.K>bʊUY3,<g+2wRzuq<_7_y˿n|({C3'?IQ gO>PZzKXKʕrs3Uʙqؙ"=8 +"8"擩< }^!ᠸ^Asw/}} >g^*]{M9|.F?/;/n΍w-gi9(k~ɜc{0Dׁ#y<֛͸<ݯC|9lN(]IK&|?d*(J	]Yúx.n!p]V:NDJX\/cEk}G*@YEREwq=G
[D!'|+|W.#E-yEu%Y;|*iUŌˉ[΁"avq]~ݮ[s£gVv3
2Bnn2h%VlxךP*lsqIt/Ez;|Ffx0A+'Q\nXW>3驼ډ䒡wd"&7@|%s-wTqR|,tU.K&c^{덧ZL9X^raк0Ɂ>1WUEHY74UHky/UQrVڳw-p̝āTY*vؔJ
	+ᖎW +x{1u|%斋b'fj]FaBW Ly9+_+u1/ˉZ+煸(.N|޾m|~ܬe2;Jgz_ŗ@sߦ{[@!c?udlrv_PqB\ȝ7i%{}0x?@s}ŝ~}b׬
~fk?9m9eܗ"nڈO|yߴqsSCCwrr2tVNGD@&/&8<{-ВMN~t>]	~Q_UDϜ-^֛[ڼ=~.n</l*pM/f@}l˯IO,f_Jk~fri]^S.Xi/o<ExvWIW˫7s^'r5_-UKՄ;ūI&Su9n[+D뼯8Db ؠ?./jih2E*:#>jW3:XσZ+XⰡOď@NYw|'(^O!bŅ8S^bsrӿx|"c2+>?6cԪVYTIF>SK|w¦'-aus`{O6׏B1KGtNVh]#"8텬
˗p~y}Y۟,Vdb3/Xʦ.QD`~	z%7Duv|(>+iL;=s#;Gx}	>M1׻97;ao뛁zcyҋ<׸9Hxxv2>7򚬦?-#ͯWG dMߛ	M-Dp-_V/\3Cժk\xn+Q'BLלּ*6*Qc׺XIk*l։.csEutP݋?*yϑ)[,foJmy̛;8<<C+A}&bJo+J7^\/|7e= *j(*G'B0R1]Ufg_o']Ghb^s!}db;7%bY;,mu6FBPK@~fСos{vxat8TCV>JkMRtel9Z8OxwfQlqޮs~ /Gn"H̓銻+[QyM-I0kE5BT:ͨ:"傷MVf8UNf<:m:#WϼXCcL2{O/{iJxA^;K%DPQC.%Bf>]dQpMZ͊RZTI)ohW)uW`s)D2>ovxjDz_F9lٝNb{QC]OKub߀W_P݈]O'GGG$}+n|7Wߘ{q޵":k])7wW{o#~ḒW_\Fg"7Bf
7JG;G|%vWcw%+Oܕ|婻<sWܕg{|$ݕh׺;t_;5v
{{pΑs
ĺs:\[K'itV/=jZ25fBjwƣ]mxhMDI8R.n7ZUF>Q(|qfqDq8|2N2';,.#(,|Gex[32Ff@M#',0qd6QDr2sINFY`n3(m(9em)9e-%',0"-eRr2s[JNFY`nK(m)9e-%',0d涔Rr2s[JNFY`nK(peqnK(m)9e-%',0d涔ܖQs[JNFY`nK(m)9e-%',0$ܖQRr2s[JNFY`nK(m)9%cnK(m)9e-%',0d涔̖rRr2s[JNFY`nK(m)9ݐܖQRr2s[JNFY`nK(m)9M7qaҾm4fyɌE!:zQMNLIAh5xi$~Y_WS~.Qq!@a|Z_<9S??loF?>m	qu=:s.cvpcd/k?\kMTVQ'rv!6:=9:p=::=ףow:m~ۋ],'c6]-ohPihY4.Vic5z]foz.)N6ow罌5QSޟ뷘qQaa̻E՛Gn+MD{'Ó8;9-"7ŕz@&?6@mZċ{b|%?@Ձ3#wy~?s!,"zQY?wl:O(^@ⳳ$+Nݨ8MuDTQ`}.CawuW	rނh`fbc30pUTDn;#&:eCzk:7#trʾ`)_^!_@}&~Й|÷uooY1zP'gx|xqػ=u-d"6dfbzex7|LZ,{l4\=	w/[5ei\sXANNθسzŋr&^-w7:$?b?*]6C ,ov]U6[cF uiyNޕ:9O>|}@oϯv|x[G>d# :k"󁼦ʫ~k+sA*	5op59ï010`Po}u+w,k3iE+jwmovgz?w}i&/$B')w9'G'9?ݗ9'#y+|s/_Vɻ\ĺU%֯cB\Z'ggYב߾f1N\ڨ~7r}+͛۬o|G2vה_a=MT?w[e;l^hi	-^^x͍Z tTloo/g5ߝ5Bu7`KtsmSo7OQя:}:|C>0fSm[y|9ء
0WSh<|s}NtBFu.q4 }"2yɹXzz;Nmӧ.ݝ[,8b'gQ#4zNo
ת.oҭfE^z=<81]ƃ`c7UHYHu>|UI1.lXAy0y﫲 W䆩v%ubfvzUzհު|#Ja+G5VثaV1uRr^le嫀m6^lzu<u՝=47Fa~ij\NF=
BH>z6]^=4P]TUvdGWqZ%;!56J޳=o}zhƷ:UX(NGb43"UmQgXve_	dxV8uqL-@M7~y6ly6!sslpΪzсR- I:zGɩtR}$3ga#y-hu%z4\c}Qj#qCtkͻ\"m}&A߾دS}]6Ŏvs^??օŧ=G޻wo96F. import pyro2

def uiEmbedded(node,prefix='',postfix=''):
   return ()

def uiPromotableInputs(node,prefix='',postfix=''):
   return tuple( ['%s%s%s'%(prefix,p,postfix) for p in ( 
            'dfltval', 'padval', )] )


def uiRadios(node,prefix='',postfix=''):
   return ()

def uiExtraLinks(node,prefix='',postfix=''):
   return ()


def uiCreate(kwargs):
   node  = kwargs['node']
   style = kwargs['script_value']

   iprom  = uiPromotableInputs(node)
   xlinks = uiExtraLinks(node)

   # build the top-level interface
   pyro2.uiCreateFromTuple(style,node,uiParmTemplates(node),iprom,
         xlinks  = xlinks,
         prefix  = node.evalParm('ui_prefix'),
         postfix = node.evalParm('ui_postfix') )


def uiAppend(infolder,pt,ptl,tplt):
   if infolder:
      pt.addParmTemplate(tplt)
   else:
      ptl.append(tplt)


def uiParmTemplates( node,
      usenodesettings = True,
      foldername='NODENAME',
      infolder=False,
      forcefieldname=False,   # whether to force the field name to not be empty
      forceouttype=None,      # type (or None) that should be the forced outtype
      initfieldlabel='Field Name',# field label
      initfieldname='density',# default field name
      initfieldtype='float',  # default field type
      incdfltvalue =True   ,  # whether to include the default field value
      dwhen   = '',
      prefix  = '',
      postfix = ''
   ):

   # Fetch export settings
   xdwhen = ''
   if usenodesettings:
      infolder       = node.evalParm('ui_infolder')
      foldername     = node.evalParm('ui_foldername')
      forcefieldname = node.evalParm('ui_forcefieldname')
      initfieldlabel = node.evalParm('ui_initfieldlabel')
      initfieldname  = node.evalParm('ui_initfieldname')
      initfieldtype  = node.evalParm('ui_initfieldtype')
      incdfltvalue   = node.evalParm('ui_incdfltvalue')
      forceouttype   = node.parm('ui_forceouttype').evalAsString()
      if forceouttype == 'none': forceouttype = None
      xdwhen         = node.evalParm('ui_dwhen')

   # Container list, when infolder==False
   ptl = []

   # Container folder, when infolder==True
   pt = pyro2.uitTabFolder(foldername)

   # base disablewhen
   dw = xdwhen + " " + dwhen

   nname    = '%sname%s'%(prefix,postfix)
   nintype  = '%sintype%s'%(prefix,postfix)
   nouttype = '%souttype%s'%(prefix,postfix)
   nmethod  = '%smethod%s'%(prefix,postfix)
   npromote = '%spromote%s'%(prefix,postfix)
   ndocvt   = '%sdoconvert%s'%(prefix,postfix)
   ndfltval = '%sdfltval%s'%(prefix,postfix)

   # Field Name
   pt2 = hou.StringParmTemplate(nname, initfieldlabel, 1,
         default_value=([initfieldname]))
   if forcefieldname:
      cb = "PM.validateDensityField(kwargs)"
      pt2.setScriptCallback(cb)
      pt2.setScriptCallbackLanguage(hou.scriptLanguage.Python)
      pt2.setTags({"script_callback": cb, "script_callback_language": "python"})
   pt2.setDisableWhen(dw)
   pt2.setJoinWithNext(True)
   uiAppend(infolder,pt,ptl,pt2)
   
   # the callback for updating the method menu
   umcb = "if not kwargs['node'].isInsideLockedHDA():" + \
          "kwargs['node'].parm('%s').set('assign')"%nmethod

   # Field Type
   pt2 = hou.StringParmTemplate('%sintype%s'%(prefix,postfix), "Type", 1,
         default_value=([initfieldtype]), menu_items=(["float","vector","vector4"]), 
         menu_labels=(["Float","Vector","Vector4"]) )
   pt2.setDisableWhen((dw,"%s { %s \"\" }"%(dw,nname))[forceouttype is not None])
   pt2.setScriptCallback(umcb)
   pt2.setScriptCallbackLanguage(hou.scriptLanguage.Python)
   pt2.setTags({"script_callback": umcb, "script_callback_language": "python", 
                "script_unquoted": "1"})
   uiAppend(infolder,pt,ptl,pt2)

   # Do Promote
   if not forceouttype:
      pt2 = hou.ToggleParmTemplate(npromote, "Promote", default_value=False)
      pt2.setJoinWithNext(True)
      pt2.setDisableWhen("%s { %s \"\" }"%(dw,nname))
      uiAppend(infolder,pt,ptl,pt2)

      # Out Type
      pt2 = hou.StringParmTemplate('%souttype%s'%(prefix,postfix), 
            'To Type', 1, default_value=(["float"]),
            menu_items=(["float","vector","vector4"]),
            menu_labels=(["Float","Vector","Vector4"]) )
      pt2.setDisableWhen("%s { %s \"\" } { %s 0 }"%(dw,nname,npromote))
      pt2.setJoinWithNext(True)
      pt2.hideLabel(False)
      pt2.setScriptCallback(umcb)
      pt2.setScriptCallbackLanguage(hou.scriptLanguage.Python)
      pt2.setTags({"script_callback": umcb, "script_callback_language": "python", 
                   "script_unquoted": "1"})
      uiAppend(infolder,pt,ptl,pt2)

   # Convert Method
   mst = "hou.vopNodeTypeCategory().nodeTypes()['typeconvertimpl'].hdaModule()" +\
         ".methodmenu(hou.evalParm('%s'),%s)"
   if forceouttype: 
      label = "Conversion to %s" % forceouttype.capitalize()
      mcall = mst%(nintype,"'%s'"%forceouttype)
      dsbl  = "%s { %s \"\" } { %s  %s }"%(dw,nname,nintype,forceouttype)
   else: 
      label = "Method"
      mcall = mst%(nintype,"hou.evalParm('%s')"%nouttype)
      dsbl  = "%s { %s \"\" } { %s == 0 }"%(dw,nname,ndocvt)
   pt2 = hou.StringParmTemplate(nmethod, 
         label, 1, default_value=(["assign"]),
         item_generator_script=mcall,
         item_generator_script_language=hou.scriptLanguage.Python,
         menu_type=hou.menuType.Normal)
   pt2.setDisableWhen(dsbl)
   pt2.hideLabel(not forceouttype)
   pt2.setJoinWithNext(not forceouttype or (forceouttype != 'float'))
   uiAppend(infolder,pt,ptl,pt2)

   # Convert Constant
   if not forceouttype or (forceouttype != 'float'):
      pt2 = hou.FloatParmTemplate('%spadval%s'%(prefix,postfix), 
            "Padding Constant", 1, default_value=([0]), min=0, max=1, 
            min_is_strict=False, max_is_strict=False)
      pt2.setDisableWhen("%s { %s \"\" } { %s 0 } { %s != padc }"%(
               dw,nname,npromote,nmethod) )
      pt2.hideLabel(True)
      uiAppend(infolder,pt,ptl,pt2)

   # Default Value
   if incdfltvalue:
      pt2 = hou.FloatParmTemplate(ndfltval, "Default Field Value", 4, 
            default_value=([0, 0, 0, 0]), min=-1, max=1, 
            min_is_strict=False, max_is_strict=False, 
            look=hou.parmLook.Regular, naming_scheme=hou.parmNamingScheme.XYZW)
      pt2.setDisableWhen("%s { %s != \"\" }"%(dw,nname))
      uiAppend(infolder,pt,ptl,pt2)

   # doconvert (HIDDEN)
   if not forceouttype:
      pt2 = hou.IntParmTemplate(ndocvt, "doconvert", 1, default_value=([0]))
      pt2.setTags({ "pyro_expression":\
         "evalParm('%s') and evalParm('%s') != evalParm('%s')"%(
            npromote,nintype,nouttype), "pyro_expression_language":"python"} )
      pt2.hide(True)
      uiAppend(infolder,pt,ptl,pt2)

   if infolder: return (pt,)
   return ptl    PythonModule/Cursor                           PythonModule/IsExpr        PythonModule/IsPython       PythonModule/IsScript       PythonModule/Source     INDX           	   DialogScript      "OE!5   CreateScript  "  UOE!5   TypePropertiesOptions  $,  OE!5   Help  %-    OE!5   Tools.shelf  %-  gOE!5   Contents.gz  (  @OE!5   PythonModule  iv  Ny   	OnCreated  '   eN   ExtraFileOptions    COE!5# Dialog script for dualaarampparm automatically generated 02/22/12 12:09:09

{
    name	dualaarampparm
    script	rampparmx
    label	"Dual Anti-Aliased Ramp Parameter"

    outercode {
	""
    }

    input	float	pos	"Ramp Lookup Position"
    input	float	rangemin	"Range Min"
    input	float	rangemax	"Range Max"
    input	string	spacename	"Name Of Color Space (rgb,hsl,hsv,Lab,XYZ)"
    input	string	gammaname	"Name Of Gamma Space (linear,srgb,custom)"
    input	float	gammaval	"Custom Gamma Value"
    input	float	fw	"Filter Width Override"
    input	float	fscale	"Filter Scale"
    output	float	ramp	ramp
    inputflags	pos	0
    inputflags	rangemin	0
    inputflags	rangemax	0
    inputflags	spacename	0
    inputflags	gammaname	0
    inputflags	gammaval	0
    inputflags	fw	0
    inputflags	fscale	0
    signature	"1D Lookup"	default	{ float float float string string float float float float }
    signature	"3D Lookup"	v	{ vector float float string string float float float vector }
    signature	"4D Lookup"	p	{ vector4 float float string string float float float vector }

    outputoverrides	default
    {
	___begin	auto
			(0)
    }
    outputoverrides	v
    {
	___begin	auto
			(0,0,0)
    }
    outputoverrides	p
    {
	___begin	auto
			(0,0,0)
    }

    help {
	""
    }

    parm {
	name	"signature"
	baseparm
	export	none
    }
    parm {
	name	"spacer"
	label	"spacer"
	type	label
	nolabel
	default	{ "" }
	range	{ 0 1 }
	export	none
    }
    parm {
	name	"makeui"
	label	"Promote Interface"
	type	button
	nolabel
	default	{ "0" }
	menu	{
	    [ "import pyro2" ]
	    [ "return pyro2.makeuimenu()" ]
	    language	python
	}
	range	{ 0 1 }
	export	none
	parmtag	{ "script_callback_language" "python" }
	parmtag	{ "script_callback" "hou.phm().uiCreate(kwargs)" }
    }
    group {
	name	"folder0"
	label	"VOP Parameters"

	parm {
	    name	"active"
	    label	"Active"
	    type	toggle
	    default	{ "on" }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"rampparm"
	    label	"Unique Ramp Name"
	    type	string
	    default	{ "uniquerampname" }
	    disablewhen	"{ active == 0 }"
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"disablewhen"
	    label	"Disable When"
	    type	string
	    default	{ [ "ch('ui_dwhen') + ' ' + '{ %s%s%s 0 }'%(ch('ui_prefix'),ch('ui_activename'),ch('ui_postfix'))" python ] }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"callback"
	    label	"Callback Script"
	    type	string
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"help"
	    label	"Help"
	    type	string
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"spacer2"
	    label	"spacer"
	    type	label
	    nolabel
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"ramptype"
	    label	"Ramp Type"
	    type	ordinal
	    default	{ "0" }
	    disablewhen	"{ active == 0 }"
	    menu	{
		"flt"	"Float Spline"
		"rgb"	"Color Ramp"
	    }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "script_callback_language" "python" }
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"spacename"
	    label	"Color Space"
	    type	string
	    default	{ "rgb" }
	    disablewhen	"{ active == 0 } { ramptype == flt }"
	    menu	{
		"rgb"	"RGB"
		"hsv"	"HSV"
		"Lab"	"LAB"
		"hsl"	"HSL"
		"XYZ"	"XYZ"
	    }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"gammaname"
	    label	"Color Space Gamma"
	    type	string
	    joinnext
	    default	{ "linear" }
	    disablewhen	"{ active == 0 }"
	    menu	{
		"linear"	"Linear"
		"srgb"	"sRGB"
		"custom"	"Custom"
	    }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"gammaval"
	    label	"Gamma Value"
	    type	float
	    nolabel
	    default	{ "2.2" }
	    disablewhen	"{ active == 0 } { gammaname != custom }"
	    range	{ 0.0001! 4 }
	    export	none
	}
	parm {
	    name	"rangemin"
	    label	"Ramp Interval"
	    type	float
	    joinnext
	    default	{ "0" }
	    disablewhen	"{ active == 0 }"
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"rangemax"
	    label	"Max"
	    type	float
	    nolabel
	    default	{ "1" }
	    disablewhen	"{ active == 0 }"
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"lbt"
	    label	"Ramp boundaries"
	    type	string
	    joinnext
	    default	{ "hold" }
	    disablewhen	"{ active == 0 }"
	    menu	{
		"hold"	"Hold"
		"cycle"	"Cycle"
		"accum"	"Cycle-Accumulate"
		"mirror"	"Mirror"
		"slope"	"Slope"
	    }
	    range	{ 0 1 }
	    export	none
	    unquoted
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"rbt"
	    label	"Right"
	    type	string
	    nolabel
	    default	{ "hold" }
	    disablewhen	"{ active == 0 }"
	    menu	{
		"hold"	"Hold"
		"cycle"	"Cycle"
		"accum"	"Cycle-Accumulate"
		"mirror"	"Mirror"
		"slope"	"Slope"
	    }
	    range	{ 0 1 }
	    export	none
	    unquoted
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"ftype"
	    label	"Type"
	    type	string
	    joinnext
	    default	{ "point" }
	    disablewhen	"{ active == 0 }"
	    menu	{
		"point"	"Point"
		"box"	"Box"
		"gauss"	"Gaussian"
	    }
	    range	{ 0 1 }
	    export	none
	    unquoted
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"fscale"
	    label	"Filter Scale"
	    type	float
	    default	{ "1" }
	    disablewhen	"{ active == 0 } { ftype == point }"
	    range	{ 0 2 }
	    export	none
	}
    }

    group {
	name	"folder0_1"
	label	"UI Promotion"

	parm {
	    name	"ui_prefix"
	    label	"Parameter Prefix"
	    type	string
	    joinnext
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"ui_postfix"
	    label	"Postfix"
	    type	string
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"ui_infolder"
	    label	"ui_infolder"
	    type	toggle
	    nolabel
	    joinnext
	    default	{ "0" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"ui_foldername"
	    label	"Create In Folder"
	    type	string
	    default	{ [ "node('.').creator().relativePathTo(node('.')).replace('/','_')" python ] }
	    disablewhen	"{ ui_infolder == 0 }"
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"spacer3"
	    label	"spacer"
	    type	label
	    nolabel
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"ui_withactive"
	    label	"Add Active Toggle"
	    type	toggle
	    joinnext
	    default	{ "1" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"leftalign"
	    label	"spacer"
	    type	label
	    nolabel
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"ui_activename"
	    label	"Active Name"
	    type	string
	    default	{ "active" }
	    disablewhen	"{ ui_withactive == 0 }"
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"ui_activelabel"
	    label	"Active Label"
	    type	string
	    default	{ "Enable Ramp" }
	    disablewhen	"{ ui_withactive == 0 }"
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"ui_initactive"
	    label	"Initial Active State"
	    type	toggle
	    default	{ "0" }
	    disablewhen	"{ ui_withactive == 0 }"
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"spacer4"
	    label	"spacer"
	    type	label
	    nolabel
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"ui_initcspace"
	    label	"Default Color Space"
	    type	string
	    default	{ [ "chs(spacename)" hscript-expr ] }
	    menu	{
		"rgb"	"RGB"
		"hsv"	"HSV"
		"lab"	"LAB"
		"hsl"	"HSL"
		"xyz"	"XYZ"
	    }
	    range	{ 0 1 }
	    export	none
	    unquoted
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"ui_initgammatype"
	    label	"Default Gamma Type"
	    type	string
	    joinnext
	    default	{ [ "chs(gammaname)" hscript-expr ] }
	    menu	{
		"linear"	"Linear"
		"srgb"	"sRGB"
		"custom"	"Custom"
	    }
	    range	{ 0 1 }
	    export	none
	    unquoted
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"ui_initgammaval"
	    label	"Value"
	    type	float
	    default	{ [ "ch(gammaval)" hscript-expr ] }
	    disablewhen	"{ ui_initgammatype != custom }"
	    range	{ 0.0001! 4 }
	    export	none
	    parmtag	{ "script_unquoted" "1" }
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"leftalign3"
	    label	"spacer"
	    type	label
	    nolabel
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"ui_dwhen"
	    label	"Extra Disable When"
	    type	string
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	}
    }

}
# Automatically generated script: Wednesday February 22, 12:09 2012
\set noalias = 1
#
#  Creation script for dualaarampparm operator
#

if ( "$arg1" == "" ) then
    echo This script is intended as a creation script
    exit
endif

# Node $arg1 (Vop/dualaarampparm)
opexprlanguage -s hscript $arg1
opuserdata -n '___Version___' -v '' $arg1
ParmsFromVfl := 0;
PrefixDroppedParmName := 0;
UseDSParms := 1;
ForbidOutsideParms := 1;
LockContents := 1;
SaveSpareParms := 0;
CheckExternal := 1;
GzipContents := 1;
MakeDefault := 1;
SaveCachedCode := 0;
PrefixDroppedParmLabel := 0;
UnlockOnCreate := 0;
<?xml version="1.0" encoding="UTF-8"?>
<shelfDocument>
  <!-- This file contains definitions of shelves, toolbars, and tools.
 It should not be hand-edited when it is being used by the application.
 Note, that two definitions of the same element are not allowed in
 a single file. -->

  <tool name="$HDA_TABLE_$HDA_NAME" label="$HDA_LABEL" icon="$HDA_ICON">
    <toolMenuContext name="viewer">
      <contextNetType>VOP</contextNetType>
    </toolMenuContext>
    <toolMenuContext name="pop_viewer">
      <contextNetType>VOP</contextNetType>
    </toolMenuContext>
    <toolMenuContext name="network">
      <contextOpType>$HDA_TABLE/$HDA_NAME</contextOpType>
    </toolMenuContext>
    <toolSubmenu>Utility</toolSubmenu>
    <script scriptType="python"><![CDATA[import voptoolutils

voptoolutils.genericTool(kwargs, '$HDA_NAME')]]></script>
  </tool>
</shelfDocument>
      ݒ#Ǖ[+_l8(Bi؃rsIIKZݕX,3y>þ
~pV~TU~VzDr9<?s~YUGSl3[	9dLg'~B}`˯oV'3l߮~7z1_U-^oz'7rd]'}_n廣xܮ|7x^_EsJ'yno_\Ռ/w?Og^{o:8
ƃ?z'_g}ź>{~/O^z_oj-w;O~q_棏f/W{v?|"Uo-Gh֕9'xob{HvO t?jԸbuf~RqbMF4mW_$򢺮	}BH5&sB^UnCZZzq8JёjvGn[[=/OrͤzǼ"?)WT;/Ob[eR2bfn:"y7kvrop{ތMJ:~bwptt|(-/U=1_VʇLvwv_鿡PVȸP"1&fZFhJj)բ2*5d<mϧ	5٘E_ZeRERRZ)*dW2ܑ:!ÕdYD)(p5F5a'2Rplda12(R"#/%𵬕]Ƭ1=F%)t/bCx؀O6Iy^DfL2hz.#cYqjWVv[2ߗ^ҍQ:sRC4KLv$+dRuڈT>3Y?hZjAPL{<{miSvJSz|2JviAK~>~meRxJ+1tg} Ct @,`:>zi1X(`}XZQhE*!0	RKS900ii3Ni.>]#RMCi:>$#>ɵ&5P!$Ds"G
	gP=Z8;)Ĕr
7'ՄRڠ!Ղ4H.ilǆ1Y?)!\px)r#cԒ)<ØJzy~G7!a@}xFi=SDh|>E1ZTDD@"@w甩IKapXh'q"4GD'qN('D%O'2\ T
BQ;b(MjЀ.!jI"j 2qSb iAYCeܚ˸v^ȡsR֤]ܡ<4 u6I$~ D]Ee!D(Dh!Q<Q4#jhDCQG`2$!&Q%RɎȬ02quj8wZ"
:aE#>6bNRUcU@Z?+jECbQYx3jAlɴ,^SI}dsX$v%M7Ejѥ	aUF&ؒv
WvaG[v髗vޔE\8-iĵ,dr2\l[M!dLA<jP 'LFdjƤMndm+OS4 д9l _>sRE"2jL)Xil5bynq7c
!毫U@+:fE_O(*ͩ S%1=B@|O.42`|Ԓ؅';$HCL8hP(@K1=
#(nF"~}BEG;;!u<-]Dk87Ivi,h"0&229$vΰŠ%$%h Nx*JDq@g
W8=8BL	P(p{Pqo!$ՄRZ*\ӄ]2JKRISipMއ7O*p*m
*\fL)7W8=PHqC!CEއJ7!kF"T	C?3zL뱈^*\ӄ⌹Т"":n`=L4MjLwg5L<	iPqsF9)
4}8?#˵,AE@h{ vѫ$Rd[E+ҳpdr@텖ToԈ؅IcAѴ 54.)ES^1rw>$ J#L+^
$҂k5tԈ؅6P@
e@7&3Z"5#2t2reꕻFүYAmUiTftK j|FHZ0Ӡ
YrF&d3`Je~2`_`f迌Zp`fpv.<DAZQhŠy% 9(nfdjH"}ZZW<{PSXa']#RMi0G]x-hpxܐ0dR0R!b0rcatY[.8SmY\aUV>,.Aa.zhy`J}$xe@2V=)6aTKwɄ+a$4m༎p<D6zZrHE6,QQE!*	C#Pɯ)S#VI 	L-܌nۧ$4m-arF9)\T&jJn3dV;鏛vTu7&2N6'au0j!Xu[=Au[d{\upiH	S*"	,a@% nX:TV	:ͨG
Eh.
-i^e]^&2BcCQB[H ˨Ќ8J8@zQ4pTmGFFh6-u 5!(	]CUt4B:.v`.RҚQx걒AQ=B ~qwcKc3ޫTPf-iԧaʑ֏zoDa"
PD{.u~&nKڥWcchP~/qk.#a2kYma#C`TfPA"|	wM	S1GCʅiduL8%HNs)A̂w$aNKHx|YXu1`]ՎQGOEX>:!Wh֐[v9-$ݴ$=t/n*CY>@0.XuԎ؅+!bCzZ(4$Aq0**hAZF0LtHYES+^ByĊKpwv!<EeA79ţL[oRƤ]F)M6|IZŀ,^$+ǲe1Jv@e˰
cW=7|tIG\t]CP1-y!a%_/-y!(eoɓZ4,g7sHUWp]F]׶{SW<9iNak^q=DeK݇8lMIQCX'LF6R>-np!}pF;R>-ni]le=`[Zq[F6X̉alq+aA< [vT\q⋰Í:}+Qo6ۯV^>}/S?:<<|8~Z/Va@芬c{CvoP6&ZqH'Ϋ|y5 JeQeR(iVCY#QeQ+%G;o70xcCo7a0xc1
o7Ca0xc1 ކR@ N nX{w̉kP'PWwbwEyb y =CO B1a 1Q@`A0X!'J-Q@bA!i)<>#IKY%}.i/ 0s8zQ飀򠀝󠀟򡄡a.<(`pD=e?{z;blw,vϣ=X=>;ߟ(c@<_;|ɃKٯP3 Λ:%׎k/ed%ya0_FB ;y!ws=(	>eܼ)BaǞw.v+tW6s-`*E(f;fg
ʳ{tW٬c\_<?'e,cHxO$qs>0WTNt`ȁ=?=A>|ֈhDI#;(<`#>PD1y)v7F<qGn `S7n <y`7zP @='p C8{
p 9@='q (}>Aàaǰc(=>A?1
}>BCPc(1}>CCPc(	}>AO`'P{@@O}>q	
}>B@O'P8	}>B@O'p(Q(~?EH@c /)1HQ8R	)B!ѐpH<H R$)D"Qh~eW@ֻc
w@0AaȞh~̽=]h*(ǩcamT|qh68uQTDADQDD}G{D!88 8C H "~8؇BǠc1q8}>q^1>AGQ(q8
}>Cǡq(q8
}}jqS/MѨvfnQ['u~^mղZΗWsizѽݾXׇ嶾7GO_VWGǗwM~j?=>|Gjb{ZV_J,ki=ȸywgr_nKX,.iwFu@OR~i~Eu}qݮG9_,GGOt;^n?|}WGt'_aTuW/JoNVjk6_lM[_UE&O}BH5&;TjvukȵկQ3;ruUArq'f/߶GlIՒoA̅tmV!;g-\ޮ>h=bdGMCr|YWǟ5G}\C-=^Hע	IhTҩ=9.p&
+&0ujj].̭՜L>hiP[=XObܬ/;;^yDPr\Jwꫧz%nz6Q&dTɒm$JvgClŢ^^oo/&wJQ>U'72_ZT/xm^Sl^!!Z<y[ofgGŃyL2/+xMڝ
ru7l%<a)r\}v3զǢi
;VBj]4?xu~xqf~yS-j*v=_q<6W||hGcs$]z`ͺG?qBXP4[~KC痵tf&뮕Y+;\jƹ/FX3bJх{왳'l~i#{hKZ棏[9h6	Gr}kم_ՕqS7+;u̢P˷I8haZ(A9`k3ۃcw(bRymvj)pX>nh\$7Is)bQymNF\)[9\:吔J[s>|U=e]Vj]5S1[[3fB8_m2_w_Df=Tk=^kՍՊϿ|`?X|;1H-WϪU%?Ϋ棯eƐ	Z%LvOdwNüBBF9Bh?~nԇy0;UH;m&թw$.뿿ENyxY-pUUfHȏ!??sYGlcK+4+啒2Ez;^ :<60|^ID8}3s6=$8ø#9y<1g v~UY:˔*9$S=j+#?zW#\5^=lWͬG8J8*א4eWNc)?MfU Qy\yTM;KI[[˷dD"Ç⑲b3~7=fYWk%hYæ?.u}U_Ď^Q*O/}Qs-ښ-{ڛr`:ts?fTY>C'mƴ7_zPzn׌Vl؜<yCsB.U^T?o^}553:담i۴p;5ЫXb>U<oB' Q vYe1opك~8jbPٳÑ@E}dqD*?mލzwGCt>}3quspWwfXC8tR;m{Gi1kF_9-vE6(#땇nQ`<:} J/}7,5Qkz]V9WKӈKIo%=c:*FYwн9DK=㥅vC:wZ(:dxem_.E=Ư46XEt!v?XШ-} k?Rj݉y9ђ5v5Wrz27iXMoݡi4#BN势7vAbZ|`W\=:,/th\ʆ/[a'(ݎQsNj\Ϸ.sKL¬z呝=wݢX!-VS&Ǔ=R_n?S;~*Z:[fyGuvw$'ΡotAͶEC^ ovdg`r`Y	wv?k-`no6&pFܝk?U[j[_[}2	v?I^3rcCxW\1suzy+YgՇҬX=~znW\&{uG]2uk女I|ez$_6Yۏޫ)RۃcSia2|حNd2^>[ou
ngM(pdbON99s[~M޼>{~/OQPכKrWpw<'5fyw*Կ2oHfd˦-1Z2٫[ST[bakzmt4޵P]k,"zTTPOЦy.iBy .vBJ@uoa{:mJAs:mՅջZR'2tQ3y}jhH) =<sDt\RQ^
PMIG#ڥgҾ%_(cd|h58x7oBmJ^ʋ2)3kTLB󷬽P^\TVe&ZP-Bjs,ɕlL)lumRLۤeJ ʷLeZfmmR+	ޓg]-Y.7{NPLK0-te6GKZGhKaf/k323bԨP.¬ MLڌ%s2ɘٜܷ˨P+Nf͉&1d^X*9;@ei0YͶI4D_cЄjЬU¦jcfmRLeiagBiacQBN*aIݲ
W*B'kasv7:!3Agt"mM!QaZA0[-lvFOFJh)K'oah;Xsz҈b.E1ԙ[7Lps)1	\:]b¡ITgrr꜀Gm]6|NuBNF.V.#6B+	GKQ3b	5j4"IԤx"K婛橗S]\OuNn\2Sb\qGl Si??  ?R  E u# 4uI`VVQEљ<VƄT:PC\T3ԥ0!+iTȴ0,^:ZSC5&vP!2BԊ؅oGl,p	pԌE`@EӜ5Y=jiD1
ia/DT׳4żY̊k1dZ;byT4#Cv	 # f)adŘcB2"3(LBg+Jc4/K.	P5ȀXhd5!i㸴U	ulL5fM@jr!+ThR8'>ߘ1=44x,b&MRT0PpOV.$\6jE"a9FCAf	1}T77!vSnw}܈؅o&ջKq+bU2x?'I&w/9aHe0MVwV.V11l%*ȹJ$^yB"XJ$^X"*sȝ;q%rR87ܽtJC5m".VVT:sMt7)28ܳJ%rR87ͭi%-'W)D
W*2d285!vD9DU:ȹ&rgdt"&65G (97	My}d":sÜыȥ9Dތb¡Nsv+Wx.PBi|F"E{99ӝl"REj )DOs0+Y쮢%eѡPnL"*.^^"9E
BR*=]]#82j@5H3f^9#JT4Bq0Κv隤J6BKqf,Sj{)7=`+iԱpӃ`x<BKI9e=BKɡn8=S4~#g.heNJ0-ZH!LZGu雙VˈQFCLaIެMٴlgJLp
67gԌXJLgrBIfQ#bQZҤsN$84nDڥk/4IS69I3acq.K0jR+J#tlg]wGsNהSv)7M&}f=KQUx&( 0,2U9:pry!jCµV/ʱ	=´
sTU9:prZJ8RU9 %_ӣFF3U9,rZ)NUNsF/"B,T jF"0KUprHU9ܪ	ܪ!6nUp
ܪ2KjEiLE8Ba :Bx<+mr:FIHnUNsV61|Vt>)FC$Vrԅ"vhuA3ĠeucFbrNCꢃzH(
(\~P HRKc¹Nꁄ$IH
O&&<PRV6
5T.V(㦤]ɊOхw#aJi2zLƤ{'?-j##58Εġ>rh6hKc[꓇t@zbC- (%ߪGsCA
-+!\Q05r܎K.^)
TZQ3bd%JVQE*a݊Ҙ*VƄs`G[>/mjH[V9&<kec)jRpIFC5`J*xt/|Di)RK!0&݋8Ya
#qlq"{:miT?#ІDci[tu;h[E:VC,\I!vD)d 2EPTidccOTJh)Hpbǣ54升QM51q9".h"rI¸Z;blhθiY*)R7$20Lc%ie#-E|IE8͏>=ܟ4&݋q,Znx(2,	!K.Cdf*pmծzW3*L0G%[){ms~FJh)HQ"x
	Ĝ54)5-*GY2EoB׌¶9?'h"r)TpNIb\qGl. [nJ܌K,^k-hܐ0U%k?eIehB*.٠4&C*Iv66Ģ#W:k- 	-I-S	Dppkh>7"ҷT
CUZ}ζuBWdud)F7YAMژhr3#%~t8=sW<h4HPn{(aFY`J)F[eFIc9Fﮬ{axc!!0cx1>c8@ a0c1q8BC!Pc1q81)u:DB]Q8܉!u/8sO>1Ť(F} AR`IbPX(}<F} QP\Ч46#H8D$-adIHLN7TV;t_LZEn/ʃv΃~/ʇ.·}򠀥)Iߺ?Op5ʼGw5ټ?`~Pz~"l4z9 x~,%</yd~@y3  8oʗ<_;}|w
25Tp&w
vse3{}P8[-`]âl[ *QY0.v*(1_er~$h8b!'<?\aP;Ӂ!H|''u[nnX#%/`HG CC%HI8`jh@%/`s7}POԳ7ׇo 7yP 	@=gp c8{p I=gq 081}>Aâ>B+}0c(1
}>BCpc81}>BC'0	}>E@O}>W	O`'P(	
}>B@O'p8	
}>BGQ(Q(@# )t(
{ Eq@Hq$8R)GC!E"HDH$R)GE¢y	5F{w,ߜ@XE,_84E{{¢
3,vŢAL-0z7.P=¢L1XDQEQHDDCC(@ 8
 c H"8c
}>AǠc1XqQ{EǠ8}>BGQ(q8}>CǡQ(bMX7F5lnKG//֣RbQ׫pZ=N˫`py}eWB9|Y#׵|;~"o5+BWGSl3[	9dLg'kAioVklϓ㓫;X lvr<_ηRnn;Mސh/<qpJϷղz{v|z2ӊ濯+rtZ.Տ-Uu~pͥbuUbq^mzVzY^/zy5粹^(٨7뛅O-+R/9$Mmzj
etU趾V4۷#QC9lG/ΪQFr͗Ζq%FT#5:"jΗIП5\Mho5ނ^}zkٳi=Ey;&iNWiVv\U9d:9?O'rs]7u2ݬ6-`+X^682s5-./#8>==l?{_Q/7oru]Gra#hMAw4@ɄzeWrk@}'+6_l덓P{N&Sy"dI	=;|6&ټB	vg*-t|R}UP/Ou>sB&Ys7MO[KKgr4\ΗƱ|oMىfe}f-)[tL:IEg~t|liϝC*?]I:1v{.i[1~V21y3L4ڭ9Qzz|YiNx<ͦs'gj/os&4s.o/լd*Y+e$HaM6{^_Rv4*9f4@ybL_9-.ZHŔ37&S"orU;em>տnhs}rU6mu+뷌+r؜a/U^ۏ~L	+62!
=mQWfNW_>lOo.պ6?7T_VҤAws(ǍnHnbaӳ{2elj7Ѷv؎ۍ<HF.vCf2J7N{k6h$t4Лn^5^աD?~u!IPԽY{]}_Ct<::?&rr,O'C\(8!KO)972䬿wAz'qAaLWv6ƜSLWu#'WQoӉ\y⯜ʕm,D5gS)+'r广rvW]=~"٫IsoL{-v2>%=IDPP5M
+ht7-쮠]-쮠]Iawfk;-쮠]Yaw+ht4TFad(i:,(i:,)i:,0)i:,*CFJICai4TC0R&RPuX)%URPuX)%URPuX)%URPM>J#4RJK#xU)H)i:,H)i:,H)i:,j^])%URPuX)%URPuX|rR)4RJK#4RJK#4RJSH)i:,H)i:,H)i:,>/H)i:,H)i:,jHi4TFJICai4TFJICai4wr~dz{-ˈC8ǿmHiOR7}lF*z|6>dtn0շv:c>f޵!Sf9ݚ	n0ޭ7C/~&fF<sɴm%FU
ľz۠5"08$'ǳLf<Q&gɽeRȓi5vc覧ۛ9UWӍ_<_5UnI-UЙ.KjkkK|#Z/p&(+CM{瓒8G?aq2bQ?{ϩTYd8m=JylxxZBKB2FkleF>oc0tZV?=`n]}6{*QMc-6B-̙REiI[Tyt$7*߫$a#Y=nV"WGMǽp8|#9@MQz5Gf~ӝPilrب&=>PzN)o':OҧY59~w9w;|y%9oP8;%ggxz:;7:GVk8ǑsS)~;YxoܝggsLiegM|3zߝ~w58mbzIߝ~w;
EgM(k4ߩu>m!ᩃ"9;|6ɱT:힞6Sboj[oiuؿR7vHd^&m0I?j鈤撳d.w8Y_yd;ǓiX`w8M};C7ELC"}{ ñN2Vbu!))":%Mb8ON,gK{v߳I4Ϧa>7y=wےoRq ܭj7}	aK*I5MՖg4~&Ӹ^Igm>3ZK|ma2Mߣ3L^H^}r{i^05H~y9u~1~*2Lj'E^OuU$eGp_vtwMӎt/2G|JϚJ'dxɅ25ΕȩNx[9\V}sά%'_9$qzrF	VLi>24AX:m&_>n~!rE__wIi޽x)ySRa=CO{2+g[,}cn\Hҳ|v|6g95V_dYvKfod.IxHH;oyw
Oם۔L^MoO.5=ݒY+O9,s\!sI:NSJw1f&Sz;3OuxvLP\pFnkswߝs9w<_ygǽ=ixbu`rFQծ'Q,G)ߑ>oL}kS-zO&}?xzgg import pyro2

def uiEmbedded(node,prefix='',postfix=''):
   rp = node.evalParm('rampparm')
   return ('%s_flt'%rp,'%s_rgb'%rp)

def uiPromotableInputs(node,prefix='',postfix=''):
   return tuple( ['%s%s%s'%(prefix,p,postfix) for p in (
            'rangemin', 'rangemax',
            'spacename', 'gammaname', 'gammaval' )] )

def uiRadios(node,prefix='',postfix=''):
   return () 

def uiExtraLinks(node,prefix='',postfix=''):
   out = ()
   if node.evalParm('ui_withactive'):
      out += (('active',"%s%s%s"%(prefix,node.evalParm('ui_activename'),postfix)),)
   out += ((  'ramptype',
      {'expr':'PM.uiGetRadioValue(RPATHNETX,"%s_flt"%node(".").evalParm("rampparm"))',
       'lang':'python'} ),)
   return out

def uiCreate(kwargs):
   node  = kwargs['node']
   style = kwargs['script_value']

   pvops  = uiEmbedded(node)
   iprom  = uiPromotableInputs(node)
   radios = uiRadios(node)
   xlinks = uiExtraLinks(node)

   # build the top-level interface
   pyro2.uiCreateFromTuple(style,node,uiParmTemplates(node),iprom,
         pvops=pvops,radios=radios,xlinks=xlinks,
         prefix = node.evalParm('ui_prefix'),
         postfix = node.evalParm('ui_postfix') )


def uiAppend(infolder,pt,ptl,tplt):
   if infolder:
      pt.addParmTemplate(tplt)
   else:
      ptl.append(tplt)


def uiParmTemplates( 
      node,
      usenodesettings = True,
      foldername='NODENAME',
      infolder=False,
      withactive = True,         # whether to include a enable/disable switch
      initactive=0,
      activename="active",
      activelabel="Ramp",
      initcspace    = 'rgb',     # initial color space
      initgammatype = 'linear',  # initial gamma type
      initgammaval  = 2.2,       # initial custom gamma value
      dwhen   = '',
      prefix  = '',
      postfix = ''
   ):

   # Fetch export settings
   xdwhen = ''
   if usenodesettings:
      infolder   = node.evalParm('ui_infolder')
      foldername = node.evalParm('ui_foldername')
      withactive = node.evalParm('ui_withactive')
      initactive  = node.evalParm('ui_initactive')
      activename  = node.evalParm('ui_activename')
      activelabel = node.evalParm('ui_activelabel')
      initcspace    = node.evalParm('ui_initcspace')
      initgammatype = node.evalParm('ui_initgammatype')
      initgammaval  = node.evalParm('ui_initgammaval')
      xdwhen      = node.evalParm('ui_dwhen')

   # Container list, when infolder==False
   ptl = []

   # base disablewhen
   dw = dwhen + " " + xdwhen

   # Container folder
   pt = pyro2.uitTabFolder(foldername)
   
   nswitcher = '%srampswitcher%s'%(prefix,postfix)

   # Active
   if withactive:
      nactive = '%s%s%s'%(prefix,activename,postfix)
      pt2 = hou.ToggleParmTemplate(nactive,
            activelabel, default_value=initactive)
      pt2.setDisableWhen(dw)
      pt2.setJoinWithNext(True)
      uiAppend(infolder,pt,ptl,pt2)
      dw += " { %s 0 }"%nactive

   # Ramp Presets Button
   rname  = node.evalParm('rampparm')
   rnamef = '%s_flt'%(rname)
   rnamec = '%s_rgb'%(rname)
   pt2 = hou.MenuParmTemplate('%spresets%s'%(prefix,postfix), "Presets", 
         menu_items=([]), menu_labels=([]), default_value=0, icon_names=([]),
      item_generator_script="PM.rampPresetMenu(kwargs,'%s',True)"%rname,
      item_generator_script_language=hou.scriptLanguage.Python,
      menu_type=hou.menuType.Normal)
   pt2.setDisableWhen(dw)
   pt2.hideLabel(True)
   pt2.setJoinWithNext(True)
   pt2.setScriptCallback("PM.rampPresetCB(kwargs,'%s',True)"%rname )
   pt2.setScriptCallbackLanguage(hou.scriptLanguage.Python)
   uiAppend(infolder,pt,ptl,pt2)
   
   # Ramp Color Space Menu
   pt2 = hou.StringParmTemplate('%sspacename%s'%(prefix,postfix), 
         " Space", 1, default_value=([initcspace]), 
         menu_items =(["rgb","hsv","Lab","hsl","XYZ"]),
         menu_labels=(["RGB","HSV","LAB","HSL","XYZ"]))
   pt2.setDisableWhen(dw + " { %s1 0 }"%nswitcher)
   pt2.hideLabel(True)
   pt2.setJoinWithNext(True)
   uiAppend(infolder,pt,ptl,pt2)

   pt2 = hou.StringParmTemplate('%sgammaname%s'%(prefix,postfix), 
         "Gamma Type", 1, default_value=([initgammatype]), 
         menu_items =(["linear","srgb","custom"]),
         menu_labels=(["Linear","sRGB","Custom"]))
   pt2.hideLabel(True)
   pt2.setDisableWhen(dw)
   pt2.setJoinWithNext(True)
   uiAppend(infolder,pt,ptl,pt2)

   pt2 = hou.FloatParmTemplate('%sgammaval%s'%(prefix,postfix), 
         "Gamma Value", 1, default_value=([initgammaval]) ) 
   pt2.hideLabel(True)
   pt2.setDisableWhen(dw + " { %sgammaname%s != \"custom\" }"%(prefix,postfix) )
   uiAppend(infolder,pt,ptl,pt2)


   # Ramp Radio Folder for Float
   pt3 = hou.FolderParmTemplate(nswitcher, "Float", 
         folder_type=hou.folderType.RadioButtons, 
         default_value=0, ends_tab_group=False)
   pt3.setDisableWhen(dw)
   pt3.setTags({"visibletabs": "11"})

   # Float Ramp
   pt2 = hou.RampParmTemplate(rnamef, 'Lookup Ramp',hou.rampParmType.Float)
   pt2.setDisableWhen('{ active == 0 }')
   pt2.setTags({"rampbasisdefault":"linear","rampshowcontrolsdefault":"0",
                "pyro_vopname":"rampparm_flt"})
   pt2.setDisableWhen(dw)
   pt3.addParmTemplate(pt2)
   uiAppend(infolder,pt,ptl,pt3)

   # Ramp Radio Folder for Color
   pt3 = hou.FolderParmTemplate(nswitcher, "Color", 
         folder_type=hou.folderType.RadioButtons, 
         default_value=0, ends_tab_group=False)
   pt3.setTags({"visibletabs": "11"})

   # Color Ramp
   pt2 = hou.RampParmTemplate(rnamec, 'Lookup Ramp',hou.rampParmType.Color)
   pt2.setDisableWhen(dw)
   pt2.setTags( {"rampbasisdefault":"linear","rampshowcontrolsdefault":"0",
                 "rampcolortype":"rgb", "pyro_vopname":"rampparm_rgb"})
   pt3.addParmTemplate(pt2)
   uiAppend(infolder,pt,ptl,pt3)
   
   # Ramp Range: Min
   pt2 = hou.FloatParmTemplate('%srangemin%s'%(prefix,postfix), 
         "Ramp Interval", 1, default_value=([0]), min=0, max=1)
   pt2.setDisableWhen(dw)
   pt2.setJoinWithNext(True)
   uiAppend(infolder,pt,ptl,pt2)
   
   # Ramp Range: Max
   pt2 = hou.FloatParmTemplate('%srangemax%s'%(prefix,postfix), 
         "Ramp: Range Max", 1, default_value=([1]), min=0, max=1)
   pt2.setDisableWhen(dw)
   pt2.hideLabel(True)
   uiAppend(infolder,pt,ptl,pt2)

   # Ramp Boundary: Left
   pt2 = hou.StringParmTemplate('%slbt%s'%(prefix,postfix), 
         "Ramp Boundaries", 1, default_value=(["hold"]), 
         menu_items=(["hold","cycle","accum","mirror","slope"]),
         menu_labels=(["Hold","Cycle","Cycle-Accumulate","Mirror","Slope"]))
   pt2.setDisableWhen(dw)
   pt2.setJoinWithNext(True)
   pt2.setTags({"script_unquoted": "1"})
   uiAppend(infolder,pt,ptl,pt2)
   
   # Ramp Boundary: Right
   pt2 = hou.StringParmTemplate('%srbt%s'%(prefix,postfix), 
         "Right", 1, default_value=(["hold"]), 
         menu_items=(["hold","cycle","accum","mirror","slope"]),
         menu_labels=(["Hold","Cycle","Cycle-Accumulate","Mirror","Slope"]))
   pt2.setDisableWhen(dw)
   pt2.hideLabel(True)
   pt2.setTags({"script_unquoted": "1"})
   uiAppend(infolder,pt,ptl,pt2)
   
   if infolder: return (pt,)
   return ptlnode = kwargs['node']
node.parm('rampparm').set(node.creator().relativePathTo(node).replace('/','_'))   
 OnCreated/Cursor                           OnCreated/IsExpr        OnCreated/IsPython       OnCreated/IsScript       OnCreated/Source      PythonModule/Cursor                           PythonModule/IsExpr        PythonModule/IsPython       PythonModule/IsScript       PythonModule/Source     INDX              DialogScript      vR//*
 * PROPRIETARY INFORMATION.  This software is proprietary to
 * Side Effects Software Inc., and is not to be reproduced,
 * transmitted, or disclosed in any way without written permission.
 *
 * Produced by:
 *	Side Effects Software Inc
 *	477 Richmond Street West
 *	Toronto, Ontario
 *	Canada   M5V 3E7
 *	416-504-9876
 *
 */

#include <parameter.ds>

{
    name	"pcopen"
    script	"pcopen"
    label	"pcopen"

    outercode	{
	"#include <voptype.h>"
    }

    code {
	"VOPpoint $pcP = $P;"
	"#if defined(VOP_SHADING) || defined(VOP_SOP) || defined(VOP_POP)"
	"    if ($isconnected_P == 0) $pcP = P;"
	"#endif"
	"if ($nchannel != \"\") {"
	"    $handle = pcopen($file, $pchannel, $pcP, $nchannel, $N, $radius, $maxpoints, \"ndot\", cos(radians($cone)), \"preload\", $preload);"
	"} else {"
	"    $handle = pcopen($file, $pchannel, $pcP, $radius, $maxpoints, \"preload\", $preload);"
	"}"
    }

    output	int	handle		"Texture Handle"

    VOP_FILE_INPUT(file, "Point Cloud Texture", "defgeo.bgeo")
    VOP_STR_INPUT(pchannel, "Position Channel", "P")
    VOP_VEC_INPUT(P, "Query Position", 0, 0, 0)
    VOP_STR_INPUT(nchannel, "Normal Channel", "")
    VOP_VEC_INPUT(N, "Query Normal", 0, 0, 0)
    VOP_FLT_INPUT(radius, "Search radius", 0.1)
    VOP_INT_INPUT(maxpoints, "Number of points", 10)

    VOP_FLT_INPUT(cone, "Cone Angle", 90)
    VOP_TOGGLE_INPUT(preload, "Preload Map", 1)
}

INDX              DialogScript      OE#   CreateScript    lOE#   TypePropertiesOptions  g  OE#   Help   h    OE#   Tools.shelf   h  `OE#   PythonModule  #   N3   ExtraFileOptions  DV   OE## Dialog script for pyroColorCorrect automatically generated 02/22/12 12:20:15

{
    name	pyroColorCorrect
    script	colorcorrect
    label	"Pyro Color Correct"

    outercode {
	"#include <pyro_color.h>"
    }

    code {
	"#if $cc_active"
	"   $colcc = cctoggle($col          , "
	"                     $cc_gamut     , "
	"                     $cc_hrot      , $cc_bias  , $cc_gain   , $cc_gamma    , "
	"                     $cc_contrast  , $cc_sat   , $cc_value  , $cc_tint     , "
	"                     $cc_dohrot    , $cc_dobias, $cc_dogain , $cc_dogamma  , "
	"                     $cc_docontrast, $cc_dosat , $cc_dovalue, $cc_dotint );"
	"#else"
	"   $colcc = $col;"
	"#endif"
    }

    input	vector	col	"Color To Correct"
    input	int	cc_gamut	"Gamut Mapping"
    input	int	cc_dohrot	"Enable Hue Rotation"
    input	float	cc_hrot	"Hue Rotation"
    input	int	cc_dobias	"Enable Bias Correction"
    input	vector	cc_bias	"Bias Correction"
    input	int	cc_dogain	"Enable Gain Correction"
    input	vector	cc_gain	"Gain Correction"
    input	int	cc_dogamma	"Enable Gamma Correction"
    input	vector	cc_gamma	"Gamma Correction"
    input	int	cc_docontrast	"Enable Contrast Correction"
    input	vector	cc_contrast	"Contrast Correction"
    input	int	cc_dosat	"Enable Saturation Correction"
    input	float	cc_sat	"Saturation Correction"
    input	int	cc_dovalue	"Enable Value Correction"
    input	float	cc_value	"Value Correction"
    input	int	cc_dotint	"Enable Tint Correction"
    input	vector	cc_tint	"Tint Correction"
    output	vector	colcc	"Corrected Color"
    inputflags	col	0
    inputflags	cc_gamut	0
    inputflags	cc_dohrot	0
    inputflags	cc_hrot	0
    inputflags	cc_dobias	0
    inputflags	cc_bias	0
    inputflags	cc_dogain	0
    inputflags	cc_gain	0
    inputflags	cc_dogamma	0
    inputflags	cc_gamma	0
    inputflags	cc_docontrast	0
    inputflags	cc_contrast	0
    inputflags	cc_dosat	0
    inputflags	cc_sat	0
    inputflags	cc_dovalue	0
    inputflags	cc_value	0
    inputflags	cc_dotint	0
    inputflags	cc_tint	0
    signature	"Default Inputs"	default	{ vector int int float int vector int vector int vector int vector int float int float int vector vector }

    outputoverrides	default
    {
	___begin	auto
			(0,0,0)
    }

    help {
	""
    }

    parm {
	name	"makeui"
	label	"Promote Interface"
	type	button
	nolabel
	default	{ "0" }
	menu	{
	    [ "import pyro2" ]
	    [ "return pyro2.makeuimenu()" ]
	    language	python
	}
	range	{ 0 1 }
	export	none
	parmtag	{ "script_callback_language" "python" }
	parmtag	{ "script_callback" "hou.phm().uiCreate(kwargs)" }
    }
    group {
	name	"vopparms"
	label	"VOP Parameters"

	parm {
	    name	"cc_active"
	    label	"Active"
	    type	toggle
	    default	{ "1" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"cc_gamut"
	    label	"Gamut Mapping"
	    type	ordinal
	    default	{ "3" }
	    disablewhen	"{ cc_active == 0 }"
	    menu	{
		"0"	"None"
		"1"	"Clamp"
		"2"	"Absolute Colorimetry"
		"3"	"Relative Colorimetry"
	    }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"cc_dohrot"
	    label	"Label"
	    type	toggle
	    nolabel
	    joinnext
	    default	{ "0" }
	    disablewhen	"{ cc_active == 0 }"
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"cc_hrot"
	    label	"Hue Rotation"
	    type	float
	    default	{ "0" }
	    disablewhen	"{ cc_active == 0 } { cc_dohrot == 0 }"
	    range	{ -1 1 }
	    export	none
	}
	parm {
	    name	"cc_dobias"
	    label	"Label"
	    type	toggle
	    nolabel
	    joinnext
	    default	{ "0" }
	    disablewhen	"{ cc_active == 0 }"
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"cc_bias"
	    label	"Bias"
	    type	vector
	    size	3
	    default	{ "0.5" "0.5" "0.5" }
	    disablewhen	"{ cc_active == 0 } { cc_dobias == 0 }"
	    range	{ 1e-05! 0.99999! }
	    export	none
	}
	parm {
	    name	"cc_dogain"
	    label	"Label"
	    type	toggle
	    nolabel
	    joinnext
	    default	{ "0" }
	    disablewhen	"{ cc_active == 0 }"
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"cc_gain"
	    label	"Gain"
	    type	vector
	    size	3
	    default	{ "0.5" "0.5" "0.5" }
	    disablewhen	"{ cc_active == 0 } { cc_dogain == 0 }"
	    range	{ 1e-05! 0.99999! }
	    export	none
	}
	parm {
	    name	"cc_dogamma"
	    label	"Label"
	    type	toggle
	    nolabel
	    joinnext
	    default	{ "0" }
	    disablewhen	"{ cc_active == 0 }"
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"cc_gamma"
	    label	"Gamma"
	    type	vector
	    size	3
	    default	{ "1" "1" "1" }
	    disablewhen	"{ cc_active == 0 } { cc_dogamma == 0 }"
	    range	{ 0! 2 }
	    export	none
	}
	parm {
	    name	"cc_docontrast"
	    label	"Label"
	    type	toggle
	    nolabel
	    joinnext
	    default	{ "0" }
	    disablewhen	"{ cc_active == 0 }"
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"cc_contrast"
	    label	"Contrast"
	    type	vector
	    size	3
	    default	{ "1" "1" "1" }
	    disablewhen	"{ cc_active == 0 } { cc_docontrast == 0 }"
	    range	{ 0 2 }
	    export	none
	}
	parm {
	    name	"cc_dosat"
	    label	"Label"
	    type	toggle
	    nolabel
	    joinnext
	    default	{ "0" }
	    disablewhen	"{ cc_active == 0 }"
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"cc_sat"
	    label	"Saturation"
	    type	float
	    default	{ "1" }
	    disablewhen	"{ cc_active == 0 } { cc_dosat == 0 }"
	    range	{ -2 2 }
	    export	none
	}
	parm {
	    name	"cc_dovalue"
	    label	"Label"
	    type	toggle
	    nolabel
	    joinnext
	    default	{ "0" }
	    disablewhen	"{ cc_active == 0 }"
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"cc_value"
	    label	"Brightness"
	    type	float
	    default	{ "1" }
	    disablewhen	"{ cc_active == 0 } { cc_dovalue == 0 }"
	    range	{ 0 2 }
	    export	none
	}
	parm {
	    name	"cc_dotint"
	    label	"Label"
	    type	toggle
	    nolabel
	    joinnext
	    default	{ "0" }
	    disablewhen	"{ cc_active == 0 }"
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"cc_tint"
	    label	"Tint"
	    type	color
	    size	3
	    default	{ "1" "1" "1" }
	    disablewhen	"{ cc_active == 0 } { cc_dotint == 0 }"
	    range	{ 0 1 }
	    export	none
	}
    }

    group {
	name	"vopparms_1"
	label	"UI Promotion"

	parm {
	    name	"ui_prefix"
	    label	"Parameter Prefix"
	    type	string
	    joinnext
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"ui_postfix"
	    label	"Postfix"
	    type	string
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"ui_infolder"
	    label	"ui_infolder"
	    type	toggle
	    nolabel
	    joinnext
	    default	{ "0" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"ui_foldername"
	    label	"Create In Folder"
	    type	string
	    default	{ [ "node('.').creator().relativePathTo(node('.')).replace('/','_')" python ] }
	    disablewhen	"{ ui_infolder == 0 }"
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"spacer4"
	    label	"spacer"
	    type	label
	    nolabel
	    default	{ "" }
	    disablewhen	"{ cc_active == 0 }"
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"ui_withactive"
	    label	"Include On/Off Switch"
	    type	toggle
	    joinnext
	    default	{ "1" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"ui_initactive"
	    label	"Default"
	    type	toggle
	    joinnext
	    default	{ "1" }
	    disablewhen	"{ ui_withactive == 0 }"
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"ui_labelactive"
	    label	"Label"
	    type	string
	    default	{ "Active" }
	    disablewhen	"{ ui_withactive == 0 }"
	    range	{ 0 1 }
	    export	none
	}
    }

}
# Automatically generated script: Wednesday February 22, 12:20 2012
\set noalias = 1
#
#  Creation script for pyroColorCorrect operator
#

if ( "$arg1" == "" ) then
    echo This script is intended as a creation script
    exit
endif

# Node $arg1 (Vop/pyroColorCorrect)
opspareds "" $arg1
opexprlanguage -s hscript $arg1
opuserdata -n '___Version___' -v '' $arg1
ParmsFromVfl := 0;
PrefixDroppedParmName := 0;
UseDSParms := 1;
ForbidOutsideParms := 1;
LockContents := 1;
SaveSpareParms := 1;
CheckExternal := 1;
GzipContents := 1;
MakeDefault := 1;
SaveCachedCode := 0;
PrefixDroppedParmLabel := 0;
UnlockOnCreate := 0;
<?xml version="1.0" encoding="UTF-8"?>
<shelfDocument>
  <!-- This file contains definitions of shelves, toolbars, and tools.
 It should not be hand-edited when it is being used by the application.
 Note, that two definitions of the same element are not allowed in
 a single file. -->

  <tool name="$HDA_DEFAULT_TOOL" label="$HDA_LABEL" icon="$HDA_ICON">
    <toolMenuContext name="viewer">
      <contextNetType>VOP</contextNetType>
    </toolMenuContext>
    <toolMenuContext name="pop_viewer">
      <contextNetType>VOP</contextNetType>
    </toolMenuContext>
    <toolMenuContext name="network">
      <contextOpType>$HDA_TABLE_AND_NAME</contextOpType>
    </toolMenuContext>
    <toolSubmenu>Pyro</toolSubmenu>
    <script scriptType="python"><![CDATA[import voptoolutils

voptoolutils.genericTool(kwargs, '$HDA_NAME')]]></script>
  </tool>
</shelfDocument>
import pyro2

def uiEmbedded(node,prefix='',postfix=''):
   return ()

def uiPromotableInputs(node,prefix='',postfix=''):
   return  tuple( ['%s%s%s'%(prefix,p,postfix) for p in ( 
                    'cc_gamut' , 
                    'cc_dohrot'     , 'cc_hrot'     , 
                    'cc_dobias'     , 'cc_bias'     , 
                    'cc_dogain'     , 'cc_gain'     , 
                    'cc_dogamma'    , 'cc_gamma'    , 
                    'cc_docontrast' , 'cc_contrast' , 
                    'cc_dosat'      , 'cc_sat'      , 
                    'cc_dovalue'    , 'cc_value'    , 
                    'cc_dotint'     , 'cc_tint'     , 
                )] )


def uiRadios(node,prefix='',postfix=''):
   return ()

def uiExtraLinks(node,prefix='',postfix=''):
   act = "%scc_active%s"%(prefix,postfix)
   return ((act,act),)


def uiCreate(kwargs):
   node  = kwargs['node']
   style = kwargs['script_value']

   iprom = uiPromotableInputs(node)

   # build the top-level interface
   pyro2.uiCreateFromTuple(style,node,uiParmTemplates(node),iprom,
         prefix  = node.evalParm('ui_prefix'),
         postfix = node.evalParm('ui_postfix') )



def uiAppend(infolder,pt,ptl,tplt):
   if infolder:
      pt.addParmTemplate(tplt)
   else:
      ptl.append(tplt)


def uiParmTemplates( 
      node,
      usenodesettings = True,
      foldername='NODENAME',
      infolder=False,
      dwhen   = '',
      prefix  = '',
      postfix = '',
      withactive = True,      # whether to include the enable switch
      initactive = False,     # the initial state of the enable switch
      labelactive = 'Active', # the label for the enable switch
   ):

   # Fetch export settings
   if usenodesettings:
      infolder    = node.evalParm('ui_infolder')
      foldername  = node.evalParm('ui_foldername')
      withactive  = node.evalParm('ui_withactive')
      initactive  = node.evalParm('ui_initactive')
      labelactive = node.evalParm('ui_labelactive')

   # Container list, when infolder==False
   ptl = []

   # Container folder
   pt = pyro2.uitTabFolder(foldername)


   # Active and base disable
   basedis = dwhen
   ncc_active = "%scc_active%s"%(prefix,postfix)
   if withactive:
      pt2 = hou.ToggleParmTemplate(ncc_active, labelactive,
         default_value=initactive, disable_when="")
      pt2.setScriptCallbackLanguage(hou.scriptLanguage.Python)
      uiAppend(infolder,pt,ptl,pt2)
      basedis = "{ %s 0 } "%ncc_active+dwhen

   # Gamut Mapping
   pt2 = hou.MenuParmTemplate("%scc_gamut%s"%(prefix,postfix), 
         "Gamut Mapping", menu_items=(["0","1","2","3"]),
         menu_labels=(["None","Clamp","Absolute Colorimetry","Relative Colorimetry"]),
         default_value=3, menu_type=hou.menuType.Normal)
   pt2.setDisableWhen(basedis)
   pt2.setJoinWithNext(False)
   uiAppend(infolder,pt,ptl,pt2)
   

   # Do HRot
   ncc_dohrot = "%scc_dohrot%s"%(prefix,postfix)
   pt2 = hou.ToggleParmTemplate(ncc_dohrot, 
         "Do HRot", default_value=False, disable_when="")
   pt2.hideLabel(True)
   pt2.setJoinWithNext(True)
   pt2.setDisableWhen(basedis)
   uiAppend(infolder,pt,ptl,pt2)
   # HRot
   pt2 = hou.FloatParmTemplate("%scc_hrot%s"%(prefix,postfix), 
         "Hue Rotation", 1, default_value=([0]), 
         min=-1, max=1, min_is_strict=False, max_is_strict=False, 
         look=hou.parmLook.Regular, naming_scheme=hou.parmNamingScheme.Base1)
   pt2.setDisableWhen("{ %s == 0 } "%ncc_dohrot+basedis)
   pt2.setJoinWithNext(False)
   uiAppend(infolder,pt,ptl,pt2)
   
   # Do Bias
   ncc_dobias = "%scc_dobias%s"%(prefix,postfix)
   pt2 = hou.ToggleParmTemplate(ncc_dobias, 
         "Do Bias", default_value=False, disable_when="")
   pt2.hideLabel(True)
   pt2.setJoinWithNext(True)
   pt2.setDisableWhen(basedis)
   uiAppend(infolder,pt,ptl,pt2)
   # Bias
   pt2 = hou.FloatParmTemplate("%scc_bias%s"%(prefix,postfix), 
         "Bias", 3, default_value=([0.5,0.5,0.5]), 
         min=0, max=1, min_is_strict=False, max_is_strict=False, 
         look=hou.parmLook.Regular, naming_scheme=hou.parmNamingScheme.Base1)
   pt2.setDisableWhen("{ %s == 0 } "%ncc_dobias+basedis)
   pt2.setJoinWithNext(False)
   uiAppend(infolder,pt,ptl,pt2)
   
   # Do Gain
   ncc_dogain = "%scc_dogain%s"%(prefix,postfix)
   pt2 = hou.ToggleParmTemplate(ncc_dogain, 
         "Do Gain", default_value=False, disable_when="")
   pt2.hideLabel(True)
   pt2.setJoinWithNext(True)
   pt2.setDisableWhen(basedis)
   uiAppend(infolder,pt,ptl,pt2)
   # Gain
   pt2 = hou.FloatParmTemplate("%scc_gain%s"%(prefix,postfix), 
         "Gain", 3, default_value=([0.5,0.5,0.5]), 
         min=0, max=1, min_is_strict=False, max_is_strict=False, 
         look=hou.parmLook.Regular, naming_scheme=hou.parmNamingScheme.Base1)
   pt2.setDisableWhen("{ %s == 0 } "%ncc_dogain+basedis)
   pt2.setJoinWithNext(False)
   uiAppend(infolder,pt,ptl,pt2)
   
   # Do Gamma
   ncc_dogamma = "%scc_dogamma%s"%(prefix,postfix)
   pt2 = hou.ToggleParmTemplate(ncc_dogamma, 
         "Do Gamma", default_value=False, disable_when="")
   pt2.hideLabel(True)
   pt2.setJoinWithNext(True)
   pt2.setDisableWhen(basedis)
   uiAppend(infolder,pt,ptl,pt2)
   # Gamma
   pt2 = hou.FloatParmTemplate("%scc_gamma%s"%(prefix,postfix), 
         "Gamma", 3, default_value=([1,1,1]), 
         min=0, max=1, min_is_strict=False, max_is_strict=False, 
         look=hou.parmLook.Regular, naming_scheme=hou.parmNamingScheme.Base1)
   pt2.setDisableWhen("{ %s == 0 } "%ncc_dogamma+basedis)
   pt2.setJoinWithNext(False)
   uiAppend(infolder,pt,ptl,pt2)
   
   # Do Contrast
   ncc_docontrast = "%scc_docontrast%s"%(prefix,postfix)
   pt2 = hou.ToggleParmTemplate(ncc_docontrast, 
         "Do Contrast", default_value=False, disable_when="")
   pt2.hideLabel(True)
   pt2.setJoinWithNext(True)
   pt2.setDisableWhen(basedis)
   uiAppend(infolder,pt,ptl,pt2)
   # HSV
   pt2 = hou.FloatParmTemplate("%scc_contrast%s"%(prefix,postfix), 
         "Contrast", 3, default_value=([1,1,1]), 
         min=0, max=1, min_is_strict=False, max_is_strict=False, 
         look=hou.parmLook.Regular, naming_scheme=hou.parmNamingScheme.Base1)
   pt2.setDisableWhen("{ %s == 0 } "%ncc_docontrast+basedis)
   pt2.setJoinWithNext(False)
   uiAppend(infolder,pt,ptl,pt2)

   # Do Saturation
   ncc_dosat = "%scc_dosat%s"%(prefix,postfix)
   pt2 = hou.ToggleParmTemplate(ncc_dosat, 
         "Do Saturation", default_value=False, disable_when="")
   pt2.hideLabel(True)
   pt2.setJoinWithNext(True)
   pt2.setDisableWhen(basedis)
   uiAppend(infolder,pt,ptl,pt2)
   # Saturation
   pt2 = hou.FloatParmTemplate("%scc_sat%s"%(prefix,postfix), 
         "Saturation", 1, default_value=([1]), 
         min=-2, max=2, min_is_strict=False, max_is_strict=False, 
         look=hou.parmLook.Regular, naming_scheme=hou.parmNamingScheme.Base1)
   pt2.setDisableWhen("{ %s == 0 } "%ncc_dosat+basedis)
   pt2.setJoinWithNext(False)
   uiAppend(infolder,pt,ptl,pt2)

   # Do Brightness
   ncc_dovalue = "%scc_dovalue%s"%(prefix,postfix)
   pt2 = hou.ToggleParmTemplate(ncc_dovalue, 
         "Do Brightness", default_value=False, disable_when="")
   pt2.hideLabel(True)
   pt2.setJoinWithNext(True)
   pt2.setDisableWhen(basedis)
   uiAppend(infolder,pt,ptl,pt2)
   # Brightness
   pt2 = hou.FloatParmTemplate("%scc_value%s"%(prefix,postfix), 
         "Brightness", 1, default_value=([1]), 
         min=0, max=2, min_is_strict=False, max_is_strict=False, 
         look=hou.parmLook.Regular, naming_scheme=hou.parmNamingScheme.Base1)
   pt2.setDisableWhen("{ %s == 0 } "%ncc_dovalue+basedis)
   pt2.setJoinWithNext(False)
   uiAppend(infolder,pt,ptl,pt2)
   
   # Do Tint
   ncc_dotint = "%scc_dotint%s"%(prefix,postfix)
   pt2 = hou.ToggleParmTemplate(ncc_dotint, 
         "Do Tint", default_value=False, disable_when="")
   pt2.hideLabel(True)
   pt2.setJoinWithNext(True)
   pt2.setDisableWhen(basedis)
   uiAppend(infolder,pt,ptl,pt2)
   # Tint
   pt2 = hou.FloatParmTemplate("%scc_tint%s"%(prefix,postfix), 
         "Tint", 3, default_value=([1,1,1]), 
         min=0, max=1, min_is_strict=False, max_is_strict=False, 
         look=hou.parmLook.ColorSquare, naming_scheme=hou.parmNamingScheme.RGBA)
   pt2.setDisableWhen("{ %s == 0 } "%ncc_dotint+basedis)
   pt2.setJoinWithNext(False)
   uiAppend(infolder,pt,ptl,pt2)

   if infolder: return (pt,)
   return ptl    PythonModule/Cursor                           PythonModule/IsExpr        PythonModule/IsPython       PythonModule/IsScript       PythonModule/Source     INDX           	   DialogScript      #OE    CreateScript  #  MOE    TypePropertiesOptions  %+  OE    Help  &,    OE    Tools.shelf  &,  gOE    Contents.gz  )  ?OE    PythonModule  h  N   	OnCreated  ~   eNo   ExtraFileOptions    COE # Dialog script for aarampparm automatically generated 02/22/12 12:07:18

{
    name	aarampparm
    script	rampparmx
    label	"Anti-Aliased Ramp Parameter"

    outercode {
	""
    }

    code {
	""
    }

    input	float	pos	"Ramp Lookup Position"
    input	float	rangemin	"Range Min"
    input	float	rangemax	"Range Max"
    input	string	spacename	"Name Of Color Space (rgb,hsl,hsv,Lab,XYZ)"
    input	string	gammaname	"Name Of Gamma Space (linear,srgb,custom)"
    input	float	gammaval	"Custom Gamma Value"
    input	float	fw	"Filter Width Override"
    input	float	fscale	"Filter Scale"
    output	vector	ramp	ramp
    inputflags	pos	0
    inputflags	rangemin	0
    inputflags	rangemax	0
    inputflags	spacename	0
    inputflags	gammaname	0
    inputflags	gammaval	0
    inputflags	fw	0
    inputflags	fscale	0
    signature	"1D Lookup, 1D Ramp"	default	{ float float float string string float float float vector }
    signature	"3D Lookup, 1D Ramp"	vf	{ vector float float string string float float float vector }
    signature	"4D Lookup, 1D Ramp"	pf	{ vector4 float float string string float float float vector }
    signature	"1D Lookup, 3D Ramp"	fv	{ vector float float string string float float float vector }
    signature	"3D Lookup, 3D Ramp"	vv	{ vector float float string string float float float float }
    signature	"4D Lookup, 3D Ramp"	pv	{ float float float string string float float float float }

    outputoverrides	default
    {
	___begin	auto
			(0,0,0)
    }
    outputoverrides	vf
    {
	___begin	auto
			(0,0,0)
    }
    outputoverrides	pf
    {
	___begin	auto
			(0,0,0)
    }
    outputoverrides	fv
    {
	___begin	auto
			(0,0,0)
    }
    outputoverrides	vv
    {
	___begin	auto
			(0)
    }
    outputoverrides	pv
    {
	___begin	auto
			(0)
    }

    help {
	""
    }

    parm {
	name	"signature"
	baseparm
	invisible
	export	none
    }
    parm {
	name	"spacer2"
	label	"spacer"
	type	label
	nolabel
	default	{ "" }
	range	{ 0 1 }
	export	none
    }
    parm {
	name	"makeui"
	label	"Promote Interface"
	type	button
	nolabel
	default	{ "0" }
	menu	{
	    [ "import pyro2" ]
	    [ "return pyro2.makeuimenu()" ]
	    language	python
	}
	range	{ 0 1 }
	export	none
	parmtag	{ "script_callback_language" "python" }
	parmtag	{ "script_callback" "hou.phm().uiCreate(kwargs)" }
    }
    group {
	name	"folder0"
	label	"VOP Parameters"

	parm {
	    name	"active"
	    label	"Active"
	    type	toggle
	    default	{ "on" }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"rampparm"
	    label	"Unique Ramp Name"
	    type	string
	    default	{ "rampparm" }
	    disablewhen	"{ active == 0 }"
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"parmlabel"
	    label	"Label"
	    type	string
	    default	{ "Lookup Ramp" }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"disablewhen"
	    label	"Disable When"
	    type	string
	    default	{ [ "'{ %sactive%s 0 }'%(ch('ui_prefix'),ch('ui_postfix'))" python ] }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"hidewhen"
	    label	"Hide When"
	    type	string
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"callback"
	    label	"Callback Script"
	    type	string
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"help"
	    label	"Help"
	    type	string
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"spacer3"
	    label	"spacer"
	    type	label
	    nolabel
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"ramptype"
	    label	"Ramp Type"
	    type	ordinal
	    joinnext
	    default	{ "0" }
	    disablewhen	"{ active == 0 }"
	    menu	{
		"rgb"	"Color Ramp"
		"flt"	"Float Spline"
	    }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "script_callback_language" "python" }
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"spacename"
	    label	"Space"
	    type	string
	    default	{ "rgb" }
	    disablewhen	"{ active == 0 }"
	    menu	{
		"rgb"	"RGB"
		"hsv"	"HSV"
		"Lab"	"LAB"
		"hsl"	"HSL"
		"XYZ"	"XYZ"
	    }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"gammaname"
	    label	"Gamma"
	    type	string
	    joinnext
	    default	{ "linear" }
	    disablewhen	"{ active == 0 }"
	    menu	{
		"linear"	"Linear"
		"srgb"	"sRGB"
		"custom"	"Custom"
	    }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"gammaval"
	    label	"Gamma Value"
	    type	float
	    nolabel
	    default	{ "2.2" }
	    disablewhen	"{ active == 0 } { gammaname != custom }"
	    range	{ 0.0001! 4 }
	    export	none
	    parmtag	{ "script_unquoted" "1" }
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"rangemin"
	    label	"Ramp Interval"
	    type	float
	    joinnext
	    default	{ "0" }
	    disablewhen	"{ active == 0 }"
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"rangemax"
	    label	"Max"
	    type	float
	    nolabel
	    default	{ "1" }
	    disablewhen	"{ active == 0 }"
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"lbt"
	    label	"Ramp boundaries"
	    type	string
	    joinnext
	    default	{ "hold" }
	    disablewhen	"{ active == 0 }"
	    menu	{
		"hold"	"Hold"
		"cycle"	"Cycle"
		"accum"	"Cycle-Accumulate"
		"mirror"	"Mirror"
		"slope"	"Slope"
	    }
	    range	{ 0 1 }
	    export	none
	    unquoted
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"rbt"
	    label	"Right"
	    type	string
	    nolabel
	    default	{ "hold" }
	    disablewhen	"{ active == 0 }"
	    menu	{
		"hold"	"Hold"
		"cycle"	"Cycle"
		"accum"	"Cycle-Accumulate"
		"mirror"	"Mirror"
		"slope"	"Slope"
	    }
	    range	{ 0 1 }
	    export	none
	    unquoted
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"ftype"
	    label	"Filter"
	    type	string
	    joinnext
	    default	{ "point" }
	    disablewhen	"{ active == 0 }"
	    menu	{
		"point"	"Point"
		"box"	"Box"
		"gauss"	"Gaussian"
	    }
	    range	{ 0 1 }
	    export	none
	    unquoted
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"fscale"
	    label	"Scale"
	    type	float
	    default	{ "1" }
	    disablewhen	"{ active == 0 } { ftype == point }"
	    range	{ 0 2 }
	    export	none
	}
    }

    group {
	name	"folder0_1"
	label	"UI Promotion"

	parm {
	    name	"ui_prefix"
	    label	"Parameter Prefix"
	    type	string
	    joinnext
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"ui_postfix"
	    label	"Postfix"
	    type	string
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"ui_infolder"
	    label	"ui_infolder"
	    type	toggle
	    nolabel
	    joinnext
	    default	{ "0" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"ui_foldername"
	    label	"Create In Folder"
	    type	string
	    default	{ [ "node('.').creator().relativePathTo(node('.')).replace('/','_')" python ] }
	    disablewhen	"{ ui_infolder == 0 }"
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"spacer"
	    label	"spacer"
	    type	label
	    nolabel
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"ui_withactive"
	    label	"Include Enable Switch"
	    type	toggle
	    joinnext
	    default	{ "1" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"leftalign"
	    label	"spacer"
	    type	label
	    nolabel
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"ui_style"
	    label	"Promoted Ramp Type"
	    type	ordinal
	    default	{ [ "ch(ramptype)" hscript-expr ] }
	    menu	{
		"rgb"	"Color Ramp"
		"flt"	"Float Ramp"
	    }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "script_callback_language" "python" }
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"ui_initcspace"
	    label	"Default Color Space"
	    type	string
	    default	{ [ "chs(spacename)" hscript-expr ] }
	    menu	{
		"rgb"	"RGB"
		"hsv"	"HSV"
		"lab"	"LAB"
		"hsl"	"HSL"
		"xyz"	"XYZ"
	    }
	    range	{ 0 1 }
	    export	none
	    unquoted
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"ui_initgammatype"
	    label	"Default Gamma Type"
	    type	string
	    joinnext
	    default	{ [ "chs(gammaname)" hscript-expr ] }
	    menu	{
		"linear"	"Linear"
		"srgb"	"sRGB"
		"custom"	"Custom"
	    }
	    range	{ 0 1 }
	    export	none
	    unquoted
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"ui_initgammaval"
	    label	"Value"
	    type	float
	    default	{ [ "ch(gammaval)" hscript-expr ] }
	    disablewhen	"{ ui_initgammatype != custom }"
	    range	{ 0.0001! 4 }
	    export	none
	    parmtag	{ "script_unquoted" "1" }
	    parmtag	{ "autoscope" "0000000000000000" }
	}
    }

}
# Automatically generated script: Wednesday February 22, 12:07 2012
\set noalias = 1
#
#  Creation script for aarampparm operator
#

if ( "$arg1" == "" ) then
    echo This script is intended as a creation script
    exit
endif

# Node $arg1 (Vop/aarampparm)
opexprlanguage -s hscript $arg1
opuserdata -n '___Version___' -v '' $arg1
ParmsFromVfl := 0;
PrefixDroppedParmName := 0;
UseDSParms := 1;
ForbidOutsideParms := 1;
LockContents := 1;
SaveSpareParms := 0;
CheckExternal := 1;
GzipContents := 1;
MakeDefault := 1;
SaveCachedCode := 0;
PrefixDroppedParmLabel := 0;
UnlockOnCreate := 0;
<?xml version="1.0" encoding="UTF-8"?>
<shelfDocument>
  <!-- This file contains definitions of shelves, toolbars, and tools.
 It should not be hand-edited when it is being used by the application.
 Note, that two definitions of the same element are not allowed in
 a single file. -->

  <tool name="$HDA_TABLE_$HDA_NAME" label="$HDA_LABEL" icon="$HDA_ICON">
    <toolMenuContext name="viewer">
      <contextNetType>VOP</contextNetType>
    </toolMenuContext>
    <toolMenuContext name="pop_viewer">
      <contextNetType>VOP</contextNetType>
    </toolMenuContext>
    <toolMenuContext name="network">
      <contextOpType>$HDA_TABLE/$HDA_NAME</contextOpType>
    </toolMenuContext>
    <toolSubmenu>Utility</toolSubmenu>
    <script scriptType="python"><![CDATA[import voptoolutils

voptoolutils.genericTool(kwargs, '$HDA_NAME')]]></script>
  </tool>
</shelfDocument>
      r$GvA/Ԑd#|GwB;b:]rWS$cH+P	nu6rfv4o?ʏr%P'_}B|`r#d3[	9t2.n?&O?cX\wv?o/oE߭}r^̗5rUM]/0fuw5_Ο9̑0.gk6_l^7րC{lٔTۗW5}oRr݇9_~ѧoO?\7Qh6/;vp?Oǎ}}plu}r]_U_<_U_s>ZE\=_~9l6Һ#߲{Aϟrp<f]:1ƃCr8s~yT+ƛ'P}0|իǕRqbMF4mW_$򲺮ɓ)}BH5!{L_Vn3ZFV/^4>T.WWup4~ۮՃ~QYkջf7V6Z7/l{2)\z3z7c?o<Htn9,?yϛIIIOz>^nSH&[lGu?1?_UʇLvwv쏯F(hr+gd\D(D֡!RZFhۆ3NMfbPmjʶK-JIimB+d#euB+D&)(8Rp^ZA8S2L0_&2Ki	%|-ke؜5r4G(Ҹ$n!6uwMhӝmdC61ɤAFV)5ոfl[2W^ҍQ:sRC4KLv$+dRuڈT>3Y?hZjAPL{<{miSvJSz|2JviAK~>~meRxJ+1tg} St @,`:>zi1X(`}XZQhE*!0	RKS900ii3Ni.>]#RMCi:>$3>ɵ&5P!$DsD
E*F8!zpwR)!
!*DnO	&BACi\f-milǆ1Y?)!\px)r#cԒ)<ØJzy~G7!a@}xFi=SDh|>E9ZTDD@"@w甩IKapXh'q"4GD'qN('D%O'2\ T
B+Jl.4FZzYP@zS2nJlА54h֤mY{M"zIYC5xh@'.mIP r-BQѐCx	0xiFЈ8.dd#HCLJ4Yma#dpj#" D u FE}H%"lŜ( 5!Ǫց~W Ģf#Ԣؒii^SIXվe[;j,PsGZz9lI5EGMm|<#jtiBfI4m]!h+ҶzOhMm)lI#ey kZGdjb LA, E`qVF8`2,&V3'-nr3hTDXyҧy]aK
t`1>\{`H맱ՄQ硺M.ތ:bKS+V1fCOW/+VůPTS[F13b~zj2
_&D-m42`|ԒƓdFR@!hEh4hX%QԌ B7#	"C>.{6Hs`'%MtfcyO1ixHcAψ1ixcCܒ&*aAKH,qKbh Nx*JDq@g
W8=8τBL	P(p{Pq!$ՄRZ*\ӄ2JKRISipMއwʟU4.T<T	AiM-RLMop{PqJzC&nvC֌&T	C?3zL뱈^*\ӄ̹Т"":n`=L4MjLwg5L<	iPqsF9)
4}8?#˵,AE@ӴUp-D-mz5pD˴sEzQbG&_h)JFm<NjhLQqL)2ZdٔG Q͘dZR \qWF6@}2e*!Cݙi3fD!kF6t2reꕻFүYAmUiTftK j~FHZ0yPhtT9#luJf02wi?0FԯgAp0M~I3V6N]\Ls_}ԎAiz0[VPBoFݠy(̀9@nҧuų:yzn	5)\
s!9Pm 'Iۆ!*6aB0CWDwڒLYesAVZ8=q!)3aIw [xVAP-a$ZF:T#q<D6FZz9$	"AuТaup䔩ۆ$&nF]WyhSlJ궖09iNIh.	}5%emMIF(Uf$ n?ǍIF)]f$ nF0n+V>nPtUYH	V^d0m>!T궎59iLuaM.ތz [p%mUeEh/
(qkҶlbPhG
YF-hf4Qj=k ZԨOj;
6Z@6jFCQn)i$!G!xL7'mUq[騃T؁HIkwFG=⥢ϪJG-h{W*і~4?Z/X<-QBzKz[OÔ#7r4DC1։X0]!,-i[v/ƀѠQ֤m#a2kYma#C`TfPA"|	wM	S15F|CʅiduL8%>HNs)A̂$aNX%֋C`Y>zh|jZºf.jǇ",NRR*5R<"|>t֕'#n!FlI9Dj;:+/ bEpv6l!!jIleQhH`TTh`\~신ϧVT]s/6I$Byr-nss9G0
78˷<IF)M6|Igvi-b@xtʱEYdn!coAX},*F=`5ixeJ58,Gm46^[\CPޒ'#*hX>-nploe甩ڇ-庌mۧ58-yrF9)׼{r-a\q-يQCX'LF6R>-np!}pF;R>-ni]l7e=`[Zq[F6X̉alq+aA< [g8uEFC{5{+Qo6?ǭ:_{ꇣ:j8ζ`uBWduS8ToX~1v`0#%~t8K9+j<$@(7=0,0LQpFh1wWVaxc1o7o7voxc1o7a0xc(1
o7a0xxJ81a1'07CB] 8܉!/8sO>1Ť(F} AR`IbPX(}<F} QP\Ч46#H8D$-adHLN7TV;t_LZEn/ʃv΃~/ʇ.·}򠀥o)?\'Y'#VUy[{t]<>뿧??P6b9 x~,%7</ydy@y3 7 8oʗ<8}|w
25@N`77aǑw?](<[-`]ٙnWYnb̂bǬUvֱ[/?'8!O$xDbHwձ|t`ȁ=?=A>|ֈhDI#;(<`#>PD1y)v7FqWn `_[7n y`޽7zP @7p 
K8{p =@7q *}>Aàaǰc(=>A?1
}>BCPc(1}>CCPc(	}>AO`'P{@@O}>q	
}>B@O'P8	}>B@O'p(Q(~?EH@c /)1HQ8R	)B!ѐpH<H R$)D"Qhe[@ֻc|{@0_Aa~Ȟh̽]h*,ǩ^canT|qh68uQTDADQDD}G{D!88 8C H "~8؇BǠc1q8}>q^1>AGQ(q8
}>Cǡq(q8
}}x_mv	h~ptnf;Zur_H\ԋu=/u9o>d󫇏.6z܊"G|wȷf,ki=Ȥبgr_n%,pBu=zqc6S>u;mois_mbƓݬ7r'uG|[?`j0'>?WzKu*T]b[of
vȿ7*2}BB	y%W;@Ck>&VRԛU&ŝ/7sf?w&['/WKoz3aYVۛGIvsy~9ߌ5e5e]U}ן}ب/
~_\C-[\/kQ4*잜Z8E^[q}:Cz.jXj&|4tޯW=7+K]W7^=DPɟr\Jws3vd
W7#(2|Z]A*dzQWҶzxiR%Mj!l6rQ/7gxgG+E;(_O}l|݉W󵖳>^pSXruVT+5_R뾖6YqG =~oK/ԵI[\NNr',%\/nWwX4]vu'w݊9c]H˛kԷ#/?/oEWrUŀ7<\ݮ狚u4Ncs5Wˇvv=6G叫f^۬{^7'wRm9#<XruP8&n}`翭^fxs&ֿ?`ͩ7&Wҏ.ܻfϝ=M31z-i姟+9i6	r<־?+y:A]_Z,|V9,V뺙5șu!l^vtf{}"@ݱX\lՑPC#Q7o^QUm;exNǍF:)q:y
B1EdmtWF#GV?f.:唔J[s>|U=e]Vj]5S1[[g	|0NB_?{~Y;zmnƯ0S>T+уs@`"%~\=V:C&h0=du9
I
~03ҟ^rwx>̃!BZN߭~[oV礼7Nc%qY,uxȓNjqՄx$V2SB~T+:^fĸ^IW_f4*QW*+%e2t"x,m`jWV'>J;\^d`*5ڃNGu~;)U;ChLH4T}pW$x0IKW5g5G?ƙMTYW4V(itP?Sˑ~{@T^p5mU'Ҋͭʜ[[˷bD"
ـCu	Hgz1wۇ֙"Y~{t32deYWk%hYæz_T|
U˺,#jKyi܋{Ζ=sp{
91KvҹfRY>Cͳp6RsZޛ/ɽ>m>35㠗m/65Ovm'xd{d.խʋr0Vӫ	]s??H&M/	w(8jh@>e/Wզ\͎ ?x1\<_GafFǼoW]dhK|{磱@E^}jqD*?o~v=3q:usp)ʹ0rR;}{G1kf_N9-vE6(#땇nY`<:} NhL>tt>bƽ%0FMh}4$F߂܃;fBhğuݛCԣAY(9^Zh=dsuHCvOшGkQvR	cZM㘾`UD)o~~_C~(4n~nWe =O)y9ђ'jJjnd?<Ȓu:~[/FRT6׿QϿ+\{=v<+Bպlx511/9%c&w^0{؞{D?{wbX.NMHjw|jOHIޮh28z'%pޞKopG{jqV^JWl[4囻o<ᕑ3奼[f%\^ڕnv|Y5WzNtJ\1rۻնJz6	v?I)fƦbѳZSV׫GTkV^^UX+qd;vnQ7y:`女i|ezB\-cJO?!ROTGZ|[	9t2=ֿz]x>o}
nM(pdjO=~@w9$_ȽyU}|U}/qP;7%206OsϧnumQcG¨A;!捔TjfϿls'ꟺtL%gjdюl.GC5h6MOƧZz
mCuh9M7Fmh	O!%M؟y;Sy;{w!2@vAj>ПD;+S3=8wb&Oφ
ٓ3oN32P_Bx`f*S5%^h[Ϥ]%_(cd|hLZ7wm}⩌DL:zǼa*2P{r,/7~>W2UɭT@Z:tre6j+-SJ*2g]Te*2i6i-S|ۿsJ$Ytlm".M^.7LK0p23zْZG@0y<̌5j4ecf0k3Aӂ:6#{fɜt2f6'2jF,JgfS29p"nClۤPY;qLd,r0?J¤h	PrxgsYZ,LvmRC(4Z:4kEl
S9ZTmlM,-lRZ<-Lv2JZ(I%lR0	yZVJU9[d-lf'd3ބNmi?E3*L0u2sH	-% s-Lmv'kNAQoah;g3:s6.t6;9AKgqӷY{JZC83LNTNkT'tdt;nElZI8J^
$̢VԨш\&US⩛,un^OY-dOlOt4zdʧ:S'S7GŸ@&S7~0 ~ @ 2 FAiPέ0"3jy@= 3:/K.	g@-!`bё5t.ǇfA$K	a")FC$VҨiai^9ZSCu&qmb`{!jEl[Q!;$%8jFl%PtFFhVAQLBZ(DU3
}3K#Q̛$bV\qG$bˣ`f?L 	T4H1 +ƌ0hYEaDfgj>[QSyYjuiL8
5FB#+	.V9&׵14*n49D%ɍ&HdPIဢ@,֟N(#4"Bc,plpݲ7IQ@e"	804paڨM*2s4
es  &*;Qb~&oi?nBlSnw}܈7JzL%M`L6{)	CҶa:v?;'Iۦcidu7{9nEltfs/ǭmT"*s{	`*s{cM"w%gjx>ȹJ$rqRC('r38ܻYZRDu6{I1MU*s¹InnM+iP'59J$r7'UR}!M섬	kM\gpnyfTVad":sȝٓZJ@8҉DN֜54K$p&rwf4um"m"wsF/"N\gpn3{3b\q~:̶ͫ,^@
EH9ELκKUlVB>T,BdFBE0Ы\RRxzՋ0+`l:FWI%92FIQb Uz匐+QSfx8kB5I6m^qcx	Yl#j{)7=`+WKvvC0s`
WإܤU2e`W%T7Rɞ~YAQb"Zs5~LKDRglj6u}|f&m6}{2bԨP.Si7kws6-#D٥R99AB5#j:әAPҨo4霁S/	N"uE&3p&r53S:Y`&p.ؑRκDN&4Kfy֥{w6tM9e}dg&3pJ*ԝL]I.gr"S3 *66M*G'NUMU_SR1-	z541-gM]L@hprܞ4zf *Q3b,Uch 7nF3W pr<0HVA&pr0TVYR+JctИtI!M𬴩'!!U9]Z٘j*A[%\MXpVPOءdPԅFB199A (pA-@G !K.	;-G$!m*<=Pz@IZ٘j*PX$M.ԣ.Gti2zj'I'?-j##5<Εġ>rh6hKcx [꓇@zK?	oգP!q J\(QpD}9nGֳW)V"%+ƌs`*F-mUFQyog4Jdե1\(FKF)븱U	Z٘j>brRp%4PM)آRJ0%݂o(-[[
^q)_Ƥ[`KL10VX@l
M-0i+O96 KآFo:@@TؚtIDpXiVC,202,rQ'QƵR@e
*QǅǞRŎG:q=jiD17>/5j
Hc@rcE\E䒈1q%*Ƶwb܇q3ҶY*)R7$mhbaGIʒmhHK"CƤ[çGƤ[H冇o!ȒM@$mZ&\5#88kvՌԻڤQaZ9*٢WNk3RBK	G*
n[To L	AoQʒu-*|*f9AKkFppJbZ;buXpUfm=xyA@qCҶaJ ['%i2
n	;T]AauiL8
n	;T' \Ax$$mZ>7%|n49DboLwf먵˟;J~ lw]_q:>pfg5ic`GJ<q#sW<x<HPn{(aFY`J)F[eFIc9Fﮬ*vwxcxBC"acı}"!q8A a0c1q8BC!0c1qb qC)S 0'07;u:1pC+`_+p枰'7}b}I+Q >$>Qhy N8O1hlGqPHZȒ1%,covpIx9ыJ_,_%-]pAK#rwKSHywO`}SOvG[Wo6ϣ=Xq}v?(z~"lhs *Y Kox8_~,f op/yq\#|)#.2e+$鿛kS3iAYnn)B#~Px[^32ƯWŎYŎY=:c\_<
O4qgC»HĐ0\+cO{$>Г{:C}- шFЗw0$Py#F|áic$0D54 `^{7}Po^Ի7חo 7yP/ @wp k8{p/ Mwq 281}>Aâ>B+}0c(1
}>BCpc81}>BC'0	}>E@O}>W	O`'P(	
}>B@O'p8	
}>BGQ(Q(@# )t(
{ Eq@Hq$8R)GC!E"HDH$R)GE¢z	5F{w,@XE,o85E}{¢
3,vŢBL-0z;.Pǽ¢L1XDQEQHDDCC(@ 8
 c H"8c
}>AǠc1XqQ{EǠ8}>BGQ(q8}>CǡQ(b^~q6%֣qM'z8/Ŝ/~^mjY<s/r\ԋ#庖Cmzs82_2zU'c9hZ:y"o7+BׇS'''JLDu!Ӯ]Ʃ/WkΈܮBQޯrnY_]pJϷղzgvtlVz:#и3m]r)hYίCk.cխyoZmכk̚^lZx՜zSco76[.Vp9Q֛ڌ^^Kzsm}5h.uO\:|Z6ktL*,rUK!PvN nc|H{c𤷖=痰;['vi.%.K'ioa+Mc2&tTs`^N:{nVo0,Vq؋#yJBv_R-</C9fVWB;P!tfNzLףּ?ze %GH'/ =gl$p$LfGlggrfr	Mig:=NOqCQ,VjQf<q(q.jR=m3%gni+jdi5=ΚeLf.qSV3?Ife=:=o>vM[Ol3_Ά.1ItnVLul?)щ:]tt>izHd}hڕqd69sSy{/^9	g6;>N$˛+uwy2,E]2lk2L/Wzz&w^_tJ4*9f4_.^<f|tD3~dN|_;-.fN?_Hrs\	Zzϛyy)_w(͔Cm߮ffq*v6Gݺ[F)mzv4=>S&d6=>yKGiIGTbG4y¨潂?h}r}Fh&x`jBBU~]MFI9R};z8bbP3Ma◫um}m<"շ4i3O0]Dmn{SݛMӣ˦Nmi
/]&%`vPf2C8Nr"hz\Ku$G>`>zJv׷uJ~Wٓ[_uMNIʏEd:9E<^d&fҿ}vow4\\#7W%lsm]N'u:%<o.XSgTm.7X_77񔫎US_9+OT|<+'z+iY'"؎H'E:-Bw&ӗȓKdtrzH7{dykWЯnV8\Af8Z8\Af
5ÝWЯp~pO+wV8\A?5'󸠣80
#FIG5`iptTGIG5`itTHIG5`itTIIG5`itT4RJ:K#"2-jH),jH),jH),4RJ:K#4RJ:O
#eV)%ՀRQX)%ՀRQX)%ՀRQWFJIG5`itTFJIG5`itT_F
-jH),jH),꒱4RJ:K#4RJ:K#4RJ:/#4RJ:K#4RJ:K#R)%ՀRQX)%ՀRQX)%-aݥ|dz49:	\<u^vyGB{zC1t}CN~,<3}n?Oiy8Cy&C{bJ'!<5tq3LyҀ/X8m;~pS]

E5"SJNd){vtFl昞NO%w,Ա]>OfkNgΪM}~|Ϲ*^;}W<Yw:wR?ICŹT#mt||r|JO57P[˥USgvҲ%lXojDQ_>S)% iQcrƛ|VWsWzjݺz&'7c]=hѾAːiPrhΦmV%/!;c[zmIg5h}X̗5lz+ٔsCAyt(OW7M)6y'̸?42b$Y='qjQ*d}fR6NxjOT_$n֮:6c
#U>ýsѮv/@JT8GXWi=z]\,|S/N2e{넓 7.c^#7-\_~/boeOf/{4JU"y^zݍړY܉nq.sR:MfӊLH>~n`i&JGT'9n۬Iy?x{MR)Ǵ>U}2=9))'Z3ß9'~|jw<}&+dZ8ϒ<{]/HA>Rqw=zjuf5z/}!v4&G>t2o~?LɿԤvbUg],99{?Mz2%YI/z-nФHmoFsOi83"ҧDBNOd1Ҿ<:g>?vt6y?ƴ~8ZmdZWt^6 uk;Mg従z{GzZ/?|o-w import pyro2

def uiEmbedded(node,prefix='',postfix=''):
   return ('%s%s%s'%(prefix,node.evalParm('rampparm'),postfix),)

def uiPromotableInputs(node,prefix='',postfix=''):
   return tuple( ['%s%s%s'%(prefix,p,postfix) for p in (
            'rangemin', 'rangemax',
            'spacename', 'gammaname', 'gammaval' )] )

def uiRadios(node,prefix='',postfix=''):
   return ()

def uiExtraLinks(node,prefix='',postfix=''):
   return ()


def uiCreate(kwargs):
   node  = kwargs['node']
   style = kwargs['script_value']

   pvops = uiEmbedded(node)
   iprom = uiPromotableInputs(node)

   # build the top-level interface
   pyro2.uiCreateFromTuple(style,node,uiParmTemplates(node),iprom,pvops=pvops,
         prefix  = node.evalParm('ui_prefix'),
         postfix = node.evalParm('ui_postfix') )


def uiAppend(infolder,pt,ptl,tplt):
   if infolder:
      pt.addParmTemplate(tplt)
   else:
      ptl.append(tplt)


def uiParmTemplates( 
      node,
      usenodesettings = True,
      foldername='NODENAME',
      infolder=False,
      withactive = True,         # whether to include a enable/disable switch
      style = 'rgb',             # ui style according to ramp type
      initcspace    = 'rgb',     # initial color space
      initgammatype = 'linear',  # initial gamma type
      initgammaval  = 2.2,       # initial custom gamma value
      dwhen   = '',
      prefix  = '',
      postfix = ''
   ):

   # Fetch export settings
   if usenodesettings:
      infolder   = node.evalParm('ui_infolder')
      foldername = node.evalParm('ui_foldername')
      withactive = node.evalParm('ui_withactive')
      style      = node.parm('ui_style').evalAsString()
      initcspace    = node.evalParm('ui_initcspace')
      initgammatype = node.evalParm('ui_initgammatype')
      initgammaval  = node.evalParm('ui_initgammaval')

   # Container list, when infolder==False
   ptl = []

   # Base disable
   nactive = '%sactive%s'%(prefix,postfix)
   dw = (dwhen, "{ %s 0 } %s"%(nactive,dwhen))[int(withactive!=0)]

   # Container folder
   pt = pyro2.uitTabFolder(foldername)
 
   # Enable Ramp
   if withactive:
      pt2 = hou.ToggleParmTemplate(nactive, "Ramp", default_value=False)
      pt2.setJoinWithNext(True)
      pt2.setDisableWhen(dwhen)
      uiAppend(infolder,pt,ptl,pt2)

   # Ramp Presets Button
   rname = node.evalParm('rampparm')
   pt2 = hou.MenuParmTemplate('%spresets%s'%(prefix,postfix), "Presets",
         menu_items=([]), menu_labels=([]), default_value=0, icon_names=([]),
         item_generator_script="PM.rampPresetMenu(kwargs,'%s',False)"%rname,
         item_generator_script_language=hou.scriptLanguage.Python,
         menu_type=hou.menuType.Normal)
   pt2.setDisableWhen(dw)
   pt2.hideLabel(True)
   pt2.setJoinWithNext(True) #(style=='rgb')
   pt2.setScriptCallback("PM.rampPresetCB(kwargs,'%s',False)"%rname)
   pt2.setScriptCallbackLanguage(hou.scriptLanguage.Python)
   uiAppend(infolder,pt,ptl,pt2)

   # Ramp Color Space Menu
   if style == 'rgb':
      pt2 = hou.StringParmTemplate('%sspacename%s'%(prefix,postfix), 
            " Space", 1, default_value=([initcspace]), 
            menu_items =(["rgb","hsv","lab","hsl","xyz"]),
            menu_labels=(["RGB","HSV","LAB","HSL","XYZ"]),
            disable_when=dw)
      pt2.hideLabel(True)
      pt2.setJoinWithNext(True)
      uiAppend(infolder,pt,ptl,pt2)

   pt2 = hou.StringParmTemplate('%sgammaname%s'%(prefix,postfix), 
         "Gamma Type", 1, default_value=([initgammatype]), 
         menu_items =(["linear","srgb","custom"]),
         menu_labels=(["Linear","sRGB","Custom"]),
         disable_when=dw)
   pt2.hideLabel(True)
   pt2.setDisableWhen(dw)
   pt2.setJoinWithNext(True)
   uiAppend(infolder,pt,ptl,pt2)

   pt2 = hou.FloatParmTemplate('%sgammaval%s'%(prefix,postfix), 
         "Gamma Value", 1, default_value=([initgammaval]) ) 
   pt2.hideLabel(True)
   pt2.setDisableWhen(dw + " { %sgammaname%s != custom }"%(prefix,postfix) )
   uiAppend(infolder,pt,ptl,pt2)
   
   # Ramp
   ptype = (hou.rampParmType.Float,hou.rampParmType.Color)[style=='rgb']
   pt2 = hou.RampParmTemplate(rname, 'Lookup Ramp',ptype)
   pt2.setDisableWhen(dw)
   pt2.setTags({"rampbasisdefault":"linear","rampshowcontrolsdefault":"0",
                "pyro_vopname":"rampparm"})
   uiAppend(infolder,pt,ptl,pt2)

   # Ramp Range: Min
   pt2 = hou.FloatParmTemplate("%srangemin%s"%(prefix,postfix), "Ramp Interval", 1,
         default_value=([0]), min=0, max=1)
   pt2.setDisableWhen(dw)
   pt2.setJoinWithNext(True)
   uiAppend(infolder,pt,ptl,pt2)
   
   # Ramp Range: Max
   pt2 = hou.FloatParmTemplate("%srangemax%s"%(prefix,postfix), "Ramp: Range Max", 1,
         default_value=([1]), min=0, max=1)
   pt2.setDisableWhen(dw)
   pt2.hideLabel(True)
   uiAppend(infolder,pt,ptl,pt2)

   # Ramp Boundary: Left
   pt2 = hou.StringParmTemplate('%slbt%s'%(prefix,postfix), "Ramp Boundaries", 1,
         default_value=(["hold"]), menu_items=(["hold","cycle","accum","mirror","slope"]),
         menu_labels=(["Hold","Cycle","Cycle-Accumulate","Mirror","Slope"]))
   pt2.setDisableWhen(dw)
   pt2.setJoinWithNext(True)
   pt2.setTags({"script_unquoted": "1"})
   uiAppend(infolder,pt,ptl,pt2)
   
   # Ramp Boundary: Right
   pt2 = hou.StringParmTemplate('%srbt%s'%(prefix,postfix), "Right", 1,
         default_value=(["hold"]), menu_items=(["hold","cycle","accum","mirror","slope"]),
         menu_labels=(["Hold","Cycle","Cycle-Accumulate","Mirror","Slope"]))
   pt2.setDisableWhen(dw)
   pt2.hideLabel(True)
   pt2.setTags({"script_unquoted": "1"})
   uiAppend(infolder,pt,ptl,pt2)
   
   if infolder: return (pt,)
   return ptlnode = kwargs['node']
node.parm('rampparm').set(node.creator().relativePathTo(node).replace('/','_'))   
 OnCreated/Cursor                           OnCreated/IsExpr        OnCreated/IsPython       OnCreated/IsScript       OnCreated/Source      PythonModule/Cursor                           PythonModule/IsExpr        PythonModule/IsPython       PythonModule/IsScript       PythonModule/Source     INDX              DialogScript      `R//*
 * PROPRIETARY INFORMATION.  This software is proprietary to
 * Side Effects Software Inc., and is not to be reproduced,
 * transmitted, or disclosed in any way without written permission.
 *
 * Produced by:
 *	Side Effects Software Inc
 *	477 Richmond Street West
 *	Toronto, Ontario
 *	Canada   M5V 3E7
 *	416-504-9876
 *
 */

{
    name	"inttofloat"
    script	"inttofloat"
    label	"inttofloat"


    code {
	"$fval = (float)$ival;"
    }

    input	int	ival	"Integer Value"
    output	float	fval	"Float Output"

    parm {
	name	ival
	label	"Integer Input"
	type	int
	size	1
	default	{ 0 }
    }
}

INDX              DialogScript      zR//*
 * PROPRIETARY INFORMATION.  This software is proprietary to
 * Side Effects Software Inc., and is not to be reproduced,
 * transmitted, or disclosed in any way without written permission.
 *
 * Produced by:
 *	Side Effects Software Inc
 *	477 Richmond Street West
 *	Toronto, Ontario
 *	Canada   M5V 3E7
 *	416-504-9876
 *
 */

#include <parameter.ds>

{
    name	"vectohvec"
    script	"vectohvec"
    label	"vectohvec"


    code {
	"$hvec = $vec;"
	"setcomp($hvec, $fval4, 3);"
    }

    VOP_VEC_INPUT(	vec,	"Input Vector", 0, 0, 0)
    VOP_FLT_INPUT(	fval4,	"Fourth Component", 0)
    output	vector4	hvec	"Output Vector4"
}

INDX              DialogScript      POE$   CreateScript  P  IOE$   TypePropertiesOptions    OE$   Help      OE$   Tools.shelf    gOE$   PythonModule    
5NZ   ExtraFileOptions  !6   OE$# Dialog script for softclip automatically generated 02/22/12 12:23:42

{
    name	softclip
    script	contour
    label	"Soft Clip"

    outercode {
	"#include <pyro_utils.h>"
    }

    code {
	"#if $active"
	"   $sclip = softclip($val,$start,$sup);"
	"#else"
	"   $sclip = $val;"
	"#endif"
    }

    input	float	val	"Value to Modify"
    input	float	start	"Start of Suppression"
    input	float	sup	"Suppression Amount"
    input	float	fw	"Filter Width Override"
    input	float	fscale	"Filter Scale"
    output	float	sclip	"Modified Value"
    inputflags	val	0
    inputflags	start	0
    inputflags	sup	0
    inputflags	fw	0
    inputflags	fscale	0
    signature	"1D Value"	default	{ float float float float float float }
    signature	"3D Value"	v	{ vector float float float float vector }
    signature	"4D Value"	v4	{ vector4 float float float float vector4 }

    outputoverrides	default
    {
	___begin	val
			(0)
    }
    outputoverrides	v
    {
	___begin	val
			(0,0,0)
    }
    outputoverrides	v4
    {
	___begin	val
			(0,0,0,0)
    }

    help {
	""
    }

    parm {
	name	"signature"
	baseparm
	export	none
    }
    parm {
	name	"spacer3"
	label	"spacer"
	type	label
	nolabel
	default	{ "" }
	range	{ 0 1 }
	export	none
    }
    parm {
	name	"makeui"
	label	"Promote Interface"
	type	button
	nolabel
	default	{ "0" }
	menu	{
	    [ "import pyro2" ]
	    [ "return pyro2.makeuimenu()" ]
	    language	python
	}
	range	{ 0 1 }
	export	none
	parmtag	{ "script_callback_language" "python" }
	parmtag	{ "script_callback" "hou.phm().uiCreate(kwargs)" }
	parmtag	{ "export_disable" "1" }
    }
    group {
	name	"opsettings"
	label	"VOP Parameters"

	parm {
	    name	"active"
	    label	"Active"
	    type	toggle
	    default	{ "1" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"start"
	    label	"Start"
	    type	float
	    default	{ "0.8" }
	    disablewhen	"{ active == 0 }"
	    range	{ 0! 1 }
	    export	none
	}
	parm {
	    name	"sup"
	    label	"Suppress"
	    type	float
	    default	{ "1" }
	    disablewhen	"{ active == 0 }"
	    range	{ 0! 10 }
	    export	none
	}
	parm {
	    name	"ftype"
	    label	"Filter"
	    type	string
	    joinnext
	    default	{ "point" }
	    disablewhen	"{ active == 0 }"
	    menu	{
		"point"	"Point"
		"box"	"Box"
		"gauss"	"Gaussian"
	    }
	    range	{ 0 1 }
	    export	none
	    unquoted
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"fscale"
	    label	"Scale"
	    type	float
	    default	{ "1" }
	    disablewhen	"{ active == 0 } { ftype == point }"
	    range	{ 0 2 }
	    export	none
	}
    }

    group {
	name	"opsettings_1"
	label	"UI Promotion"

	parm {
	    name	"ui_prefix"
	    label	"Parameter Prefix"
	    type	string
	    joinnext
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"ui_postfix"
	    label	"Postfix"
	    type	string
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"ui_infolder"
	    label	"ui_infolder"
	    type	toggle
	    nolabel
	    joinnext
	    default	{ "0" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"ui_foldername"
	    label	"Create In Folder"
	    type	string
	    default	{ [ "node('.').creator().relativePathTo(node('.')).replace('/','_')" python ] }
	    disablewhen	"{ ui_infolder == 0 }"
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"spacer4"
	    label	"spacer"
	    type	label
	    nolabel
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"ui_withactive"
	    label	"Add Active Toggle"
	    type	toggle
	    joinnext
	    default	{ "1" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"leftalign"
	    label	"spacer"
	    type	label
	    nolabel
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"ui_activename"
	    label	"Active Name"
	    type	string
	    default	{ "active" }
	    disablewhen	"{ ui_withactive == 0 }"
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"ui_initactive"
	    label	"Initial Active State"
	    type	toggle
	    default	{ "0" }
	    disablewhen	"{ ui_withactive == 0 }"
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"leftalign3"
	    label	"spacer"
	    type	label
	    nolabel
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"ui_dwhen"
	    label	"Extra Disable When"
	    type	string
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	}
    }

}
# Automatically generated script: Wednesday February 22, 12:23 2012
\set noalias = 1
#
#  Creation script for softclip operator
#

if ( "$arg1" == "" ) then
    echo This script is intended as a creation script
    exit
endif

# Node $arg1 (Vop/softclip)
opexprlanguage -s hscript $arg1
opuserdata -n '___Version___' -v '' $arg1
ParmsFromVfl := 0;
PrefixDroppedParmName := 1;
UseDSParms := 1;
ForbidOutsideParms := 1;
LockContents := 1;
SaveSpareParms := 0;
CheckExternal := 1;
GzipContents := 1;
MakeDefault := 1;
SaveCachedCode := 0;
PrefixDroppedParmLabel := 1;
UnlockOnCreate := 0;
<?xml version="1.0" encoding="UTF-8"?>
<shelfDocument>
  <!-- This file contains definitions of shelves, toolbars, and tools.
 It should not be hand-edited when it is being used by the application.
 Note, that two definitions of the same element are not allowed in
 a single file. -->

  <tool name="$HDA_TABLE_$HDA_NAME" label="$HDA_LABEL" icon="$HDA_ICON">
    <toolMenuContext name="viewer">
      <contextNetType>VOP</contextNetType>
    </toolMenuContext>
    <toolMenuContext name="pop_viewer">
      <contextNetType>VOP</contextNetType>
    </toolMenuContext>
    <toolMenuContext name="network">
      <contextOpType>$HDA_TABLE/$HDA_NAME</contextOpType>
    </toolMenuContext>
    <toolSubmenu>Utility</toolSubmenu>
    <script scriptType="python"><![CDATA[import voptoolutils

voptoolutils.genericTool(kwargs, '$HDA_NAME')]]></script>
  </tool>
</shelfDocument>
import pyro2

def uiEmbedded(node,prefix='',postfix=''):
   return ()

def uiPromotableInputs(node,prefix='',postfix=''):
   # the promotable input names (they exclude the filtering stuff)
   return tuple( ['%s%s%s'%(prefix,p,postfix) for p in ( 
            'start', 'sup' )] )

def uiRadios(node,prefix='',postfix=''):
   return ()

def uiExtraLinks(node,prefix='',postfix=''):
   out = ()
   if node.evalParm('ui_withactive'):
      out += (('active',"%s%s%s"%(prefix,node.evalParm('ui_activename'),postfix)),)
   return out


def uiCreate(kwargs):
   node  = kwargs['node']
   style = kwargs['script_value']

   iprom  = uiPromotableInputs(node)

   # build the top-level interface
   pyro2.uiCreateFromTuple(style,node,uiParmTemplates(node),iprom,
         prefix  = node.evalParm('ui_prefix'),
         postfix = node.evalParm('ui_postfix'))


def uiAppend(infolder,pt,ptl,tplt):
   if infolder:
      pt.addParmTemplate(tplt)
   else:
      ptl.append(tplt)


def uiParmTemplates( 
      node,
      usenodesettings = True,
      foldername='NODENAME',
      infolder=False,
      withactive=True,
      initactive=0,
      activename="active",
      dwhen   = '',
      prefix  = '',
      postfix = ''
   ):

   # Fetch export settings
   xdwhen = ''
   if usenodesettings:
      infolder   = node.evalParm('ui_infolder')
      foldername = node.evalParm('ui_foldername')
      withactive  = node.evalParm('ui_withactive')
      initactive  = node.evalParm('ui_initactive')
      activename  = node.evalParm('ui_activename')
      xdwhen      = node.evalParm('ui_dwhen')

   # Container list, when infolder==False
   ptl = []

   # Container folder, when infolder==True
   pt = pyro2.uitTabFolder(foldername)

   # base disablewhen
   dw = xdwhen + " " + dwhen

   # Do Fit to Range
   if withactive:
      nactive = '%sactive%s'%(prefix,postfix)
      pt2 = hou.ToggleParmTemplate(nactive,
            "Enable Soft Clip", default_value=initactive)
      pt2.setJoinWithNext(True)
      pt2.setDisableWhen(dw)
      pt2.hideLabel(True)
      uiAppend(infolder,pt,ptl,pt2)
      dw += " { %s 0 }"%nactive

   # SoftClip: Start
   pt2 = hou.FloatParmTemplate('%sstart%s'%(prefix,postfix), "SoftClip: Start", 1,
         default_value=([0.8]), min=0, max=1)
   pt2.setDisableWhen(dw)
   pt2.setJoinWithNext(True)
   uiAppend(infolder,pt,ptl,pt2)
   
   # SoftClip: Suppression
   pt2 = hou.FloatParmTemplate('%ssup%s'%(prefix,postfix), "  Suppress", 1,
         default_value=([1]), min=0, max=10)
   pt2.setDisableWhen(dw)
   uiAppend(infolder,pt,ptl,pt2)
   
   if not infolder: return ptl
   return (pt,)    PythonModule/Cursor                           PythonModule/IsExpr        PythonModule/IsPython       PythonModule/IsScript       PythonModule/Source     INDX              DialogScript      '{OE$   CreateScript  '{  MOE$   TypePropertiesOptions  (  OE$   Help  )    OE$   Tools.shelf  )  gOE$   PythonModule  -0  M6t   ExtraFileOptions  1   OE$# Dialog script for rampfilter automatically generated 02/22/12 12:23:30

{
    name	rampfilter
    script	rampfilter
    label	"Ramp Filter"

    outercode {
	"#include <pyro_aaramp.h>"
    }

    code {
	""
	"// Constants derived from the signature"
	"#if   !strcmp($signature,\"default\")"
	"   #define  PTYPE    float"
	"   #define  PWIDTH   1"
	"   #define  RWIDTH   1"
	"   #define  RTYPE    float"
	"#elif !strcmp($signature,\"vf\")"
	"   #define  PTYPE    vector"
	"   #define  PWIDTH   3"
	"   #define  RWIDTH   1"
	"   #define  RTYPE    float"
	"#elif !strcmp($signature,\"pf\")"
	"   #define  PTYPE    vector4"
	"   #define  PWIDTH   4"
	"   #define  RWIDTH   1"
	"   #define  RTYPE    float"
	"#elif !strcmp($signature,\"fv\")"
	"   #define  PTYPE    float"
	"   #define  PWIDTH   1"
	"   #define  RWIDTH   3"
	"   #define  RTYPE    vector"
	"#elif !strcmp($signature,\"vv\")"
	"   #define  PTYPE    vector"
	"   #define  PWIDTH   3"
	"   #define  RWIDTH   3"
	"   #define  RTYPE    vector"
	"#elif !strcmp($signature,\"pv\")"
	"   #define  PTYPE    vector4"
	"   #define  PWIDTH   4"
	"   #define  RWIDTH   3"
	"   #define  RTYPE    vector"
	"#endif"
	""
	"$ramp     = $pos;"
	"$bases    = $inbases;"
	"$keys     = $inkeys;"
	"$vals     = $invals;"
	""
	"#if $active && $isconnected_inbases && $isconnected_inkeys && $isconnected_invals"
	"   // Trivial case 1: Single key (constant value)"
	"   if(arraylength($inkeys)<2) {"
	"      $ramp = $invals[0];"
	"   }"
	"   // Multiple keys"
	"   else"
	"   {"
	"      // Transform the ramp range into the [0,1] interval"
	"      PTYPE $p = efit($pos,$rangemin,$rangemax,0,1);"
	""
	"      // Ensure the ramp has keys at 0 and 1. This reduces the amount of"
	"      // branching during analysis, which leads to faster compiles."
	"      ramp_condition($inbases,$inkeys,$invals, $bases,$keys,$vals);"
	"      "
	"      // Number of keys"
	"      int $n = arraylength($keys);"
	"   "
	"      // Determine the filter size"
	"      float $fsize = 0;"
	"      #if strcmp(\"$ftype\",\"point\")"
	"         #if $isconnected_fw"
	"            float $fwidth = $fw;"
	"         #else"
	"            float $fwidth = VOPFW($p);"
	"         #endif"
	"         $fsize = abs($fwidth*$fscale);"
	"      #endif"
	"      "
	"      // Last addressable array index"
	"      int $nl = $n-1;"
	""
	"      // the slope at each boundary"
	"      RTYPE $lm=0,$rm=0;"
	"      #if !strcmp(\"$lbt\",\"slope\") || !strcmp(\"$rbt\",\"slope\")"
	"         ramp_slopes($nl,$bases,$keys,$vals, $lm,$rm);"
	"      #endif"
	""
	"      // boundary values and boundary value delta"
	"      RTYPE $lv = $vals[0];"
	"      RTYPE $rv = $vals[$nl];"
	"      RTYPE $dv = $rv-$lv;"
	""
	"      // temporarily convert output to array so we can loop over"
	"      // the lookup components in case this is >1"
	"      RTYPE $rarr[]; resize($rarr,PWIDTH);"
	"      #if PWIDTH>1"
	"         float $parr[] = (float[])$p;"
	"      #else"
	"         float $parr[] = array($p);"
	"      #endif"
	""
	"      //and now do one ramp lookup per positional component"
	"      float $pp;"
	"      int $i;"
	"      for($i=0;$i<PWIDTH;$i++) "
	"      {"
	"         $pp = $parr[$i];"
	""
	"         // Trivial case 2: zero-size filter width"
	"         if(equalzero($fsize)) {"
	"            #if !strcmp(\"$lbt\",\"hold\") && !strcmp(\"$rbt\",\"hold\")"
	"               $rarr[$i] = ramp_lookup($pp,$bases,$keys,$vals);"
	"            #else"
	"               $rarr[$i] = ramp_${lbt}_${rbt}_point ($nl, $pp,$pp,$pp,"
	"                              $lv,$rv,$lm,$rm,$dv, $bases,$keys,$vals);"
	"            #endif"
	"         } else {"
	"            // Trivial case 3: point filter"
	"            #if !strcmp(\"$ftype\",\"point\")"
	"               #if !strcmp(\"$lbt\",\"hold\") && !strcmp(\"$rbt\",\"hold\")"
	"                  $rarr[$i] = ramp_lookup($pp,$bases,$keys,$vals);"
	"               #else"
	"                  $rarr[$i] = ramp_${lbt}_${rbt}_point ($nl, $pp,$pp,$pp,"
	"                                 $lv,$rv,$lm,$rm,$dv, $bases,$keys,$vals);"
	"               #endif"
	""
	"            // Wide filter"
	"            #else"
	"               // the limits of integration (k0,k1)"
	"               $fsize*=fscale_${ftype}();"
	"               float $dk = 0.5*$fsize;"
	"               float $k0 = $pp - $dk;"
	"               float $k1 = $k0 + $fsize;"
	"               $rarr[$i] = ramp_${lbt}_${rbt}_$ftype ($nl, $pp,$k0,$k1,"
	"                              $lv,$rv,$lm,$rm,$dv, $bases,$keys,$vals);"
	"            #endif"
	"         }"
	"      }"
	""
	"      // finally, convert the array back to the output type"
	"      #if PWIDTH == 1"
	"         $ramp = $rarr[0];"
	"      #elif RWIDTH == 1"
	"         $ramp = (PTYPE)$rarr;"
	"      #else"
	"         #if PWIDTH == 3"
	"            $ramp = set($rarr[0].x,$rarr[1].y,$rarr[2].z);"
	"         #else"
	"            $ramp = set($rarr[0].x,$rarr[1].y,$rarr[2].z,$pos.w);"
	"         #endif"
	"      #endif"
	""
	"      // Transform to linear RGB space if needed"
	"      #if RWIDTH == 3"
	"         $ramp = ramp_torgb($spacename,$ramp);"
	"      #endif"
	"      $ramp = ramp_tolinear($gammaname,$ramp,$gammaval);"
	""
	"   }"
	""
	"#endif"
	""
	"#undef  PTYPE"
	"#undef  PWIDTH"
	"#undef  RWIDTH"
	"#undef  RTYPE"
    }

    input	float	pos	"Lookup Position"
    input	float	rangemin	"Range Min"
    input	float	rangemax	"Range Max"
    input	stringa	inbases	"Ramb Bases"
    input	floata	inkeys	"Ramp Keys"
    input	floata	invals	"Ramp Values"
    input	string	spacename	"Name Of Color Space (rgb,hsl,hsv,Lab,XYZ)"
    input	string	gammaname	"Name Of Gamma Space (linear,srgb,custom)"
    input	float	gammaval	"Custom Gamma Value"
    input	float	fw	"Filter Width Override"
    input	float	fscale	"Filter Scale"
    output	float	ramp	"Output 1"
    output	stringa	bases	"Ramp Basis Functions"
    output	floata	keys	"Ramp Key Positions"
    output	floata	vals	"Ramp Key Values"
    inputflags	pos	0
    inputflags	rangemin	0
    inputflags	rangemax	0
    inputflags	inbases	0
    inputflags	inkeys	0
    inputflags	invals	0
    inputflags	spacename	0
    inputflags	gammaname	0
    inputflags	gammaval	0
    inputflags	fw	0
    inputflags	fscale	0
    signature	"1D Lookup, 1D Ramp"	default	{ float float float stringa floata floata string string float float float float stringa floata floata }
    signature	"3D Lookup, 1D Ramp"	vf	{ vector float float stringa floata floata string string float float float vector stringa floata floata }
    signature	"4D Lookup, 1D Ramp"	pf	{ vector4 float float stringa floata floata string string float float float vector4 stringa floata floata }
    signature	"1D Lookup, 3D Ramp"	fv	{ float float float stringa floata vectora string string float float float vector stringa floata vectora }
    signature	"3D Lookup, 3D Ramp"	vv	{ vector float float stringa floata vectora string string float float float vector stringa floata vectora }
    signature	"4D Lookup, 3D Ramp"	pv	{ vector4 float float stringa floata vectora string string float float float vector stringa floata vectora }

    outputoverrides	default
    {
	___begin	auto
			(0)
	___begin	auto
			(0)
	___begin	auto
			(0)
	___begin	auto
			(0)
    }
    outputoverrides	vf
    {
	___begin	auto
			(0,0,0)
	___begin	auto
			(0)
	___begin	auto
			(0)
	___begin	auto
			(0)
    }
    outputoverrides	pf
    {
	___begin	auto
			(0,0,0,0)
	___begin	auto
			(0)
	___begin	auto
			(0)
	___begin	auto
			(0)
    }
    outputoverrides	fv
    {
	___begin	auto
			(0,0,0)
	___begin	auto
			(0)
	___begin	auto
			(0)
	___begin	auto
			(0)
    }
    outputoverrides	vv
    {
	___begin	auto
			(0,0,0)
	___begin	auto
			(0)
	___begin	auto
			(0)
	___begin	auto
			(0)
    }
    outputoverrides	pv
    {
	___begin	auto
			(0,0,0)
	___begin	auto
			(0)
	___begin	auto
			(0)
	___begin	auto
			(0)
    }

    help {
	""
    }

    parm {
	name	"signature"
	baseparm
	export	none
    }
    parm {
	name	"active"
	label	"Active"
	type	toggle
	default	{ "1" }
	range	{ 0 1 }
	export	none
    }
    parm {
	name	"spacename"
	label	"Space"
	type	string
	default	{ "rgb" }
	disablewhen	"{ active == 0 }"
	menu	{
	    "rgb"	"RGB"
	    "hsv"	"HSV"
	    "Lab"	"LAB"
	    "hsl"	"HSL"
	    "XYZ"	"XYZ"
	}
	range	{ 0 1 }
	export	none
	parmtag	{ "autoscope" "0000000000000000" }
    }
    parm {
	name	"gammaname"
	label	"Gamma"
	type	string
	joinnext
	default	{ "linear" }
	disablewhen	"{ active == 0 }"
	menu	{
	    "linear"	"Linear"
	    "srgb"	"sRGB"
	    "custom"	"Custom"
	}
	range	{ 0 1 }
	export	none
	parmtag	{ "autoscope" "0000000000000000" }
    }
    parm {
	name	"gammaval"
	label	"Gamma Value"
	type	float
	nolabel
	default	{ "2.2" }
	disablewhen	"{ active == 0 } { gammaname != custom }"
	range	{ 0.0001! 4 }
	export	none
    }
    parm {
	name	"rangemin"
	label	"Range"
	type	float
	joinnext
	default	{ "0" }
	disablewhen	"{ active == 0 }"
	range	{ 0 1 }
	export	none
    }
    parm {
	name	"rangemax"
	label	"Range Max"
	type	float
	nolabel
	default	{ "1" }
	disablewhen	"{ active == 0 }"
	range	{ 0 1 }
	export	none
    }
    parm {
	name	"lbt"
	label	"Extend Left"
	type	string
	joinnext
	default	{ "hold" }
	disablewhen	"{ active == 0 }"
	menu	{
	    "hold"	"Hold"
	    "cycle"	"Cycle"
	    "accum"	"Cycle-Accumulate"
	    "mirror"	"Mirror"
	    "slope"	"Slope"
	}
	range	{ 0 1 }
	export	none
	unquoted
    }
    parm {
	name	"rbt"
	label	"Right"
	type	string
	default	{ "hold" }
	disablewhen	"{ active == 0 }"
	menu	{
	    "hold"	"Hold"
	    "cycle"	"Cycle"
	    "accum"	"Cycle-Accumulate"
	    "mirror"	"Mirror"
	    "slope"	"Slope"
	}
	range	{ 0 1 }
	export	none
	unquoted
    }
    parm {
	name	"spacer"
	label	"spacer"
	type	label
	nolabel
	default	{ "" }
	range	{ 0 1 }
	export	none
    }
    parm {
	name	"ftype"
	label	"Filter"
	type	string
	joinnext
	default	{ "point" }
	menu	{
	    "point"	"Point"
	    "box"	"Box"
	    "gauss"	"Gaussian"
	}
	range	{ 0 1 }
	export	none
	unquoted
    }
    parm {
	name	"fscale"
	label	"Scale"
	type	float
	default	{ "1" }
	disablewhen	"{ active == 0 } { ftype == point }"
	range	{ 0 2 }
	export	none
    }
}
# Automatically generated script: Wednesday February 22, 12:23 2012
\set noalias = 1
#
#  Creation script for rampfilter operator
#

if ( "$arg1" == "" ) then
    echo This script is intended as a creation script
    exit
endif

# Node $arg1 (Vop/rampfilter)
opexprlanguage -s hscript $arg1
opuserdata -n '___Version___' -v '' $arg1
ParmsFromVfl := 0;
PrefixDroppedParmName := 1;
UseDSParms := 1;
ForbidOutsideParms := 1;
LockContents := 1;
SaveSpareParms := 0;
CheckExternal := 1;
GzipContents := 1;
MakeDefault := 1;
SaveCachedCode := 0;
PrefixDroppedParmLabel := 1;
UnlockOnCreate := 0;
<?xml version="1.0" encoding="UTF-8"?>
<shelfDocument>
  <!-- This file contains definitions of shelves, toolbars, and tools.
 It should not be hand-edited when it is being used by the application.
 Note, that two definitions of the same element are not allowed in
 a single file. -->

  <tool name="$HDA_TABLE_$HDA_NAME" label="$HDA_LABEL" icon="$HDA_ICON">
    <toolMenuContext name="viewer">
      <contextNetType>VOP</contextNetType>
    </toolMenuContext>
    <toolMenuContext name="pop_viewer">
      <contextNetType>VOP</contextNetType>
    </toolMenuContext>
    <toolMenuContext name="network">
      <contextOpType>$HDA_TABLE/$HDA_NAME</contextOpType>
    </toolMenuContext>
    <toolSubmenu>Utility</toolSubmenu>
    <script scriptType="python"><![CDATA[import voptoolutils

voptoolutils.genericTool(kwargs, '$HDA_NAME')]]></script>
  </tool>
</shelfDocument>
def ramptype(sig):
   map = {  'default' :  'float'
           ,'vf'      :  'float'
           ,'v4f'     :  'float'
           ,'fv'      :  'vector'
           ,'vv'      :  'vector'
           ,'v4v'     :  'vector'
         }
   return map[sig]


def postype(sig):
   map = {  'default' :  'float'
           ,'vf'      :  'vector'
           ,'v4f'     :  'vector4'
           ,'fv'      :  'float'
           ,'vv'      :  'vector'
           ,'v4v'     :  'vector4'
         }
   return map[sig]

def posid(sig):
   map = {  'default' :  'f'
           ,'vf'      :  'v'
           ,'v4f'     :  'v4'
           ,'fv'      :  'f'
           ,'vv'      :  'v'
           ,'v4v'     :  'v4'
         }
   return map[sig]

def poswidth(sig):
   map = {  'default' :  1
           ,'vf'      :  3
           ,'v4f'     :  4
           ,'fv'      :  1
           ,'vv'      :  3
           ,'v4v'     :  4
         }
   return map[sig]

def fname(sig):
   map = {  'default' :  'framp'
           ,'vf'      :  'framp'
           ,'v4f'     :  'framp'
           ,'fv'      :  'vramp'
           ,'vv'      :  'vramp'
           ,'v4v'     :  'vramp'
         }
   return map[sig]    PythonModule/Cursor                           PythonModule/IsExpr        PythonModule/IsPython       PythonModule/IsScript       PythonModule/Source     INDX              DialogScript      ZOE$   CreateScript  Z  [OE$   TypePropertiesOptions    OE$   Help      OE$   Tools.shelf    dOE$   Contents.gz    WOE$   EditableNodes 0q   	OE$   
DiveTarget 0z   	OE$   PythonModule 0  gNt   	OnCreated =   WN}   ExtraFileOptions >A  COE$# Dialog script for pyroDensityVolume automatically generated 02/22/12 12:21:11

{
    name	pyroDensityVolume
    script	pyroDensityVolume
    label	"Pyro Density Volume"

    input	vector4	dfltval	"FIELD: Default Value"
    input	float	fit_srcmin	"FIELD: Fit: Source Min"
    input	float	fit_srcmax	"FIELD: Fit: Source Max"
    input	float	fit_tgtmin	"FIELD: Fit: Target Min"
    input	float	fit_tgtmax	"FIELD: Fit: Target Max"
    input	float	ramp_rngmin	"FIELD: Ramp: Range Min"
    input	float	ramp_rngmax	"FIELD: Ramp: Range Max"
    input	string	spacename	"Field: Ramp: Name Of Color Space (rgb,hsl,hsv,Lab,XYZ)"
    input	string	gammaname	"Field: Ramp: Name Of Gamma Space (linear,srgb,custom)"
    input	float	gammaval	"Field: Ramp: Custom Gamma Value"
    input	float	lowlimit	"FIELD: Lower Limit"
    input	float	highlimit	"FIELD: Upper Limit"
    input	float	contour_width	"FIELD: Contour: Width"
    input	float	contour_sharp	"FIELD: Contour: Sharpness"
    input	float	sclip_start	"FIELD: SoftClip: Start Value"
    input	float	sclip_suppress	"FIELD: SoftClip: Suppression"
    input	float	amp	"FIELD: Final Amplitude"
    input	float	padval	"FIELD: Padding Value"
    input	int	restinterp	"NOISE: Rest Interpolation"
    input	float	time	"NOISE: Time (P[3])"
    input	vector4	freq	"NOISE: Frequency"
    input	vector4	offset	"NOISE: Offset"
    input	vector4	period	"NOISE: Period"
    input	int	inv	"NOISE: Complement"
    input	int	fold	"NOISE: Fold"
    input	float	expon	"NOISE: Exponent"
    input	int	dolwarp	"NOISE: Enable Lattice Warp"
    input	float	disp	"NOISE: Lattice Warp"
    input	float	dispfreq	"NOISE: Lattice Warp Freq"
    input	int	dogwarp	"NOISE: Enable Gradient Warp"
    input	float	gflow	"NOISE: Gradient Warp"
    input	float	flowrot	"NOISE: Flow Rotation"
    input	int	accuml	"NOISE: Accumulate Lattice Warp"
    input	int	accumg	"NOISE: Accumulate Gradient Warp"
    input	float	oct	"NOISE: Max Octaves"
    input	float	lac	"NOISE: Lacunarity"
    input	float	rough	"NOISE: Roughness"
    input	int	docc	"NOISE: Output Correction"
    input	int	cc_dobias	"NOISE: Do Bias"
    input	vector	cc_bias	"NOISE: Bias"
    input	int	cc_dogain	"NOISE: Do Gain"
    input	vector	cc_gain	"NOISE: Gain"
    input	int	cc_inv	"NOISE: Complement"
    input	int	cc_dorng	"NOISE: Remap Range"
    input	vector	cc_rnglo	"NOISE: Range Min"
    input	vector	cc_rnghi	"NOISE: Range Max"
    input	vector	cc_amp	"NOISE: Final Amplitude"
    input	float	fw	"SHARED: Override Filter Width"
    input	float	fscale_tx	"Filter Scale For Textures"
    input	float	fscale_noise	"Filter Scale For Noise"
    output	float	field_final	field_final
    output	float	field_raw	field_raw
    output	float	noise	noise
    output	float	noise_average	noise_average
    output	float	noise_octaves	noise_octaves
    output	float	noise_offset	noise_offset
    inputflags	dfltval	0
    inputflags	fit_srcmin	0
    inputflags	fit_srcmax	0
    inputflags	fit_tgtmin	0
    inputflags	fit_tgtmax	0
    inputflags	ramp_rngmin	0
    inputflags	ramp_rngmax	0
    inputflags	spacename	0
    inputflags	gammaname	0
    inputflags	gammaval	0
    inputflags	lowlimit	0
    inputflags	highlimit	0
    inputflags	contour_width	0
    inputflags	contour_sharp	0
    inputflags	sclip_start	0
    inputflags	sclip_suppress	0
    inputflags	amp	0
    inputflags	padval	0
    inputflags	restinterp	0
    inputflags	time	0
    inputflags	freq	0
    inputflags	offset	0
    inputflags	period	0
    inputflags	inv	0
    inputflags	fold	0
    inputflags	expon	0
    inputflags	dolwarp	0
    inputflags	disp	0
    inputflags	dispfreq	0
    inputflags	dogwarp	0
    inputflags	gflow	0
    inputflags	flowrot	0
    inputflags	accuml	0
    inputflags	accumg	0
    inputflags	oct	0
    inputflags	lac	0
    inputflags	rough	0
    inputflags	docc	0
    inputflags	cc_dobias	0
    inputflags	cc_bias	0
    inputflags	cc_dogain	0
    inputflags	cc_gain	0
    inputflags	cc_inv	0
    inputflags	cc_dorng	0
    inputflags	cc_rnglo	0
    inputflags	cc_rnghi	0
    inputflags	cc_amp	0
    inputflags	fw	0
    inputflags	fscale_tx	0
    inputflags	fscale_noise	0
    signature	"Default Inputs"	default	{ vector4 float float float float float float string string float float float float float float float float float int float vector4 vector4 vector4 int int float int float float int float float int int float float float int int vector int vector int int vector vector vector float float float float float float float float float }

    outputoverrides	default
    {
	___begin	auto
			(0)
	___begin	auto
			(0)
	___begin	auto
			(0)
	___begin	auto
			(0)
	___begin	auto
			(0)
	___begin	auto
			(0)
    }

    help {
	""
    }

    parm {
	name	"makeui"
	label	"Promote Interface"
	type	button
	nolabel
	default	{ "0" }
	menu	{
	    [ "import pyro2" ]
	    [ "return pyro2.makeuimenu()" ]
	    language	python
	}
	range	{ 0 1 }
	export	none
	parmtag	{ "script_callback_language" "python" }
	parmtag	{ "script_callback" "hou.phm().uiCreate(kwargs)" }
	parmtag	{ "autoscope" "0000000000000000" }
    }
    group {
	name	"folder1"
	label	"VOP Parameters"

	parm {
	    name	"name"
	    label	"Field Name"
	    type	string
	    joinnext
	    default	{ "density" }
	    range	{ 0 1 }
	    export	none
	    unquoted
	    parmtag	{ "script_callback_language" "python" }
	    parmtag	{ "script_callback" "#__import__('pyro2').validateDensityField(kwargs)" }
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"intype"
	    label	"Field Type"
	    type	string
	    default	{ "float" }
	    disablewhen	"{ name == \"\" }"
	    menu	{
		"float"	"Float"
		"vector"	"Vector"
		"vector4"	"Vector4"
	    }
	    range	{ 0 1 }
	    export	none
	    unquoted
	    parmtag	{ "script_callback_language" "python" }
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"promote"
	    label	"Promote"
	    type	toggle
	    nolabel
	    joinnext
	    default	{ "0" }
	    disablewhen	"{ name == \"\" }"
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "script_callback_language" "python" }
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"outtype"
	    label	"Promote To Type"
	    type	string
	    joinnext
	    default	{ "float" }
	    disablewhen	"{ name == \"\" } { promote == 0 }"
	    menu	{
		"float"	"Float"
		"vector"	"Vector"
		"vector4"	"Vector4"
	    }
	    range	{ 0 1 }
	    export	none
	    unquoted
	    parmtag	{ "script_callback_language" "python" }
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"method"
	    label	"Method"
	    type	string
	    nolabel
	    joinnext
	    default	{ "assign" }
	    disablewhen	"{ name == \"\" } { promote == 0 } { doconvert == 0 }"
	    menu	{
		[ "hou.nodeType(hou.vopNodeTypeCategory(),'typeconvertimpl').hdaModule().methodmenu(hou.evalParm('intype'),hou.evalParm('outtype'))" ]
		language	python
	    }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"const"
	    label	"Constant"
	    type	float
	    nolabel
	    default	{ "0" }
	    disablewhen	"{ name == \"\" } { promote == 0 } { method != padc }"
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"doconvert"
	    label	"doconvert"
	    type	integer
	    invisible
	    default	{ "0" }
	    range	{ 0 10 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"dfltval"
	    label	"Default Field Value"
	    type	vector4
	    size	4
	    default	{ "0" "0" "0" "0" }
	    disablewhen	"{ name != \"\" }"
	    range	{ -1 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	group {
	    name	"FieldShape"
	    label	"Field Shape"

	    parm {
		name	"dofit"
		label	"Fit to Range (Unclamped)"
		type	toggle
		joinnext
		default	{ "0" }
		disablewhen	"{ name == \"\" }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"labelparm2"
		label	"forceleft"
		type	label
		nolabel
		default	{ "" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"fit_srcmin"
		label	"Source Range"
		type	float
		joinnext
		default	{ "0" }
		disablewhen	"{ name == \"\" } { dofit == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"fit_srcmax"
		label	"Source Max"
		type	float
		nolabel
		default	{ "1" }
		disablewhen	"{ name == \"\" } { dofit == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"fit_tgtmin"
		label	"Target Range"
		type	float
		joinnext
		default	{ "0" }
		disablewhen	"{ name == \"\" } { dofit == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"fit_tgtmax"
		label	"Target Max"
		type	float
		nolabel
		default	{ "1" }
		disablewhen	"{ name == \"\" } { dofit == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"labelparm3"
		label	"spacer"
		type	label
		invisible
		nolabel
		default	{ "" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"doramp"
		label	"Use Lookup Ramp"
		type	toggle
		joinnext
		default	{ "0" }
		disablewhen	"{ name == \"\" }"
		range	{ 0 1 }
		export	none
		parmtag	{ "script_callback_language" "python" }
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"labelparm4"
		label	"forceleft"
		type	label
		nolabel
		default	{ "" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"rampparm"
		label	"Unique Ramp Name"
		type	string
		default	{ "rampname" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"disablewhen"
		label	"Disable When"
		type	string
		default	{ [ "'{ %sname%s \"\" } { %sdoramp%s 0 }'%(ch('ui_prefix'),ch('ui_postfix'),ch('ui_prefix'),ch('ui_postfix'))" python ] }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"callback"
		label	"Callback Script"
		type	string
		default	{ "" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"help"
		label	"Help"
		type	string
		default	{ "" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"labelparm10"
		label	"spacer"
		type	label
		nolabel
		default	{ "" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"ramptype"
		label	"Ramp Type"
		type	ordinal
		joinnext
		default	{ "0" }
		disablewhen	"{ name == \"\" } { doramp == 0 }"
		menu	{
		    "flt"	"Float Spline"
		    "rgb"	"Color Ramp"
		}
		range	{ 0 1 }
		export	none
		parmtag	{ "script_callback_language" "python" }
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"spacename"
		label	"Space"
		type	string
		nolabel
		default	{ "rgb" }
		disablewhen	"{ name == \"\" } { doramp == 0 } { ramptype == flt }"
		menu	{
		    "rgb"	"RGB"
		    "hsv"	"HSV"
		    "Lab"	"LAB"
		    "hsl"	"HSL"
		    "XYZ"	"XYZ"
		}
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"gammaname"
		label	"Gamma"
		type	string
		joinnext
		default	{ "linear" }
		disablewhen	"{ active == 0 }"
		menu	{
		    "linear"	"Linear"
		    "srgb"	"sRGB"
		    "custom"	"Custom"
		}
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"gammaval"
		label	"Gamma Value"
		type	float
		nolabel
		default	{ "2.2" }
		disablewhen	"{ active == 0 } { gammaname != custom }"
		range	{ 0.0001! 4 }
		export	none
		parmtag	{ "script_unquoted" "1" }
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"ramp_rngmin"
		label	"Ramp Interval"
		type	float
		joinnext
		default	{ "0" }
		disablewhen	"{ name == \"\" } { doramp == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"ramp_rngmax"
		label	"Ramp Interval Max"
		type	float
		nolabel
		default	{ "1" }
		disablewhen	"{ name == \"\" } { doramp == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"lbt"
		label	"Ramp Boundaries"
		type	string
		joinnext
		default	{ "hold" }
		disablewhen	"{ name == \"\" } { doramp == 0 }"
		menu	{
		    "hold"	"Hold"
		    "cycle"	"Cycle"
		    "accum"	"Cycle-Accumulate"
		    "mirror"	"Mirror"
		    "slope"	"Slope"
		}
		range	{ 0 1 }
		export	none
		unquoted
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"rbt"
		label	"Right"
		type	string
		nolabel
		default	{ "hold" }
		disablewhen	"{ name == \"\" } { doramp == 0 }"
		menu	{
		    "hold"	"Hold"
		    "cycle"	"Cycle"
		    "accum"	"Cycle-Accumulate"
		    "mirror"	"Mirror"
		    "slope"	"Slope"
		}
		range	{ 0 1 }
		export	none
		unquoted
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"labelparm5"
		label	"spacer"
		type	label
		invisible
		nolabel
		default	{ "" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"labelparm6"
		label	"spacer"
		type	label
		nolabel
		default	{ "" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"docontour"
		label	"Contour"
		type	toggle
		nolabel
		joinnext
		default	{ "0" }
		disablewhen	"{ name == \"\" }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"contour_width"
		label	"Contour Width"
		type	float
		joinnext
		default	{ "0.02" }
		disablewhen	"{ name == \"\" } { docontour == 0 }"
		range	{ 0! 0.1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"contour_sharp"
		label	"Sharpness"
		type	float
		default	{ "4" }
		disablewhen	"{ name == \"\" } { docontour == 0 }"
		range	{ 0! 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"dosclip"
		label	"Soft Clip"
		type	toggle
		nolabel
		joinnext
		default	{ "0" }
		disablewhen	"{ name == \"\" }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"sclip_start"
		label	"Soft Clip Start"
		type	float
		joinnext
		default	{ "0.8" }
		disablewhen	"{ name == \"\" } { dosclip == 0 }"
		range	{ 0! 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"sclip_suppress"
		label	"  Suppress"
		type	float
		default	{ "1" }
		disablewhen	"{ name == \"\" } { dosclip == 0 }"
		range	{ 0! 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"labelparm7"
		label	"spacer"
		type	label
		nolabel
		default	{ "" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"dolowlimit"
		label	"Clamp at Lower Limit"
		type	toggle
		nolabel
		joinnext
		default	{ "0" }
		disablewhen	"{ name == \"\" }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"lowlimit"
		label	"Clamp To Min"
		type	float
		default	{ "0" }
		disablewhen	"{ name == \"\" } { dolowlimit == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"dohighlimit"
		label	"Clamp at Upper Limit"
		type	toggle
		nolabel
		joinnext
		default	{ "0" }
		disablewhen	"{ name == \"\" }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"highlimit"
		label	"Clamp To Max"
		type	float
		default	{ "1" }
		disablewhen	"{ name == \"\" } { dohighlimit == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"labelparm8"
		label	"spacer"
		type	label
		nolabel
		default	{ "" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"amp"
		label	"Final Amplitude"
		type	float
		default	{ "1" }
		disablewhen	"{ name == \"\" }"
		range	{ 0 2 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	}

	group {
	    name	"FieldShape_1"
	    label	"Field Noise"

	    parm {
		name	"active"
		label	"Active"
		type	toggle
		default	{ "0" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"ntype"
		label	"Noise Output Type"
		type	ordinal
		joinnext
		default	{ "0" }
		disablewhen	"{ active == 0 }"
		menu	{
		    [ "opmenu -l Noise ntype" ]
		}
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"dim4"
		label	"Space"
		type	ordinal
		joinnext
		default	{ "0" }
		disablewhen	"{ active == 0 }"
		menu	{
		    "0"	"3D"
		    "1"	"4D"
		}
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"time"
		label	"Time"
		type	float
		default	{ "0" }
		disablewhen	"{ active == 0 } { dim4 == 0 }"
		range	{ 0 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"fieldop"
		label	"Field Operation"
		type	string
		default	{ "add" }
		disablewhen	"{ active == 0 }"
		menu	{
		    "add"	"Offset (Field + Noise)"
		    "mult"	"Scale (Field * Noise)"
		}
		range	{ 0 1 }
		export	none
		unquoted
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"freq"
		label	"Frequency"
		type	vector4
		size	4
		default	{ "1" "1" "1" "1" }
		disablewhen	"{ active == 0 }"
		range	{ -1 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"offset"
		label	"Offset"
		type	vector4
		size	4
		default	{ "0" "0" "0" "0" }
		disablewhen	"{ active == 0 }"
		range	{ -1 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"period"
		label	"Period"
		type	vector4
		size	4
		default	{ "1" "1" "1" "1" }
		disablewhen	"{ active == 0 } { basis != pperlin basis != pflow }"
		range	{ 0! 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    group {
		name	"folder0"
		label	"Construction"

		parm {
		    name	"basis"
		    label	"Noise Type"
		    type	string
		    default	{ "simplex" }
		    disablewhen	"{ active == 0 }"
		    menu	{
			"sine"	"Sinusoid"
			"perlin"	"Perlin"
			"pperlin"	"Periodic Perlin"
			"simplex"	"Simplex (Improved Perlin)"
			"sparse"	"Sparse Convolution"
			"flow"	"Flow"
			"pflow"	"Periodic Flow"
			"worleyFA"	"Worley (cellular) F1"
			"worleyFB"	"Worley (cellular) F2-F1"
			"alligator"	"Alligator"
		    }
		    range	{ 0 1 }
		    export	none
		    unquoted
		    parmtag	{ "autoscope" "0000000000000000" }
		}
		parm {
		    name	"inv"
		    label	"Complement"
		    type	toggle
		    default	{ "0" }
		    disablewhen	"{ active == 0 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		}
		parm {
		    name	"fold"
		    label	"Fold"
		    type	toggle
		    default	{ "0" }
		    disablewhen	"{ active == 0 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		}
		parm {
		    name	"expon"
		    label	"Exponent"
		    type	float
		    default	{ "1" }
		    disablewhen	"{ active == 0 }"
		    range	{ 0! 2 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		}
		parm {
		    name	"dolwarp"
		    label	"Enable Lattice Warp"
		    type	toggle
		    nolabel
		    joinnext
		    default	{ "0" }
		    range	{ 0 10 }
		    export	none
		}
		parm {
		    name	"disp"
		    label	"Lattice Warp"
		    type	float
		    joinnext
		    default	{ "0" }
		    disablewhen	"{ active == 0 } { dolwarp == 0 }"
		    range	{ -0.5 0.5 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		}
		parm {
		    name	"dispfreq"
		    label	"Freq"
		    type	float
		    default	{ "1" }
		    disablewhen	"{ active == 0 } { dolwarp == 0 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		}
		parm {
		    name	"dogwarp"
		    label	"Enable Gradient Warp"
		    type	toggle
		    nolabel
		    joinnext
		    default	{ "0" }
		    range	{ 0 10 }
		    export	none
		}
		parm {
		    name	"gflow"
		    label	"Gradient Warp"
		    type	float
		    default	{ "0" }
		    disablewhen	"{ active == 0 }"
		    range	{ -0.5 0.5 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		}
		parm {
		    name	"flowrot"
		    label	"Flow Rotation"
		    type	float
		    default	{ "0" }
		    disablewhen	"{ active == 0 } { basis != flowrot basis != pflow }"
		    range	{ 0 10 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		}
		parm {
		    name	"fractal"
		    label	"Fractal Type"
		    type	string
		    default	{ "none" }
		    disablewhen	"{ active == 0 }"
		    menu	{
			"none"	"None"
			"fBm"	"Standard (fBm)"
			"mfT"	"Terrain"
			"hmfT"	"Hybrid Terrain"
		    }
		    range	{ 0 1 }
		    export	none
		    unquoted
		    parmtag	{ "autoscope" "0000000000000000" }
		}
		parm {
		    name	"accuml"
		    label	"Accumulate Lattice Warp"
		    type	toggle
		    default	{ "0" }
		    disablewhen	"{ active == 0 } { fractal == none }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		}
		parm {
		    name	"accumg"
		    label	"Accumulate Gradient Warp"
		    type	toggle
		    default	{ "0" }
		    disablewhen	"{ active == 0 } { fractal == none }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		}
		parm {
		    name	"oct"
		    label	"Max Octaves"
		    type	float
		    default	{ "8" }
		    disablewhen	"{ active == 0 } { fractal == none }"
		    range	{ 0! 16 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		}
		parm {
		    name	"lac"
		    label	"Lacunarity"
		    type	float
		    default	{ "2.01234" }
		    disablewhen	"{ active == 0 } { fractal == none }"
		    range	{ 0 4 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		}
		parm {
		    name	"rough"
		    label	"Roughness"
		    type	float
		    default	{ "0.5" }
		    disablewhen	"{ active == 0 } { fractal == none }"
		    range	{ 0! 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		}
	    }

	    group {
		name	"folder0_1"
		label	"Output"

		parm {
		    name	"docc"
		    label	"Output Correction"
		    type	toggle
		    default	{ "0" }
		    disablewhen	"{ active == 0 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		}
		parm {
		    name	"labelparm14"
		    label	"spacer"
		    type	label
		    nolabel
		    default	{ "" }
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		}
		parm {
		    name	"cc_dobias"
		    label	"Do Bias"
		    type	toggle
		    nolabel
		    joinnext
		    default	{ "0" }
		    disablewhen	"{ active == 0 } { docc == 0 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		}
		parm {
		    name	"cc_bias"
		    label	"Bias"
		    type	vector
		    size	3
		    default	{ "0.5" "0.5" "0.5" }
		    disablewhen	"{ active == 0 } { docc == 0 } { cc_dobias == 0 }"
		    range	{ 0! 1! }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		}
		parm {
		    name	"cc_dogain"
		    label	"Do Gain"
		    type	toggle
		    nolabel
		    joinnext
		    default	{ "0" }
		    disablewhen	"{ active == 0 } { docc == 0 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		}
		parm {
		    name	"cc_gain"
		    label	"Gain"
		    type	vector
		    size	3
		    default	{ "0.5" "0.5" "0.5" }
		    disablewhen	"{ active == 0 } { docc == 0 } { cc_dogain == 0 }"
		    range	{ 0! 1! }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		}
		parm {
		    name	"cc_inv"
		    label	"Complement"
		    type	toggle
		    default	{ "0" }
		    disablewhen	"{ active == 0 } { docc == 0 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		}
		parm {
		    name	"labelparm12"
		    label	"spacer"
		    type	label
		    nolabel
		    default	{ "" }
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		}
		parm {
		    name	"cc_dorng"
		    label	"Output Range (Clamped)"
		    type	toggle
		    default	{ "0" }
		    disablewhen	"{ active == 0 } { docc == 0 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		}
		parm {
		    name	"cc_rnglo"
		    label	"New Minimum"
		    type	vector
		    size	3
		    default	{ "0" "0" "0" }
		    disablewhen	"{ active == 0 } { docc == 0 } { cc_dorng == 0 }"
		    range	{ -1 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		}
		parm {
		    name	"cc_rnghi"
		    label	"New Maximum"
		    type	vector
		    size	3
		    default	{ "1" "1" "1" }
		    disablewhen	"{ active == 0 } { docc == 0 } { cc_dorng == 0 }"
		    range	{ 0 2 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		}
		parm {
		    name	"labelparm13"
		    label	"spacer"
		    type	label
		    nolabel
		    default	{ "" }
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		}
		parm {
		    name	"cc_amp"
		    label	"Final Amplitude"
		    type	vector
		    size	3
		    default	{ "1" "1" "1" }
		    disablewhen	"{ active == 0 } { docc == 0 }"
		    range	{ 0 2 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		}
	    }

	    group {
		name	"folder0_2"
		label	"Rest Position"

		group {
		    name	"folder5"
		    label	"Fields"

		    parm {
			name	"spacer2"
			label	"spacer"
			type	label
			nolabel
			default	{ "" }
			range	{ 0 1 }
			export	none
		    }
		    parm {
			name	"restinterp"
			label	"Ratio Interpolation"
			type	ordinal
			default	{ "0" }
			menu	{
			    "0"	"Unmodified (Linear)"
			    "1"	"Cubic"
			    "2"	"Cosine"
			}
			range	{ 0 1 }
			export	none
		    }
		    parm {
			name	"spacer3"
			label	"spacer2"
			type	label
			nolabel
			default	{ "" }
			range	{ 0 1 }
			export	none
		    }
		    parm {
			name	"rest_name"
			label	"Rest Position 1"
			type	string
			joinnext
			default	{ "rest" }
			range	{ 0 1 }
			export	none
		    }
		    parm {
			name	"rest_intype"
			label	"Type"
			type	string
			default	{ "vector" }
			disablewhen	"{ rest_name == \"\" }"
			menu	{
			    "float"	"Float"
			    "vector"	"Vector"
			    "vector4"	"Vector4"
			}
			range	{ 0 1 }
			export	none
			unquoted
			parmtag	{ "script_callback_language" "python" }
			parmtag	{ "script_callback" "if not kwargs['node'].isInsideLockedHDA():kwargs['node'].parm('rest_method').set('assign')" }
		    }
		    parm {
			name	"rest_method"
			label	"Conversion to Vector"
			type	string
			joinnext
			default	{ "assign" }
			disablewhen	"{ rest_name == \"\" } { rest_intype == vector }"
			menu	{
			    [ "hou.vopNodeTypeCategory().nodeTypes()['typeconvertimpl'].hdaModule().methodmenu(hou.evalParm('rest_intype'),'vector')" ]
			    language	python
			}
			range	{ 0 1 }
			export	none
		    }
		    parm {
			name	"rest_padval"
			label	"Padding Constant"
			type	float
			nolabel
			default	{ "0" }
			disablewhen	"{ rest_name == \"\" } { rest_promote == 0 } { rest_method != padc }"
			range	{ 0 1 }
			export	none
		    }
		    parm {
			name	"rest_ratio_name"
			label	"Rest1 Ratio"
			type	string
			joinnext
			default	{ "rest_ratio" }
			range	{ 0 1 }
			export	none
		    }
		    parm {
			name	"rest_ratio_intype"
			label	"Type"
			type	string
			default	{ "float" }
			disablewhen	"{ rest_ratio_name == \"\" }"
			menu	{
			    "float"	"Float"
			    "vector"	"Vector"
			    "vector4"	"Vector4"
			}
			range	{ 0 1 }
			export	none
			unquoted
			parmtag	{ "script_callback_language" "python" }
			parmtag	{ "script_callback" "if not kwargs['node'].isInsideLockedHDA():kwargs['node'].parm('rest_ratio_method').set('assign')" }
		    }
		    parm {
			name	"rest_ratio_method"
			label	"Conversion to Float"
			type	string
			default	{ "assign" }
			disablewhen	"{ rest_ratio_name == \"\" } { rest_ratio_intype == float }"
			menu	{
			    [ "hou.vopNodeTypeCategory().nodeTypes()['typeconvertimpl'].hdaModule().methodmenu(hou.evalParm('rest_ratio_intype'),'float')" ]
			    language	python
			}
			range	{ 0 1 }
			export	none
		    }
		    parm {
			name	"rest2_name"
			label	"Rest Position 2"
			type	string
			joinnext
			default	{ "rest2" }
			range	{ 0 1 }
			export	none
		    }
		    parm {
			name	"rest2_intype"
			label	"Type"
			type	string
			default	{ "vector" }
			disablewhen	"{ rest2_name == \"\" }"
			menu	{
			    "float"	"Float"
			    "vector"	"Vector"
			    "vector4"	"Vector4"
			}
			range	{ 0 1 }
			export	none
			unquoted
			parmtag	{ "script_callback_language" "python" }
			parmtag	{ "script_callback" "if not kwargs['node'].isInsideLockedHDA():kwargs['node'].parm('rest2_method').set('assign')" }
		    }
		    parm {
			name	"rest2_method"
			label	"Conversion to Vector"
			type	string
			joinnext
			default	{ "assign" }
			disablewhen	"{ rest2_name == \"\" } { rest2_intype == vector }"
			menu	{
			    [ "hou.vopNodeTypeCategory().nodeTypes()['typeconvertimpl'].hdaModule().methodmenu(hou.evalParm('rest2_intype'),'vector')" ]
			    language	python
			}
			range	{ 0 1 }
			export	none
		    }
		    parm {
			name	"rest2_padval"
			label	"Padding Constant"
			type	float
			nolabel
			default	{ "0" }
			disablewhen	"{ rest2_name == \"\" } { rest2_promote == 0 } { rest2_method != padc }"
			range	{ 0 1 }
			export	none
		    }
		    parm {
			name	"rest2_ratio_name"
			label	"Rest2 Ratio"
			type	string
			joinnext
			default	{ "rest2_ratio" }
			range	{ 0 1 }
			export	none
		    }
		    parm {
			name	"rest2_ratio_intype"
			label	"Type"
			type	string
			default	{ "float" }
			disablewhen	"{ rest2_ratio_name == \"\" }"
			menu	{
			    "float"	"Float"
			    "vector"	"Vector"
			    "vector4"	"Vector4"
			}
			range	{ 0 1 }
			export	none
			unquoted
			parmtag	{ "script_callback_language" "python" }
			parmtag	{ "script_callback" "if not kwargs['node'].isInsideLockedHDA():kwargs['node'].parm('rest2_ratio_method').set('assign')" }
		    }
		    parm {
			name	"rest2_ratio_method"
			label	"Conversion to Float"
			type	string
			default	{ "assign" }
			disablewhen	"{ rest2_ratio_name == \"\" } { rest2_ratio_intype == float }"
			menu	{
			    [ "hou.vopNodeTypeCategory().nodeTypes()['typeconvertimpl'].hdaModule().methodmenu(hou.evalParm('rest2_ratio_intype'),'float')" ]
			    language	python
			}
			range	{ 0 1 }
			export	none
		    }
		}

		group {
		    name	"folder5_1"
		    label	"Fallback"

		    parm {
			name	"spacer4"
			label	"spacer3"
			type	label
			nolabel
			default	{ "" }
			range	{ 0 1 }
			export	none
		    }
		    parm {
			name	"fallback_label"
			label	"fallback_label"
			type	label
			nolabel
			default	{ "Fallback Rest Position Upon Failure (VEX):" }
			range	{ 0 1 }
			export	none
		    }
		    parm {
			name	"spacer"
			label	"spacer"
			type	label
			nolabel
			default	{ "" }
			range	{ 0 1 }
			export	none
		    }
		    parm {
			name	"fail_shading"
			label	"SHADING Contexts"
			type	string
			default	{ "ptransform(\"space:object\",P)" }
			range	{ 0 1 }
			export	none
			unquoted
		    }
		    parm {
			name	"fail_cop"
			label	"COP|COP2 Contexts"
			type	string
			default	{ "set(X,Y,0)" }
			range	{ 0 1 }
			export	none
			unquoted
		    }
		    parm {
			name	"fail_sop"
			label	"SOP|POP Contexts"
			type	string
			default	{ "P" }
			range	{ 0 1 }
			export	none
			unquoted
		    }
		    parm {
			name	"fail_chop"
			label	"CHOP Context"
			type	string
			default	{ "set((float)I/SR,V,0)" }
			range	{ 0 1 }
			export	none
			unquoted
		    }
		    parm {
			name	"fail_cvex"
			label	"CVEX Context"
			type	string
			default	{ "0" }
			range	{ 0 1 }
			export	none
			unquoted
		    }
		    parm {
			name	"fail_fail"
			label	"Unknown Context"
			type	string
			default	{ "0" }
			range	{ 0 1 }
			export	none
			unquoted
		    }
		}

	    }

	}

	group {
	    name	"FieldShape_2"
	    label	"Filter"

	    parm {
		name	"labelparm15"
		label	"Texture Filter"
		type	label
		default	{ "" }
		disablewhen	"{ pn_active == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"sepparm6"
		label	"Separator"
		type	separator
		default	{ }
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"ftype"
		label	"Filter Type"
		type	string
		joinnext
		default	{ "point" }
		menu	{
		    "point"	"Point"
		    "box"	"Box"
		    "gauss"	"Gaussian"
		}
		range	{ 0 1 }
		export	none
		unquoted
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"fscale_tx"
		label	"Scale"
		type	float
		default	{ "1" }
		disablewhen	"{ ftype == point }"
		range	{ 0 2 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"labelparm18"
		label	"Noise Filter"
		type	label
		default	{ "" }
		disablewhen	"{ pn_active == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"sepparm7"
		label	"Separator"
		type	separator
		default	{ }
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"fscale_noise"
		label	"Filter Scale"
		type	float
		default	{ "1" }
		range	{ 0 2 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	}

    }

    group {
	name	"folder1_1"
	label	"UI Promotion"

	parm {
	    name	"ui_prefix"
	    label	"Parameter Prefix"
	    type	string
	    joinnext
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"ui_postfix"
	    label	"Postfix"
	    type	string
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"ui_infolder"
	    label	"ui_infolder"
	    type	toggle
	    nolabel
	    joinnext
	    default	{ "1" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"ui_foldername"
	    label	"Create In Folder"
	    type	string
	    default	{ [ "node('.').creator().relativePathTo(node('.')).replace('/','_')" python ] }
	    disablewhen	"{ ui_infolder == 0 }"
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"spacer8"
	    label	"spacer"
	    type	label
	    nolabel
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"title"
	    label	"Field Settings"
	    type	label
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"sepparm"
	    label	"sepparm"
	    type	separator
	    default	{ }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"uif_forcefieldname"
	    label	"Disallow Empty String in Field Name"
	    type	toggle
	    joinnext
	    default	{ "0" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"lalign4"
	    label	"lalign"
	    type	label
	    nolabel
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"spacer9"
	    label	"spacer"
	    type	label
	    nolabel
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"title2"
	    label	"Noise Settings"
	    type	label
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"sepparm2"
	    label	"sepparm2"
	    type	separator
	    default	{ }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"uin_initactive"
	    label	"Default Active State"
	    type	toggle
	    joinnext
	    default	{ "0" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"leftalign4"
	    label	"leftalign"
	    type	label
	    nolabel
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"uin_initsigned"
	    label	"Initialize As Signed Noise"
	    type	toggle
	    joinnext
	    default	{ "1" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"leftalign3"
	    label	"leftalign"
	    type	label
	    nolabel
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	}
    }

}
# Automatically generated script: Wednesday February 22, 12:21 2012
\set noalias = 1
#
#  Creation script for pyroDensityVolume operator
#

if ( "$arg1" == "" ) then
    echo This script is intended as a creation script
    exit
endif

# Node $arg1 (Vop/pyroDensityVolume)
opexprlanguage -s hscript $arg1
opuserdata -n '___Version___' -v '' $arg1
ParmsFromVfl := 0;
PrefixDroppedParmName := 0;
UseDSParms := 1;
ForbidOutsideParms := 0;
LockContents := 1;
SaveSpareParms := 0;
CheckExternal := 1;
GzipContents := 1;
MakeDefault := 1;
SaveCachedCode := 0;
PrefixDroppedParmLabel := 0;
UnlockOnCreate := 0;
<?xml version="1.0" encoding="UTF-8"?>
<shelfDocument>
  <!-- This file contains definitions of shelves, toolbars, and tools.
 It should not be hand-edited when it is being used by the application.
 Note, that two definitions of the same element are not allowed in
 a single file. -->

  <tool name="$HDA_TABLE_$HDA_NAME" label="$HDA_LABEL" icon="$HDA_ICON">
    <toolMenuContext name="viewer">
      <contextNetType>VOP</contextNetType>
    </toolMenuContext>
    <toolMenuContext name="pop_viewer">
      <contextNetType>VOP</contextNetType>
    </toolMenuContext>
    <toolMenuContext name="network">
      <contextOpType>$HDA_TABLE/$HDA_NAME</contextOpType>
    </toolMenuContext>
    <toolSubmenu>Pyro</toolSubmenu>
    <script scriptType="python"><![CDATA[import voptoolutils

voptoolutils.genericTool(kwargs, '$HDA_NAME')]]></script>
  </tool>
</shelfDocument>
      MI&U3VpFeOFV'ƪnTfI0Y)L6a/.t$a1ڛXڣ tIa!`Mb%wwLVY=3{>sgf?owcc}ўMӏicD-Or8Ku99('r1Kn4oCInde9yZ.ŤYG''	pS8s3sGBe>i<;|~Ί4SbRE6iyz5pVl^5HTm^TSIajV/)kP+ņhk`h=ZS'~1&pVuRY^̛@r1lNzbZeU'ig|Y)_q1G15R04B\iҒkP)1mZprT ّ>)aj{::wكǏX{Gn	%~'vccx?P
~[&owc/k_s{'({ccoԅIƏvT	eo76wGLH})-?wq叄exw^[D$ool%x5?e,iqo*GXպ7gǿV7~66(?2`wa4\]{R6~{7LEՏX*{ʻ!d^8imDʈml(	|j VhiD}OJ!mt}r=$@"gzˋ/T7aLch=]E3cEǲ-y_/?lN+<=E5ga!c^@d#ܴI1%w8<8('ZZ:g.F)9<rRETME:g-%K,ۋ7MLϜf9~Xԡ-|<m.clp]WZ𧺮wj2'SGRU)ã!CfXU=2X ePZ^K1}QNN`50#9H$}ƦA7AyXS0y?-[%>S|2xNE/ǁ(E$,~${\(X>e$gp$-
=xg=wjϔnϼ|jӨ$܁q5.M5p6CNaZ[Dl}P-ty~_"bP1?M Pj!ъⲒZ0W|fm(]<-t^VWpTfŔOo|7	%b./%JNI6s{ʹ{?~tk	GqS 4٨{hPoPN~s/Gy1BҨoܥyl2߼%tiITVDG%'9	J>M>$54ދfNTEwEwZ6cngnpgKY1b:,
5ɰgxzC+-S68!Mwg{{;h[<S8nﰄe&#u'R%"M'u_b2];:8j5-p=ɗ%kŢu_sH~'Be=ڄ&<rV3+u<uTh*+ʠ+#xh@+e
ƒaLD	/fXY#]AngȞ;ZߘT8
lW|Le"! x
wrg'ŤCܵN:梮t;l4M	C8خ,$BȘ!y{!Τd8%>cgbX [Z]^gFzi/Icc2[5'kkڜz2x17=.:8a䛤={B`M̈́2-#p6dj~Jx!9"	=Iu.KJ'Nt]wf38;A&-hX x<",./c{2+Ӻr4f{uYc?.PK<EȈ$p=Ph˓Qz@HVo\=Y?W(gں-{{5o^>g٤}%bTOt'{KHHM.f)"{%]]B?xGSLNX?=IvnKK8H,cM$<ϟ_t:/ȵ@K!olٓF1ŝ)i|͌gb@ӻ#'I<ұ9{jY~m	3=(,/JÀ長%J4-iɿ_XPBT|dRG]DB°8Mݭ!/gf}ʞBLG{[7v041xKhRlLGY>#3.{+2JEhN=9+N3>}H$~RĊV^DVگeumAϨsW>cɵ]߆l;`rB~&N0Lfx~DF}.&VH?}%ʳ{z{|l5s6̦'se4uyG]0pw4ewP0hbF8]6ee$xFbҡؒq)G@oOovrsFyw~v$sc'	8A$ٶ%q;4
O˹1$R!UcJ%o*Ҷ^%~Zf4*+<*T\{FX}CVb]ֻ!v.+iӡ5 WIE e7xAIHrC82=8%]]oXu-N~l'G$IGc[;0*?B/R<4aum"51ºĿC1XTdTr6,&<Gd>)~1SKX~ti
uY]:H2rUT	E(`VO+<O<>@wߘ_e[cQ[yrZ\^솄!VH/d*:V2+~[]\4a%a./el~s&3kk6)gKxdu6/x95w\.&C8+2t>Z0\hk}5e+	b,Bnň}/b6+P0"}{3So̧C
?sjwѻ ½t~7n&k8%列މ3K&$	۵n6-)RB`+^jvVjn@d9UDܣH(GͿJoQ28rhJ!\%F1qNQL]yܸ=n<Kɣ˿v|/io۷4A^d֕8[ZhF{ik62/l&_SI]8%i,o,qv%)p1^吃Q\h3VhW[Ĳh/"=r۵5,y"UawygS9E|A]KI4d:C%(g'ZB܉Cź(ҽ[nSy{~7C{~+Fލ=Ǟ^vW;[z Ioic=^7s'a/GraCҡw)i]x׆6{~.OC)3%7M1s*e1/nո⨢)W2e>NIW2i3"c:0c @-1i0|GLE/c7;>#8_]NđL\_P1HSdЧ)$T5sk/%C]181=>PAC{43&e8`2q)
MU"QSy5H䍃s2yp6&(Md<41դɩ1e6e9597ul495979597mW4JI?l+sjUsn[[R X\_. ̸2*a-}ͅi|666Va\,&>{SKs{-@RXnm.EW]t뱽93*YEMZ\X`U[|*Ƨpo.fs65ιΥ5ϐY\ZdksfsaU 793ɹ̪9!	AKY8z,VEms-e+j+n)9o9M>WY[izyTGh$ U*.*TWFWTs2aǫ6|ֺvZ#
pbl>>]QS]qIrARmvŌu%lv0ΐ34c+f+aUpZz3ٕܚXUUmJo]YC gCv[ Of+iMB		C9?;ה81fڪ0Yrr};iRqi04tvSvpTSq2L,
pn.`7@(QjSzm=`h͐s|l>Ќ>Эb̐Ƭnnjyf  t :gC!q p  :
r8
:3 @0 Ajt-|q`06h:B 8: nk # 	0`R8OmlXvȩ4.s#xcNT\L*7TTi,$:܀!ppC!-CI!B\,dx\T1C3nc4fa CSaP!o l jYnAf9gC!xgXAv9Vc
ς)pqa@.!jEˀdBݬg0_D9O%q:J *Rh@NWB.p`ؠA1d"IIC
:&e'U*.8``Z'U*.*0Pɚ3I_gj$$n-nu{&J$znuKoz7U*.ox{Sy	]wöCʫeֹU׍aTx\̘9׭aTXT>C	Gܐ+	Ƃ	Gܐ+]Q!f4\M>d5r}ˣ<*Gؐ#f0``oHreF-8ܠrDM8\~Nǧpn\T.M$Ԃ#akAT\t!Ĝ#aUpZz5Yp$=VcUA[q!ו5p1d7Hr]g<GҐ^CGk!ߐ#f0!A[+0vs{xAkE58VΒ?gT\OE\a(A|*ơ9M88`r~6&"䎋P\|"Ta&9'gcro1J'A*.:ϙroF3"Pqil 9j$IU'6Bz3gG(\㨘\Vvtt)+7-;Bz	n#~Pq|W9+Mex?2+CNT\4
$9T 5#d3",vUoHi|*ƧRwv.ͷ1`87`8FrK#n2Hi:)ϙϡ!)msgfY:Rq1|ޒܜP󗄚!u&Qϡ6dsnsN 8
ں@ʫE3ymu5)pp\X66rw䛤^scCͥ6ej4
AYr寠NT\tW3ԼrAp\aWaҝ*ƪX5xp$!~3s,yH80)}xP1 #m{!`烄aA5h8Rq|^9*{@&K s{p@M&L"ypLl+
ԽrQFⴾ;Pa(x5ʩ1"DWNmC|[׀WǇ
^9AG[	9pr :X -\U8^ 0@ 1 cA,rY؝#С Xqα? ` 8)p@L$h8 O(>T G
 4W)1!M)0 MP&dX0KCnq	9l :	wPy=RΕ~` 0^rw2
|MKFոB.BIttnOQ]E+* %,rYarQJD	r8J#J S
G`d}5!`v.|[W>ޤPw't'<γɧ
RhxBc C7&ǵ
Rh8BkC76
Sh0c.=9
fH?F	@ٔ-5H Nk0Z6)3uZx=CFղX#AW
"T$Ф8QA:9Kq	G|qJcՀ;v1Ap1 8o1ɓa5-3Vr~v^/Nf1Clb ';ddnPb@
4݄Z>4`b`	%>T^mJ/H1A/qZ8!D{K첿7hafъq:Je*6͕a+Զ*rҤ8]F 
3.%0AU 4Va@"
sbcCPa.e	d~*LJT jr~v>@#\bd31kug7Y*=C,4'F݄Z>/Y~i'XAveB*a`|q*@TC(t,uYha7e*6#>><t=|HseZ"VAM'}DWg7'825~ߑ׆bi#G-vNEHBRu	Fp&zSpb8WQAkÛZu(1Qg:gj|W<xk<!.|G@\~aG@\qy1@\qy1GA\qyQ@\qy1W5@\y0W5\3ա*&k@UMp*uA^ y- ث`Y諚E1עpo${i1M>{$huA\l:I8All>6H#ۤ	NIcmP	Z`e@^6Jf6(7o-I?[(`h':D6%`%W$J:Ĳ]'I](N,='m.پ3kQ(K[(Y@tË%[(i{y'z%KY!*+ۡJRE@~;_IHohXIuv
Vz+zweoa5cV,1rEրjףXѲHֲwU]c5[\(	@^F;(ܑhbW@}Fh`(:
zXpuDkb}D067aF#fG1n`̺FkXz.1o-1o`F-Qkp`"
F-Áqp`B-ŁQkq`bF-ǉ<c/<( }yk<򋃾<(ˣ/<
(ˣ/<8/<
(ˣ/*b*X諢ZUQW.諢*
(諢*
8⠯*(諢*@(QD@`0A
A A8(qXġ!C A$"HHq@ġ"E~Dua9A:,'"`QB#@Ҙ(XQ	1\XgY
@g"`Qoqܣ<"}[∋f=P1
01
1pp(,@(B8 8C88DH ĿHC8þ(C1Їb@>}(P5@>VC1Ї.P(CQЇEA>}(
P8CqЇEA>}5i6xݮ:1	qʓN:eN1
Tk|ZI9D0;	q6tig'Zyt8NN2w=I ՛kF=w8*Ob:g=_|7	%IpR(KH9UrMg$L4M v5fOM;WN]y&L6Ìd0Z?S=VI2&4mHnoN!B}%Ώ`u"쉐r07C\ȓM8Uٟ%I6q4-cS6,&hJ?I*|6O{/X
;fQ1yN<Qpg8O
|zXgmfdX_i<ġ@Cį)ӢQJ'mNiɇ&ɍd;X,'V	Aޤ}Yy$y{;y #r~n$^j&,"Y5jg55WO)lDڊ7?ۜrK3B:uf5ClT3dM"shyn9:Cx#V 4J6I/#}IDJ/f$ӽ|k4|J0ouq{9vB$x=P+uĚ7hNz Dxį';$8;;،p)a9:3<7v=<!s¿r4F۟O6.ʈ߿X>D&.60l`gsV.NNw-d岹BUYk$։uo>%!EԕYitAc/0Uj0ɰ<. V1|Ko&?ńӛgJRܝ,?p<vxz[aNɬ٫IyQNN0à>tP$=ҋ&zcKyVΓ2OX%ͳsU 0X5?͒)kT#6xCts,#*uӋ=k{'S-չS)dn$msX`޹G~m2ވ;{Ғpj9tC:8x	)Dc,'ejR:݆XtYN\#/EF?Ѣ7wc]eȎMZ!,&pV_Y<%!N1OV-huws|hDuk=1@|㦧Qk>TuO1&O绛5d8|9c/&O%+١>g$f'i14qDh<u#y'U7Tsh1><jq
I
XAqI.YI5%;.Xqp+Dm#ot}L-ʭ͐Y?+4xV(vVsbҜnхͲ^0dK͑#wD9qH>pD7WZ5]oH3kU3w2MϾٯy%bwg3LYʣ_DGzcB(Z}oweé~?s-hJ-`w  6 TRƍYsξ.\P\W/BH/Bk߇1|-oɬy6a8^4×aM0aM-ē!!neHOX.cO({2NN$L_O	OQ"IM7I[qn8G"neQI8i؝{ۻ,7.[{?VuAol%'8/qI56d{<i|g]QlFn^7ZJ˂ێ7wЙ?p
6ԧJYgߒbDWNI:_#]Fꪢ˱o[hH\%4^r6Xk-R܍E.5K<yF:1G	 #]VKQjEs4ǆIT@r	o/8"}]r̍>+%˘i<tON9AقOW"jT~M8briQAϩНFc	*,Uj5 1baH.=Og0Q87	.-X	8Dq"RY9emdbgԌ;^Cjqqcq=~KJ;o2dYŤRj.`4wP:HD+'(yT)C"U(YdtAYL&Y+1Q$r"*ȿn;-)5tLd\\|]T6Rdr(|JZǤCaĕ} rV6i'4"3IzXt'Y	R!q&=\#8_>ßPSW=QޮR.^8tWO6=_@m=lb⯇t	GݽQ`Y4"	[)Vo>,R㛙PxkVqʺugtk~)8j~]h#CNqx;EpClMf1tV^Id{laRup!/x[]ؚ̗Q:5[oii+>_660ޝO[SM!ΈGj1^[6/mx%p}d0gE6^[Va[X6BmL~q)q_=H&HtŹ1C!0Vz%5RhnZҬ1a`oDNCb9ј<ɃIrߒ]XߐQarޝe;k8?}Vdf?ͭn¦o=9JԖ<`7KL-[Og9c=&l:yFǧPC,_gJf^BVٯuerYZTV7!.[p/1^slK|i.Gt^/ߪh2fGj;{QwYeeRXcVp9"FЩX %4تeI[5İoH
O|,z$G8͕͏؃RMInN{[nKPX[om޵
i&C9V6{`qɼ6k7ufogoL^on,}yN|cW:30,ƵAG'9 k/.ϨȆei]ןGO]uIȿcGdǮ~z;u{ciWuh8e]dn:asx-yµؽyƚ_ZX4M
Dw1J-06Į=w^tt|=>|	*=zxQFHHTd|('.0UH}0*ef^S~-KL	0lK6B.KK6=YH~qLc8$]J{ĥ@~.7'Ypv!OYbA5utXt7,*٤&,Ce_I<{xݧ|=k _{m>ÕYIGH}6|C	t*q=irYGdء
#`9 >g^ xKhI&JJ*PIIbܗ;M:$ߴK-ƞ$vI2_Y7'֩%on8=ۭkk7Au+DV
B>thn}`LԷ  ҳqh<QVLfނ{7ܥk\?ħ'ݱ%s!%N=]Xa>B%.۟tBw;bPM.u27ZeR_SntEFJ&<iOVj,%i^n:!Jˡk/fZ&f^.@%pdUdF#`=YS:+fEUqiij֣|E(hꒃ82^ް.1xSJ𥃅$ˆkd5jtu(NO8	0<kC9+/48i^ր}!7?uhA6(Xqضiao[|~<ߞ11\{mydCh;u$"'P>~GV4#k$}:Zy#[_59iǶ9 ݿmpN@4Bs:MR6cL1@0df;lU8A=W[<ɓg~rp`}_&XeJ14ddbJ\PBCT֛5IWQ}vڅP+_TRR҆I'xҏB<'e
%ybḇ'9:Y`r=[2$#(K^҅(%*]=8Wb1~n-eMKl)c'dRj䨤pgV&OAluUҰovoc6cni&G*ig&M1{D$SdN0&N̲b&8.158%c#oLGPvbp28DC1q-Fڭ!B-^=];&vx$<0M.nU`V31X:wg똴RK}n$T=~%a
ʹε)_ppΊ	bX#n*v~BJbs^d
OC~ƈJmjEW|Y-DUwHm=Q9͈fk1G{Y=ƟUa2:ӚIG͌ZP}opLF;ZDw!-g%D۟P9YYGկgk,#FU7pJTpV^te_1*D%dTӄ|[u߼\Li+ qEX/R[v7~ѿ}aXm)UӨ5~J!4o7ZŤ4ZIMʳdX&dM&<Sl1ADIXd
GCaTΰi:Y94OZoSW43ŷF'6Zo'f湩M^pfG$jm!v47L+IJl,
kOoeF.P''sd&<`~ɠ7aY&pοU GRk@e^d}TiWg
ZlRq7z ;ٌh{ST9efijvo}Ȉ1_Q3%_"ғp&DZ88nzqdiՎDPڑI6SLx?_*
&?FhiϾ06'6".žY "=bŅ=a鷻mZMf/=kzz]W[$'QcqeTSOAOciO"cq;ml3iz'p<u
;, +I'9> 5Nlm\gFXks	{xa?Pq9"HAqHq<vdudȘr3vJsFyw~v$#+N$aHrcV;;4
O+#nfl>XjDԕ3%
9*EZ58F*:ˋuz
5>LFj7dCNһ	kRv,=ǈֵ%RU2APKyCiH}!Q^/hԡ*UU* Ct"ſ
9ogi o@Zc	7rYZku>ro1WO=`px=H@11 ܿwIA9%{`h,zѫRDOt)q2\#VzH)>QSDW}\?w%NdO)OWjoIߵUqqj;eV
Nؗ_cA$X(w>ǟ,Ry2ڹS"L_Fd;鶢"Fx?.f3F42;E6v6ҼbV-候!\n.pWTxU5_~1o L6J*&bqI&aӷ@Kp'A6ODcf.nz?xGw\nz.C<W"ߢzg&wŉFlp߰E&7؉N=sj9}E4zO+xUĚP*t	#tO 
l`z sp ۙ̇(#FA)⩒#5h=L!Hw5[3,acf)U01D*qi=Ģ/aY3dZqd5.2rK4u@]❨u$C έF?!rZsy<f漢IBC͓BSP?ҽ>)'sÞ?t!ol?G>2E4Dy{O_x${){n'1;#u麖[7Rah%\CjY:d^N?eY,"RӶ	Oo')Oz*]sT$	I=iIRQyFUY6K;)"'p~D]4xM|S8*3;$AQ1=BsBwml$YLU#ar:j$lƚ¡Ȝ`1+ӝH!N:gܬkWiw.:_(=+[n }t΂羗BDs@1/ؾk^wӀKIܑ*-w&ȯsR[>Ohgbl)GI-(pɶ"qY16ntw_t_tv2N?ڻ$/T_Jb%I?liZ9bdf܇#mRZnz=W܀޻)"T5?`=(˗cF<&چph)k-SﻦYr^TìlpA\v쇹iV|r=1HUN;N٫Ζ~YLqD\[pcohSAeY|zɪ孝\Z	/)c.ui9J^ٙh{/z]ֻ(97aHɈeܪjMuMeVarbnc3oڮW̋@^_M^RVy~tf\l_=KG;Kv(ak8qKxN$llIUsP0(;9c')R}2<2E}{I6XdRͶ,_M,2ZmZP3.MFqQpoiuD	Ok8c'B<s _p
JuC6ۢ/z@./됷GLf~}\mN9y:K 5a9N|,alWժ;cuj翗s8),zrԞ⣣-0&ztUjP
YXx5 m^1tkB},}jbd-#
C]JBr|PoR3mVqRWwPl,_Vȵ"B_AұtBkG:#kȒf;KY8ܧeJ|GW;ăǚPW}+G`5&gےpr1<:%*Qs2AkDg~5\İ`m>O'T<f˫ϖB*3%7Y4LحL(/3k?+{-3!a`XJYOi߻ԝse/mw,5UXe+/O֥>mF1w5w}sJ*AkimmVJڃDlqV!|G6W޶װ8MgLV !-IǧɃIrߒ;H<{[[ۻB^N#HF鳲'(=!;FsQmmXNF9o{DYw97z@S&RB4QCE*9&2tU28E=4VS6{w5k?oϳA7'\L& 8^ֱdΞ"OoV(s}f57]4}Ty&|H2p@2@aaZ&X&Fz92W`o^to*xʙz)~XA(<YWNR+{(wg-y%¶sۂ'޷~-uovvuaG@<crF!6yDOl49AH·81ܱȼ .zlr1B5Ү]5^RAgdCKbcH~IrSik^L go:"^9"yy18OYQ;OEy;ΝHpn$Qn4I9; 3ʽ	u#~X94GmCABZO4_2zR>N!4+ܯ<3Q]lWF?Ѣ7.NKx<a8wpY1eSK&w,mDqqc[&G+ǑhEIXD6}PUi	.٧NRkTzbSiX6Y,:ӥoT	O}kGc/N;#}3W{E.Ô&4}#'PlRB_:SxN!+oGZZ/5uEޞF[Jn	Mt8lHX2{%jk;z}mra[J$w>%Z껌C֕s&ilo ƭ$hӆMFh۰v;}Wh%dL;< dz]I@	)o^so.nZo	npq(mr""ҷF&a:5سl1>sfEݟhON}!yI^N	ٕBn(D(́M|D\{!7/FXb6~#aaNXv4˯
=&#gaKϋZM#'^ϊq?vY&^ndN1/ XV4k͗\96$?eli Tu{с;ZhmvJ_ͩЀjzẺMv:L]Â@,/X~;<8&:	 pet]7eX$=Aƾtb O+B{TàxJ?B#bvNj:B)LJ\]hIÙwi;х<\}`1HB(Kz@u\DӛQUXĘY-2ho({u GxNo #8Nf7[8@㷤ҿd>:|h j(	TT*">TF# Kz{nOGD7q6vBj\SfuH˪hWCJUEap۽>6V<]d3?Soљ)Efh^'W^|rM.w}Zdddsr/]XUkGؑK_ao!&=\w|3Y6AtʂxV2؜R^'X|h\dw.w)@mÏly_]XFp	R(SݽQ]2FI޽
[O\}uʷ1D|o4dߕo9W#4ӽ9VdE:(9{vP	O#Z٠#~&.E$K^=~!ߧ5re2~Mō]VjCm{ܩON֕pT3]㖖D|[`	\
0[[[.pT6[߇%ֆCYRcܱ.+LF\jEf]^365bN<b3/[ Ql(^z{q&9dgDZƯa	_b~lݚ<tuEeqKm
x	6Q}X9p]kkJvXVrk"4pq"]Ri~/}ӽ&봌 $ȵ{==w?qm~ o~пӽg^@|uYkT 1]rf9)'ɺ	 ,9	=rQqD+	8ebBG!,wFlPA1p?>sb)ElhY.~I#M|蘜{$:A2|vOF8)ˇݝݣ#GGĹfhE݌I/'ۜf2,r-[^c>	[%l'klH])ij[yo%G,Mp{M-nLm#6GNM3!lÅ-z&3{p/# mVNM@`J}I$K뒳EF,qUN.N}/ag8gp1"R0Wɏhu{ѵЪ5!K$vZ^cD{W5\h
.o"@dtp}=aVYfF1?Al%?Q%b~#^`hZucFǿ	BCEbG<+bЊնw??r02r mo}sAH~|5.qξGXS/w~19"Colq1!|gsNm	.OMRl74{afyP-t(D±gɂ~,cNҘ4j`9#RdANVrmMBsŒ{8JO%ˌ(=V¿to3}N9t\)kjz[p^ WkaqA8]]^6]YKu+wŅyCs{	HVL4	Za9Ҍ\ߦWo nEM=wǵ0` !c@{ўVCW:JTԼc{U#>nI]pn+zJpn){JPTtu\.9Um'b߮X+m%>Zn!,6Snwy{(owz[gTdw/Umhp]pU{hhު>IGoy2T,et2VՙۊG5+)I]vUlЕخ.$m''oٽv6_9CgnBFOQ}l,4zQSo7Cc\nђ
OCTF㗕L<+ؾ$5w9_{,As:)fC3@٘k<fyA9D[4Ko߻חx
?j/׷}/fpzD_EWM)z^S`8/daԹP&/Ϩ{3dM:pYa{m>~C9X86]I~f`'Iz\ӹ9ixַzb=,//oqӰ>Ch( uv^qJ*|eL./1<Gs4u-k:owyIK5,bUܿ7R D	{*'Uo{g#M;/bE#z$7l̛Z cVWؒqUJKvVo˼mDuy]nHWj3޲gkNh|S2ۋw2}:_2cVsatȘWy;MvU6l}C}V&y
"2V\Tfu[ }iwd夶d6Ȝɛ8.;qN~o[seY_j&J_IzD7_%JE>o
_0$|O8D%[w+}[=7?|<y<uO<x$yvZcg	d$ć{<ѣPDźC;٘|8Kpd?.!D&h\ݑDؐUWبHI2fギiPy<-[Q͓wY9;	aA׹'pq~yd4㏘7]S^BJ:qqeAt,Ce}6ɁDuȗ^agM:']*{'Dd6rQz#X8!\}r!V(9-~W'ӃZd}Dv;6q3+c#c\zÐKS%ֹE	TNKEN'w3Z޽OXa8WE<OI}[W[s&7}5)0liԜK $$y$Tf1Ub_BHZLdژWoJ:-jBL7c5^=5̢b0FZz>e؝_sYJqv[7#z*}r?ߨ{6J'G>;zrz;z;	2%<ҢϞjۭc~}ғdO>	GP{EOZ@җ,$z4ft@jhL\9U'6<ҏ\L<wM*t}aVb:_,Y鋆Z]%X.ϩ#KhFUkk]]{8v~~|?0K8_i%IsOɑ.̯=cJ{<!#zبzK/jJ}%)G(N';?O"n{#mtyV,ΧZ1\pQ1]$r$Wq9,[bY}9'Ȑ>	)	ZqU=Ms%zdSx3FGҶkOHRH1!MW|(<qxbiFF[41+oζK{?-_@uI/@ɀc]xm4HiQ	eCWU#tPov8 [;|-{AIǚz͘U%|kl2F;W.2%oLۦڵYuVbRJUrg_R!Jsfi_G!76m}26_|QG=__SA^Gkc_R]-y/ܡdu^~,g-fYޯoG
'SHH˃}ٚ9
)u"ڽL?Ewv:R_~;1ίw+D:"=yDO[6z\zԔl?ytuР}qJ6Ѵ(R|5y9)&(Ȼ|ͺ}k+C?=*,+Δ>Y%a盭%SruFwUBdVVqQFWXSÝ>]6#!g33\XuQBX?ck,;::{r\Ld{qgDD/A\T6nt&t?m5҈3la難uRgOR$WөoZ,_ֆ@,SV3Imu~`n&d\?Yt#_絺g}fiq1Sk%ۥ"^5+3Aݙ:C,\^x&siVf6STR)9/@~S&&ONZie9@_2!%;DhŜC@iH@M:S%y ӄDaTDiIɃDkqB̀iL@Kz)Ȥacڰ}TѤ@j+n[""*GeUIҚ汅@ZܩM.* x Q9PLxӐ0WO@$[.&ЭUI	̪^X40sVǡzoOmS!8\ij\tr3N0}3yKVvE{+ҮwR}I_eoyz+V!QթYo0RI*5IEXW/tރ`G۹FUf݋bKjWTcxǰΣXxu,ӶA8F/l{q)brBKY<듎묵كg?8juv
IJ9%r~7Q.ܛǶ<l1[{iJܩ"ť?W>`YZi\s&w+źO[cV|m"-*WIUlKvjCayqe$;q͙XXpUBu;By.oeVm9HCbTק 'zsQb:]iaiRKԸ):41^l~!Ms1~ɯQ/S:Moc2Ko־;@ϣ]~U38%>^zǷoͽTKM2/S8W5paLW!}<]ӝ:ob2]6(Gl_55͘1c͉Db}ob/^-'M~+v%N-Z˿v-KZΗ,4_?:?忶Sە{̰RAp0>NN^~hOKM>#rkڻ0f^>VQ˱I(A@D Mxl2-LЋЧՐ5]YI=q1t&glrM {bjWxU&&3p^sn!;t))ʫCa}<],9C7?(]ftbܐMPIS~_;\)}\qϩYRKnq	SUSepO_U窡} c<>gv>W=&Ǔ\7:W?;ϩϨ	1C g?W@2?d Zrfs4wo3`rYr
W;	9\(8_cB~rb/<rT _9C\	U<lMPQQ0hRZL/ZT'*-4eSF(J{U[esk$!psAT\LQ1T{RĨt0h}QQ̨<KGxT6*<8^~C60~T8*?j톁FYfၐaGB~9;QbQ(b, +cZ96IҀDWgY/TC*Ktpg(Rhb{b8RpXs^~DT*h 1T C`I0p #'e*.&  1`4i 5ƚSU*nAz8``:W{# <BC5eX trEB	 !`P݊ oFv!0G@#wcl0	pP6*	8o2n@IY;lZB@I8L0(K@8RUn	 ~X,w{a%W ;Rq\UJl9[BI*Ƴx'i*.&0l"c8k-LGJ\;ّQjroCϙ{xISqq3&B-r	E-ri!jD0؊ oFݎ<EgL9g؆a$g]٬܄4\` @H "`6(ڗ-9EH>E
lnBsG.P-E_\YhSRk0
)!#Yn'3Ii 82dy'e*.FLbd!R08rQ#!"t$r׀BlR!M,|{܄Zw8بc2 GnLn+!@#<ĩLb8 c2' ph 7e*.D)xxp4PQ\( T9a/2mF!PAN*[EU60 &Hc0*	RA{R4A:>PAN*ud,}}( TtPC5R4A*d*	RAEU   T40	T!΀^!PAL*30A^PAM
*q5ei-blm]{Ez)b:)RqQ|R
܎wUZ'M*.yCXNxUWe
	 p~snWd}\2dh9$F(!D#gL7sS([2P4`Sy5,rhAT^V]ʵ(gi,F -'[cuP4l!~܁Y̰x:9Xx2C_{gj3FbtivvR#gCӳNT\f!ztpxX1sBrJ	 [Z̀s 5@1ǳ*Vr'94%Br>>pt~FICK-hq7a*v9Bsɡ
݄9:ܡ[W]E6Wܢ: st:!$w6L@9Zn5^_i?9k	4-nP-6}s']*.s*D۠2_*E`q2Sۻ	*FJO3mf`8 U0S̻̀&އM
ZmaB9g/c<U*hyAsIɶ#Sm6wݤ:ڑϻSm6h}7q*nTAۻj*PtyfA74w JG+m&^YIx@UAۻƚB ?wǪ
m5܄nk[iSy5<8| 4SqSj(lyxWQˀ 3@3`G  $pk4 08@{m;@6pI lК&pjqo@H45;(ڝå5w@p 0wKw#{{._"<[\Z:BA`` T5ʠB C`O)G@DD`
!\^H}CnT^=?03:Wm	QY[nׂ+
7xjakh6/ F_$>${!8'=poF^ht,4@<i}jx^wq(ša\Y	.&`+$k0!wYR'DR>;wlE8l2R$)GG9.S^Y
!\~-Pwҥ⢳ "D2_
9@hࠓiŘ ؈h3mk~g;='@=z6f9{{Ꭳv9"F0@9ܭfd7 	|sn>T^ɏlf:Wf M",<&72	e.$ț@ZxXs@X儯Vs˄.u*p]gx{']*.k+-vhL-
A˕]"OiŘM8\!U!΀ڛaqBlܙo[&+-v<!֜+mɍYP{}+sG2U@5=G(¶:$[3Q",MO9UPlMk$%V&-@"rsoh%ْmw2m{˖:+U#;SWevzi01
.U2uUmwnL=VwVZ_ơUqpGm*eZhGXZ1jdLiKs_5}W<SWeK플zO
MfHY=΂Hd'wRu*gߎlهΉ\riUij4HeJ6s;;+ʾi߆6QwV-h[\P.L[=-Poz-[nr{ۨO[[nrۨF6-Qozm[nr+[J6-QozmۮCuM;PqݴWs5MNT^ة]۫TޮC-]BT#fzP{Q*pAbEC3Fmw}Ƨ}k6;T΂^ۨFIB={N*GGSѓћЕݖЗ٨L=z=f`=x8C1~xG1vx+Х#phf?pNbiT8S,}ت]?zT4<~ݎ*B)=VӑY=xŬo<x1Vt( vˌ/f~qm~FBRc8>͂ؼ-a?7Wl,f"V|gQ8puqb-2f~Vas|f<єVFi2nHfCPv
ḿbG_5~''KRbBoz{ъ-;o琰"mVцxVhې6kf	Z8$Ӈ)lq&rܹIm/ݤVnݤVn^/ޤ67oۻzܽI.ߤVoR7Nju'I.vpRk8="Nju'cr՗ۨF6/U}{P}{U}oO6/R}˭T_nr+՗[Jv/S}T_nr+՗[JlTFlTFlTVT߮շR}^UFnOlTJTJTJTJTNTNTJTNVϷR~ԟo|ki@@_%[iAՠo};EiBNvзS6ԡo}K[jDR%v:ѷSV"{*"{"jbw@lc7@zRAfnZdoBlF`Blzuk,vj~j|ѷbg@luhNRVZ!>ԡ6WZ[TVNA;5h픠SRZ?Kg씟R}+mT_iJWڨVVAVU6=WڨJVR}+T_iJ+WکNvS}+T_iʽUg-8h$B
CWU6oiap]`U29b5ޢ\uwlXml3Od{~3;;O7l}Yxv~+gDuIW:"c6DQ9,4].__'K:FΈ7¹PR%eBŅWdjJm"wrz50rGnYyq=^ϯP}1H윋wOrd.˗0
?q('/66wŢ^inxnwlnj<q#=
T\S*LUCp#ڵ,#|QÌUf]Sf۳w>.?9,r?d2k)XlKCtB~@u]wj̜\l(e6-V3E7:]~\,m4!U3z>pBENPi*],2/˒ԏ 6FE-Uj$[<zݛz#_Yo,L|$O9w?"EClm|AAUEx[\^tmJlQHg胃%pmdVpi?qT,ϟ)?߻_srF?՟0  BE>$߿7O_|gTZW̨sm*a@<QK*A(AM0kyLv)J*]^gΛyt.Ye٬thyec.3![4~P1LW[i)&Bi:Ӛh٭m<)۳xBuAC|OaO$# *h	p<;L߮nϘ^PPٯoey̏뺜kL9L&jKTW5-z&pPNK<fU;UɯFʷB*n3+߱Hb}a[ x>K-fKXSqѤM3Ht? Y׺jgK62ṅ6(Vb.,/Q鳩y fIe\	}hX+/m)BӜXjnhVO?EMX"9& |!1#>rdȅV*	8/yIpZ?fzi!R5D9ENVNYe.{:A㉠tF4<ݡ);[Yh\ޠEY-X8OI:OKN_d58bWlv埾z?V4k>i-B<~~qMU}vE%7ʻPŕɘw:7f~/̨]yf+osDl.8_?j6|.|>bQ*`ɢhPl>~UL(:b>w>wASB?0lUsp5CA̭j4+X@F8Pn y\3OęWr0"VFxcF#UFYN^p)!z"Ubɣ#@=vHEq`8 O;uAŊ)X]U&$RPW.lܖ(>Zm9ZP[)s0چ|T@CFRהSJ",P.Kq?(mYg^VWB<(К!RN壋UARJ&5*9Wv$P(|LUݬ;MQ妸^Zϋ, ^Hp鎐Kdf¹٦(>ɨ,#Zd+֨S7|YDOQ-fܚt]H.JdHlAF _^L_H-2FF2Zk(o|Cn=T&6s>ve%nZenh误AiO\4*-d8[C֭Wg?x=8ߛQazl"V`ǫO$HI_-w77aZO=khg_x62\~.Y,uUY+ͬ*g5NbQIt7hݨZ%/bB">cu`)rC.Vd j
my~t(1bAd@/??>ٖH"ο/$^"5sv'=\R+T4?S8feYl*HUηumO DeYM@рkZe_./.Onl75[14΁o]4K3Sx`*ֶ%Oݫby}b#GM_:-*NYJD/̽iq֚[԰u&ziZ0_ܻ3'd	1,AAlI~m+4!?Jv#?^[eI~^#d+<_u9vB,]6K)@(Y(x3˶pW ^}t>3oaIWa *&}>!hĕ*	jY_Al5(ϑ=Bq3[Dj/h`Nj/TSdyrK
8Np4'%8G$ Z LR
N`*(+jj֧pQZMڳ<-|tXOmA\I?BHQv$:BBY/o$
[u
(J6bEH͉% wQY|Cj@qXL4'rh<xR?EMDi
U5(
 [A.Y\_$Y)N&2NfEZKd8n3eJ
e(ik{./pY p`|QU/ʖt4~҆驚f	ie6_տWP
_Q+%d8 NpJ 95(ĩANrjS 95S85OBN<N<N<N|N|85S95S95Smf-.`x CaD0d͋2]l5]nIYoH)čK'ɏo;t`2(&չ3!4Nl2`ӂzd:_ݳe'ï2	T6uU j9Cj^hAߊ~W"\WXg3l2D2@gydM b1A6-A$R4	AJ	`6!x-#PJᷬEzRa6ԅD|ذAHaHR%qàZaJ*31*C32m32g$UgTMa TGIP j'	y4x*fp f@j-pGRAyjBPK"jPp@L
}f^Uf @c "f%(b ~yx+%hfd p%{<7WىjWRTtGXi,wNHKd?C0k
Q}%YPQ*14dD㒽fyo+W{IO(),oi;9;سȑbKtIH3m])KO6?	nk0Nk[g6?V\a9})H7=̨bc3c]Lea0eJMU3:-GƕivGe<;)W:LYֺǶ7I?5+Yű[lF_4nj="+ڪ|m1ە8Gk&ˊ|Su畎s;h`f9<AC6`E*!jn7Wc5}욬9wŏZM	6tlf9:Am'OojWw\wpNz㊟Y/NԢϳq#Gk:SgǯQJӫQʕi)δa;y;Jq.;vABL !QBKuM\ }G=aLkp~,&0NZU֐XC^qJ#LLq'D+sa+?Cs6'A洓^udV<G.Jbk;ktl}]Z]ejt م3?
c/A|.EjJX,Eξ:t=O뒆F}VMm1Qy?: ,_σ;8RO*WXrlĝ+2DSnE
҄dY]EZƌrTP϶骭~~~S\9ʮq,1݀SdѨ*b8+*R
ȪPH/ ]9y֐!ONɵ3$+N%hU׀ʺ#f.rQ$QAn&+j Ɗ	km74'#a|UYjT3݊t\FLh͠QbL0$M^+;Er[RB Q@xl7C#JuSĲ&^VVŇPej{y(rl:T]G»⤕!gdb>W*lRl-/J M&%RYM*ͤheL9NJJEE\h&
'vKHzR$G­+{+I}B,3n<mxup5,\Db4XF 5jd('?Ri/i4~+`Ut!Qr8dضPsO3|<MzrUN"<JiylԵfvtP1!a7N@qobI}4cLKq{qTHDy1D8 %c,Lga"["g"o&uDq4UHv4*A
JUAo{R<]#T4p
1=+I_${z$p'Ge )ˤA.H\&<	L@$@2aH wHA\&U8 qTIeBB )˄%P4,	|$0	L$@2 )DO.:@	QNƭH x0%@2JeR*R	},EzJe",8^{pjkrh&#k\Tb::X6DdT#y&pbp|1Q"$EfEB)M zM~chЄ6!FMhqch҄&8ۄM t X%-0hIB)X|8fQBh" 4=h!u {,Ap"4!d G,Ap))!L`q>_p"!8B
8W*\B^!A -rj!rjqjqjqj0L8S8S9S9SƓ0~$+*$4'xxu 48MDip8fKdp*ϦlmoM;<48MsTBipۇB{k$z
0ud4ud4ud4ud4ud4ud4ud4uxS!IFS!IF$c9stHstHstHstHstHstHstH2zI2zI2zI2xCCCCCCo9:$h9:$h9:$h9:$h4n=7d4d4d4d4~CCCCCFsS!IFS!IFS!IFS!o9:$h9:$h9:$h9:$h9:!oT'Ub Kly_mwu\}hOu+;.^}o~=gWzG(V0OiVCŶVGBttEžmuۋ{V1~z	xD#FpqQi
ZB}5U&CT̘ц7Ƒ c-I~Wl&H7ˑE~0Gr>!?#zDGKnA"{wn۩#Trz
ǍЯ5@pÆkFa\a|ET;ZDv+])vBmQ]$Dt]" bX>^!j8]Htdc}!ND\A![BI/ $s<HB ZN-u)CPu;T|7@6;*,<aONwS]PPih?OuE0]Nu(XMݵnMsSYi.oDO<>9D{<<aX~g=QNc.NXS6,=|=<ygu'?|_h/Ȫ1p:7Njp'-3Wٛ!#w%~}t&?F ]^ hH o>932dzI:]dǸ	nb7Ǿ'T jt*G6wBȚ_x'}7:Nh:AWtb:GXaOߟ]#oi0X퓿:'WCO]?2~w5djՐ񓿫!'WCO !Աxw3}ݷϟ<S'8"3Z޴'80pIl>~'{uȁf[	`>i8	>h0s	#	CaAUm"Sڽo4MxA8G9s:\@TlٍM$~uB$=Woz	{g]8z(}iNZWPybznpn8	C8p?2, N9#yj*k<q;F4Cf:
q7xr._d<O3B?A$đrdpC(E1Pk#b$/1pDꦘHZ!y91=^4R= Q08>&0T4GFP K5aT%)IL$5pZ/e"JLjV&RĤNe"HLk8^&RĤF?D8bh$/S8ah%qpJՒ\)UL
JՓxMB'R%%>C	&Fѕ$MhCڴ@8fb'JM@C>!&@ '@ '@<N ,8 
X8`q(bAP̂	 
&' *' .'<dN ,؜ 
X9s(bAP̂	 
N' R' V'<N ,x 
X;`v(bAPv{~H,ۦqشvb5N߾{#={]\Usg:_ $?m+d#?&)6gMl.H:	 hprܩk[V󦸸>GGi^zz>AɾA-JUCm~KxzqeAW#׌6-z}$0,_H<{Yz&0deV;FZ~;jHo[#tgs'y8O>Hp=-<i]LX2s|R!cI͈%3'5+2t/V+DPQyGeSqCN%	Czö#3lKXm:RU<i_e{ǭBBRV<E=4rty]j-鶏.vЛٱztNy]7c/a]
Il!;e#78&libK6=!~t'{5Y_݋oWupދ5|+kb*εq}vv5ѧً	gf/&up~pfk&J86#fUW[n5.V[o5Y3_ImuLuq}R]5S]\ԖW͔j}jdf̒qsp%M!w&|x]/Z	\m/``;ۢ%)\"M2$	KՒC܎TlFc~gЏw{8EaLP}?˟o*y^PvQqg)utSmҾHf4MZ/d)PV	0%!;Ŋ4fmPH_,.tKUjjFjd+TQWSSu(]]ZI<]]VɊ#hL,ө"8l])R8^ZN;$&I܊8Ϛ+2Ǳr_lT|֐w-{.KN'8N\%Rd-ڂ܁+059alhnV&%$:)]Tdh˥zGnWcm6\MM5-l	cG\/&M#ƔD0(&bEhŬbId8Ӷ-	~Yqo`$kմWפ~9*b;oL)%IZa,1*4
2{34,#Ì]u{Lktj8Lvwj4pUqj^L#'a ]Fdj۟p]µG	.51B|CNvO؋]K;2T2{lfϤ(2o4 $p7l)(/蜏q@ѫEAH<h89pv170\t!hH6GFߠ\ʧ*e/psp],9_D3rG\6&+җh؜}Xe|T?FrZC 9ca.qF(P/xxL[R_
P7,iA.3w`zP`flcZlxh驪==if|'@~N)24w9+|BVe??тKВǆU..{k_y̹WUAEwz˺+g !$~ӕFW*Z6_7^=W|m5=2}8lu_MlK-O\6{ZxƅgJ+6Nŋ5jgs@KYc+z`8B疷?2DU?[=F*Pb`-Qʅ϶;ptI{=]V*QVju(d\o߃}!wÓ;z1*.)>*cJǖvkhGwMO{u߅ց{xzލ{jq{iq#O[H-bsuO?ͲG_\\>D)517KmK;5a}JzqOݖgd;U]R2{nAj""	"~"vĮ2y~dt[QacM}fu=&\zoKrY/wt9%\T{r1,UB.jar1+d඙.J0)!SY R?C1akhY4T4nllO@c}[j\v0!N1{8h2d٫9ǮƧV4T~"Z4"eɜ;0aBR.@6#͏qKLp;:pW݌^sUr=et5*hdgZUj۵շʟP:x6a TΙѺ1]Wb虽]oyuFY#TIN
<wx}IfI "):2JgR}Rn0oHjpߣ	)C͵-7hJm#Ð~ sYNܦ35=b!1C,n 3I_(Ab' zC bHxH 1Y 	 @L1H$$a,Gڭ
aU~ϫ>.G8hB{>	&=B0m!of_~}JJ>dđ~f178y&[ԇ-nTF/JMmCYZψBp)C~'o:A`|ch\l|sLC͞4n(#[l{ZWgB}MɞXHê@k>ae<[ad~xB_|웧/>{.* CustomizeCustomizeimport pyro2

pmPField  = hou.vopNodeTypeCategory().nodeTypes()['pyroField'].hdaModule()
pmDRest   = hou.vopNodeTypeCategory().nodeTypes()['dualrest'].hdaModule()
pmPNoise  = hou.vopNodeTypeCategory().nodeTypes()['pyroNoise'].hdaModule()

def uiPromotableInputs(node):
   return pmPField.uiPromotableInputs(node.node('Field')) + \
          pmDRest.uiPromotableInputs(node.node('DualRest')) + \
          pmPNoise.uiPromotableInputs(node.node('PyroNoise'))

def uiEmbedded(node):
   return pmPField.uiEmbedded(node.node('Field')) + \
          pmDRest.uiEmbedded(node.node('DualRest')) + \
          pmPNoise.uiEmbedded(node.node('PyroNoise'))

def uiRadios(node):
   return pmPField.uiRadios(node.node('Field')) + \
          pmDRest.uiRadios(node.node('DualRest')) + \
          pmPNoise.uiRadios(node.node('PyroNoise'))

def uiExtraLinks(node):
   return pmPField.uiExtraLinks(node.node('Field')) + \
          pmDRest.uiExtraLinks(node.node('DualRest')) + \
          pmPNoise.uiExtraLinks(node.node('PyroNoise'))


def uiCreate(kwargs):
   node  = kwargs['node']
   style = kwargs['script_value']

   iprom  = uiPromotableInputs(node)
   pvops  = uiEmbedded(node)
   radios = uiRadios(node)
   xlinks = uiExtraLinks(node)

   # build the top-level interface
   pyro2.uiCreateFromTuple(style,node,uiParmTemplates(node),iprom,
                             pvops=pvops,radios=radios,xlinks=xlinks,
                             prefix=node.evalParm('ui_prefix'),
                             postfix=node.evalParm('ui_postfix'))



def uiAppend(infolder,pt,ptl,tplt):
   if infolder:
      pt.addParmTemplate(tplt)
   else:
      ptl.append(tplt)

def uiAppendList(infolder,pt,ptl,tpltiter):
   if infolder:
      for t in tpltiter: pt.addParmTemplate(t)
   else:
      ptl += tpltiter

def uiAppendListToGroup(pt,tpltiter):
   for t in tpltiter: pt.addParmTemplate(t)

def uiParmTemplates( 
      node,
      usenodesettings = True,
      foldername='NODENAME',
      # field
      infolder=True,
      uif_forcefieldname=True,
      # noise
      uin_initactive=0,
      uin_initsigned=True

   ):

   # Fetch export settings
   if usenodesettings:
      infolder   = node.evalParm('ui_infolder')
      foldername = node.evalParm('ui_foldername')
      uif_forcefieldname = node.evalParm('uif_forcefieldname')
      uin_initactive = node.evalParm('uin_initactive')
      uin_initsigned = node.evalParm('uin_initsigned')

   # Container list, when infolder==False
   ptl = []

   # Container folder, when infolder==True
   pt = pyro2.uitTabFolder(foldername)

   # Field
   srcnode = node.node('Field')
   tl = pmPField.uiParmTemplates(srcnode, usenodesettings=False,
         infolder=False,forcefieldname=uif_forcefieldname)
   tl = pyro2.uitlRepath(node,srcnode,tl)
   uiAppendList(infolder,pt,ptl,tl)

   # Noise
   srcnode = node.node('PyroNoise')
   tl = pmPNoise.uiParmTemplates(srcnode, usenodesettings=False,
      infolder=True, foldername='Field Noise',
      initactive=uin_initactive, initsigned=uin_initsigned)
   tl = pyro2.uitlRepath(node,srcnode,tl)

   # DualRest
   srcnode = node.node('DualRest')
   tldr = pmDRest.uiParmTemplates(srcnode, usenodesettings=False,
          infolder=True, withfail=True, foldername='Rest Position')
   tldr = pyro2.uitlRepath(node,srcnode,tldr)
   #tl += tldr
   uiAppendListToGroup(tl[0],tldr)

   uiAppendList(infolder,pt,ptl,tl)



   if infolder: return (pt,)
   return ptlimport pyro2
node = kwargs['node']
node.parm('rampparm').set(pyro2.uniqueVopName(node))   
 OnCreated/Cursor                           OnCreated/IsExpr        OnCreated/IsPython       OnCreated/IsScript       OnCreated/Source      PythonModule/Cursor                           PythonModule/IsExpr        PythonModule/IsPython       PythonModule/IsScript       PythonModule/Source     INDX              DialogScript       OE$3   CreateScript     YOE$3   TypePropertiesOptions  	Y  OE$3   Help  
Z    OE$3   Tools.shelf  
Z  dOE$3   ExtraFileOptions     OE$3# Dialog script for pyroFieldNoiseOp automatically generated 02/22/12 12:21:55

{
    name	pyroFieldNoiseOp
    script	pyroSigNoiseOp
    label	"Pyro Field-Noise Op"

    outercode {
	""
    }

    code {
	""
	"$modsig = $in_signal;"
	""
	"#if $active"
	"   #if !strcmp($signature,\"pf\") || !strcmp($signature,\"pv\")"
	"      #if !strcmp(\"$op\",\"add\")"
	"         $modsig = $in_signal + (vector4) $in_noise;"
	"      #else"
	"         $modsig = $in_signal * (vector4) $in_noise;"
	"      #endif"
	"   #else"
	"      #if !strcmp(\"$op\",\"add\")"
	"         $modsig = $in_signal + $in_noise;"
	"      #else"
	"         $modsig = $in_signal * $in_noise;"
	"      #endif"
	"   #endif"
	"#endif"
    }

    input	float	in_signal	"Signal (Field)"
    input	float	in_noise	Noise
    output	float	modsig	"Modified Signal"
    inputflags	in_signal	0
    inputflags	in_noise	0
    signature	"Float Sig, Float Noise"	default	{ float float float }
    signature	"Float Sig, Vector Noise"	fv	{ float vector vector }
    signature	"Vector Signal, Float Noise"	vf	{ vector float vector }
    signature	"Vector Signal, Vector Noise"	vv	{ vector vector vector }
    signature	"Vector4 Signal, Float Noise"	pf	{ vector4 float vector4 }
    signature	"Vector4 Signal, Vector Noise"	pv	{ float float float }

    outputoverrides	default
    {
	___begin	auto
			(0)
    }
    outputoverrides	fv
    {
	___begin	auto
			(0,0,0)
    }
    outputoverrides	vf
    {
	___begin	auto
			(0,0,0)
    }
    outputoverrides	vv
    {
	___begin	auto
			(0,0,0)
    }
    outputoverrides	pf
    {
	___begin	auto
			(0,0,0,0)
    }
    outputoverrides	pv
    {
	___begin	auto
			(0)
    }

    help {
	""
    }

    parm {
	name	"signature"
	baseparm
	export	none
    }
    parm {
	name	"active"
	label	"Active"
	type	toggle
	default	{ "1" }
	range	{ 0 1 }
	export	none
    }
    parm {
	name	"op"
	label	"Operation"
	type	string
	default	{ "add" }
	disablewhen	"{ active == 0 }"
	menu	{
	    "add"	"Add"
	    "mult"	"Multiply"
	}
	range	{ 0 1 }
	export	none
	unquoted
    }
}
# Automatically generated script: Wednesday February 22, 12:21 2012
\set noalias = 1
#
#  Creation script for pyroFieldNoiseOp operator
#

if ( "$arg1" == "" ) then
    echo This script is intended as a creation script
    exit
endif

# Node $arg1 (Vop/pyroFieldNoiseOp)
opexprlanguage -s hscript $arg1
opuserdata -n '___Version___' -v '' $arg1
ParmsFromVfl := 0;
PrefixDroppedParmName := 0;
UseDSParms := 1;
ForbidOutsideParms := 1;
LockContents := 1;
SaveSpareParms := 0;
CheckExternal := 1;
GzipContents := 1;
MakeDefault := 1;
SaveCachedCode := 0;
PrefixDroppedParmLabel := 0;
UnlockOnCreate := 0;
<?xml version="1.0" encoding="UTF-8"?>
<shelfDocument>
  <!-- This file contains definitions of shelves, toolbars, and tools.
 It should not be hand-edited when it is being used by the application.
 Note, that two definitions of the same element are not allowed in
 a single file. -->

  <tool name="$HDA_TABLE_$HDA_NAME" label="$HDA_LABEL" icon="$HDA_ICON">
    <toolMenuContext name="viewer">
      <contextNetType>VOP</contextNetType>
    </toolMenuContext>
    <toolMenuContext name="pop_viewer">
      <contextNetType>VOP</contextNetType>
    </toolMenuContext>
    <toolMenuContext name="network">
      <contextOpType>$HDA_TABLE/$HDA_NAME</contextOpType>
    </toolMenuContext>
    <toolSubmenu>Pyro</toolSubmenu>
    <script scriptType="python"><![CDATA[import voptoolutils

voptoolutils.genericTool(kwargs, '$HDA_NAME')]]></script>
  </tool>
</shelfDocument>
    INDX              DialogScript      KOE$   CreateScript  K  QOE$   TypePropertiesOptions  L  OE$   Help  M    OE$   Tools.shelf  M  hOE$   PythonModule  Q=  =8N   ExtraFileOptions  u   OE$# Dialog script for unifiednoise automatically generated 02/22/12 12:24:44

{
    name	unifiednoise
    script	pyro_noise
    label	"Unified Noise"

    outercode {
	"#include <pyro_noise.h>"
    }

    code {
	"$noise    = ($rtype)$passval;"
	"$x_avg    = 0;"
	"$x_oct    = 0;"
	"$x_off    = 0;"
	"#if $active && $isconnected_pos"
	"   float $dfreq = $dispfreq;"
	"   #if !strcmp(\"$basis\",\"pperlin\") || !strcmp(\"$basis\",\"pflow\")"
	"      $dfreq = (int)$dispfreq;"
	"   #endif"
	"   "
	"   int $dual = $isconnected_pos2 && $isconnected_kpos && $isconnected_kpos2 &&"
	"               $pos!=$pos2 && $kpos2!=0;"
	""
	"   vector4 $p   = $pos * $freq - $offset;"
	"   vector4 $p2  = $p; "
	"   float   $kp  = 1;"
	"   float   $kp2 = 0;"
	"   if($dual) {"
	"      $kp  = $kpos;"
	"      $p2  = $pos2 * $freq - $offset;"
	"      $kp2 = $kpos2;"
	"   }"
	""
	"   #if $isconnected_fw"
	"      float $fwidth  = $fw;"
	"      float $fwidth2 = $fw;"
	"   #else"
	"      float $fwidth  = VOPFW(($ptype)$p);"
	"      float $fwidth2 = $dual ? VOPFW(($ptype)$p2) : $fwidth;"
	"   #endif"
	"   "
	"   // Validate some inputs"
	"   float $fmax = max($freq);"
	"   float $lw = $disp*$fmax;"
	"   float $fs = $fwidth * $fscale;"
	"   float $fs2= $fwidth2* $fscale;"
	"   float $e  = max(0,$expon);"
	"   "
	"   $rtype $n1=0, $n2=0;"
	""
	"   #if !strcmp(\"$fractal\",\"none\")"
	""
	"      if($kp>0)  $n1 = ${pfx}noise_$basis$dim("
	"                           $p,$inv,$fold,$accuml,$accumg, $fs,$e,$period,"
	"                           $dolwarp,$dogwarp, $lw,$dfreq,$gflow,$flowrot, "
	"                           $x_avg,$x_off);"
	""
	"      if($kp2!=0)$n2 = ${pfx}noise_$basis$dim("
	"                           $p2,$inv,$fold,$accuml,$accumg, $fs2,$e,$period,"
	"                           $dolwarp,$dogwarp, $lw,$dfreq,$gflow,$flowrot,"
	"                           $x_avg,$x_off);"
	"   #else"
	""
	"      if($kp>0)  $n1 = ${fractal}_$pfx$basis$dim("
	"                           $p,$inv,$fold,$accuml,$accumg, $fs,$e,$period,"
	"                           $dolwarp,$dogwarp, $lw,$dfreq,$gflow,$flowrot, "
	"                           $x_avg,$x_off, $oct,$lac,$rough, $x_oct);"
	""
	"      if($kp2!=0)$n2 = ${fractal}_$pfx$basis$dim("
	"                           $p2,$inv,$fold,$accuml,$accumg, $fs2,$e,$period,"
	"                           $dolwarp,$dogwarp, $lw,$dfreq,$gflow,$flowrot, "
	"                           $x_avg,$x_off, $oct,$lac,$rough, $x_oct);"
	"   #endif"
	""
	"   $noise = $n1*$kp + $n2*$kp2;"
	"   if($docc) $noise = ${pfx}noise_ccv($noise, $cc_inv, "
	"                                      $cc_dobias,$cc_bias, "
	"                                      $cc_dogain,$cc_gain, "
	"                                      $cc_dorng,$cc_rnglo,$cc_rnghi, $cc_amp);"
	""
	""
	"#endif"
    }

    input	vector	pos	"Primary Sample Position"
    input	vector	pos2	"Secondary Sample Position (for dual-rest)"
    input	float	kpos	"Weight of noise texture sampled at the primary position (for dual-rest)"
    input	float	kpos2	"Weight of noise texture sampled at the secondary position (for dual-rest)"
    input	vector4	freq	Frequency
    input	vector4	offset	Offset
    input	vector4	period	Period
    input	int	inv	Complement
    input	int	fold	Fold
    input	float	expon	Exponent
    input	int	dolwarp	"Enable Lattice Warp"
    input	float	disp	"Lattice Warp"
    input	float	dispfreq	"Lattice Warp Freq"
    input	int	dogwarp	"Enable Gradient Warp"
    input	float	gflow	"Gradient Warp"
    input	float	flowrot	Flow
    input	int	accuml	"Accumulate Lattice Warp"
    input	int	accumg	"Accumulate Gradient Warp"
    input	float	oct	"Max Octaves"
    input	float	lac	Lacunarity
    input	float	rough	Roughness
    input	int	docc	"Output Correction"
    input	int	cc_dobias	"Do Bias"
    input	vector	cc_bias	Bias
    input	int	cc_dogain	"Do Gain"
    input	vector	cc_gain	Gain
    input	int	cc_inv	Complement
    input	int	cc_dorng	"Remap Range"
    input	vector	cc_rnglo	"Range Min"
    input	vector	cc_rnghi	"Range Max"
    input	vector	cc_amp	"Final Amplitude"
    input	float	fw	"Filter Width Override"
    input	float	fscale	"Filter Scale"
    output	float	noise	Noise
    output	float	x_avg	""
    output	float	x_oct	"Actual Number Of Octaves"
    output	vector	x_off	"Offset Due To Warps (Current Space)"
    inputflags	pos	0
    inputflags	pos2	0
    inputflags	kpos	0
    inputflags	kpos2	0
    inputflags	freq	0
    inputflags	offset	0
    inputflags	period	0
    inputflags	inv	0
    inputflags	fold	0
    inputflags	expon	0
    inputflags	dolwarp	0
    inputflags	disp	0
    inputflags	dispfreq	0
    inputflags	dogwarp	0
    inputflags	gflow	0
    inputflags	flowrot	0
    inputflags	accuml	0
    inputflags	accumg	0
    inputflags	oct	0
    inputflags	lac	0
    inputflags	rough	0
    inputflags	docc	0
    inputflags	cc_dobias	0
    inputflags	cc_bias	0
    inputflags	cc_dogain	0
    inputflags	cc_gain	0
    inputflags	cc_inv	0
    inputflags	cc_dorng	0
    inputflags	cc_rnglo	0
    inputflags	cc_rnghi	0
    inputflags	cc_amp	0
    inputflags	fw	0
    inputflags	fscale	0
    signature	"3D Input, 1D Noise"	default	{ vector vector float float vector4 vector4 vector4 int int float int float float int float float int int float float float int int vector int vector int int vector vector vector float float float float float vector }
    signature	"1D Input, 1D Noise"	f1	{ float vector float float vector4 vector4 vector4 int int float int float float int float float int int float float float int int vector int vector int int vector vector vector float float float float float vector }
    signature	"2D Input, 1D Noise"	f2	{ vector vector float float vector4 vector4 vector4 int int float int float float int float float int int float float float int int vector int vector int int vector vector vector float float float float float vector }
    signature	"4D Input, 1D Noise"	f4	{ vector4 vector4 float float vector4 vector4 vector4 int int float int float float int float float int int float float float int int vector int vector int int vector vector vector float float float float float vector }
    signature	"1D Input, 3D Noise"	v1	{ float vector float float vector4 vector4 vector4 int int float int float float int float float int int float float float int int vector int vector int int vector vector vector float float vector float float vector }
    signature	"2D Input, 3D Noise"	v2	{ vector vector float float vector4 vector4 vector4 int int float int float float int float float int int float float float int int vector int vector int int vector vector vector float float vector float float vector }
    signature	"3D Input, 3D Noise"	v3	{ vector vector float float vector4 vector4 vector4 int int float int float float int float float int int float float float int int vector int vector int int vector vector vector float float vector float float vector }
    signature	"4D Input, 3D Noise"	v4	{ vector4 vector4 float float vector4 vector4 vector4 int int float int float float int float float int int float float float int int vector int vector int int vector vector vector float float vector float float vector }

    outputoverrides	default
    {
	___begin	auto
			(0)
	___begin	auto
			(0)
	___begin	auto
			(0)
	___begin	auto
			(0,0,0)
    }
    outputoverrides	f1
    {
	___begin	auto
			(0)
	___begin	auto
			(0)
	___begin	auto
			(0)
	___begin	auto
			(0,0,0)
    }
    outputoverrides	f2
    {
	___begin	auto
			(0)
	___begin	auto
			(0)
	___begin	auto
			(0)
	___begin	auto
			(0,0,0)
    }
    outputoverrides	f4
    {
	___begin	auto
			(0)
	___begin	auto
			(0)
	___begin	auto
			(0)
	___begin	auto
			(0,0,0)
    }
    outputoverrides	v1
    {
	___begin	auto
			(0,0,0)
	___begin	auto
			(0)
	___begin	auto
			(0)
	___begin	auto
			(0,0,0)
    }
    outputoverrides	v2
    {
	___begin	auto
			(0,0,0)
	___begin	auto
			(0)
	___begin	auto
			(0)
	___begin	auto
			(0,0,0)
    }
    outputoverrides	v3
    {
	___begin	auto
			(0,0,0)
	___begin	auto
			(0)
	___begin	auto
			(0)
	___begin	auto
			(0,0,0)
    }
    outputoverrides	v4
    {
	___begin	auto
			(0,0,0)
	___begin	auto
			(0)
	___begin	auto
			(0)
	___begin	auto
			(0,0,0)
    }

    help {
	""
    }

    parm {
	name	"makeui"
	label	"Promote Interface"
	type	button
	nolabel
	default	{ "0" }
	menu	{
	    [ "import pyro2" ]
	    [ "return pyro2.makeuimenu()" ]
	    language	python
	}
	range	{ 0 1 }
	export	none
	parmtag	{ "script_callback_language" "python" }
	parmtag	{ "script_callback" "hou.phm().uiCreate(kwargs)" }
    }
    group {
	name	"folder1"
	label	"VOP Parameters"

	parm {
	    name	"signature"
	    baseparm
	    export	none
	}
	parm {
	    name	"active"
	    label	"Active"
	    type	toggle
	    default	{ "1" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"passval"
	    label	"Inactive Output"
	    type	vector
	    size	3
	    default	{ "0" "0" "0" }
	    disablewhen	"{ active != 0 }"
	    range	{ -1 1 }
	    export	none
	}
	parm {
	    name	"freq"
	    label	"Frequency"
	    type	vector4
	    size	4
	    default	{ "1" "1" "1" "1" }
	    disablewhen	"{ active == 0 }"
	    range	{ -1 1 }
	    export	none
	}
	parm {
	    name	"offset"
	    label	"Offset"
	    type	vector4
	    size	4
	    default	{ "0" "0" "0" "0" }
	    disablewhen	"{ active == 0 }"
	    range	{ -1 1 }
	    export	none
	}
	parm {
	    name	"period"
	    label	"Period"
	    type	vector4
	    size	4
	    default	{ "1" "1" "1" "1" }
	    disablewhen	"{ active == 0 } { basis != pperlin basis != pflow }"
	    range	{ 0! 1 }
	    export	none
	}
	parm {
	    name	"fscale"
	    label	"Filter Scale"
	    type	float
	    default	{ "1" }
	    disablewhen	"{ active == 0 } { fractal == none }"
	    range	{ 0! 2 }
	    export	none
	}
	parm {
	    name	"spacer3"
	    label	"spacer"
	    type	label
	    nolabel
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	}
	group {
	    name	"folder0"
	    label	"Construction"

	    parm {
		name	"basis"
		label	"Noise Type"
		type	string
		default	{ "simplex" }
		disablewhen	"{ active == 0 }"
		menu	{
		    "sine"	"Sinusoid"
		    "perlin"	"Perlin"
		    "pperlin"	"Periodic Perlin"
		    "simplex"	"Simplex (Improved Perlin)"
		    "sparse"	"Sparse Convolution"
		    "flow"	"Flow"
		    "pflow"	"Periodic Flow"
		    "worleyFA"	"Worley (cellular) F1"
		    "worleyFB"	"Worley (cellular) F2-F1"
		    "alligator"	"Alligator"
		}
		range	{ 0 1 }
		export	none
		unquoted
	    }
	    parm {
		name	"inv"
		label	"Complement"
		type	toggle
		default	{ "0" }
		disablewhen	"{ active == 0 }"
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"fold"
		label	"Fold"
		type	toggle
		default	{ "0" }
		disablewhen	"{ active == 0 }"
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"expon"
		label	"Exponent"
		type	float
		default	{ "1" }
		disablewhen	"{ active == 0 }"
		range	{ 0! 2 }
		export	none
	    }
	    parm {
		name	"dolwarp"
		label	"Enable Lattice Warp"
		type	toggle
		nolabel
		joinnext
		default	{ "0" }
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"disp"
		label	"Lattice Warp"
		type	float
		joinnext
		default	{ "0" }
		disablewhen	"{ active == 0 } { dolwarp == 0 }"
		range	{ -0.5 0.5 }
		export	none
	    }
	    parm {
		name	"dispfreq"
		label	"Freq"
		type	float
		default	{ "1" }
		disablewhen	"{ active == 0 } { dolwarp == 0 }"
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"dogwarp"
		label	"Enable Gradient Warp"
		type	toggle
		nolabel
		joinnext
		default	{ "0" }
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"gflow"
		label	"Gradient Warp"
		type	float
		default	{ "0" }
		disablewhen	"{ active == 0 } { dogwarp == 0 }"
		range	{ -0.5 0.5 }
		export	none
	    }
	    parm {
		name	"flowrot"
		label	"Flow Rotation"
		type	float
		default	{ "0" }
		disablewhen	"{ active == 0 } { basis != flow basis != pflow }"
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"fractal"
		label	"Fractal Type"
		type	string
		default	{ "none" }
		disablewhen	"{ active == 0 }"
		menu	{
		    "none"	"None"
		    "fBm"	"Standard (fBm)"
		    "mfT"	"Terrain"
		    "hmfT"	"Hybrid Terrain"
		}
		range	{ 0 1 }
		export	none
		unquoted
	    }
	    parm {
		name	"accuml"
		label	"Accumulate Lattice Warp"
		type	toggle
		default	{ "0" }
		disablewhen	"{ active == 0 } { fractal == none }"
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"accumg"
		label	"Accumulate Gradient Warp"
		type	toggle
		default	{ "0" }
		disablewhen	"{ active == 0 } { fractal == none }"
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"oct"
		label	"Max Octaves"
		type	float
		default	{ "8" }
		disablewhen	"{ active == 0 } { fractal == none }"
		range	{ 0! 16 }
		export	none
	    }
	    parm {
		name	"lac"
		label	"Lacunarity"
		type	float
		default	{ "2.01234" }
		disablewhen	"{ active == 0 } { fractal == none }"
		range	{ 0 4 }
		export	none
	    }
	    parm {
		name	"rough"
		label	"Roughness"
		type	float
		default	{ "0.5" }
		disablewhen	"{ active == 0 } { fractal == none }"
		range	{ 0! 1 }
		export	none
	    }
	}

	group {
	    name	"folder0_1"
	    label	"Output"

	    parm {
		name	"docc"
		label	"Output Correction"
		type	toggle
		default	{ "0" }
		disablewhen	"{ active == 0 }"
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"spacer8"
		label	"spacer"
		type	label
		nolabel
		default	{ "" }
		disablewhen	"{ active == 0 }"
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"cc_dobias"
		label	"Do Bias"
		type	toggle
		nolabel
		joinnext
		default	{ "0" }
		disablewhen	"{ active == 0 } { docc == 0 }"
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"cc_bias"
		label	"Bias"
		type	vector
		size	3
		default	{ "0.5" "0.5" "0.5" }
		disablewhen	"{ active == 0 } { docc == 0 } { cc_dobias == 0 }"
		range	{ 0! 1! }
		export	none
	    }
	    parm {
		name	"cc_dogain"
		label	"Do Gain"
		type	toggle
		nolabel
		joinnext
		default	{ "0" }
		disablewhen	"{ active == 0 } { docc == 0 }"
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"cc_gain"
		label	"Gain"
		type	vector
		size	3
		default	{ "0.5" "0.5" "0.5" }
		disablewhen	"{ active == 0 } { docc == 0 } { cc_dogain == 0 }"
		range	{ 0! 1! }
		export	none
	    }
	    parm {
		name	"spacer5"
		label	"spacer"
		type	label
		nolabel
		default	{ "" }
		disablewhen	"{ active == 0 }"
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"cc_inv"
		label	"Complement"
		type	toggle
		default	{ "0" }
		disablewhen	"{ active == 0 } { docc == 0 }"
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"spacer6"
		label	"spacer"
		type	label
		nolabel
		default	{ "" }
		disablewhen	"{ active == 0 }"
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"cc_dorng"
		label	"Output Range (Clamped)"
		type	toggle
		default	{ "0" }
		disablewhen	"{ active == 0 } { docc == 0 }"
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"cc_rnglo"
		label	"New Minimum"
		type	vector
		size	3
		default	{ "0" "0" "0" }
		disablewhen	"{ active == 0 } { docc == 0 } { cc_dorng == 0 }"
		range	{ -1 1 }
		export	none
	    }
	    parm {
		name	"cc_rnghi"
		label	"New Maximum"
		type	vector
		size	3
		default	{ "1" "1" "1" }
		disablewhen	"{ active == 0 } { docc == 0 } { cc_dorng == 0 }"
		range	{ 0 2 }
		export	none
	    }
	    parm {
		name	"spacer7"
		label	"spacer"
		type	label
		nolabel
		default	{ "" }
		disablewhen	"{ active == 0 }"
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"cc_amp"
		label	"Final Amplitude"
		type	vector
		size	3
		default	{ "1" "1" "1" }
		disablewhen	"{ active == 0 } { docc == 0 }"
		range	{ 0 2 }
		export	none
	    }
	}

    }

    group {
	name	"folder1_1"
	label	"UI Promotion"

	parm {
	    name	"ui_prefix"
	    label	"Parameter Prefix"
	    type	string
	    joinnext
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"ui_postfix"
	    label	"Postfix"
	    type	string
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"ui_infolder"
	    label	"ui_infolder"
	    type	toggle
	    nolabel
	    joinnext
	    default	{ "1" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"ui_foldername"
	    label	"Create In Folder"
	    type	string
	    default	{ [ "node('.').creator().relativePathTo(node('.')).replace('/','_')" python ] }
	    disablewhen	"{ ui_infolder == 0 }"
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"spacer4"
	    label	"spacer"
	    type	label
	    nolabel
	    default	{ "" }
	    disablewhen	"{ active == 0 }"
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"ui_withactive"
	    label	"Add Active Toggle"
	    type	toggle
	    joinnext
	    default	{ "1" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"leftalign"
	    label	"spacer"
	    type	label
	    nolabel
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"ui_activename"
	    label	"Active Name"
	    type	string
	    default	{ "active" }
	    disablewhen	"{ ui_withactive == 0 }"
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"ui_activelabel"
	    label	"Active Label"
	    type	string
	    default	{ "Active" }
	    disablewhen	"{ ui_withactive == 0 }"
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"ui_initactive"
	    label	"Initial Active State"
	    type	toggle
	    default	{ "0" }
	    disablewhen	"{ ui_withactive == 0 }"
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"ui_withoffval"
	    label	"Include Inactive Value"
	    type	toggle
	    joinnext
	    default	{ "1" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"lalign3"
	    label	"lalign"
	    type	label
	    nolabel
	    default	{ "" }
	    disablewhen	"{ active == 0 }"
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"ui_initoffval"
	    label	"Inactive Value Default"
	    type	vector
	    size	3
	    default	{ "0" "0" "0" }
	    disablewhen	"{ ui_withoffval == 0 }"
	    range	{ -1 1 }
	    export	none
	}
	parm {
	    name	"ui_initsigned"
	    label	"Initialize As Signed Noise"
	    type	toggle
	    joinnext
	    default	{ "0" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"leftalign3"
	    label	"leftalign"
	    type	label
	    nolabel
	    default	{ "" }
	    disablewhen	"{ active == 0 }"
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"leftalign4"
	    label	"spacer"
	    type	label
	    nolabel
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"ui_dwhen"
	    label	"Extra Disable When"
	    type	string
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	}
    }

    parm {
	name	"pfx"
	label	"pfx"
	type	string
	invisible
	default	{ [ "ch('signature').replace('default','f3')[0]" python ] }
	range	{ 0 1 }
	export	none
	unquoted
    }
    parm {
	name	"ptype"
	label	"ptype"
	type	string
	invisible
	default	{ [ "('float','vector','vector','vector4')[int(ch('signature').replace('default','f3')[1])-1]" python ] }
	range	{ 0 1 }
	export	none
	unquoted
    }
    parm {
	name	"rtype"
	label	"rtype"
	type	string
	invisible
	default	{ [ "{'d':'float','f':'float','v':'vector'}[ch('signature')[0]]" python ] }
	range	{ 0 1 }
	export	none
	unquoted
    }
    parm {
	name	"dim"
	label	"dim"
	type	integer
	invisible
	default	{ [ "int(ch('signature').replace('default','f3')[1])" python ] }
	range	{ 1! 4! }
	export	none
	parmtag	{ "script_unquoted" "1" }
    }
}
# Automatically generated script: Wednesday February 22, 12:24 2012
\set noalias = 1
#
#  Creation script for unifiednoise operator
#

if ( "$arg1" == "" ) then
    echo This script is intended as a creation script
    exit
endif

# Node $arg1 (Vop/unifiednoise)
opexprlanguage -s hscript $arg1
opuserdata -n '___Version___' -v '' $arg1
ParmsFromVfl := 0;
PrefixDroppedParmName := 1;
UseDSParms := 1;
ForbidOutsideParms := 1;
LockContents := 1;
SaveSpareParms := 0;
CheckExternal := 1;
GzipContents := 1;
MakeDefault := 1;
SaveCachedCode := 0;
PrefixDroppedParmLabel := 1;
UnlockOnCreate := 0;
<?xml version="1.0" encoding="UTF-8"?>
<shelfDocument>
  <!-- This file contains definitions of shelves, toolbars, and tools.
 It should not be hand-edited when it is being used by the application.
 Note, that two definitions of the same element are not allowed in
 a single file. -->

  <tool name="$HDA_TABLE_$HDA_NAME" label="$HDA_LABEL" icon="$HDA_ICON">
    <toolMenuContext name="viewer">
      <contextNetType>VOP</contextNetType>
    </toolMenuContext>
    <toolMenuContext name="pop_viewer">
      <contextNetType>VOP</contextNetType>
    </toolMenuContext>
    <toolMenuContext name="network">
      <contextOpType>$HDA_TABLE/$HDA_NAME</contextOpType>
    </toolMenuContext>
    <toolSubmenu>Patterns</toolSubmenu>
    <script scriptType="python"><![CDATA[import voptoolutils

voptoolutils.genericTool(kwargs, '$HDA_NAME')]]></script>
  </tool>
</shelfDocument>
import pyro2

def prefix(sig):
   if sig == 'default': return 'f'
   return sig[0]

def rtype(sig):
   map = { 'd':'float', 'f':'float', 'v':'vector' }
   return map[sig[0]]

################################################################################
# These functions build the ui: uiCreate() is the button callback that triggers
# the build, and uiParmTemplates() defines the ui itself.
################################################################################

def uiEmbedded(node,prefix='',postfix=''):
   return ()

def uiPromotableInputs(node,prefix='',postfix=''):
   return ( tuple( ['%s%s%s'%(prefix,p,postfix) for p in (
            'freq'     , 'offset'    , 'period'   , 
            'inv'      , 'fold'      , 'expon'    , 
            'dolwarp'  , 'disp'      , 'dispfreq' , 
            'dogwarp'  , 'gflow'     ,
            'flowrot'  , 'accuml'    , 'accumg'   , 
            'oct'      , 'lac'       , 'rough'    , 
            'docc'     , 'cc_dobias' , 'cc_bias'  , 'cc_dogain' , 
            'cc_gain'  , 'cc_inv'    , 'cc_dorng' , 'cc_rnglo'  , 
            'cc_rnghi' , 'cc_amp' ) ] ) )

def uiRadios(node,prefix='',postfix=''):
   return ()

def uiExtraLinks(node,prefix='',postfix=''):
   return ()



def uiCreate(kwargs):
   node  = kwargs['node']
   style = kwargs['script_value']

   iprom  = uiPromotableInputs(node)

   # build the top-level interface
   pyro2.uiCreateFromTuple(style,node,uiParmTemplates(node),iprom,
                             prefix=node.evalParm('ui_prefix'),
                             postfix=node.evalParm('ui_postfix'))




################################################################################
# This ui definition is, as one would expect, a list of parm templates, but
# it has to be a little more than that simply because the parm names (as well
# as the disableWhen strings, the menu callbacks, tags, etc) all change from
# call to call, depending on the target where the ui is being built (e.g, the
# target may already have parms with the various names listed here and we have
# to resolve the possible clashes, which affects the links, which affects...yeah.
# So this has a bunch of globals and other bits of embedded messaging which
# guide the function that actually does the building (uiCreateFromTuple() in
# the Pyro2 module) on what bits are what and how they relate to each other.
################################################################################

def uiAppend(infolder,pt,ptl,tplt):
   if infolder:
      pt.addParmTemplate(tplt)
   else:
      ptl.append(tplt)

def uiAppendList(infolder,pt,ptl,tpltiter):
   if infolder:
      for t in tpltiter: pt.addParmTemplate(t)
   else:
      ptl += tpltiter

def uiAppendListToGroup(pt,tpltiter):
   for t in tpltiter: pt.addParmTemplate(t)

def uiParmTemplates( 
      node,
      usenodesettings = True,
      foldername='NODENAME',
      infolder=True,
      dwhen   = '',
      prefix  = '',
      postfix = '',
      withactive=True,
      initactive=0,
      activename="active",
      activelabel="Active",
      withoffval = False,     # whether to include the inactive value
      initoffval = (0,0,0),   # the default output when inactive
      initsigned = False      # whether to initialize as signed noise
   ):

   # Fetch export settings
   xdwhen = ''
   if usenodesettings:
      infolder   = node.evalParm('ui_infolder')
      foldername = node.evalParm('ui_foldername')
      withactive  = node.evalParm('ui_withactive')
      initactive  = node.evalParm('ui_initactive')
      activename  = node.evalParm('ui_activename')
      activelabel = node.evalParm('ui_activelabel')
      withoffval  = node.evalParm('ui_withoffval')
      initoffval  = node.parmTuple('ui_initoffval').eval()
      initsigned  = node.evalParm('ui_initsigned')
      xdwhen      = node.evalParm('ui_dwhen')

   # Container list, when infolder==False
   ptl = []

   # Container folder, when infolder==True
   pt = pyro2.uitTabFolder(foldername)

   # base disablewhen
   dw = xdwhen + " " + dwhen

   uiAppend(infolder,pt,ptl,pyro2.uitSpacer())

   # Active and base disable
   nactive = '%sactive%s'%(prefix,postfix)
   if withactive:
      pt2 = hou.ToggleParmTemplate(nactive, activelabel,
         default_value=initactive, disable_when="")
      pt2.setScriptCallbackLanguage(hou.scriptLanguage.Python)
      uiAppend(infolder,pt,ptl,pt2)
      uiAppend(infolder,pt,ptl,pyro2.uitSpacer())
      dw += " { %s 0 }"%nactive
   
   # Inactive Output
   if withoffval:
      pt2 = hou.FloatParmTemplate("%spassval%s"%(prefix,postfix),
            "Inactive Output", 3,
            default_value=(list(initoffval)), min=-1, max=1, min_is_strict=False,
            max_is_strict=False, naming_scheme=hou.parmNamingScheme.XYZW)
      pt2.setDisableWhen(dw)
      uiAppend(infolder,pt,ptl,pt2)

   # Frequency
   pt2 = hou.FloatParmTemplate("%sfreq%s"%(prefix,postfix), 
         "Frequency", 4, default_value=([1, 1, 1, 1]),
         min=0, max=10, min_is_strict=False, max_is_strict=False,
         look=hou.parmLook.Regular, naming_scheme=hou.parmNamingScheme.XYZW)
   pt2.setDisableWhen(dw)
   uiAppend(infolder,pt,ptl,pt2)
   
   # Offset
   pt2 = hou.FloatParmTemplate("%soffset%s"%(prefix,postfix), 
         "Offset", 4, default_value=([0, 0, 0, 0]),
         min=0, max=10, min_is_strict=False, max_is_strict=False,
         look=hou.parmLook.Regular, naming_scheme=hou.parmNamingScheme.XYZW)
   pt2.setDisableWhen(dw)
   uiAppend(infolder,pt,ptl,pt2)
   
   nbasis = "%sbasis%s"%(prefix,postfix)

   # Period
   pt2 = hou.FloatParmTemplate("%speriod%s"%(prefix,postfix), 
         "Period", 4, default_value=([1, 1, 1, 1]),
         min=0, max=10, min_is_strict=False, max_is_strict=False,
         look=hou.parmLook.Regular, naming_scheme=hou.parmNamingScheme.XYZW)
   pt2.setDisableWhen(dw + " { %s != pperlin %s != pflow }"%(nbasis,nbasis))
   uiAppend(infolder,pt,ptl,pt2)
   
   uiAppend(infolder,pt,ptl,pyro2.uitSpacer())

   # Construction folder ========[Construction]========
   pt2 = pyro2.uitTabFolder("Construction")
   
   ######## BASIS menu
   basisname = "basis"
   pt3 = hou.StringParmTemplate("%sbasis%s"%(prefix,postfix),
         "Noise Type", 1, default_value=(["simplex"]),
         naming_scheme=hou.parmNamingScheme.Base1,
         string_type=hou.stringParmType.Regular,
         menu_items=(["sine","perlin","pperlin","simplex","sparse",
                      "flow","pflow","worleyFA","worleyFB","alligator"]),
         menu_labels=(["Sinusoid","Perlin","Periodic Perlin","Simplex (Improved Perlin)",
                       "Sparse Convolution","Flow","Periodic Flow","Worley (cellular) F1",
                       "Worley (cellular) F2-F1","Alligator"]),
         icon_names=([]), item_generator_script="",
         item_generator_script_language=hou.scriptLanguage.Python,
         menu_type=hou.menuType.Normal)
   pt3.setDisableWhen(dw)
   pt3.setTags({"script_unquoted": "1"})
   pt2.addParmTemplate(pt3)
   
   # Complement toggle
   pt3 = hou.ToggleParmTemplate("%sinv%s"%(prefix,postfix), 
         "Complement", default_value=False)
   pt3.setDisableWhen(dw)
   pt2.addParmTemplate(pt3)
   
   # Fold Toggle
   pt3 = hou.ToggleParmTemplate("%sfold%s"%(prefix,postfix), 
         "Fold", default_value=False,
         disable_when="{ active == 0 }")
   pt3.setDisableWhen(dw)
   pt2.addParmTemplate(pt3)
   
   # Exponent
   pt3 = hou.FloatParmTemplate("%sexpon%s"%(prefix,postfix), 
         "Exponent", 1, default_value=([1]),
         min=0, max=2, min_is_strict=False, max_is_strict=False,
         look=hou.parmLook.Regular, naming_scheme=hou.parmNamingScheme.Base1)
   pt3.setDisableWhen(dw)
   pt2.addParmTemplate(pt3)
   
   # Enable Lattice Warp
   pt3 = hou.ToggleParmTemplate("%sdolwarp%s"%(prefix,postfix),
         "Enable Lattice Warp", default_value=False)
   pt3.setDisableWhen(dw)
   pt3.hideLabel(True)
   pt3.setJoinWithNext(True)
   pt2.addParmTemplate(pt3)

   # Lattice Warp: Amplitude
   pt3 = hou.FloatParmTemplate("%sdisp%s"%(prefix,postfix), 
         "Lattice Warp", 1, default_value=([0]),
         min=-0.5, max=0.5, min_is_strict=False, max_is_strict=False,
         look=hou.parmLook.Regular, naming_scheme=hou.parmNamingScheme.Base1)
   pt3.setDisableWhen(dw + " { %sdolwarp%s 0 }"%(prefix,postfix))
   pt3.setJoinWithNext(True)
   pt2.addParmTemplate(pt3)
   
   # Lattice Warp: Freq
   pt3 = hou.FloatParmTemplate("%sdispfreq%s"%(prefix,postfix), 
         "Freq", 1, default_value=([1]),
         min=0, max=1, min_is_strict=False, max_is_strict=False,
         look=hou.parmLook.Regular, naming_scheme=hou.parmNamingScheme.Base1)
   pt3.setDisableWhen(dw + " { %sdolwarp%s 0 }"%(prefix,postfix))
   pt2.addParmTemplate(pt3)
   
   # Enable Gradient Warp
   pt3 = hou.ToggleParmTemplate("%sdogwarp%s"%(prefix,postfix),
         "Enable Gradient Warp", default_value=False)
   pt3.setDisableWhen(dw)
   pt3.hideLabel(True)
   pt3.setJoinWithNext(True)
   pt2.addParmTemplate(pt3)
   
   # Gradient Warp: Amplitude
   pt3 = hou.FloatParmTemplate("%sgflow%s"%(prefix,postfix), 
         "Gradient Warp", 1, default_value=([0]),
         min=-0.5, max=0.5, min_is_strict=False, max_is_strict=False,
         look=hou.parmLook.Regular, naming_scheme=hou.parmNamingScheme.Base1)
   pt3.setDisableWhen(dw + " { %sdogwarp%s 0 }"%(prefix,postfix))
   pt3.setJoinWithNext(False)
   pt2.addParmTemplate(pt3)
   
   # Flow Rotation
   pt3 = hou.FloatParmTemplate("%sflowrot%s"%(prefix,postfix), 
         "Flow Rotation", 1, default_value=([0]),
         min=0, max=1, min_is_strict=False, max_is_strict=False,
         look=hou.parmLook.Regular, naming_scheme=hou.parmNamingScheme.Base1)
   pt3.setDisableWhen(dw + " { %s != flow %s != pflow }"%(nbasis,nbasis))
   pt2.addParmTemplate(pt3)
   
   pt2.addParmTemplate(pyro2.uitSpacer())

   ######## FRACTAL menu
   pt3 = hou.StringParmTemplate("%sfractal%s"%(prefix,postfix), 
         "Fractal Type", 1, default_value=(["none"]),
         naming_scheme=hou.parmNamingScheme.Base1, string_type=hou.stringParmType.Regular,
         menu_items=(["none","fBm","mfT","hmfT"]),
         menu_labels=(["None","Standard (fBm)","Terrain","Hybrid Terrain"]),
         icon_names=([]), item_generator_script="",
         item_generator_script_language=hou.scriptLanguage.Python,
         menu_type=hou.menuType.Normal)
   pt3.setDisableWhen(dw)
   pt3.setTags({"script_unquoted": "1"})
   pt2.addParmTemplate(pt3)
   
   dwf = dw + " { %sfractal%s == none }"%(prefix,postfix)

   # Accumulate Lattice Warp
   pt3 = hou.ToggleParmTemplate("%saccuml%s"%(prefix,postfix), 
         "Accumulate Lattice Warp",
         default_value=False, disable_when="{ active == 0 } { fractal == none }")
   pt3.setDisableWhen(dwf)
   pt2.addParmTemplate(pt3)
   
   # Accumulate Gradient Warp
   pt3 = hou.ToggleParmTemplate("%saccumg%s"%(prefix,postfix), 
         "Accumulate Gradient Warp",
         default_value=False, disable_when="{ active == 0 } { fractal == none }")
   pt3.setDisableWhen(dwf)
   pt2.addParmTemplate(pt3)
   
   # Octaves
   pt3 = hou.FloatParmTemplate("%soct%s"%(prefix,postfix), 
         "Max Octaves", 1, default_value=([8]),
         min=0, max=16, min_is_strict=False, max_is_strict=False,
         look=hou.parmLook.Regular, naming_scheme=hou.parmNamingScheme.Base1)
   pt3.setDisableWhen(dwf)
   pt2.addParmTemplate(pt3)
   
   # Lacunarity
   pt3 = hou.FloatParmTemplate("%slac%s"%(prefix,postfix), 
         "Lacunarity", 1, default_value=([2.01234]),
         min=0, max=4, min_is_strict=False, max_is_strict=False,
         look=hou.parmLook.Regular, naming_scheme=hou.parmNamingScheme.Base1)
   pt3.setDisableWhen(dwf)
   pt2.addParmTemplate(pt3)
   
   # Roughness
   pt3 = hou.FloatParmTemplate("%srough%s"%(prefix,postfix), 
         "Roughness", 1, default_value=([0.5]),
         min=0, max=1, min_is_strict=False, max_is_strict=False,
         look=hou.parmLook.Regular, naming_scheme=hou.parmNamingScheme.Base1)
   pt3.setDisableWhen(dwf)
   pt2.addParmTemplate(pt3)
   uiAppend(infolder,pt,ptl,pt2)
   
   # Output folder            ========[Output]========
   pt2 = pyro2.uitTabFolder("Output")
   
   # Enable Output Correction
   dflt = int(int(initsigned)!=0)
   pt3 = hou.ToggleParmTemplate("%sdocc%s"%(prefix,postfix), 
         "Enable Output Correction", default_value=dflt)
   pt3.setDisableWhen(dw)
   pt2.addParmTemplate(pt3)
   
   # ---spacer---
   pt2.addParmTemplate(pyro2.uitSpacer())
   
   dwcc = dw + " { %sdocc%s == 0 }"%(prefix,postfix)

   # Do Bias
   pt3 = hou.ToggleParmTemplate("%scc_dobias%s"%(prefix,postfix), 
         "Do Bias", default_value=False)
   pt3.setDisableWhen(dwcc)
   pt3.hideLabel(True)
   pt3.setJoinWithNext(True)
   pt2.addParmTemplate(pt3)
   
   # Bias
   pt3 = hou.FloatParmTemplate("%scc_bias%s"%(prefix,postfix), 
         "Bias", 3, default_value=([0.5,0.5,0.5]),
         min=0, max=1, min_is_strict=False, max_is_strict=False,
         look=hou.parmLook.Regular, naming_scheme=hou.parmNamingScheme.XYZW)
   pt3.setDisableWhen(dwcc + " { %scc_dobias%s == 0 }"%(prefix,postfix))
   pt2.addParmTemplate(pt3)
   
   # Do Gain
   pt3 = hou.ToggleParmTemplate("%scc_dogain%s"%(prefix,postfix), 
         "Do Gain", default_value=False)
   pt3.setDisableWhen(dwcc)
   pt3.hideLabel(True)
   pt3.setJoinWithNext(True)
   pt2.addParmTemplate(pt3)
   
   # Gain
   pt3 = hou.FloatParmTemplate("%scc_gain%s"%(prefix,postfix), 
         "Gain", 3, default_value=([0.5,0.5,0.5]),
         min=0, max=1, min_is_strict=False, max_is_strict=False,
         look=hou.parmLook.Regular, naming_scheme=hou.parmNamingScheme.XYZW)
   pt3.setDisableWhen(dwcc + " { %scc_dogain%s == 0 }"%(prefix,postfix))
   pt2.addParmTemplate(pt3)
   
   # ---spacer---
   pt2.addParmTemplate(pyro2.uitSpacer())
   
   # Complement
   pt3 = hou.ToggleParmTemplate("%scc_inv%s"%(prefix,postfix), 
         "Complement", default_value=False)
   pt3.setDisableWhen(dwcc)
   pt2.addParmTemplate(pt3)
   
   # ---spacer---
   pt2.addParmTemplate(pyro2.uitSpacer())
   
   # Do Range Mapping
   pt3 = hou.ToggleParmTemplate("%scc_dorng%s"%(prefix,postfix), 
         "Output Range (Clamped)", default_value=(initsigned!=0))
   pt3.setDisableWhen(dwcc)
   pt3.hideLabel(False)
   pt3.setJoinWithNext(False)
   pt2.addParmTemplate(pt3)
   
   # Range Low
   dflt = (0,-1)[initsigned]
   pt3 = hou.FloatParmTemplate("%scc_rnglo%s"%(prefix,postfix), 
         "New Minimum", 3, default_value=([dflt,dflt,dflt]),
         min=-1, max=1, min_is_strict=False, max_is_strict=False,
         look=hou.parmLook.Regular, naming_scheme=hou.parmNamingScheme.XYZW)
   pt3.setDisableWhen(dwcc + " { %scc_dorng%s == 0 }"%(prefix,postfix))
   pt3.setJoinWithNext(False)
   pt2.addParmTemplate(pt3)
   
   # Range High
   pt3 = hou.FloatParmTemplate("%scc_rnghi%s"%(prefix,postfix), 
         "New Maximum", 3, default_value=([1,1,1]),
         min=0, max=2, min_is_strict=False, max_is_strict=False,
         look=hou.parmLook.Regular, naming_scheme=hou.parmNamingScheme.XYZW)
   pt3.setDisableWhen(dwcc + " { %scc_dorng%s == 0 }"%(prefix,postfix))
   pt3.hideLabel(False)
   pt2.addParmTemplate(pt3)
   
   # ---spacer---
   pt2.addParmTemplate(pyro2.uitSpacer())
   
   # Final Amplitude
   pt3 = hou.FloatParmTemplate("%scc_amp%s"%(prefix,postfix), 
         "Final Amplitude", 3,
         default_value=([1,1,1]), min=0, max=2, min_is_strict=False,
         max_is_strict=False, look=hou.parmLook.Regular,
         naming_scheme=hou.parmNamingScheme.XYZW)
   pt3.setDisableWhen(dwcc)
   pt2.addParmTemplate(pt3)
   uiAppend(infolder,pt,ptl,pt2)

   if infolder: return (pt,)
   return ptl    PythonModule/Cursor                           PythonModule/IsExpr        PythonModule/IsPython       PythonModule/IsScript       PythonModule/Source     INDX           	   DialogScript      #AR   CreateScript  #A  IR   TypePropertiesOptions  $  OE![   Help  %    OE![   Tools.shelf  %  `OE![   Contents.gz  (  L/R   PythonModule  u  VN}   ExtraFileOptions  p   OE![   InternalFileOptions     R# Dialog script for dualrest automatically generated 11/13/13 14:15:51

{
    name	dualrest
    script	dualrest
    label	"Dual Rest"

    outercode {
	""
    }

    code {
	""
    }

    input	int	restinterp	"Rest Ratio Interpolation"
    output	vector	Prest	Prest
    output	float	Prest_ratio	Prest_ratio
    output	vector	Prest2	Prest2
    output	float	Prest2_ratio	Prest2_ratio
    inputflags	restinterp	0
    signature	"Default Inputs"	default	{ int vector float vector float }

    outputoverrides	default
    {
	___begin	auto
			(0,0,0)
	___begin	auto
			(0)
	___begin	auto
			(0,0,0)
	___begin	auto
			(0)
    }

    help {
	""
    }

    parm {
	name	"makeui"
	label	"Promote Interface"
	type	button
	nolabel
	default	{ "0" }
	menu	{
	    [ "import pyro2" ]
	    [ "return pyro2.makeuimenu()" ]
	    language	python
	}
	range	{ 0 1 }
	export	none
	parmtag	{ "autoscope" "0000000000000000" }
	parmtag	{ "script_callback" "hou.phm().uiCreate(kwargs)" }
	parmtag	{ "script_callback_language" "python" }
    }
    group {
	name	"folder1"
	label	"VOP Parameters"

	group {
	    name	"folder0"
	    label	"Rest Fields"

	    parm {
		name	"spacer"
		label	"spacer"
		type	label
		nolabel
		default	{ "" }
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"restinterp"
		label	"Ratio Interpolation"
		type	ordinal
		default	{ "0" }
		menu	{
		    "0"	"Unmodified (Linear)"
		    "1"	"Cubic"
		    "2"	"Cosine"
		}
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"spacer2"
		label	"spacer"
		type	label
		nolabel
		default	{ "" }
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"rest_name"
		label	"Rest Position 1"
		type	string
		joinnext
		default	{ "rest" }
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"rest_intype"
		label	"Type"
		type	string
		default	{ "vector" }
		disablewhen	"{ rest_name == \"\" }"
		menu	{
		    "float"	"Float"
		    "vector"	"Vector"
		    "vector4"	"Vector4"
		}
		range	{ 0 1 }
		export	none
		unquoted
		parmtag	{ "script_callback" "if not kwargs['node'].isInsideLockedHDA():kwargs['node'].parm('rest_method').set('assign')" }
		parmtag	{ "script_callback_language" "python" }
	    }
	    parm {
		name	"rest_method"
		label	"Conversion to Vector"
		type	string
		joinnext
		default	{ "assign" }
		disablewhen	"{ rest_name == \"\" } { rest_intype == vector }"
		menu	{
		    [ "hou.vopNodeTypeCategory().nodeTypes()['typeconvertimpl'].hdaModule().methodmenu(hou.evalParm('rest_intype'),'vector')" ]
		    language	python
		}
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"rest_padval"
		label	"Padding Constant"
		type	float
		nolabel
		default	{ "0" }
		disablewhen	"{ rest_name == \"\" } { promote == 0 } { rest_method != padc }"
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"rest_ratio_name"
		label	"Rest1 Ratio"
		type	string
		joinnext
		default	{ "rest_ratio" }
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"rest_ratio_intype"
		label	"Type"
		type	string
		default	{ "float" }
		disablewhen	"{ rest_ratio_name == \"\" }"
		menu	{
		    "float"	"Float"
		    "vector"	"Vector"
		    "vector4"	"Vector4"
		}
		range	{ 0 1 }
		export	none
		unquoted
		parmtag	{ "script_callback" "if not kwargs['node'].isInsideLockedHDA():kwargs['node'].parm('rest_ratio_method').set('assign')" }
		parmtag	{ "script_callback_language" "python" }
	    }
	    parm {
		name	"rest_ratio_method"
		label	"Conversion to Float"
		type	string
		default	{ "assign" }
		disablewhen	"{ rest_ratio_name == \"\" } { rest_ratio_intype == float }"
		menu	{
		    [ "hou.vopNodeTypeCategory().nodeTypes()['typeconvertimpl'].hdaModule().methodmenu(hou.evalParm('rest_ratio_intype'),'float')" ]
		    language	python
		}
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"rest2_name"
		label	"Rest Position 2"
		type	string
		joinnext
		default	{ "rest2" }
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"rest2_intype"
		label	"Type"
		type	string
		default	{ "vector" }
		disablewhen	"{ rest2_name == \"\" }"
		menu	{
		    "float"	"Float"
		    "vector"	"Vector"
		    "vector4"	"Vector4"
		}
		range	{ 0 1 }
		export	none
		unquoted
		parmtag	{ "script_callback" "if not kwargs['node'].isInsideLockedHDA():kwargs['node'].parm('rest2_method').set('assign')" }
		parmtag	{ "script_callback_language" "python" }
	    }
	    parm {
		name	"rest2_method"
		label	"Conversion to Vector"
		type	string
		joinnext
		default	{ "assign" }
		disablewhen	"{ rest2_name == \"\" } { rest2_intype == vector }"
		menu	{
		    [ "hou.vopNodeTypeCategory().nodeTypes()['typeconvertimpl'].hdaModule().methodmenu(hou.evalParm('rest2_intype'),'vector')" ]
		    language	python
		}
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"rest2_padval"
		label	"Padding Constant"
		type	float
		nolabel
		default	{ "0" }
		disablewhen	"{ rest2_name == \"\" } { promote == 0 } { rest2_method != padc }"
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"rest2_ratio_name"
		label	"Rest2 Ratio"
		type	string
		joinnext
		default	{ "rest2_ratio" }
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"rest2_ratio_intype"
		label	"Type"
		type	string
		default	{ "float" }
		disablewhen	"{ rest2_ratio_name == \"\" }"
		menu	{
		    "float"	"Float"
		    "vector"	"Vector"
		    "vector4"	"Vector4"
		}
		range	{ 0 1 }
		export	none
		unquoted
		parmtag	{ "script_callback" "if not kwargs['node'].isInsideLockedHDA():kwargs['node'].parm('rest2_ratio_method').set('assign')" }
		parmtag	{ "script_callback_language" "python" }
	    }
	    parm {
		name	"rest2_ratio_method"
		label	"Conversion to Float"
		type	string
		default	{ "assign" }
		disablewhen	"{ rest2_ratio_name == \"\" } { rest2_ratio_intype == float }"
		menu	{
		    [ "hou.vopNodeTypeCategory().nodeTypes()['typeconvertimpl'].hdaModule().methodmenu(hou.evalParm('rest2_ratio_intype'),'float')" ]
		    language	python
		}
		range	{ 0 1 }
		export	none
	    }
	}

	group {
	    name	"folder0_1"
	    label	"Fallbacks"

	    parm {
		name	"spacer3"
		label	"spacer"
		type	label
		nolabel
		default	{ "" }
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"fallback_label"
		label	"fallback_label"
		type	label
		nolabel
		default	{ "Fallback Rest Position Upon Failure (VEX):" }
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"spacer4"
		label	"spacer"
		type	label
		nolabel
		default	{ "" }
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"fail_shading"
		label	"SHADING Contexts"
		type	string
		default	{ "ptransform(\"space:object\",P)" }
		range	{ 0 1 }
		export	none
		unquoted
	    }
	    parm {
		name	"fail_cop"
		label	"COP|COP2 Contexts"
		type	string
		default	{ "set(X,Y,0)" }
		range	{ 0 1 }
		export	none
		unquoted
	    }
	    parm {
		name	"fail_sop"
		label	"SOP|POP Contexts"
		type	string
		default	{ "P" }
		range	{ 0 1 }
		export	none
		unquoted
	    }
	    parm {
		name	"fail_chop"
		label	"CHOP Context"
		type	string
		default	{ "set((float)I/SR,V,0)" }
		range	{ 0 1 }
		export	none
		unquoted
	    }
	    parm {
		name	"fail_cvex"
		label	"CVEX Context"
		type	string
		default	{ "0" }
		range	{ 0 1 }
		export	none
		unquoted
	    }
	    parm {
		name	"fail_fail"
		label	"Unknown Context"
		type	string
		default	{ "0" }
		range	{ 0 1 }
		export	none
		unquoted
	    }
	}

    }

    group {
	name	"folder1_1"
	label	"UI Promotion"

	parm {
	    name	"ui_prefix"
	    label	"Parameter Prefix"
	    type	string
	    joinnext
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"ui_postfix"
	    label	"Postfix"
	    type	string
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"ui_infolder"
	    label	"ui_infolder"
	    type	toggle
	    nolabel
	    joinnext
	    default	{ "0" }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"ui_foldername"
	    label	"Create In Folder"
	    type	string
	    default	{ [ "node('.').creator().relativePathTo(node('.')).replace('/','_')" python ] }
	    disablewhen	"{ ui_infolder == 0 }"
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"ui_withinterp"
	    label	"Include Interpolation Menu"
	    type	toggle
	    joinnext
	    default	{ "1" }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"labelparm9"
	    label	"leftalign"
	    type	label
	    nolabel
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"ui_withfail"
	    label	"Include Fallback Folder"
	    type	toggle
	    joinnext
	    default	{ "0" }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"labelparm10"
	    label	"leftalign"
	    type	label
	    nolabel
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
    }

}
# Automatically generated script: Wednesday November 13, 14:15 2013
\set noalias = 1
#
#  Creation script for dualrest operator
#

if ( "$arg1" == "" ) then
    echo This script is intended as a creation script
    exit
endif

# Node $arg1 (Vop/dualrest)
opexprlanguage -s hscript $arg1
opuserdata -n '___Version___' -v '' $arg1
ParmsFromVfl := 0;
PrefixDroppedParmName := 0;
UseDSParms := 1;
ForbidOutsideParms := 0;
LockContents := 1;
SaveSpareParms := 1;
CheckExternal := 1;
GzipContents := 1;
MakeDefault := 1;
SaveCachedCode := 0;
PrefixDroppedParmLabel := 0;
UnlockOnCreate := 0;
<?xml version="1.0" encoding="UTF-8"?>
<shelfDocument>
  <!-- This file contains definitions of shelves, toolbars, and tools.
 It should not be hand-edited when it is being used by the application.
 Note, that two definitions of the same element are not allowed in
 a single file. -->

  <tool name="$HDA_DEFAULT_TOOL" label="$HDA_LABEL" icon="$HDA_ICON">
    <toolMenuContext name="viewer">
      <contextNetType>VOP</contextNetType>
    </toolMenuContext>
    <toolMenuContext name="pop_viewer">
      <contextNetType>VOP</contextNetType>
    </toolMenuContext>
    <toolMenuContext name="network">
      <contextOpType>$HDA_TABLE_AND_NAME</contextOpType>
    </toolMenuContext>
    <toolSubmenu>Pyro</toolSubmenu>
    <script scriptType="python"><![CDATA[import voptoolutils

voptoolutils.genericTool(kwargs, '$HDA_NAME')]]></script>
  </tool>
</shelfDocument>
      }͓GvpW!mw/E
+&vg]= E E& \ș)] 4˓.|#:G|'gU~WMKbHtvg˪r18|*͇C48@.Fh!1>n|1$e1Myszs^On7ϦQ9)oNcz<frצ-._'IUl"[KQp9}^.N h9_\C?>//Qy9[#%1b+6ĩ?h=ooF󗣂Ѝ?Fc~{O<z(o7//1+V/dcoc::ll\*inlߪ~fʍS6rc_*4[J	6ͻB~
1Z	=^woZl1ȍ[Կt	7OYVvO,8/&(Vkb*15yl>=.:*;ĺ?5dԦ͏6o̱?ϧٗ?,|T `RA<,(ctr	iefOWF}C?sLJ䬤ީ#T>0z®9?D6Qeo;ac}r,+{n:L?/9)%OO%I?dIFEQF5bzμ	;/bR1l09̇Y>ۛR/Yb'sq8ȟ.LGEv߼}4/'Ϧ$Or`Zdxl~)lqeF(ŲuYbN/exPCi_hTdK:.N񘋱뢺]Oun漱;Y3]-Ƭkt1?9q9RN>x?:bL' EAUqNg;Jf2*r2[.zJ z&b_+f
h`}m#EdOi]@ZHy:h`ciN@"S u?e}d^
DdGGGi9qKzۃgx&.u&
O<Xόq&k,vм?*&\쳊{s<9-X Of7NrKƩ#:mt,5PghG˿)zReз
h>U9Br(N&R<_e(FW͜ݭk#-g=q6d_sG%ŬgŤ׿Đ5{}~:ݳiW~ɾo
]4i,6nmU%Ug<]W`Rbȷk1{[ϳl扺:]?w=zkO2H5ĥZnva|t0.!;ܳN-hs)5K1QpbrL5]Lb3+=ϋYLxg>LBܮ3s2[Hz6kd#rTů-F͈mSNO?̲>|𐷁|xouJ*^XTiBŶHsfTAf(%E^gR>H%g'nt6.XbK][,ONַO VY_)T_dϞ)V4_681MbrRd~CsهO"gCmx(=U<x]ei.4R6%=X;gx7&k	\meppCЎ,^`\:;tJ8VDj:bUӫ}K*;U1LU1T^*IV+i0E
[:TJUA*XI*E\YZbUV3\O*uvsumz]	g%ltȼgn,z,!nui3P~֞t}>/R4 fө=2!m_d|Ι<X%\-ЍF|%'kOhw(#XhV/L5
r*'\%VAƁoU}!$=66ꑿm5!QjmdHoKt+NMtB2c#Jhfr-Ei*ۊBu/[WT]4ኊW +huLut;/֦ʸSm1OsF"9gJ-E"_ԱX9/&J|Ϧ](x;M.{ȑ6k֑n𕲯ec<9]Ӣ'6{c$>.͗ʮ񩎵uc,6*ٙ׏	=YdD?`ۑ鷳ZʂS1ыٺ%N=׊}NUXB[~jIa-fhq:aӸͽ#6]]s@˽,2T}b@ܕ/76~<:\96'q>k׮m,Sn{b1;w;j.فU~8ٔBCEZ^utGF۟QHsllG=PN&y%7Ie1|_eVjƂv6k1 H::QG{^)ԌMB]F̆%mO+5=8ÚVN~ͩvlo\*_tP{:޹Sbr6MGqa![;7leZ[@yסǗĿ\^)uwgcDBVNSoݽuuc #$]-|9/xD!k\G޻Hw4ktxh*x	 Vmk:?FQy40̏lslPc/?4OIG,Hkt)$qP ŐBA,]+H4֟勽;8׉t`D
ėZ0d#0TPF$`X2jj,vGR%m`!.RI$Tê$Vbi)lV"7_B@yl7_
3ETa<\[h?F%uѴN]I"pn؍ԉmKA&µwR YBBҎHOLGuB{"<1ݽ.;)|=]-sD{b8}S.("p1O'Rʅ X $ڔq 8"4@'&q0"&"Yd`XF	DQ(,R("X`xZq@Lz0e
6'	"ف$aZ|JLcQE%H2;G|d%h
E%x2آJ0EeE஼/V	KJEeQFWA$Q%%sAQILPGacT6q81gTsX	L	CG%h2C)ţxi$qT&4֍^"B!ʤxD ^E*I"%@+	Z@ۈRRYDb{
)hNqI8ĶdaW<J'ʤK8qF$T&X K%,
<ZA\ŹIrAG	\'.^b䑌u₶0RT|cyqO9᜘t^.z+ I<cdSOZ!G$ @AX*a}Bm,!ID^U7;/JRl|:B6;Pj$H	-2]) 3at=r{DZ5_EP	EQ(Q%Hú@TH1
9\@+OR|BeBj-8_[ry&!D!bF<4d/E[LN\4mq!pQ%FQ8m19AW:hGJuwWh0pԃU`Ӵ V}:N"m@'ՙ,	iۤ|hM7)VUD(
 -1_.*ț/>-.u@+Ǐ*
nRMz+mIHէ+IW[!\}:@I<єdէP|~r	A\'A5)fuA\'l+'IJS$بUPpGE6r൰"!L

:E~csOX0IwyGю:%s5A8otMD8p_I1& ϸ4eR'N	nQ3C,a\''*bDDtB-R1BBPT{Q ""*bBUҤB%PT%8$('*لMM*lTj23o*bB
<	
6&4֍bNn!*لbxH<K
lBMRl.ZI* F*T	H62R("ȄZb|]	uH
lBMRS
9
'*لbYJXm#8͗D#G)K$A٠L&E(JBU6y7(J	@
P)DL"c`f>HƭTf2 x1"aTQtA\'ZK|2V؉P	6uvQX:CR,S?ģ
WNr6 ݘeJ °5*
¢.n2@¾ 8C*y̸yp9DN kl"Pf27n?aό[H iנT+..NDnd3rN5+9Q	QB,*qn&`b	("!8qh쐊#"`7fȅHV!~Θ<(lVB-'2@hE0{mA \)\7"l^A;NEk!6 4݅zfbSRi~
DI7QDhF]KAdTI݆A\'vpB*ID۰SCP2׉JrQ6XXRlTYډRTYM6\7U*EVQ=U*Eaw&(ąmnSTa?ۃh^~nSTa?n?,i;ţ?U؏nkJ1TCm䑆<V7_"+ݦI I%TtW^QªQU؏nk&V nS\Ua?TSo!e:u"}!vk	Ku&I)C>!"ؕjrdl<:(x4 !"J ̆!ېCn1q(!pȧ8aN=(nMt(tȢXúBZt4ߡ !bOB[YiCC.qV!݁P~(DyQ;WCC,<LTb2譹lS#F*[S"
p"rI1AvbP}c??²y:{qbDzح%,ש"F.T)h/$vm(ĐRK+vb*&"FۤPq1WuТV *B!ؾA
=&F`鼘Y͗Pǋc/5{F0\7ސYhB({O>t$7zc2\a-#[tс.1^Z&5͗rCq !tJ;E=(ĆM0"DSCP2׉Bń>:<$O)0.ٯiPZAt{Az|s+QSl瓝uAX*a}k9MsH.܋F~M 94؝̦-k.Ť:[vjFg
Ksy oDXkPXNT{RWL:pKK^\;1N[T^;vjJ:qRE%_Q셲̓ $F[Th}*;N[Th}..crcE%_Qŷ̓VQmQW{aaCh*؏vvVX4@?+z	'ՙl 𽍶+nRE5[QůdlEm&u)N[T~@< ,i?b?.PNC込`{s, :nm;zZ9ϩ,.P{봥2"]h4k hJ~#a 2ջ@+rBF ht`!LWG%Ȯ:   8u2z# z#z#z#z#z#z#z#z# z# z# z# z#z#z#z#zZ})j[O4aiUmTשUmtשuQ^By"ګZh]3 UmסBCu
I@-4إBۨK!-ءQ^lGjD@?)u.u iu.u*QlWuV pf{AtӠv pha*4=ru;W$Iduo_&0U_:PU_Fk$`zuVv5T,ߧ>=^F rGiz &Kw<.iʾ iBޗ 0m֫H4__t8/wcP~7_I+ wdT:VnÂnԼ!B5>\8ZXͯ@]jWQjWŊYŊ^*ѫۨc5_^4=I;
e(xM$ڀac2VhEhpM52>M3~&WD4Mmjxvi@oAؗok A	;B[8+a4v0@$4$ˍ)V<q!`37=u=w<yyo0z'p0{p01z'q0Q(5PQY+>>>>>>>>>>>>>>>>
B}*U WAQ_@W*UWG}*U @WQ_
D}*U0`WQ_
F}}D~~DLƀh`KĂ
ix	)8HXhQm`Nj괨vТ -=@DjC2W^!Ң*Ca@zAhԿ`GU@t:A"E'(Ĉ`B:Ɔ%C^!F0 a$@H@`>QQQQQQ(Q5PQ]+Qѫ>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>ڙDrVg~̝9ϝׯ:o1-xfx1tRؒdT`Rc|\WNi1쩝OzW;d={>=YdD?d5n|nN?\M'7ǓӂI|>|ʊd^G'x<>'/s ;Zji1a'i"SOut_<NEg윝חn4vÏɽ)v`?x<=}"@xGGo|8Dtp|8|zk6$`&<[,,%oˌ]b(o7aoE77/DkeET)i%~=}}NTuTn=-4.~.W4dO{fRl.dH}7+HcsiOl>=#UWꪮ:ѝH'֖@B|;;N}#bߺRo_g۴N>Mߩ>5ؚG};eE*rZWހNnp4HlZdd9NKUNdۆLNnbDc=-Ԇ9uj\)6SԩQ{D$V9Q0.J|7NA:	o	ʈ-n®Llj>ͣCڈMl cuQhJ_}آF}v@y((0ÉXNϣHqO+QLFx 1+QނQ* ?c^W
qt]lo_tbdHk[ϴ;Ķ8N%q-<٥NL!|7V۹ԩcq@IO{$xX&Il耽J$=#Qrӕ{sXbOirbYlŐD>p^+QJ`T&F0AI\')U˭StRi^ڑyk3tHǉ9lˉE獢PBMϖۙĴN0g,;qr&@!`Ϯ[nPzPosq#SXSxH b=HԵU]L* \܋mFtqJ0}O8r$=9\9&A\'LП#Бёa\'Tĭ#בؑc\a\'Rh( pHxdN##$:%Ig,olwTxG##XG###  lwF< 	m%+Xu& i>@!E4- Kuޑ"~jj#"	drh"S&Ł
cN.֘cĖ	QC'BP*׉+
ׅN.qrP
Er( 
 ƩBmVQO`
$d 1-$"Z`'X*^uj2N?V = Bj+:u9	F~GRN]K"V
SסYvi\NQġxZ2D%.!4ƩBP'1¤8WT!"
X\}Z9BRoH"WD$7X,YDrXA	@9(ēҁb\Wu
Xڼ ZEܿ"tEb_9~n?,	|moPW(땫=RN<>q񮇏uƽvowsD0Ә`ȭ+n;u3rDB`ҝqa\'T̑ث3<!Yīէu|ȑwի`.[H"WDؑҫg8Q	H;ry\q $wU:pQ0vT̑ɫOG($|qwëGQ@&JT;:qR$׉-t:M4B$
]G|NI@U¾z{ƚC
S\ȽN]M`JNkG
F|N|cN#NQ	FoqG.Ѯ&,e"n"qԍ˗vUNd天<e"nb 1J"TBڅ7ש%0H (U"6"YXJ/b#zoftXBqĜ|˹N.,à6-XE3b#BhFHc Q;f6bۈFLUصD#!Ȉq4\nܪ5𒁎XG:##pqںgީxGظ(FaX=b#qQSWPƞ~^`3A\'D0Rj0H	! &D2Rzlhq*S8i
^J!|D`rޤvlPFG֎ܑro8b)4c|wN.kJ$j"DK*wN/-G
M*N6봻X*b\^\o7_\3Nb")w߻|q9)Fzv:IPLU*OY8DP"#=l=ubrzHb$r T%*%*G1@U3C
Q9g	LSӁ+krI@Q|N)g (E(6aoX,SG,vTv]oX0SO08vTNWoI"BU8oD_O|<	r$M]lWÆPQ9*lG4>S&Ł
T\l@&[.R|l@	@2&Q`Ks*@6u "Bl@@ #,Ҹ(
<"A.DUC& E'JWÆP VâyшOM.aUh|qE#cC2{Cp|j5ȥk
8Z3r)uTris:eQO N?HrуPMC!QkihC+"U(DrX.SG.)U(cE5$#6X:`Ql֌Dbe#Hٹ≢XqQ8>uhMF٧UiMF1鰰Fjj4>bhRlbv^*LjcŔbTR,GD+	-:;[_8au)vbLI۱pȎSo~7hCG5<
Ȩ~-ӆ.[A@]:oD#CCSY-TCS\	2R\dSD\'L	dSPHb$GM>*	UYP-iatxH bp48tESrC5F3W^ .J1alq%F%ZES,ؾR&K\*IuKFifD<
͗p?jpQ_mt3$I&Ł&ש/sA芭Wer2hW['PD!J2UrVkP,4UPE
	R(UAkpeI`8ؚ*\UP[O* \*XXK\Xl:u᱊"(d{c4,ש'UA'8u*
3,6T-$;E!UP
oXwYEsaɼN}ɘç"(ch;9|0)SR/Vep	x}	x}	x}	x}	|}	y}	}	y}7ڗڗW>:62.*&"
uB F F FZ譍":) (\ U-2+ U-4׎:U@TWQ]
`tW]
EyUuPhjv WQ_
q-סB[(C'`>
o.Pb^@GxAuV| =؊Hԅ#Iԅ'Ա6D]Kԁ/[P&>:f{iЁ;;L١t¡.Lu Ҡ5K^/R^]$^V)Vuy}Vy@iWy}˝YP|/zi} ^ K/`)^ My_Y2 ]҄~~Х 4ߍW
@%ߑWS<8XIu
VSF+ּpha5qwFy^Fu`^F+zfG+zfWDn|z$h(`Aӣ64=hhX:-Á64\4m`_¾]&oaCL ,_f0yCo0Go0ևo0|u`7 =A`38=A`s8 =a`г80=A@@@@@@Z@\U WAP_
J}5P_jWA: WQ_
D}*U `WQ_
D}*U0C C C C C C`D0D@@^D DWHăFƄFƅFƆFȇHȈHƉFƊDj{	4{uZT{N WE.ƀhQG&ZT[T@_ X
s Z[@zFÇ=E!bE)8D F"A06\/
Ą0" a,#A(Ȁ@`#?BBBBBB(ZB^QQQQQQQQQQQQQQQ'b<fy~IwiK7{*iy<.6{ŋtM̮1>.ƽsrVi1쩍PzYgxrZkY~gPn>x6?7euNT}o,%OOقol񣣿o|8Dtp|8|zk6$`FbFx$N&xQevZL9^lw3g;`on^֊SYˋ,Yqor>>ّ(ET3C<gbޯ)'Q_pn9avSFd0cy2/qJ7#q!Q,	CHxg@,-{ֆ̽kne˞tsM,s8OEBwb1082Й΋ɲ* _ewLXN?ΟMd;Ac+u4{j[\iG7G~֗	M츳rwvv,cytǕJJby_&y:.gͩ&sţæPqzԝ?a/.JfWfTLhx)4EiY֩_/	y5bV C:=mS:	5VS2iXKLWj;$dȤ|5anݒ>`bT|:=wj=MG[;XloaNw|z2q]&LqZ-»~ZeϊI!j?{w A;YYR"Sjߘ+7MY}?3R\5gt(x1$9p=F[\MU1;ag#tXd+:
68W֭v[;#{A^D{&Ϫ$t̮2:ͻU^끪6mW^Ao
	_\h-ЖnͶgOά34N'̷kI; iQ>IZ+l^kjTRմLiwp/jJZVfˉ<~7P3 +(r/',]OtΜsUv}/h{֍!;=8m6x:cli6ָ5Y1)5f5kS7{5敱+}&T2MAǵhV۠W*nT`XO^2.7oEJ^óe}'rIߩ7ϳwD|DxuWpƕKGrTdVrf,M^9j+rb%f_6kɾx+~?w6wǏ?=xɣǟ}YcгyY,er'l>'uz=ч2[ؽ!L؈d&ULyXt·#')e5̞cdޖ9s~$͠]V_ՙ~*Btp=.OΧL9֋b}Y/{:O'ф<~vl# {ۥ?QuϢx>em꛷,<e,:˹vI&:J5gyAyg{?۾&Ek}rJ>Y=avW}wd5j{1U=]c}r>۾^x&5p2_tm
GjŀeJs~q.w2;ROe߳)s5W%fuc`+fCv[9?a<kzU1sJCzYO.}r1kX?pɦhI<35bT#!'	Y炋δl~Nx'Zp"ē}ec>tz'ZXGO>Dc-tLG$uj}n|}y+8=/x
ly'3'%g-	`)T0UFFii&m2˙Y4;IRrbVM5<1+Vd'Z<7QM!֎V/՞	o%|N@t^\s8,	[ xtxɧO?|ٶt7!]q~؃aGe'O[R@MƏ=ʮR?|v'}j}bڑ<
_CXDA=s_y1_ή@uj6tC ȷ6:ZqeykE_\u񡳻?zyfc:|wuv;5b׵ۄ?}t_FK<fc*hPDS惻53+1'$JǬMxY0L/0)5lR-
/D't4K3\ONX69#9{F3bi8xKɯIw9)F§Ï<s=W,=9ǹ{tn޻ULgz6jv;ū2){rR6r7Rg=D7Q!7L1D`ܑwYNRN
t|o/ɿ!>5dۨdfC)]PY7B|;@)06&NG lP嚼wg6b3֦=8{bl&8MևS*nt<~yV03>Sݦ(q}%d"8F[ncqa5Öۚ3LER ARNeCj-ݍcʐZp[/0NŎL
$C^#17\"2eccShyeqʬdr;yg0ƈktzM#w;r192-L`S6q6ge5-LeK -f<	~˻׵*Tg@Iw`Y׳vX*Mg|~vYs=`,~Ks&ngNg;- w|vyn%#G]tlzsμFgl[΃O*݉jjɬZvU|d|JSAoY)XGԫ
R]W:%7C^BCBf^,=j-Mٷv[O%|wg}'n䒗rvpٸ[Ywt 6G nx75/.D|6䬠<*60~]| 7NlB`Wosgv<``smʿ)|dʬ/p.G٭MS6ka49i19sӬ_d:]b_//gR;\fϋ	wYyz,L
.'l:_)^`Er?9C֞X;BbT.ύ^9ٔRގ6/6s6秫9TYsOf3ao7Ū[S ExYK#X&eD;DF{W_&or6g󪜌xg1/7b~)C7>z$<D`vo]<u#tH&4P6/\bίg//efɾol@qzz+; ЍK6E|#6e4{\#6?F/;u1jQV'#j%wQ} j,&ئyՊE7zv>wc;ܿ8:8$70Fp̱dOI)&OM~'?8M޹7!sLgd$x͉fxkdC˜afcc)Wê0+yG@@ũVtqƋDx>e	yGE7˚4cJaZwlzHmox\yJ=nQ>
#=y	6Svl!.l9YEU6?l|T2''gF6(9+L>&[꯼!v3sz3cJN8mlʛὯA?}}z;-2^*=ܢrx:cG&S*A|wXeO{26egSv *GaɗB@crUWSx
{PGEw4e^w'Mk9j+P|W;H1?qT3Dc?Q:s㚧lp)o4Vd倽`	;	8n[ wf;|5Sۚ\s۽<;ڻsvMS[m[ms۫0_db2s2N1.T'zܒ=OS0^$wy;|3˅r!w;|7nܽ&ɝʻӯd[[?UZ$ft'{7Fxx4mra|3N{1+hϻݾ;yŜ;jcGzT}﫜ʪIt_ߥFc͋ɬ~=D׉zAW1>69Н*ps\Tys\6m{7t_Lf[a5R!{p{p;ND{3&9D{-73ݫ^f;u?JgSLJܾ^k3{;wf{eS^~+w
o&7|w.奲	Qg݃)6{w%9~MpW=ɫz;̷J[un	]_M&[2'dNovPwcf<`C76s3Lf6(+_Iٯ4ٯ_o;ڬG{W|պvq vۻv*	ș0SPEFTB,R"!)b(!)bb2.qXNEʸ؝XL\n2d\HLJR
`XbB0e.B!2XLLP&V(Sf+)ÉXLYNP&Lr)ˉ

`rbB0e9B!XLYNP,'V(~rbB0e9B!XLTrR+)ˉ

`rbB0e9B!X
`rbB0e9B!XLnR+)ˉ

`rbB0e9B1KYNP,'V(S+)ˉ

`r`[)ˉ

`rbB0e9B1OYNP,'V(S+)ˉ

u'`wf{2REn.uC:^nB~paz18pVAc!
{<:/FH\zYĹ~m<ylSԷvQj[VoFZ-g}~Y?{..wDjvnXZB#߶i}P P.\Gl(;ڍ\]'ppOMAjh@9\˗ʫ|#+bjiʣȷ||0p]xZNvC^2K|Mݲ>po/?eNou=lwŞZsMQp!`#ZaV`rviikoJ|%^+Ul0qc˪ͤV7HKO>l&A%^I=E`VP͊*Emfe/l[:1I?cA&嬳Ϝ%&_eXfufWZ֒dKz[z/gK0dH_ճV:[=xMd-H6v7Ě0y l,{oΫwk:yA*t9^WIO'$+dY>_C
hmwoD5eи/:4?K \iʳe`;Xڞ5|Dj5P iRSSzZE䶥l{K2XϽ&|0C9a,7vq Nn6bfsr^Tֵ$׳mR,6OƋO]d)6a import pyro2

pmSolver = hou.vopNodeTypeCategory().nodeTypes()['dualrestsolver'].hdaModule()
pmField  = hou.vopNodeTypeCategory().nodeTypes()['fieldparm'].hdaModule()

def uiEmbedded(node,prefix='',postfix=''):
   return pmSolver.uiEmbedded(node.node('solver'),prefix,postfix)

def uiPromotableInputs(node,prefix='',postfix=''):
   return pmSolver.uiPromotableInputs(node.node('solver'),prefix,postfix)

def uiRadios(node,prefix='',postfix=''):
   return pmSolver.uiRadios(node.node('solver'),prefix,postfix)

def uiExtraLinks(node,prefix='',postfix=''):
   return pmSolver.uiExtraLinks(node.node('solver'),prefix,postfix)


def uiCreate(kwargs):
   node  = kwargs['node']
   style = kwargs['script_value']

   iprom  = uiPromotableInputs(node)
   pvops  = uiEmbedded(node)
   radios = uiRadios(node)
   xlinks = uiExtraLinks(node)

   # build the top-level interface
   pyro2.uiCreateFromTuple(style,node,uiParmTemplates(node),iprom,
                           pvops=pvops,radios=radios,xlinks=xlinks,
                           prefix=node.evalParm('ui_prefix'),
                           postfix=node.evalParm('ui_postfix'))




################################################################################
# UI Promotion
################################################################################

def uiAppend(infolder,pt,ptl,tplt):
   if infolder:
      pt.addParmTemplate(tplt)
   else:
      ptl.append(tplt)

def uiAppendList(infolder,pt,ptl,tpltiter):
   if infolder:
      for t in tpltiter: pt.addParmTemplate(t)
   else:
      ptl += tpltiter

def uiAppendListToGroup(pt,tpltiter):
   for t in tpltiter: pt.addParmTemplate(t)

def uiParmTemplates( 
      node,
      usenodesettings = True,
      foldername='NODENAME',
      infolder=True,
      dwhen   = '',
      prefix  = '',
      postfix = '',
      withinterp = 1,  # whether to include the ratio interpolation menu
      withfail   = 0   # whether to include the fail-state defaults
   ):

   # Fetch export settings
   if usenodesettings:
      infolder    = node.evalParm('ui_infolder')
      foldername  = node.evalParm('ui_foldername')
      withinterp  = node.evalParm('ui_withinterp')
      withfail    = node.evalParm('ui_withfail')

   # Container list, when infolder==False
   ptl = []

   # Container folder, when infolder==True
   pt = pyro2.uitTabFolder(foldername)

   basedis = dwhen
   inf     = (infolder or withfail)

   ptfields    = pyro2.uitTabFolder("Fields")
   ptfallback  = pyro2.uitTabFolder("Fallback")

   ptmain = (pt,ptfields)[withfail]
   ptfail = (pt,ptfallback)[withfail]

   # Ratio Interpolation
   srcnode = node.node('solver')
   ftl = pmSolver.uiParmTemplates(srcnode, usenodesettings=False, 
         infolder=False, withinterp=True, withfail=False, 
         prefix=prefix,postfix=postfix,dwhen=basedis)
   ftl = pyro2.uitlRepath(node,srcnode,ftl)
   uiAppendList(inf,ptmain,ptl,ftl)

   # Spacer
   uiAppend(inf,ptmain,ptl,pyro2.uitSpacer())

   # Field: rest
   srcnode = node.node('rest')
   ftl = pmField.uiParmTemplates(srcnode, usenodesettings=False, 
         infolder=False, incdfltvalue=False, forcefieldname=False, 
         initfieldlabel='Rest Position 1', 
         initfieldname='rest', initfieldtype='vector', forceouttype='vector',
         prefix=prefix+'rest_',dwhen=basedis)
   ftl = pyro2.uitlRepath(node,srcnode,ftl)
   uiAppendList(inf,ptmain,ptl,ftl)

   # Field: rest_ratio
   srcnode = node.node('rest_ratio')
   ftl = pmField.uiParmTemplates(srcnode, usenodesettings=False, 
         infolder=False, incdfltvalue=False, forcefieldname=False, 
         initfieldlabel='Rest1 Ratio', 
         initfieldname='rest_ratio', initfieldtype='float', forceouttype='float',
         prefix=prefix+'rest_ratio_',dwhen=basedis)
   ftl = pyro2.uitlRepath(node,srcnode,ftl)
   uiAppendList(inf,ptmain,ptl,ftl)

   # Field: rest2
   srcnode = node.node('rest2')
   ftl = pmField.uiParmTemplates(srcnode, usenodesettings=False, 
         infolder=False, incdfltvalue=False, forcefieldname=False, 
         initfieldlabel='Rest Position 2', 
         initfieldname='rest2', initfieldtype='vector', forceouttype='vector',
         prefix=prefix+'rest2_',dwhen=basedis)
   ftl = pyro2.uitlRepath(node,srcnode,ftl)
   uiAppendList(inf,ptmain,ptl,ftl)

   # Field: rest2_ratio
   srcnode = node.node('rest2_ratio')
   ftl = pmField.uiParmTemplates(srcnode, usenodesettings=False, 
         infolder=False, incdfltvalue=False, forcefieldname=False, 
         initfieldlabel='Rest2 Ratio', 
         initfieldname='rest2_ratio', initfieldtype='float', forceouttype='float',
         prefix=prefix+'rest2_ratio_',dwhen=basedis)
   ftl = pyro2.uitlRepath(node,srcnode,ftl)
   uiAppendList(inf,ptmain,ptl,ftl)

   if withfail:
      # Fallback Settings
      srcnode = node.node('solver')
      ftl = pmSolver.uiParmTemplates(srcnode, usenodesettings=False, 
            infolder=False, withinterp=False, withfail=True,
            prefix=prefix,postfix=postfix,dwhen=basedis)
      ftl = pyro2.uitlRepath(node,srcnode,ftl)
      uiAppendListToGroup(ptfail,ftl)

      uiAppend(infolder,pt,ptl,ptmain)
      uiAppend(infolder,pt,ptl,ptfail)


   if infolder: return (pt,)
   return ptl    PythonModule/Cursor                           PythonModule/IsExpr        PythonModule/IsPython       PythonModule/IsScript       PythonModule/Source         nodeconntype       INDX           	   DialogScript      O_   CreateScript    JO_   TypePropertiesOptions  	  OE$   Help  
    OE$   Tools.shelf  
  gOE$   Contents.gz    O_   PythonModule  b  M{C   	OnCreated  O   9O f   ExtraFileOptions    COE$# Dialog script for typeconvert automatically generated 03/13/12 14:37:38

{
    name	typeconvert
    script	typeconvert
    label	"Type Convert"

    input	vector4	val	"Value whose type needs conversion"
    input	float	const	"Padding Constant"
    output	float	outval	outval
    inputflags	val	0
    inputflags	const	0
    signature	"Untyped Input"	default	{ vector4 float float }

    outputoverrides	default
    {
	___begin	auto
			(0)
    }

    help {
	""
    }

    parm {
	name	"intype"
	label	"Input Type"
	type	string
	default	{ "float" }
	menu	{
	    "float"	"Float"
	    "vector"	"Vector"
	    "vector4"	"Vector4"
	}
	range	{ 0 1 }
	export	none
	unquoted
	parmtag	{ "script_callback_language" "python" }
	parmtag	{ "script_callback" "hou.phm().updatemethod(kwargs)" }
	parmtag	{ "autoscope" "0000000000000000" }
    }
    parm {
	name	"outtype"
	label	"Output Type"
	type	string
	default	{ "float" }
	menu	{
	    "float"	"Float"
	    "vector"	"Vector"
	    "vector4"	"Vector4"
	}
	range	{ 0 1 }
	export	none
	unquoted
	parmtag	{ "script_callback_language" "python" }
	parmtag	{ "script_callback" "hou.phm().updatemethod(kwargs)" }
	parmtag	{ "autoscope" "0000000000000000" }
    }
    parm {
	name	"method"
	label	"Conversion Method"
	type	string
	default	{ "assign" }
	disablewhen	"{ needconvert == 0 }"
	menu	{
	    [ "hou.nodeType(hou.vopNodeTypeCategory(),'typeconvertimpl').hdaModule().methodmenu(hou.evalParm('intype'),hou.evalParm('outtype'))" ]
	    language	python
	}
	range	{ 0 1 }
	export	none
	parmtag	{ "script_callback_language" "python" }
	parmtag	{ "autoscope" "0000000000000000" }
    }
    parm {
	name	"const"
	label	"Constant"
	type	float
	default	{ "0" }
	disablewhen	"{ method != padc }"
	range	{ -1 1 }
	export	none
	parmtag	{ "autoscope" "0000000000000000" }
    }
    parm {
	name	"needconvert"
	label	"needconvert"
	type	integer
	default	{ [ "evalParm('intype')!=evalParm('outtype')" python ] }
	disablewhen	"{ intype != ':)' }"
	range	{ 0 10 }
	export	none
    }
}
# Automatically generated script: Tuesday March 13, 14:37 2012
\set noalias = 1
#
#  Creation script for typeconvert operator
#

if ( "$arg1" == "" ) then
    echo This script is intended as a creation script
    exit
endif

# Node $arg1 (Vop/typeconvert)
opexprlanguage -s hscript $arg1
opuserdata -n '___Version___' -v '' $arg1
ParmsFromVfl := 0;
PrefixDroppedParmName := 0;
UseDSParms := 1;
ForbidOutsideParms := 1;
LockContents := 1;
SaveSpareParms := 0;
CheckExternal := 1;
GzipContents := 1;
MakeDefault := 1;
SaveCachedCode := 0;
PrefixDroppedParmLabel := 0;
UnlockOnCreate := 0;
<?xml version="1.0" encoding="UTF-8"?>
<shelfDocument>
  <!-- This file contains definitions of shelves, toolbars, and tools.
 It should not be hand-edited when it is being used by the application.
 Note, that two definitions of the same element are not allowed in
 a single file. -->

  <tool name="$HDA_TABLE_$HDA_NAME" label="$HDA_LABEL" icon="$HDA_ICON">
    <toolMenuContext name="viewer">
      <contextNetType>VOP</contextNetType>
    </toolMenuContext>
    <toolMenuContext name="pop_viewer">
      <contextNetType>VOP</contextNetType>
    </toolMenuContext>
    <toolMenuContext name="network">
      <contextOpType>$HDA_TABLE/$HDA_NAME</contextOpType>
    </toolMenuContext>
    <toolSubmenu>Convert</toolSubmenu>
    <script scriptType="python"><![CDATA[import voptoolutils

voptoolutils.genericTool(kwargs, '$HDA_NAME')]]></script>
  </tool>
</shelfDocument>
      [͒^'>|o-td.rqj+Z+nĐD YSr5-'HORLE`_Oc]>mkO~vsg],\$K:	5o<\ЃO]'8pVxzaO|NiIuCэ9ḫ¥xѷ{g};~Q
xe;}oCF.h8 %ACogOƬy08?`ީ)Gㇳ[&?燄#$FLÈY%3o 3IK40t=úgr΂jRG}7"sN*1 aJh4	]J.LvyUqo;I8GNiN]rFtItSx1I攀9+?aLk:I"k7}}bSr'NbُY$=U%/-C(9<!z4mFkg+
Eʀeʬeʘʬʀ&1M:6wWOZ7S0͝XNZ/7}! ?9t9˧j1`|$䲝pn+6yAI꽙6M&L0+9=Mn]s`ibnR:J1kx4PpuB.:w k"LarX*tn1LBI4.szLJÔvR?ya:En.
L^}n|ZhS5@$\,EyuYQC&J)a^+btk'fp^n'Y" NDZD l,o-E4\ܦtZuz@P`[U1J#'4hw-ְ
 Pdl6MV&os_L`7-ݡR+Hxӂg$0D8C'iyKZ!k#,gۤqU"PR8.#f8q9y4BT$w;ǡS73M7 o7Ӈ$!K剨qWBQϐSmAn!Uod(K ~!)ȒF+#L%m5ĺ,Y"i[*jftdFjPXֵ,F[ZB!,si*bp$t-vSZVGѡ\Jɒkk	_SNwVz}ͭT^EwSKK'ZV<ګrĔJ\Q
Tr?cb8ߓ21#(:1W-׋sZK$nzZ#|NءdAU:fJ<'<\E:0q
sam'yvUrN0[93Z^@iRQPT#:qsSFq#@k>s>}{eJV,T6VX{US/_`*h<wt#8~ITv'sglOhz\*wVl.}28im{I=nww&n}U|ܴx%э\aW;׍
Bbwl-T{^%{%@Y8dNcCڹ=A`N㬜J /cUU=o,>B wsЗS4%~8)Y|J&>x3d	ȹ%q ȥ^ν܇/g\.^ΚN+,D4Ĝ%#_4q<тjQj`³@e5K *?fcx(0TB/5a<cS:vu@pOF>(3nmC2"o3hz	b3sǙ1`2aȝ>P}s2~_z}zVm_dξWzV1Api\̙5b/jq.`*?'+XZ0GM6넻򈞯f(8l Zb o囘>dĭ+ȞhUOD	l e}Nq
DmJ1x-XA`dfu#^I mC窼<EXI$X% QNLaCvk:afY.,ˬpԷE\8~6WE=qb%4K&`?Xppr7&g
f-eZme.vMsϒR==z}?ST}naس#[[&=ޠmx,4ǝS;Z';ZܴҀ1
4(.>'Z}:	p7FnqqhymNRMʨEo dɉ`4QF%FZP:Y&i63AnBxGr5s4Is5}h Zj2Uc:{Z)jL}Lk80[>efyv뷓0w>ݏd[_bMV6¢BDgJD!CyqY"=t])U/:5LMk,xS8oaf5
ʈxN¹ոWA AI8	Ua3%a	Τ=siF5$ Xr׋&"=%,ӌRoJ2rMpUxqfشL=1[3
!3.=eDkL޼FMN~=w%\.p{`7tbe"EDlӀ<E蚚vה62,UǼm
'	iQL`c愦Ail@hBhШma/U VmWQ׮-Ik])_+;WjTtSR704ߒ
Z{@-Z
K,  clM16S&%a`/a`͖	06	06	06	0nM6"]*"e"Q."e#Q2"eN#Q6"e#q<G"sD 2Js@dyDF@dyDF@dyDF@2(2(ݠ$c<G"sD 2<G"sD 2<G"sD 2(2(F9sD 2<G"sD 2<G"sD ~2(2(2(M%ӗyDF@dyDF@e#Q9"e#Q9"e#wX0uc쬂TNf7]۔"{hY@gua_7u;.t*͙EEu2푾Yo\u&K輶}^xӗnUi`kJVHGlkCݺM^[K.4e7޸e^8e[NJI7	E^$E[~ )Șj	Jgr$߹I
5;#zpGS8Ȳ*<aCS
76^I=9Շ[[Y'==[YFRJJIC]Whx,|ᗏse^S  def inoutstring(intype,outtype):
   map = {'float':'f','vector':'v','vector4':'v4'}
   return '%s_%s'%(map[intype],map[outtype])

def methodmenu(intype,outtype):
   sig = inoutstring(intype,outtype)
   nt  = hou.nodeType(hou.vopNodeTypeCategory(),'typeconvertimpl')
   return nt.hdaModule().methodmenu(sig)

def updatemethod(kwargs):
   node = kwargs['node']
   if not node.isInsideLockedHDA():
      hou.parm('method').set('assign')
   node.cook(True)
   node.node('typeconvertimpl').cook()

node = kwargs['node']
node.parm('needconvert').lock(True)   
 OnCreated/Cursor                          OnCreated/IsExpr        OnCreated/IsPython       OnCreated/IsScript       OnCreated/Source      PythonModule/Cursor                           PythonModule/IsExpr        PythonModule/IsPython       PythonModule/IsScript       PythonModule/Source     INDX              DialogScript      OE!    CreateScript    GOE!    TypePropertiesOptions    OE!    Help      OE!    Tools.shelf    gOE!    PythonModule  t  	NZr   ExtraFileOptions  "H   OE! # Dialog script for contour automatically generated 02/22/12 12:08:16

{
    name	contour
    script	contour
    label	Contour

    outercode {
	"#include <pyro_utils.h>"
    }

    code {
	""
	"#if  $active"
	"   // Determine the filter size"
	"   float $fsize = 0;"
	"   #if strcmp(\"$ftype\",\"point\")"
	"      #if $isconnected_fw"
	"         float $fwidth = $fw;"
	"      #else"
	"         float $fwidth = VOPFW($val);"
	"      #endif"
	"      $fsize = abs($fwidth*$fscale);"
	"      $cval = contour($val,max(0,$width),max(0,$sharp),$fsize);"
	"   #else"
	"      $cval = contour($val,max(0,$width),max(0,$sharp));"
	"   #endif"
	""
	"#else"
	""
	"$cval = $val;"
	""
	"#endif"
    }

    input	float	val	"Value to Modify"
    input	float	width	Width
    input	float	sharp	Sharpness
    input	float	fw	"Filter Width Override"
    input	float	fscale	"Filter Scale"
    output	float	cval	"Modified Value"
    inputflags	val	0
    inputflags	width	0
    inputflags	sharp	0
    inputflags	fw	0
    inputflags	fscale	0
    signature	"Default Inputs"	default	{ float float float float float float }
    signature	"3D Value"	v	{ vector float float float float vector }
    signature	"4D Value"	p	{ vector4 float float float float vector4 }

    outputoverrides	default
    {
	___begin	auto
			(0)
    }
    outputoverrides	v
    {
	___begin	auto
			(0,0,0)
    }
    outputoverrides	p
    {
	___begin	auto
			(0,0,0,0)
    }

    help {
	""
    }

    parm {
	name	"signature"
	baseparm
	export	none
    }
    parm {
	name	"spacer3"
	label	"spacer"
	type	label
	nolabel
	default	{ "" }
	range	{ 0 1 }
	export	none
    }
    parm {
	name	"makeui"
	label	"Promote Interface"
	type	button
	nolabel
	default	{ "0" }
	menu	{
	    [ "import pyro2" ]
	    [ "return pyro2.makeuimenu()" ]
	    language	python
	}
	range	{ 0 1 }
	export	none
	parmtag	{ "script_callback_language" "python" }
	parmtag	{ "script_callback" "hou.phm().uiCreate(kwargs)" }
	parmtag	{ "export_disable" "1" }
    }
    group {
	name	"folder0"
	label	"VOP Parameters"

	parm {
	    name	"active"
	    label	"Active"
	    type	toggle
	    default	{ "1" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"width"
	    label	"Width"
	    type	float
	    default	{ "0.01" }
	    disablewhen	"{ active == 0 }"
	    range	{ 0! 0.1 }
	    export	none
	}
	parm {
	    name	"sharp"
	    label	"Sharpness"
	    type	float
	    default	{ "4" }
	    disablewhen	"{ active == 0 }"
	    range	{ 0! 10 }
	    export	none
	}
	parm {
	    name	"ftype"
	    label	"Filter"
	    type	string
	    joinnext
	    default	{ "point" }
	    disablewhen	"{ active == 0 }"
	    menu	{
		"point"	"Point"
		"box"	"Box"
		"gauss"	"Gaussian"
	    }
	    range	{ 0 1 }
	    export	none
	    unquoted
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"fscale"
	    label	"Scale"
	    type	float
	    default	{ "1" }
	    disablewhen	"{ active == 0 } { ftype == point }"
	    range	{ 0 2 }
	    export	none
	}
    }

    group {
	name	"folder0_1"
	label	"UI Promotion"

	parm {
	    name	"ui_prefix"
	    label	"Parameter Prefix"
	    type	string
	    joinnext
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"ui_postfix"
	    label	"Postfix"
	    type	string
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"ui_infolder"
	    label	"ui_infolder"
	    type	toggle
	    nolabel
	    joinnext
	    default	{ "0" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"ui_foldername"
	    label	"Create In Folder"
	    type	string
	    default	{ [ "node('.').creator().relativePathTo(node('.')).replace('/','_')" python ] }
	    disablewhen	"{ ui_infolder == 0 }"
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"leftalign"
	    label	"spacer"
	    type	label
	    nolabel
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"ui_withactive"
	    label	"Add Active Toggle"
	    type	toggle
	    joinnext
	    default	{ "1" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"leftalign2"
	    label	"spacer"
	    type	label
	    nolabel
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"ui_activename"
	    label	"Active Name"
	    type	string
	    default	{ "active" }
	    disablewhen	"{ ui_withactive == 0 }"
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"ui_initactive"
	    label	"Initial Active State"
	    type	toggle
	    default	{ "0" }
	    disablewhen	"{ ui_withactive == 0 }"
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"leftalign3"
	    label	"spacer"
	    type	label
	    nolabel
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"ui_dwhen"
	    label	"Extra Disable When"
	    type	string
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	}
    }

}
# Automatically generated script: Wednesday February 22, 12:08 2012
\set noalias = 1
#
#  Creation script for contour operator
#

if ( "$arg1" == "" ) then
    echo This script is intended as a creation script
    exit
endif

# Node $arg1 (Vop/contour)
opexprlanguage -s hscript $arg1
opuserdata -n '___Version___' -v '' $arg1
ParmsFromVfl := 0;
PrefixDroppedParmName := 1;
UseDSParms := 1;
ForbidOutsideParms := 1;
LockContents := 1;
SaveSpareParms := 0;
CheckExternal := 1;
GzipContents := 1;
MakeDefault := 1;
SaveCachedCode := 0;
PrefixDroppedParmLabel := 1;
UnlockOnCreate := 0;
<?xml version="1.0" encoding="UTF-8"?>
<shelfDocument>
  <!-- This file contains definitions of shelves, toolbars, and tools.
 It should not be hand-edited when it is being used by the application.
 Note, that two definitions of the same element are not allowed in
 a single file. -->

  <tool name="$HDA_TABLE_$HDA_NAME" label="$HDA_LABEL" icon="$HDA_ICON">
    <toolMenuContext name="viewer">
      <contextNetType>VOP</contextNetType>
    </toolMenuContext>
    <toolMenuContext name="pop_viewer">
      <contextNetType>VOP</contextNetType>
    </toolMenuContext>
    <toolMenuContext name="network">
      <contextOpType>$HDA_TABLE/$HDA_NAME</contextOpType>
    </toolMenuContext>
    <toolSubmenu>Utility</toolSubmenu>
    <script scriptType="python"><![CDATA[import voptoolutils

voptoolutils.genericTool(kwargs, '$HDA_NAME')]]></script>
  </tool>
</shelfDocument>
import pyro2

def uiEmbedded(node,prefix='',postfix=''):
   return ()

def uiPromotableInputs(node,prefix='',postfix=''):
   return tuple( ['%s%s%s'%(prefix,p,postfix) for p in ( 
            'width', 'sharp' )] )

def uiRadios(node,prefix='',postfix=''):
   return ()

def uiExtraLinks(node,prefix='',postfix=''):
   out = ()
   if node.evalParm('ui_withactive'):
      out += (('active',"%s%s%s"%(prefix,node.evalParm('ui_activename'),postfix)),)
   return out

def uiCreate(kwargs):
   node  = kwargs['node']
   style = kwargs['script_value']

   iprom  = uiPromotableInputs(node)

   # build the top-level interface
   pyro2.uiCreateFromTuple(style,node,uiParmTemplates(node),iprom,
         prefix  = node.evalParm('ui_prefix'),
         postfix = node.evalParm('ui_postfix') )


def uiAppend(infolder,pt,ptl,tplt):
   if infolder:
      pt.addParmTemplate(tplt)
   else:
      ptl.append(tplt)

def uiParmTemplates( node,
      usenodesettings = True,
      foldername='NODENAME',
      infolder=False,
      withactive=True,
      initactive=0,
      activename="active",
      dwhen   = '',
      prefix  = '',
      postfix = ''
   ):

   # Fetch export settings
   xdwhen = ''
   if usenodesettings:
      infolder   = node.evalParm('ui_infolder')
      foldername = node.evalParm('ui_foldername')
      withactive  = node.evalParm('ui_withactive')
      initactive  = node.evalParm('ui_initactive')
      activename  = node.evalParm('ui_activename')
      xdwhen      = node.evalParm('ui_dwhen')

   # Container list, when infolder==False
   ptl = []

   # Container folder, when infolder==True
   pt = pyro2.uitTabFolder(foldername)
   
   dw = xdwhen + " " + dwhen

   # Do Contour
   if withactive:
      nactive = '%sactive%s'%(prefix,postfix)
      pt2 = hou.ToggleParmTemplate(nactive,
            "Enable Contour", default_value=initactive)
      pt2.hideLabel(True)
      pt2.setJoinWithNext(True)
      pt2.setDisableWhen(dw)
      uiAppend(infolder,pt,ptl,pt2)
      dw += " { %s 0 }"%nactive
   
   # Contour: Width
   pt2 = hou.FloatParmTemplate('%swidth%s'%(prefix,postfix), "Contour: Width", 1,
         default_value=([0.02]), min=0, max=0.1)
   pt2.setDisableWhen(dw)
   pt2.setJoinWithNext(True)
   uiAppend(infolder,pt,ptl,pt2)
   
   # Contour: Sharpness
   pt2 = hou.FloatParmTemplate('%ssharp%s'%(prefix,postfix), "Sharpness", 1,
         default_value=([4]), min=0, max=10)
   pt2.setDisableWhen(dw)
   uiAppend(infolder,pt,ptl,pt2)
   
   if not infolder: return ptl
   return (pt,)    PythonModule/Cursor                           PythonModule/IsExpr        PythonModule/IsPython       PythonModule/IsScript       PythonModule/Source     INDX              DialogScript      R//*
 * PROPRIETARY INFORMATION.  This software is proprietary to
 * Side Effects Software Inc., and is not to be reproduced,
 * transmitted, or disclosed in any way without written permission.
 *
 * Produced by:
 *	Side Effects Software Inc
 *	477 Richmond Street West
 *	Toronto, Ontario
 *	Canada   M5V 3E7
 *	416-504-9876
 *
 */

#include <parameter.ds>

{
    name	"twoway"
    script	"twoway"
    label	"twoway"


    code {
	"#ifndef __vex"
	"  $result = ($condtype != 0 ? ($condition != 0 ? $input2 : $input1)"
	"                            : ($condition != 0 ? $input1 : $input2));"
	"#else"
        "  #if !strcmp($signature, \"b\")"
	"    float $scale = ($condtype != 0 ? ($condition != 0 ? 1 : 0)"
	"                                   : ($condition != 0 ? 0 : 1));"
	"    $result = (1-$scale)*$input1 + $scale*$input2;"
        "  #else"
	"    $result = ($condtype != 0 ? ($condition != 0 ? $input2 : $input1)"
	"                              : ($condition != 0 ? $input1 : $input2));"
	"  #endif"
        "#endif"
    }

    input	int	condition	"Condition Value (int)"
    input	float	input1		"Input 1"
    input	float	input2		"Input 2"
    output	float	result		"Output Value"

    signature	"Float"	 		default { }
    signature	"Integer"		i	{ int int int int }
    signature	"String"		s	{ int string string string }
    signature	"3D Vector" 		v 	{ int vector vector vector }
    signature	"3D Point" 		p 	{ int point point point }
    signature	"3D Normal" 		n 	{ int normal normal normal }
    signature	"RGB Color"	 	c 	{ int color color color }
    signature	"BSDF"	 		b 	{ int bsdf bsdf bsdf }
    signature	"4D Vector" 		v4 	{ int vector4 vector4 vector4 }
    signature	"3x3 Matrix" 		m3 	{ int matrix3 matrix3 matrix3 }
    signature	"4x4 Matrix" 		m 	{ int matrix matrix matrix }

    signature	"Uniform Float"	 	uf	{ ufloat ufloat ufloat ufloat }
    signature	"Uniform 3D Vector" 	uv 	{ ufloat uvector uvector uvector }
    signature	"Uniform 3D Point" 	up 	{ ufloat upoint upoint upoint }
    signature	"Uniform 3D Normal" 	un 	{ ufloat unormal unormal unormal }
    signature	"Uniform RGB Color"	uc 	{ ufloat ucolor ucolor ucolor }
    signature	"Uniform 4x4 Matrix" 	um 	{ ufloat umatrix umatrix umatrix }


    parm {
	name	condtype
	label	Condition
	type	int
	menu	{
	    "true"	"Use Input 1 If Condition True"
	    "false"	"Use Input 1 If Condition False"
	}
	default	{ 0 }
    }

    VOP_FLT_PARM(input2, "Input 2", 0)
    VOP_INT_PARM(input2_i, "Input 2", 0)
    VOP_STR_PARM(input2_s, "Input 2", "")
    VOP_VEC_PARM(input2_v, "Input 2", 0, 0, 0)
    VOP_VEC_PARM(input2_p, "Input 2", 0, 0, 0)
    VOP_VEC_PARM(input2_n, "Input 2", 0, 0, 0)
    VOP_CLR_PARM(input2_c, "Input 2", 1, 1, 1)
    VOP_VEC4_PARM(input2_v4, "Input 2", 0, 0, 0, 0)
    parm {
	name	input2_m3
	label	"Input 2"
	type	float
	size	9
	default	{ 1 0 0 0 1 0 0 0 1 }
    }
    parm {
	name	input2_m
	label	"Input 2"
	type	float
	size	16
	default	{ 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 }
    }

    VOP_FLT_PARM(input2_uf, "Input 2", 0)
    VOP_VEC_PARM(input2_uv, "Input 2", 0, 0, 0)
    VOP_VEC_PARM(input2_up, "Input 2", 0, 0, 0)
    VOP_VEC_PARM(input2_un, "Input 2", 0, 0, 0)
    VOP_VEC_PARM(input2_uc, "Input 2", 0, 0, 0)
    parm {
	name	input2_um
	label	"Input 2"
	type	float
	size	16
	default	{ 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 }
    }
    
    group { name "g0" obsolete 12.0 }
    group { name "g1" obsolete 12.0 }
    group { name "g2" obsolete 12.0 }
}

INDX              DialogScript      LOE!j   CreateScript  L  hOE!j   TypePropertiesOptions    OE!j   Help      OE!j   Tools.shelf    `OE!j   PythonModule    Nz   ExtraFileOptions  0   OE!j# Dialog script for dualrestsolver automatically generated 02/22/12 12:10:02

{
    name	dualrestsolver
    script	dualrestsolver
    label	"Dual Rest Solver"

    outercode {
	"// Include all of pyro so the vex expressions "
	"// have access to the whole library"
	"#include <pyro.h>"
    }

    code {
	"vector $pfail = $fail_fail;"
	""
	"#if defined(VOP_SHADING)"
	"   $pfail  = $fail_shading;"
	"#else"
	"   #if defined(VOP_COP) || defined(VOP_COP2)"
	"      $pfail  = $fail_cop;"
	"   #elif defined(VOP_POP) || defined(VOP_SOP)"
	"      $pfail  = $fail_sop;"
	"   #elif defined(VOP_CHOP)"
	"      $pfail  = $fail_chop;"
	"   #elif defined(VOP_CVEX)"
	"      $pfail  = $fail_cvex;"
	"   #endif"
	"#endif"
	""
	"#if defined(VOP_SHADING) || defined(VOP_SOP) || defined(VOP_POP)"
	"   $Prest        = $bound_rest        ? $rest       : $pfail;"
	"   $Prest_ratio  = $bound_rest_ratio  ? rrinterp($rest_ratio,$restinterp) : 1;"
	"   if($bound_rest2 && $bound_rest2_ratio) {"
	"      $Prest2       = $rest2;"
	"      $Prest2_ratio = rrinterp($rest2_ratio,$restinterp);"
	"   } else {"
	"      $Prest2       = $pfail;"
	"      $Prest2_ratio = 0;"
	"   }"
	"#else"
	"   $Prest        = $pfail;"
	"   $Prest_ratio  = 1;"
	"   $Prest2       = $pfail;"
	"   $Prest2_ratio = 0;"
	"#endif"
    }

    input	int	restinterp	Interpolation
    input	vector	rest	"Rest Position 1"
    input	int	bound_rest	"Whether Rest Position 1 Is Bound"
    input	float	rest_ratio	"Rest1 Ratio"
    input	int	bound_rest_ratio	"Whether Rest Ratio 1 Is Bound"
    input	vector	rest2	"Rest Position 2"
    input	int	bound_rest2	"Whether Rest Position 2 Is Bound"
    input	float	rest2_ratio	"Rest2 Ratio"
    input	int	bound_rest2_ratio	"Whether Rest Ratio 2 Is Bound"
    output	vector	Prest	"Final Rest1"
    output	float	Prest_ratio	"Final Rest1 Ratio"
    output	vector	Prest2	"Final Rest2"
    output	float	Prest2_ratio	"Final Rest2 Ratio"
    inputflags	restinterp	0
    inputflags	rest	0
    inputflags	bound_rest	0
    inputflags	rest_ratio	0
    inputflags	bound_rest_ratio	0
    inputflags	rest2	0
    inputflags	bound_rest2	0
    inputflags	rest2_ratio	0
    inputflags	bound_rest2_ratio	0
    signature	"Default Inputs"	default	{ int vector int float int vector int float int vector float vector float }

    outputoverrides	default
    {
	___begin	auto
			(0,0,0)
	___begin	auto
			(0)
	___begin	auto
			(0,0,0)
	___begin	auto
			(0)
    }

    help {
	""
    }

    parm {
	name	"makeui"
	label	"Promote Interface"
	type	button
	nolabel
	default	{ "ui" }
	menu	{
	    [ "import pyro2" ]
	    [ "return pyro2.makeuimenu()" ]
	    language	python
	}
	range	{ 0 1 }
	export	none
	parmtag	{ "script_callback_language" "python" }
	parmtag	{ "script_callback" "hou.phm().uiCreate(kwargs)" }
	parmtag	{ "autoscope" "0000000000000000" }
    }
    group {
	name	"folder1"
	label	"VOP Parameters"

	parm {
	    name	"spacer"
	    label	"spacer"
	    type	label
	    nolabel
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"restinterp"
	    label	"Ratio Interpolation"
	    type	ordinal
	    default	{ "0" }
	    menu	{
		"0"	"Unmodified (Linear)"
		"1"	"Cubic"
		"2"	"Cosine"
	    }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"spacer2"
	    label	"spacer"
	    type	label
	    nolabel
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"sepparm"
	    label	"Separator"
	    type	separator
	    default	{ }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"fallback_label"
	    label	"fallback_label"
	    type	label
	    nolabel
	    default	{ "Fallback Rest Position Upon Failure (VEX):" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"fail_shading"
	    label	"SHADING Contexts"
	    type	string
	    default	{ "ptransform(\"space:object\",P)" }
	    range	{ 0 1 }
	    export	none
	    unquoted
	}
	parm {
	    name	"fail_cop"
	    label	"COP|COP2 Contexts"
	    type	string
	    default	{ "set(X,Y,0)" }
	    range	{ 0 1 }
	    export	none
	    unquoted
	}
	parm {
	    name	"fail_sop"
	    label	"SOP|POP Contexts"
	    type	string
	    default	{ "P" }
	    range	{ 0 1 }
	    export	none
	    unquoted
	}
	parm {
	    name	"fail_chop"
	    label	"CHOP Context"
	    type	string
	    default	{ "set((float)I/SR,V,0)" }
	    range	{ 0 1 }
	    export	none
	    unquoted
	}
	parm {
	    name	"fail_cvex"
	    label	"CVEX Context"
	    type	string
	    default	{ "0" }
	    range	{ 0 1 }
	    export	none
	    unquoted
	}
	parm {
	    name	"fail_fail"
	    label	"Unknown Context"
	    type	string
	    default	{ "0" }
	    range	{ 0 1 }
	    export	none
	    unquoted
	}
    }

    group {
	name	"folder1_1"
	label	"UI Promotion"

	parm {
	    name	"ui_prefix"
	    label	"Parameter Prefix"
	    type	string
	    joinnext
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"ui_postfix"
	    label	"Postfix"
	    type	string
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"ui_infolder"
	    label	"ui_infolder"
	    type	toggle
	    nolabel
	    joinnext
	    default	{ "off" }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"ui_foldername"
	    label	"Create In Folder"
	    type	string
	    default	{ [ "node('.').creator().relativePathTo(node('.')).replace('/','_')" python ] }
	    disablewhen	"{ ui_infolder == 0 }"
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"ui_withinterp"
	    label	"Include Ratio Interpolation Menu"
	    type	toggle
	    joinnext
	    default	{ "1" }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"labelparm8"
	    label	"leftalign"
	    type	label
	    nolabel
	    default	{ "" }
	    disablewhen	"{ active == 0 }"
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"ui_withfail"
	    label	"Include Fail-State Parameters"
	    type	toggle
	    joinnext
	    default	{ "0" }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"labelparm9"
	    label	"leftalign"
	    type	label
	    nolabel
	    default	{ "" }
	    disablewhen	"{ active == 0 }"
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
    }

}
# Automatically generated script: Wednesday February 22, 12:10 2012
\set noalias = 1
#
#  Creation script for dualrestsolver operator
#

if ( "$arg1" == "" ) then
    echo This script is intended as a creation script
    exit
endif

# Node $arg1 (Vop/dualrestsolver)
opspareds "" $arg1
opexprlanguage -s hscript $arg1
opuserdata -n '___Version___' -v '' $arg1
ParmsFromVfl := 0;
PrefixDroppedParmName := 0;
UseDSParms := 1;
ForbidOutsideParms := 1;
LockContents := 1;
SaveSpareParms := 1;
CheckExternal := 1;
GzipContents := 1;
MakeDefault := 1;
SaveCachedCode := 0;
PrefixDroppedParmLabel := 0;
UnlockOnCreate := 0;
<?xml version="1.0" encoding="UTF-8"?>
<shelfDocument>
  <!-- This file contains definitions of shelves, toolbars, and tools.
 It should not be hand-edited when it is being used by the application.
 Note, that two definitions of the same element are not allowed in
 a single file. -->

  <tool name="$HDA_DEFAULT_TOOL" label="$HDA_LABEL" icon="$HDA_ICON">
    <toolMenuContext name="viewer">
      <contextNetType>VOP</contextNetType>
    </toolMenuContext>
    <toolMenuContext name="pop_viewer">
      <contextNetType>VOP</contextNetType>
    </toolMenuContext>
    <toolMenuContext name="network">
      <contextOpType>$HDA_TABLE_AND_NAME</contextOpType>
    </toolMenuContext>
    <toolSubmenu>Pyro</toolSubmenu>
    <script scriptType="python"><![CDATA[import voptoolutils

voptoolutils.genericTool(kwargs, '$HDA_NAME')]]></script>
  </tool>
</shelfDocument>
import pyro2

def uiEmbedded(node,prefix='',postfix=''):
   return ()

def uiPromotableInputs(node,prefix='',postfix=''):
   return ('%srestinterp%s'%(prefix,postfix),)

def uiRadios(node,prefix='',postfix=''):
   return ()

def uiExtraLinks(node,prefix='',postfix=''):
   return ()



def uiCreate(kwargs):
   node  = kwargs['node']
   style = kwargs['script_value']

   iprom  = uiPromotableInputs(node)
   pvops  = uiEmbedded(node)
   radios = uiRadios(node)
   xlinks = uiExtraLinks(node)

   # build the top-level interface
   pyro2.uiCreateFromTuple(style,node,uiParmTemplates(node),iprom,
                           pvops=pvops,radios=radios,xlinks=xlinks,
                           prefix=node.evalParm('ui_prefix'),
                           postfix=node.evalParm('ui_postfix'))




################################################################################
# UI Promotion
################################################################################

def uiAppend(infolder,pt,ptl,tplt):
   if infolder:
      pt.addParmTemplate(tplt)
   else:
      ptl.append(tplt)

def uiAppendList(infolder,pt,ptl,tpltiter):
   if infolder:
      for t in tpltiter: pt.addParmTemplate(t)
   else:
      ptl += tpltiter

def uiAppendListToGroup(pt,tpltiter):
   for t in tpltiter: pt.addParmTemplate(t)

def uiParmTemplates( 
      node,
      usenodesettings = True,
      foldername='NODENAME',
      infolder=True,
      dwhen   = '',
      prefix  = '',
      postfix = '',
      withinterp = 1,  # whether to include the ratio interpolation menu
      withfail   = 0   # whether to include the fail-state defaults
   ):

   # Fetch export settings
   if usenodesettings:
      infolder    = node.evalParm('ui_infolder')
      foldername  = node.evalParm('ui_foldername')
      withinterp  = node.evalParm('ui_withinterp')
      withfail    = node.evalParm('ui_withfail')

   withboth = (withinterp and withfail)

   # Container list, when infolder==False
   ptl = []

   # Container folder, when infolder==True
   pt = pyro2.uitTabFolder(foldername)

   basedis = dwhen


   if withinterp:
      uiAppend(infolder,pt,ptl,pyro2.uitSpacer())
      # Ratio Interpolation
      pt2 = hou.MenuParmTemplate("%srestinterp%s"%(prefix,postfix), 
            "Ratio Interpolation", default_value=0,
            menu_items=(["linear","cubic","cosine"]), 
            menu_labels=(["Unmodified (Linear)","Cubic","Cosine"]))
      uiAppend(infolder,pt,ptl,pt2)

   if withboth:
      # Separators and decoration when including both
      uiAppend(infolder,pt,ptl,pyro2.uitSpacer())
      uiAppend(infolder,pt,ptl,hou.SeparatorParmTemplate("separator"))

   if withfail:
      if not withinterp: uiAppend(infolder,pt,ptl,pyro2.uitSpacer())

      # Fail Heading
      pt2 = hou.LabelParmTemplate("fallback_label", "fallback_label", 
            column_labels=(["Fallback Rest Position Upon Failure (VEX):"]))
      pt2.hideLabel(True)
      uiAppend(infolder,pt,ptl,pt2)

      if not withinterp: uiAppend(infolder,pt,ptl,pyro2.uitSpacer())

      # Fail: SHADING
      pt2 = hou.StringParmTemplate("%sfail_shading%s"%(prefix,postfix),
            "SHADING Contexts", 1, 
            default_value=(['ptransform("space:object",P)'])) 
      pt2.setTags({"script_unquoted": "1"})
      uiAppend(infolder,pt,ptl,pt2)

      # Fail: COP|COP2
      pt2 = hou.StringParmTemplate("%sfail_cop%s"%(prefix,postfix),
            "COP|COP2 Contexts", 1, default_value=(["set(X,Y,0)"]))
      pt2.setTags({"script_unquoted": "1"})
      uiAppend(infolder,pt,ptl,pt2)

      # Fail: SOP
      pt2 = hou.StringParmTemplate("%sfail_sop%s"%(prefix,postfix),
            "SOP|POP Contexts", 1, default_value=(["P"]) )
      pt2.setTags({"script_unquoted": "1"})
      uiAppend(infolder,pt,ptl,pt2)

      # Fail: CHOP
      pt2 = hou.StringParmTemplate("%sfail_chop%s"%(prefix,postfix),
            "CHOP Context", 1, default_value=(["set((float)I/SR,V,0)"]) )
      pt2.setTags({"script_unquoted": "1"})
      uiAppend(infolder,pt,ptl,pt2)

      # Fail: CVEX
      pt2 = hou.StringParmTemplate("%sfail_cvex%s"%(prefix,postfix),
            "CVEX Context", 1, default_value=(["0"]) )
      pt2.setTags({"script_unquoted": "1"})
      uiAppend(infolder,pt,ptl,pt2)

      # Fail: FAIL
      pt2 = hou.StringParmTemplate("%sfail_fail%s"%(prefix,postfix),
            "Unknown Context", 1, default_value=(["0"]) )
      pt2.setTags({"script_unquoted": "1"})
      uiAppend(infolder,pt,ptl,pt2)


   if infolder: return (pt,)
   return ptl    PythonModule/Cursor                           PythonModule/IsExpr        PythonModule/IsPython       PythonModule/IsScript       PythonModule/Source     INDX              DialogScript      OOE#   CreateScript  O  AOE#   TypePropertiesOptions    OE#   Help      OE#   Tools.shelf    gOE#   PythonModule     ND   OnInputChanged  /   \Na   ExtraFileOptions  /  \OE## Dialog script for efit automatically generated 02/22/12 12:19:12

{
    name	efit
    script	efit
    label	"Fit Range Unclamped"

    outercode {
	"#include <pyro_math.h>"
    }

    code {
	""
	"#if $active"
	"   $fitval = efit($val,$smin,$smax,$tmin,$tmax);"
	"   $isactive = 1;"
	"#else"
	"   $fitval = $val;"
	"   $isactive = 0;"
	"#endif"
    }

    input	float	val	"Value to Fit"
    input	float	smin	"Source Min"
    input	float	smax	"Source Max"
    input	float	tmin	"Target Min"
    input	float	tmax	"Target Max"
    output	float	fitval	"Extrapolated Fit"
    output	int	isactive	"Output 1"
    inputflags	val	0
    inputflags	smin	0
    inputflags	smax	0
    inputflags	tmin	0
    inputflags	tmax	0
    signature	"1D Value and Limits"	default	{ float float float float float float int }
    signature	"3D Value, 1D Limits"	vf	{ vector float float float float vector int }
    signature	"3D Value and Limits"	v	{ vector vector vector vector vector vector int }
    signature	"4D Value, 1D Limits"	v4f	{ vector4 float float float float vector4 int }
    signature	"4D Value and Limits"	v4	{ vector4 vector4 vector4 vector4 vector4 vector4 int }

    outputoverrides	default
    {
	___begin	val
			(0)
	___begin	auto
			(0)
    }
    outputoverrides	vf
    {
	___begin	auto
			(0,0,0)
	___begin	auto
			(0)
    }
    outputoverrides	v
    {
	___begin	val
			(0,0,0)
	___begin	auto
			(0)
    }
    outputoverrides	v4f
    {
	___begin	auto
			(0,0,0,0)
	___begin	auto
			(0)
    }
    outputoverrides	v4
    {
	___begin	val
			(0,0,0,0)
	___begin	auto
			(0)
    }

    help {
	""
    }

    parm {
	name	"signature"
	baseparm
	export	none
    }
    parm {
	name	"spacer3"
	label	"spacer"
	type	label
	nolabel
	default	{ "" }
	range	{ 0 1 }
	export	none
    }
    parm {
	name	"makeui"
	label	"Promote Interface"
	type	button
	nolabel
	default	{ "0" }
	menu	{
	    [ "import pyro2" ]
	    [ "return pyro2.makeuimenu()" ]
	    language	python
	}
	range	{ 0 1 }
	export	none
	parmtag	{ "script_callback_language" "python" }
	parmtag	{ "script_callback" "hou.phm().uiCreate(kwargs)" }
	parmtag	{ "export_disable" "1" }
    }
    group {
	name	"folder0"
	label	"VOP Parameters"

	parm {
	    name	"active"
	    label	"Active"
	    type	toggle
	    default	{ "1" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"labelparm"
	    label	"1D Value and Limits"
	    type	label
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"smin"
	    label	"Source Min"
	    type	float
	    default	{ "0" }
	    disablewhen	"{ active == 0 }"
	    range	{ -1 1 }
	    export	none
	}
	parm {
	    name	"smax"
	    label	"Source Max"
	    type	float
	    default	{ "1" }
	    disablewhen	"{ active == 0 }"
	    range	{ -1 1 }
	    export	none
	}
	parm {
	    name	"tmin"
	    label	"Target Min"
	    type	float
	    default	{ "0" }
	    disablewhen	"{ active == 0 }"
	    range	{ -1 1 }
	    export	none
	}
	parm {
	    name	"tmax"
	    label	"Target Max"
	    type	float
	    default	{ "1" }
	    disablewhen	"{ active == 0 }"
	    range	{ -1 1 }
	    export	none
	}
	parm {
	    name	"labelparm2"
	    label	"3D Value and Limits"
	    type	label
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"smin_v"
	    label	"Source Min"
	    type	vector
	    size	3
	    default	{ "0" "0" "0" }
	    disablewhen	"{ active == 0 }"
	    range	{ -1 1 }
	    export	none
	}
	parm {
	    name	"smax_v"
	    label	"Source Max"
	    type	vector
	    size	3
	    default	{ "1" "1" "1" }
	    disablewhen	"{ active == 0 }"
	    range	{ -1 1 }
	    export	none
	}
	parm {
	    name	"tmin_v"
	    label	"Target Min"
	    type	vector
	    size	3
	    default	{ "0" "0" "0" }
	    disablewhen	"{ active == 0 }"
	    range	{ -1 1 }
	    export	none
	}
	parm {
	    name	"tmax_v"
	    label	"Target Max"
	    type	vector
	    size	3
	    default	{ "1" "1" "1" }
	    disablewhen	"{ active == 0 }"
	    range	{ -1 1 }
	    export	none
	}
	parm {
	    name	"labelparm3"
	    label	"4D Value and Limits"
	    type	label
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"smin_v4"
	    label	"Source Min"
	    type	vector4
	    size	4
	    default	{ "0" "0" "0" "0" }
	    disablewhen	"{ active == 0 }"
	    range	{ -1 1 }
	    export	none
	}
	parm {
	    name	"smax_v4"
	    label	"Source Max"
	    type	vector4
	    size	4
	    default	{ "1" "1" "1" "1" }
	    disablewhen	"{ active == 0 }"
	    range	{ -1 1 }
	    export	none
	}
	parm {
	    name	"tmin_v4"
	    label	"Target Min"
	    type	vector4
	    size	4
	    default	{ "0" "0" "0" "0" }
	    disablewhen	"{ active == 0 }"
	    range	{ -1 1 }
	    export	none
	}
	parm {
	    name	"tmax_v4"
	    label	"Target Max"
	    type	vector4
	    size	4
	    default	{ "1" "1" "1" "1" }
	    disablewhen	"{ active == 0 }"
	    range	{ -1 1 }
	    export	none
	}
    }

    group {
	name	"folder0_1"
	label	"UI Promotion"

	group {
	    name	"folder1_1"
	    label	"UI Promotion"

	    parm {
		name	"ui_prefix"
		label	"Parameter Prefix"
		type	string
		joinnext
		default	{ "" }
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"ui_postfix"
		label	"Postfix"
		type	string
		default	{ "" }
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"ui_infolder"
		label	"ui_infolder"
		type	toggle
		nolabel
		joinnext
		default	{ "0" }
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"ui_foldername"
		label	"Create In Folder"
		type	string
		default	{ [ "node('.').creator().relativePathTo(node('.')).replace('/','_')" python ] }
		disablewhen	"{ ui_infolder == 0 }"
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"leftalign2"
		label	"spacer"
		type	label
		nolabel
		default	{ "" }
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"ui_withactive"
		label	"Add Active Toggle"
		type	toggle
		joinnext
		default	{ "1" }
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"leftalign"
		label	"spacer"
		type	label
		nolabel
		default	{ "" }
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"ui_activename"
		label	"Active Name"
		type	string
		default	{ "active" }
		disablewhen	"{ ui_withactive == 0 }"
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"ui_activelabel"
		label	"Active Label"
		type	string
		default	{ "Fit To Range (Unclamped)" }
		disablewhen	"{ ui_withactive == 0 }"
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"ui_initactive"
		label	"Initial Active State"
		type	toggle
		default	{ "0" }
		disablewhen	"{ ui_withactive == 0 }"
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"leftalign3"
		label	"spacer"
		type	label
		nolabel
		default	{ "" }
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"ui_dwhen"
		label	"Extra Disable When"
		type	string
		default	{ "" }
		range	{ 0 1 }
		export	none
	    }
	}

    }

    parm {
	name	"pfx"
	label	"pfx"
	type	string
	invisible
	default	{ [ "evalParm('signature').replace('default','f')" python ] }
	range	{ 0 1 }
	export	none
	unquoted
    }
}
# Automatically generated script: Wednesday February 22, 12:19 2012
\set noalias = 1
#
#  Creation script for efit operator
#

if ( "$arg1" == "" ) then
    echo This script is intended as a creation script
    exit
endif

# Node $arg1 (Vop/efit)
opexprlanguage -s hscript $arg1
opuserdata -n '___Version___' -v '' $arg1
ParmsFromVfl := 0;
PrefixDroppedParmName := 1;
UseDSParms := 1;
ForbidOutsideParms := 1;
LockContents := 1;
SaveSpareParms := 0;
CheckExternal := 1;
GzipContents := 1;
MakeDefault := 1;
SaveCachedCode := 0;
PrefixDroppedParmLabel := 1;
UnlockOnCreate := 0;
<?xml version="1.0" encoding="UTF-8"?>
<shelfDocument>
  <!-- This file contains definitions of shelves, toolbars, and tools.
 It should not be hand-edited when it is being used by the application.
 Note, that two definitions of the same element are not allowed in
 a single file. -->

  <tool name="$HDA_TABLE_$HDA_NAME" label="$HDA_LABEL" icon="$HDA_ICON">
    <toolMenuContext name="viewer">
      <contextNetType>VOP</contextNetType>
    </toolMenuContext>
    <toolMenuContext name="pop_viewer">
      <contextNetType>VOP</contextNetType>
    </toolMenuContext>
    <toolMenuContext name="network">
      <contextOpType>$HDA_TABLE/$HDA_NAME</contextOpType>
    </toolMenuContext>
    <toolSubmenu>Utility</toolSubmenu>
    <script scriptType="python"><![CDATA[import voptoolutils

voptoolutils.genericTool(kwargs, '$HDA_NAME')]]></script>
  </tool>
</shelfDocument>
import pyro2

def uiEmbedded(node,prefix='',postfix=''):
   return ()

def uiPromotableInputs(node,prefix='',postfix=''):
   return tuple( ['%s%s%s'%(prefix,p,postfix) for p in ( 
            'smin', 'smax', 'tmin', 'tmax' )] )

def uiRadios(node,prefix='',postfix=''):
   return ()

def uiExtraLinks(node,prefix='',postfix=''):
   return ()


def uiCreate(kwargs):
   node  = kwargs['node']
   style = kwargs['script_value']

   iprom   = uiPromotableInputs(node)
   xlinks  = uiExtraLinks(node)

   # build the top-level interface
   pyro2.uiCreateFromTuple(style,node,uiParmTemplates(node),iprom,
                             prefix=node.evalParm('ui_prefix'),
                             postfix=node.evalParm('ui_postfix'))

def uiAppend(infolder,pt,ptl,tplt):
   if infolder:
      pt.addParmTemplate(tplt)
   else:
      ptl.append(tplt)

def uiParmTemplates(node,
      usenodesettings = True,
      foldername='NODENAME',
      infolder=False,
      withactive=True,
      initactive=0,
      activename="active",
      activelabel="Fit to Range (Unclamped)",
      dwhen   = '',
      prefix  = '',
      postfix = ''
   ):

   # Fetch export settings
   xdwhen = ''
   if usenodesettings:
      infolder    = node.evalParm('ui_infolder')
      foldername  = node.evalParm('ui_foldername')
      withactive  = node.evalParm('ui_withactive')
      initactive  = node.evalParm('ui_initactive')
      activename  = node.evalParm('ui_activename')
      activelabel = node.evalParm('ui_activelabel')
      xdwhen      = node.evalParm('ui_dwhen')

   sig = node.currentSignatureName()
   # The num of components in the limit type
   ncomp = {'default':1,'vf':1,'v':3,'v4f':1,'v4':4}[sig]
   # The signature postfix for the link names
   spfx = {'default':'','vf':'','v':'_v','v4f':'','v4':'_v4'}[sig]

   # Whether to join the min/max limits (only for floats)
   dojoin = (ncomp == 1)

   # The tags for the numerical parms
   vartags = {'pyro_sigpostfix':spfx}

   # Container list, when infolder==False
   ptl = []

   # Container folder, when infolder==True
   pt = pyro2.uitTabFolder(foldername)

   # base disablewhen
   dw = xdwhen + " " + dwhen

   # Do Fit to Range
   if withactive:
      nactive = '%sactive%s'%(prefix,postfix)
      pt2 = hou.ToggleParmTemplate(nactive,
            activelabel, default_value=initactive)
      pt2.setJoinWithNext(True)
      pt2.setDisableWhen(dw)
      uiAppend(infolder,pt,ptl,pt2)
      dw += "{ %s 0 } "%nactive
      uiAppend(infolder,pt,ptl,pyro2.uitSpacer())

   # Fit Source: Min
   label = ("Source Min","Source Range")[dojoin]
   pt2 = hou.FloatParmTemplate('%ssmin%s'%(prefix,postfix),
         label, ncomp, default_value=([0]), min=0, max=1)
   pt2.setDisableWhen(dw)
   pt2.setJoinWithNext(dojoin)
   pt2.setTags(vartags)
   uiAppend(infolder,pt,ptl,pt2)
   
   # Fit Source: Max
   label = ("Source Max","Max")[dojoin]
   pt2 = hou.FloatParmTemplate('%ssmax%s'%(prefix,postfix),
         label, ncomp, default_value=([1]), min=0, max=1)
   pt2.setDisableWhen(dw)
   pt2.hideLabel(dojoin)
   pt2.setTags(vartags)
   uiAppend(infolder,pt,ptl,pt2)
   
   # Fit Target: Min
   label = ("Target Min","Target Range")[dojoin]
   pt2 = hou.FloatParmTemplate('%stmin%s'%(prefix,postfix),
         label, ncomp, default_value=([0]), min=0, max=1)
   pt2.setDisableWhen(dw)
   pt2.setJoinWithNext(dojoin)
   pt2.setTags(vartags)
   uiAppend(infolder,pt,ptl,pt2)
   
   # Fit Target: Max
   label = ("Target Max","Max")[dojoin]
   pt2 = hou.FloatParmTemplate('%stmax%s'%(prefix,postfix),
         label, ncomp, default_value=([1]), min=0, max=1)
   pt2.setDisableWhen(dw)
   pt2.hideLabel(dojoin)
   pt2.setTags(vartags)
   uiAppend(infolder,pt,ptl,pt2)
   
   if infolder: return (pt,)
   return ptl#hou.ui.displayMessage("%s: Input Changed"%kwargs['node'].name())
#kwargs['node'].cook(True)   
 OnInputChanged/Cursor                           OnInputChanged/IsExpr        OnInputChanged/IsPython       OnInputChanged/IsScript       OnInputChanged/Source      PythonModule/Cursor                           PythonModule/IsExpr        PythonModule/IsPython       PythonModule/IsScript       PythonModule/Source     INDX              DialogScript      6OE!   CreateScript  6  KOE!   TypePropertiesOptions  	  OE!   Help  
    OE!   Tools.shelf  
  dOE!   PythonModule    Nl   	OnCreated     M   ExtraFileOptions  l  COE!# Dialog script for fieldname automatically generated 02/22/12 12:10:48

{
    name	fieldname
    script	fieldname
    label	"Field Name"

    outercode {
	"// Bring all of pyro in case we want to use some of the"
	"// library functions in a field expression"
	"#include <pyro.h>"
    }

    code {
	"#if $islegal"
	"   $fieldval = isbound(\"$parmname\") ? $parmname : $dfltval;"
	"#elif !strcmp(\"$finalval\",\"__default__\")"
	"   $fieldval = $dfltval;"
	"#else"
	"   $fieldval = (vector4) ( $finalval );"
	"#endif"
    }

    input	vector4	dfltval	"Default Field Value"
    output	vector4	fieldval	"Field Value"
    inputflags	dfltval	0
    signature	"Default Inputs"	default	{ vector4 vector4 }

    outputoverrides	default
    {
	___begin	auto
			(0,0,0,0)
    }

    help {
	""
    }

    parm {
	name	"name"
	label	"Field Name or Expr"
	type	string
	default	{ "density" }
	range	{ 0 1 }
	export	none
	unquoted
    }
    parm {
	name	"dfltval"
	label	"Default Value"
	type	vector4
	size	4
	default	{ "0" "0" "0" "0" }
	range	{ -1 1 }
	export	none
    }
    parm {
	name	"islegal"
	label	"Is Legal"
	type	integer
	invisible
	default	{ [ "phm().needsparmvop(node('.'),evalParm('name'))" python ] }
	disablewhen	"{ dummy == 1 }"
	range	{ 0 10 }
	export	none
    }
    parm {
	name	"parmname"
	label	"Parm Name"
	type	string
	invisible
	default	{ [ "phm().makeparmname(node('.'),evalParm('name'))" python ] }
	disablewhen	"{ dummy == 1 }"
	range	{ 0 1 }
	export	none
	unquoted
    }
    parm {
	name	"finalval"
	label	"Final Value"
	type	string
	invisible
	default	{ [ "phm().finalval(node('.'),evalParm('name'),evalParmTuple('dfltval'))" python ] }
	disablewhen	"{ dummy == 1 }"
	range	{ 0 1 }
	export	none
	unquoted
    }
    parm {
	name	"final"
	label	"Final Assignment"
	type	string
	invisible
	default	{ [ "'vector4 fieldval = %s;' % evalParm('finalval')" python ] }
	disablewhen	"{ dummy == 1 }"
	range	{ 0 1 }
	export	none
	unquoted
    }
    parm {
	name	"dummy"
	label	"dummy"
	type	integer
	invisible
	default	{ "1" }
	range	{ 0 10 }
	export	none
	parmtag	{ "export_disable" "1" }
    }
}
# Automatically generated script: Wednesday February 22, 12:10 2012
\set noalias = 1
#
#  Creation script for fieldname operator
#

if ( "$arg1" == "" ) then
    echo This script is intended as a creation script
    exit
endif

# Node $arg1 (Vop/fieldname)
opexprlanguage -s hscript $arg1
opuserdata -n '___Version___' -v '' $arg1
ParmsFromVfl := 0;
PrefixDroppedParmName := 1;
UseDSParms := 1;
ForbidOutsideParms := 1;
LockContents := 1;
SaveSpareParms := 0;
CheckExternal := 1;
GzipContents := 1;
MakeDefault := 1;
SaveCachedCode := 0;
PrefixDroppedParmLabel := 1;
UnlockOnCreate := 0;
<?xml version="1.0" encoding="UTF-8"?>
<shelfDocument>
  <!-- This file contains definitions of shelves, toolbars, and tools.
 It should not be hand-edited when it is being used by the application.
 Note, that two definitions of the same element are not allowed in
 a single file. -->

  <tool name="$HDA_TABLE_$HDA_NAME" label="$HDA_LABEL" icon="$HDA_ICON">
    <toolMenuContext name="viewer">
      <contextNetType>VOP</contextNetType>
    </toolMenuContext>
    <toolMenuContext name="pop_viewer">
      <contextNetType>VOP</contextNetType>
    </toolMenuContext>
    <toolMenuContext name="network">
      <contextOpType>$HDA_TABLE/$HDA_NAME</contextOpType>
    </toolMenuContext>
    <toolSubmenu>Pyro</toolSubmenu>
    <script scriptType="python"><![CDATA[import voptoolutils

voptoolutils.genericTool(kwargs, '$HDA_NAME')]]></script>
  </tool>
</shelfDocument>
import pyro2

def needsparmvop(node,fieldname):
   name = fieldname.strip()
   return len(name)>0 and not pyro2.isGlobalVar(node,name) \
          and not pyro2.isExpression(name)

def finalval(node,fieldname,dfltval):
   name = fieldname.strip()
   if not name: return '__default__' #''.join(('{',repr(dfltval)[1:-1],'}'))
   return name

def makeparmname(node,fieldname):
   unused = node.creator().relativePathTo(node).replace('/','_')
   return (unused,fieldname)[needsparmvop(node,fieldname)]node = kwargs['node']
node.parm('islegal').lock(True)
node.parm('parmname').lock(True)
node.parm('finalval').lock(True)
node.parm('final').lock(True)   
 OnCreated/Cursor                           OnCreated/IsExpr        OnCreated/IsPython       OnCreated/IsScript       OnCreated/Source      PythonModule/Cursor                           PythonModule/IsExpr        PythonModule/IsPython       PythonModule/IsScript       PythonModule/Source     INDX              DialogScript      R//*
 * PROPRIETARY INFORMATION.  This software is proprietary to
 * Side Effects Software Inc., and is not to be reproduced,
 * transmitted, or disclosed in any way without written permission.
 *
 * Produced by:
 *      Side Effects Software Inc
 *      477 Richmond Street West
 *      Toronto, Ontario
 *      Canada   M5V 3E7
 *      416-504-9876
 *
 */

#include <parameter.ds>

{
    name	"curlnoise"
    script	"curlnoise"
    label	"curlnoise"

    outercode {
	"#include <voplib.h>"
    }

    code {
	"#if !strcmp($signature, \"default\")"
	"  $noise = vop_curlNoiseVV($pos, $freq, $offset, $normal, $type, $sdf, $turb, $bounce, $amp, $rough, $atten, $dist, $radius, $h);"
	"#else"
	"  $noise = vop_curlNoiseVP($pos, $freq, $offset, $normal, $type, $sdf, $turb, $bounce, $amp, $rough, $atten, $dist, $radius, $h);"
	"#endif"
    }
   
    input	string	type	"Noise Type"

    input	point	pos	"Position"
    input	vector	freq	"Frequency"
    input	point	offset	"Offset"
    input	float	amp	"Amplitude"
    input	float	rough	"Roughness"
    input	float	atten	"Attenuation"
    input	int	turb	"Turbulence"
    input	float	h	"Step Size"
    input	float	radius	"Surface Effect Radius"
    input	float	dist	"Distance to Surface"
    input	vector	normal	"Surface Normal"
    input	string	sdf	"Collision SDF"
    input	int	bounce	"Enable Bouncing"
    output	vector	noise	"Noise"

    signature	"3D Noise"	default	{ string point vector point float float float int float float float vector string int vector }
    signature	"4D Noise"	vp	{ string vector4 vector4 vector4 float float float int float float float vector string int vector }

    parm {
	name type
	label "Noise Type"
	type string
	menu	{
	    "pnoise"	"Perlin Noise"
	    "onoise"	"Original Perlin Noise"
	    "snoise"	"Sparse Convolution Noise"
	    "anoise"	"Alligator Noise"
	    "xnoise"	"Simplex Noise"
	    "exact_pnoise"	"Analytic Perlin Noise"
	    "exact_xnoise"	"Analytic Simplex Noise"
	}
	default { "pnoise" }
    }

    VOP_VEC_PARM	(pos,		"Position", 0, 0, 0)
    VOP_VEC4_PARM	(pos_vp,	"Position", 0, 0, 0, 0)

    VOP_VEC_PARM	(freq,		"Frequency", 1, 1, 1)
    VOP_VEC4_PARM	(freq_vp,	"Frequency", 1, 1, 1, 1)

    VOP_VEC_PARM	(offset,	"Offset", 0, 0, 0)
    VOP_VEC4_PARM	(offset_vp,	"Offset", 0, 0, 0, 0)

    VOP_FLT_PARM_R	(amp,		"Amplitude",	1, -1, 1)
    VOP_FLT_PARM	(rough,		"Roughness",	0.5)
    VOP_FLT_PARM	(atten,		"Attenuation",	1)
    VOP_INT_PARM_R	(turb,		"Turbulence",	3, 1, 12)

    parm {
	name	h
	label	"Step Size"
	size	1
	type	float
	default	{ 0.0001 }
	disablewhen "{ type == \"exact_pnoise\" } { type == \"exact_xnoise\" } "
    }

    parm {
	name	radius
	label	"Surface Effect Radius"
	size	1
	type	float
	default	{ 1 }
	range	{ 0 10 }
	disablewhen "{ type == \"exact_pnoise\" } { type == \"exact_xnoise\" } "
    }

    parm {
	name	dist
	label	"Distance to Surface"
	size	1
	type	float
	default	{ 1 }
	disablewhen "{ type == \"exact_pnoise\" } { type == \"exact_xnoise\" } "
    }

    parm {
	name	normal
	label	"Surface Normal"
	size	3
	type	float
	default	{ 0 0 0 }
	disablewhen "{ type == \"exact_pnoise\" } { type == \"exact_xnoise\" } "
    }

    parm {
	name	sdf
	label	"Collision SDF"
	size	1
	type	string
	default	{ "" }
	disablewhen "{ type == \"exact_pnoise\" } { type == \"exact_xnoise\" } "
    }

    parm {
	name	bounce
	label	"Enable Bouncing SDF"
	size	1
	type	toggle
	default	{ 0 }
	disablewhen "{ type == \"exact_pnoise\" } { type == \"exact_xnoise\" } "
    }
}

INDX              DialogScript      =Q   CreateScript  =  VQ   TypePropertiesOptions    QGOI   Help      QGOI   Tools.shelf    cQGOI   Contents.gz    9Q   InternalFileOptions  0   Q   ExtraFileOptions  J   QGOI# Dialog script for geometryvopglobal automatically generated 05/22/13 15:13:22

{
    name	geometryvopglobal
    script	geometryvopglobal
    label	"Geometry VOP Global Parameters"

    output	vector	P	P
    output	vector	v	Velocity
    output	vector	force	Force
    output	float	life	Life
    output	float	age	Age
    output	int	id	Id
    output	vector	Cd	Cd
    output	vector	N	N
    output	float	Time	Time
    output	float	Timeinc	"Time Inc"
    output	float	Frame	Frame
    output	int	ptnum	"Point Number"
    output	int	primnum	"Primitive Number"
    output	int	vtxnum	"Vertex Number"
    output	int	numpt	"Number of Points"
    output	int	numprim	"Number of Prims"
    output	int	numvtx	"Number of Vertices"
    output	string	OpInput1	"First Input"
    output	string	OpInput2	"Second Input"
    output	string	OpInput3	"Third Input"
    output	string	OpInput4	"Fourth Input"
    signature	"Default Inputs"	default	{ vector vector vector float float int vector vector float float float int int int int int int string string string string }

    outputoverrides	default
    {
	___begin	auto
			(0,0,0)
	___begin	auto
			(0,0,0)
	___begin	auto
			(0,0,0)
	___begin	auto
			(0)
	___begin	auto
			(0)
	___begin	auto
			(0)
	___begin	auto
			(0,0,0)
	___begin	auto
			(0,0,0)
	___begin	auto
			(0)
	___begin	auto
			(0)
	___begin	auto
			(0)
	___begin	auto
			(0)
	___begin	auto
			(0)
	___begin	auto
			(0)
	___begin	auto
			(0)
	___begin	auto
			(0)
	___begin	auto
			(0)
	___begin	auto
			("")
	___begin	auto
			("")
	___begin	auto
			("")
	___begin	auto
			("")
    }

    help {
	""
    }

}
# Automatically generated script: Wednesday May 22, 15:13 2013
\set noalias = 1
#
#  Creation script for geometryvopglobal operator
#

if ( "$arg1" == "" ) then
    echo This script is intended as a creation script
    exit
endif

# Node $arg1 (Vop/geometryvopglobal)
opexprlanguage -s hscript $arg1
opuserdata -n '___Version___' -v '' $arg1
SaveSpareParms := 1;
CheckExternal := 1;
GzipContents := 1;
UnlockOnCreate := 0;
SaveCachedCode := 0;
LockContents := 1;
MakeDefault := 1;
UseDSParms := 1;
ForbidOutsideParms := 1;
PrefixDroppedParmLabel := 1;
PrefixDroppedParmName := 1;
ParmsFromVfl := 0;
<?xml version="1.0" encoding="UTF-8"?>
<shelfDocument>
  <!-- This file contains definitions of shelves, toolbars, and tools.
 It should not be hand-edited when it is being used by the application.
 Note, that two definitions of the same element are not allowed in
 a single file. -->

  <tool name="$HDA_DEFAULT_TOOL" label="$HDA_LABEL" icon="$HDA_ICON">
    <toolMenuContext name="viewer">
      <contextNetType>VOP</contextNetType>
    </toolMenuContext>
    <toolMenuContext name="pop_viewer">
      <contextNetType>VOP</contextNetType>
    </toolMenuContext>
    <toolMenuContext name="network">
      <contextOpType>$HDA_TABLE_AND_NAME</contextOpType>
    </toolMenuContext>
    <toolSubmenu>Globals</toolSubmenu>
    <script scriptType="python"><![CDATA[import voptoolutils

voptoolutils.genericTool(kwargs, '$HDA_NAME')]]></script>
  </tool>
</shelfDocument>
      [oSHtx/b	Rb+vmɐeLC]	IǛ3AG>&Ǽgg^ڟ0O|%D$(e~)W#Lwˬo͢Jy}_ʾ'i=cm!Q+&Q(^lV.YQێcu^eanQG!Yʍp]E6˪&uHo`(g]U-W0q]x]ǋty]UV̳_7jbQs\l)&OL6ڋ<\سfo&ԫMPZZ\8o;["s]V̱,k`vc3L+ȋ	n]l.P/Kow^ .V5\A"kxWC*RRI.7+/6/uZÅmϪ7OÄ$a>AﻼA^oyb^VUspw.4/1((	^sZϪ|	Y-fmߊ|ѝu/ uVq;?MVd!%̋r}6,_ޤM~i`nWԞ̭os//I͢^`S˧eL"Qi}#%`·8k~&Ϊ,jX#c506:.Fg%GiݣFلx4:񍃜GgTCUߣ31>1ZEsO4}dI_^܉RΪ~'&v`*>ǮO8F>'	|uh;qUn$b@sǁڳ RjNN`I$dw	1=£'O0zWk+4gPsH<?98*[H\ꔅӨv_~TS^^@."Ip.~gay(o,K=,Ψ+QcPWbU*ߡ(0+xh+Y!)2m2.{+p57ҖƅR vC]}b=U%6ªE-[1Luu#P\AtO٫gNP_bfkMnme6ENG_N{VulT0$n7móW]I6_WIן?2ׇq2Y![xj,],/
lK~{T`X|zn}b@hDjH;r8'NhB@h'IH-bR;жZB{A*P3f@̀ j@m%RւNLeDlԥETk֤@7@s/IQoE8c=,y3g(Pܧ8'%H.
șNL%S[ST,{!gYh.4'Ãq9H6@g :tt:BEt!_i ]Oo"%qp␜WB.BEuޱR]-H˦]xPNA!mfΠA;vz`Ѻ=χ:҉KW0C+#>$:u3t(-cR\|ej}kX3бaW06e~8af~\z~ΠNX8]֤q'<PCw6hXgʭM͠A9rƏrȉc,s~;#ט%4y|ۧt0c(;9_FTt|3TgP#=^6X&5Nb\kz\1ぺz/dwaPhwNӹ:yp3dgΐ!c =1c]wX'"|x}7<YGOĉEЉP4+u=,Pxq-57ox+ai,ẠQZ[tA884Oe8=V	Iwk]P}P_B3Hg Ac@=vz<|wTX"Hω'ti-5顶>ErIA9Ђ\[0a8pÍXdh	KTЍ/<=v I d<PCpM	s^!8Cp=ab,s8ġ!j~KbP;pir ǫjDC{bN:!(`ot36zt3'mϷh'&Cm $,sڠvS~_?8>> ̦ 7`3f(/d0dT.#c[$$c|ߍY۾跍#C5bs|+[CxEF*1^$DĎٜGD``CMbψIOx:ϧ"9u,H,}LesqEl`"yM1L捶'ōEvY2?|7M:؍/WXɾZNFȒNF()fӄMf}k[ [x:wk֮2wD]1G_*^-ޫ{AhH|HKxwip;KQ>#2v82F5j
Wc555E55%5ӵBZGxsu΢]TBT9J:Q	QQ4*!*F%DE㨄usTBT>d4CtsTBTyJ:Q	QQ9*!*<G%DE稄yJ:Q	QQ9*!*j(P稄usTBTyJ:Q	qyJ:Q	QQ9*!*<G%DE-h<<G%DE稄usTBD?稄usTBTyJZ0xNusTBTyJusTBTyJ:Q	s0·bG6@ćOؑN)iQ>=0BN,ֹ+{pDyNwޣމ$w=WԓϠMFhϠ$K=C<=z2!xwPGlC'C'<W}kf(蛙(IfNhx haDt/.I|;iNwm:؂/vw3BA6di6fhڱڞHtgԽAb&vt(nWLWm	 GhEIܟ-u=DṶX+gXy㉱0a<xOڰq۳Q7j'3Fx,bsN=8/:!wӝ7£z{}W3g 	1ӭO $	S?_9!1x=][Cx31v$;Zw|Cxt>^^kx3 oe!Cz]ލ3Bkk}؟j[Yb+>١[ Z>g[Ђǋկ۷dnM_I`-/ӝ"ٳN@      nodeconntype           INDX              DialogScript      *,OE#   CreateScript  *,  EOE#   TypePropertiesOptions  +q  OE#   Help  ,r    OE#   Tools.shelf  ,r  gOE#   PythonModule  /  N=   ExtraFileOptions  ?   OE## Dialog script for limits automatically generated 02/22/12 12:19:28

{
    name	limits
    script	limits
    label	Limits

    outercode {
	"#include <pyro_math.h>"
    }

    code {
	"$clamped = $value;"
	"#if $active"
	"   if($domin) $clamped = max($clamped,$min);"
	"   if($domax) $clamped = min($clamped,$max);"
	"#endif"
    }

    input	int	value	Value
    input	int	domin	"Enable Minimum Limit"
    input	int	min	"Lower Limit"
    input	int	domax	"Enable Maximum Limit"
    input	int	max	"Upper Limit"
    output	int	clamped	"Clamped Value"
    inputflags	value	0
    inputflags	domin	0
    inputflags	min	0
    inputflags	domax	0
    inputflags	max	0
    signature	Int	default	{ int int int int int int }
    signature	Float	f_f_f	{ float int float int float float }
    signature	Vector	v_v_v	{ vector int vector int vector vector }
    signature	"Vector Float Vector"	v_f_v	{ vector int float int vector vector }
    signature	"Vector Vector Float"	v_v_f	{ vector int vector int float vector }
    signature	Point	p_p_p	{ vector4 int vector4 int vector4 vector4 }
    signature	"Point Float Point"	p_f_p	{ vector4 int float int vector4 vector4 }
    signature	"Point Point Float"	p_p_f	{ vector4 int vector4 int float vector4 }
    signature	"IntA Int Int"	ia_i_i	{ inta int int int int inta }
    signature	"IntA IntA Int"	ia_ia_i	{ inta int inta int int inta }
    signature	"IntA IntA IntA"	ia_ia_ia	{ inta int inta int inta inta }
    signature	"IntA Int IntA"	ia_i_ia	{ inta int int int inta inta }
    signature	"FloatA Float Float"	fa_f_f	{ floata int float int float floata }
    signature	"FloatA FloatA Float"	fa_fa_f	{ floata int floata int float floata }
    signature	"FloatA FloatA FloatA"	fa_fa_fa	{ floata int floata int floata floata }
    signature	"FloatA Float FloatA"	fa_f_fa	{ floata int float int floata floata }
    signature	"VectorA Vector Vector"	va_v_v	{ vectora int vector int vector vectora }
    signature	"VectorA VectorA Vector"	va_va_v	{ vectora int vectora int vector vectora }
    signature	"VectorA VectorA VectorA"	va_va_va	{ vectora int vectora int vectora vectora }
    signature	"VectorA VectorA Float"	va_va_f	{ vectora int vectora int float vectora }
    signature	"VectorA Vector VectorA"	va_v_va	{ vectora int vector int vectora vectora }
    signature	"VectorA Vector Float"	va_v_f	{ vectora int vector int float vectora }
    signature	"VectorA Float VectorA"	va_f_va	{ vectora int float int vectora vectora }
    signature	"VectorA Float Vector"	va_f_v	{ vectora int float int vector vectora }
    signature	"VectorA Float Float"	va_f_f	{ vectora int float int float vectora }
    signature	"PointA Point Point"	pa_p_p	{ vector4a int vector4 int vector4 vector4a }
    signature	"PointA PointA Point"	pa_pa_p	{ vector4a int vector4a int vector4 vector4a }
    signature	"PointA PointA PointA"	pa_pa_pa	{ vector4a int vector4a int vector4a vector4a }
    signature	"PointA PointA Float"	pa_pa_f	{ vector4a int vector4a int float vector4a }
    signature	"PointA Point PointA"	pa_p_pa	{ vector4a int vector4 int vector4a vector4a }
    signature	"PointA Point Float"	pa_p_f	{ vector4a int vector4 int float vector4a }
    signature	"PointA Float PointA"	pa_f_pa	{ vector4a int float int vector4a vector4a }
    signature	"PointA Float Point"	pa_f_p	{ vector4a int float int vector4 vector4a }
    signature	"PointA Float Float"	pa_f_f	{ vector4a int float int float vector4a }
    signature	"Vector Float float"	v_f_f	{ vector int float int float vector }
    signature	"Point Float Float"	p_f_f	{ vector4 int float int float vector4 }

    outputoverrides	default
    {
	___begin	auto
			(0)
    }
    outputoverrides	f_f_f
    {
	___begin	auto
			(0)
    }
    outputoverrides	v_v_v
    {
	___begin	auto
			(0,0,0)
    }
    outputoverrides	v_f_v
    {
	___begin	auto
			(0,0,0)
    }
    outputoverrides	v_v_f
    {
	___begin	auto
			(0,0,0)
    }
    outputoverrides	p_p_p
    {
	___begin	auto
			(0,0,0,0)
    }
    outputoverrides	p_f_p
    {
	___begin	auto
			(0,0,0,0)
    }
    outputoverrides	p_p_f
    {
	___begin	auto
			(0,0,0,0)
    }
    outputoverrides	ia_i_i
    {
	___begin	auto
			(0)
    }
    outputoverrides	ia_ia_i
    {
	___begin	auto
			(0)
    }
    outputoverrides	ia_ia_ia
    {
	___begin	auto
			(0)
    }
    outputoverrides	ia_i_ia
    {
	___begin	auto
			(0)
    }
    outputoverrides	fa_f_f
    {
	___begin	auto
			(0)
    }
    outputoverrides	fa_fa_f
    {
	___begin	auto
			(0)
    }
    outputoverrides	fa_fa_fa
    {
	___begin	auto
			(0)
    }
    outputoverrides	fa_f_fa
    {
	___begin	auto
			(0)
    }
    outputoverrides	va_v_v
    {
	___begin	auto
			(0)
    }
    outputoverrides	va_va_v
    {
	___begin	auto
			(0)
    }
    outputoverrides	va_va_va
    {
	___begin	auto
			(0)
    }
    outputoverrides	va_va_f
    {
	___begin	auto
			(0)
    }
    outputoverrides	va_v_va
    {
	___begin	auto
			(0)
    }
    outputoverrides	va_v_f
    {
	___begin	auto
			(0)
    }
    outputoverrides	va_f_va
    {
	___begin	auto
			(0)
    }
    outputoverrides	va_f_v
    {
	___begin	auto
			(0)
    }
    outputoverrides	va_f_f
    {
	___begin	auto
			(0)
    }
    outputoverrides	pa_p_p
    {
	___begin	auto
			(0)
    }
    outputoverrides	pa_pa_p
    {
	___begin	auto
			(0)
    }
    outputoverrides	pa_pa_pa
    {
	___begin	auto
			(0)
    }
    outputoverrides	pa_pa_f
    {
	___begin	auto
			(0)
    }
    outputoverrides	pa_p_pa
    {
	___begin	auto
			(0)
    }
    outputoverrides	pa_p_f
    {
	___begin	auto
			(0)
    }
    outputoverrides	pa_f_pa
    {
	___begin	auto
			(0)
    }
    outputoverrides	pa_f_p
    {
	___begin	auto
			(0)
    }
    outputoverrides	pa_f_f
    {
	___begin	auto
			(0)
    }
    outputoverrides	v_f_f
    {
	___begin	auto
			(0,0,0)
    }
    outputoverrides	p_f_f
    {
	___begin	auto
			(0,0,0,0)
    }

    help {
	""
    }

    parm {
	name	"signature"
	baseparm
	invisible
	export	none
    }
    parm {
	name	"spacer3"
	label	"spacer"
	type	label
	nolabel
	default	{ "" }
	range	{ 0 1 }
	export	none
    }
    parm {
	name	"makeui"
	label	"Promote Interface"
	type	button
	nolabel
	default	{ "0" }
	menu	{
	    [ "import pyro2" ]
	    [ "return pyro2.makeuimenu()" ]
	    language	python
	}
	range	{ 0 1 }
	export	none
	parmtag	{ "script_callback_language" "python" }
	parmtag	{ "script_callback" "hou.phm().uiCreate(kwargs)" }
	parmtag	{ "export_disable" "1" }
    }
    group {
	name	"opsettings"
	label	"VOP Parameters"

	parm {
	    name	"active"
	    label	"Active"
	    type	toggle
	    default	{ "1" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"domin"
	    label	"Lower Limit"
	    type	toggle
	    joinnext
	    default	{ "1" }
	    disablewhen	"{ active == 0 }"
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"spacer"
	    label	"spacer"
	    type	label
	    nolabel
	    default	{ "" }
	    disablewhen	"{ active == 0 } { domin == 0 }"
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"min"
	    label	"Integer"
	    type	integer
	    default	{ "0" }
	    disablewhen	"{ active == 0 } { domin == 0 }"
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"min_f_f_f"
	    label	"Float"
	    type	float
	    default	{ "0" }
	    disablewhen	"{ active == 0 } { domin == 0 }"
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"min_v_v_v"
	    label	"Vector"
	    type	vector
	    size	3
	    default	{ "0" "0" "0" }
	    disablewhen	"{ active == 0 } { domin == 0 }"
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"min_p_p_p"
	    label	"Vector4"
	    type	vector4
	    size	4
	    default	{ "0" "0" "0" "0" }
	    disablewhen	"{ active == 0 } { domin == 0 }"
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"domax"
	    label	"Upper Limit"
	    type	toggle
	    joinnext
	    default	{ "1" }
	    disablewhen	"{ active == 0 }"
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"spacer2"
	    label	"spacer"
	    type	label
	    nolabel
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"max"
	    label	"Integer"
	    type	integer
	    default	{ "1" }
	    disablewhen	"{ active == 0 } { domax == 0 }"
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"max_f_f_f"
	    label	"Float"
	    type	float
	    default	{ "1" }
	    disablewhen	"{ active == 0 } { domax == 0 }"
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"max_v_v_v"
	    label	"Vector"
	    type	vector
	    size	3
	    default	{ "1" "1" "1" }
	    disablewhen	"{ active == 0 } { domax == 0 }"
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"max_p_p_p"
	    label	"Vector4"
	    type	vector4
	    size	4
	    default	{ "1" "1" "1" "1" }
	    disablewhen	"{ active == 0 } { domax == 0 }"
	    range	{ 0 1 }
	    export	none
	}
    }

    group {
	name	"opsettings_1"
	label	"UI Promotion"

	parm {
	    name	"ui_prefix"
	    label	"Parameter Prefix"
	    type	string
	    joinnext
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"ui_postfix"
	    label	"Postfix"
	    type	string
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"ui_infolder"
	    label	"ui_infolder"
	    type	toggle
	    nolabel
	    joinnext
	    default	{ "0" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"ui_foldername"
	    label	"Create In Folder"
	    type	string
	    default	{ [ "node('.').creator().relativePathTo(node('.')).replace('/','_')" python ] }
	    disablewhen	"{ ui_infolder == 0 }"
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"leftalign3"
	    label	"spacer"
	    type	label
	    nolabel
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"ui_withactive"
	    label	"Add Global Active Toggle"
	    type	toggle
	    joinnext
	    default	{ "0" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"leftalign"
	    label	"spacer"
	    type	label
	    nolabel
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"ui_activename"
	    label	"Active Name"
	    type	string
	    default	{ "active" }
	    disablewhen	"{ ui_withactive == 0 }"
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"ui_activelabel"
	    label	"Active Label"
	    type	string
	    default	{ "Enable Limits" }
	    disablewhen	"{ ui_withactive == 0 }"
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"ui_initactive"
	    label	"Initial State"
	    type	toggle
	    default	{ "1" }
	    disablewhen	"{ ui_withactive == 0 }"
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"leftalign4"
	    label	"spacer"
	    type	label
	    nolabel
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"ui_dwhen"
	    label	"Extra Disable When"
	    type	string
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	}
    }

}
# Automatically generated script: Wednesday February 22, 12:19 2012
\set noalias = 1
#
#  Creation script for limits operator
#

if ( "$arg1" == "" ) then
    echo This script is intended as a creation script
    exit
endif

# Node $arg1 (Vop/limits)
opexprlanguage -s hscript $arg1
opuserdata -n '___Version___' -v '' $arg1
ParmsFromVfl := 0;
PrefixDroppedParmName := 0;
UseDSParms := 1;
ForbidOutsideParms := 0;
LockContents := 1;
SaveSpareParms := 0;
CheckExternal := 1;
GzipContents := 1;
MakeDefault := 1;
SaveCachedCode := 0;
PrefixDroppedParmLabel := 0;
UnlockOnCreate := 0;
<?xml version="1.0" encoding="UTF-8"?>
<shelfDocument>
  <!-- This file contains definitions of shelves, toolbars, and tools.
 It should not be hand-edited when it is being used by the application.
 Note, that two definitions of the same element are not allowed in
 a single file. -->

  <tool name="$HDA_TABLE_$HDA_NAME" label="$HDA_LABEL" icon="$HDA_ICON">
    <toolMenuContext name="viewer">
      <contextNetType>VOP</contextNetType>
    </toolMenuContext>
    <toolMenuContext name="pop_viewer">
      <contextNetType>VOP</contextNetType>
    </toolMenuContext>
    <toolMenuContext name="network">
      <contextOpType>$HDA_TABLE/$HDA_NAME</contextOpType>
    </toolMenuContext>
    <toolSubmenu>Utility</toolSubmenu>
    <script scriptType="python"><![CDATA[import voptoolutils

voptoolutils.genericTool(kwargs, '$HDA_NAME')]]></script>
  </tool>
</shelfDocument>
import pyro2


def minfunc(sig):
   tval,tmin,tmax = sig.replace('default','f_f_f').split('_')
   return ''.join(('max',tval,tmin))

def maxfunc(sig):
   tval,tmin,tmax = sig.replace('default','f_f_f').split('_')
   return ''.join(('min',tval,tmax))

def uiEmbedded(node):
   return ()

def uiPromotableInputs(node):
   # the promotable input names (they exclude the filtering stuff)
   return ( 'domin', 'min', 'domax', 'max' )

def uiRadios(node):
   return []

def uiExtraLinks(node):
   out = ()
   if node.evalParm('ui_withactive'):
      out += (('active',"%s%s%s"%(prefix,node.evalParm('ui_activename'),postfix)),)
   return ()


def uiCreate(kwargs):
   node  = kwargs['node']
   style = kwargs['script_value']

   iprom   = uiPromotableInputs(node)

   # build the top-level interface
   pyro2.uiCreateFromTuple(style,node,uiParmTemplates(node),iprom,
         prefix  = node.evalParm('ui_prefix'),
         postfix = node.evalParm('ui_postfix') )



def uiAppend(infolder,pt,ptl,tplt):
   if infolder:
      pt.addParmTemplate(tplt)
   else:
      ptl.append(tplt)

def uiParmTemplates( 
      node,
      usenodesettings = True,
      foldername='NODENAME',
      infolder=False,
      withactive  = 0,
      initactive  = 1,
      activename  = 'domin',
      activelabel = 'Enable Limits',
      dwhen = "",
      prefix  = '',
      postfix = ''
   ):

   # Fetch export settings
   xdwhen = ''
   if usenodesettings:
      infolder    = node.evalParm('ui_infolder')
      foldername  = node.evalParm('ui_foldername')
      withactive  = node.evalParm('ui_withactive')
      initactive  = node.evalParm('ui_initactive')
      activename  = node.evalParm('ui_activename')
      activelabel = node.evalParm('ui_activelabel')
      xdwhen      = node.evalParm('ui_dwhen')

   # The signature postfix for each limit
   sig  = node.currentSignatureName()
   ssig = sig.replace('default','i_i_i').split('_')
   minsig = ssig[1]
   maxsig = ssig[2]
   mintype = minsig[0]
   maxtype = maxsig[0]
   if sig != 'default':
      minpfx = ''.join(('_',minsig))*3
      maxpfx = ''.join(('_',maxsig))*3
   else:
      minpfx = ''
      maxpfx = ''

   # The num of components for each limit
   nmap = {'i':1,'f':1,'v':3,'p':4}
   mincomp = nmap[minsig[0]]
   maxcomp = nmap[maxsig[0]]

   # The tags for each limit
   mintags = {'pyro_sigpostfix': minpfx}
   maxtags = {'pyro_sigpostfix': maxpfx}

   # Container list, when infolder==False
   ptl = []

   # Container folder, when infolder==True
   pt = pyro2.uitTabFolder(foldername)

   # base disablewhen
   dw = xdwhen + " " + dwhen

   # Do Limits
   if withactive:
      nactive = '%sactive%s'%(prefix,postfix)
      pt2 = hou.ToggleParmTemplate(nactive,
            activelabel, default_value=initactive)
      pt2.setJoinWithNext(True)
      pt2.setDisableWhen(dw)
      dw += " { %s 0 }"%nactive
      uiAppend(infolder,pt,ptl,pt2)
      uiAppend(infolder,pt,ptl,pyro2.uitSpacer())

   # Do Lower Limit
   ndomin = '%sdomin%s'%(prefix,postfix)
   pt2 = hou.ToggleParmTemplate(ndomin, "Enable Lower Limit", default_value=0)
   pt2.hideLabel(True)
   pt2.setJoinWithNext(True)
   pt2.setDisableWhen(dw)
   uiAppend(infolder,pt,ptl,pt2)
   
   # Lower Limit
   pt2 = hou.FloatParmTemplate("%smin%s"%(prefix,postfix), "Clamp to Min", mincomp,
         default_value=([0]), min=0, max=1)
   pt2.setDisableWhen(dw + ' { %s 0 }'%ndomin)
   pt2.setTags(mintags)
   uiAppend(infolder,pt,ptl,pt2)
   
   # Do Upper Limit
   ndomax = '%sdomax%s'%(prefix,postfix)
   pt2 = hou.ToggleParmTemplate(ndomax, "Enable Upper Limit", default_value=0)
   pt2.hideLabel(True)
   pt2.setJoinWithNext(True)
   pt2.setDisableWhen(dw)
   uiAppend(infolder,pt,ptl,pt2)
   
   # Upper Limit
   pt2 = hou.FloatParmTemplate("%smax%s"%(prefix,postfix), "Clamp to Max", maxcomp,
         default_value=([1]), min=0, max=1)
   pt2.setDisableWhen(dw + ' { %s 0 }'%ndomax)
   pt2.setTags(maxtags)
   uiAppend(infolder,pt,ptl,pt2)

   #pyro2.uitlRename((pt,ptl)[infolder],{'domin':activenamemin, 'domax':activenamemax})
   
   
   if infolder: return (pt,)
   return ptl    PythonModule/Cursor                           PythonModule/IsExpr        PythonModule/IsPython       PythonModule/IsScript       PythonModule/Source     INDX              DialogScript      (OE#   CreateScript  (  SOE#   TypePropertiesOptions  {  OE#   Help  |    OE#   Tools.shelf  |  dOE#   PythonModule    
N   ExtraFileOptions  !   OE## Dialog script for pyroBlackbody automatically generated 02/22/12 12:20:00

{
    name	pyroBlackbody
    script	pyroPhysicalColor
    label	"Pyro Blackbody"

    outercode {
	"#include <pyro_planck.h>"
	"#include <pyro_color.h>"
    }

    code {
	"#if $active"
	"   float $f = 1;"
	"   #if $isconnected_field"
	"      #if strcmp($signature,\"default\")"
	"         vector $kelvin = (vector)$field * $temp;"
	"         vector $chr1,$chr2,$chr3;"
	"         float  $val1,$val2,$val3;"
	"         blackbody($kelvin.x, $dotm,$tm_adapt,$tm_burn, $chr1,$val1);"
	"         blackbody($kelvin.y, $dotm,$tm_adapt,$tm_burn, $chr2,$val2);"
	"         blackbody($kelvin.z, $dotm,$tm_adapt,$tm_burn, $chr3,$val3);"
	"         $chroma = set($chr1.x,$chr2.y,$chr3.z);"
	"         $value  = set($val1,$val2,$val3);"
	"      #else"
	"         float $kelvin = $field * $temp;"
	"         blackbody($kelvin, $dotm,$tm_adapt,$tm_burn, $chroma,$value);"
	"      #endif"
	"      $col = $chroma * $value;"
	"   #endif"
	"#else"
	"   #if $isconnected_field"
	"      $col = (vector)$field;"
	"      vector $xyy = rgbtoxyy($col);"
	"      $chroma = xyytorgb($xyy*{1,1,0}+{0,0,1});"
	"      $value = xyy.z;"
	"   #else"
	"      $col = $chroma = $value = 0;"
	"   #endif"
	"#endif"
    }

    input	float	field	"Field Value"
    input	float	temp	"Temperature (K)"
    input	int	dotm	"Enable Tone Mapping"
    input	float	tm_adapt	"Tone Mapping: Adaptation"
    input	float	tm_burn	"Tone Mapping: Burn"
    output	vector	col	"Physical Color"
    output	vector	chroma	"Hue Only"
    output	float	value	"Value Only"
    inputflags	field	0
    inputflags	temp	0
    inputflags	dotm	0
    inputflags	tm_adapt	0
    inputflags	tm_burn	0
    signature	"Float Field"	default	{ float float int float float vector vector float }
    signature	"Vector Field"	v	{ vector float int float float vector vector vector }
    signature	"Vector4 Field"	p	{ vector4 float int float float vector vector vector }

    outputoverrides	default
    {
	___begin	auto
			(0,0,0)
	___begin	auto
			(0,0,0)
	___begin	auto
			(0)
    }
    outputoverrides	v
    {
	___begin	auto
			(0,0,0)
	___begin	auto
			(0,0,0)
	___begin	auto
			(0,0,0)
    }
    outputoverrides	p
    {
	___begin	auto
			(0,0,0)
	___begin	auto
			(0,0,0)
	___begin	auto
			(0,0,0)
    }

    help {
	""
    }

    parm {
	name	"signature"
	baseparm
	export	none
    }
    parm {
	name	"makeui"
	label	"Promote Interface"
	type	button
	nolabel
	default	{ "0" }
	menu	{
	    [ "import pyro2" ]
	    [ "return pyro2.makeuimenu()" ]
	    language	python
	}
	range	{ 0 1 }
	export	none
	parmtag	{ "script_callback_language" "python" }
	parmtag	{ "script_callback" "hou.phm().uiCreate(kwargs)" }
    }
    group {
	name	"folder0"
	label	"VOP Parameters"

	parm {
	    name	"active"
	    label	"Active"
	    type	toggle
	    default	{ "1" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"temp"
	    label	"Temperature (K)"
	    type	float
	    default	{ "5000" }
	    range	{ 350! 15000 }
	    export	none
	}
	parm {
	    name	"dotm"
	    label	"Tone Mapping:"
	    type	toggle
	    joinnext
	    default	{ "1" }
	    range	{ 0 10 }
	    export	none
	}
	parm {
	    name	"spacer"
	    label	"Spacer"
	    type	label
	    nolabel
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"tm_adapt"
	    label	"Adaptation"
	    type	float
	    default	{ "0.18" }
	    disablewhen	"{ dotm == 0 }"
	    range	{ 0! 1 }
	    export	none
	}
	parm {
	    name	"tm_burn"
	    label	"Burn"
	    type	float
	    default	{ "0" }
	    disablewhen	"{ dotm == 0 }"
	    range	{ -2 2 }
	    export	none
	}
    }

    group {
	name	"folder0_1"
	label	"UI Promotion"

	parm {
	    name	"ui_prefix"
	    label	"Parameter Prefix"
	    type	string
	    joinnext
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"ui_postfix"
	    label	"Postfix"
	    type	string
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"ui_infolder"
	    label	"ui_infolder"
	    type	toggle
	    nolabel
	    joinnext
	    default	{ "0" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"ui_foldername"
	    label	"Create In Folder"
	    type	string
	    default	{ [ "node('.').creator().relativePathTo(node('.')).replace('/','_')" python ] }
	    disablewhen	"{ ui_infolder == 0 }"
	    range	{ 0 1 }
	    export	none
	}
    }

}
# Automatically generated script: Wednesday February 22, 12:20 2012
\set noalias = 1
#
#  Creation script for pyroBlackbody operator
#

if ( "$arg1" == "" ) then
    echo This script is intended as a creation script
    exit
endif

# Node $arg1 (Vop/pyroBlackbody)
opexprlanguage -s hscript $arg1
opuserdata -n '___Version___' -v '' $arg1
ParmsFromVfl := 0;
PrefixDroppedParmName := 0;
UseDSParms := 1;
ForbidOutsideParms := 0;
LockContents := 1;
SaveSpareParms := 0;
CheckExternal := 1;
GzipContents := 1;
MakeDefault := 1;
SaveCachedCode := 0;
PrefixDroppedParmLabel := 0;
UnlockOnCreate := 0;
<?xml version="1.0" encoding="UTF-8"?>
<shelfDocument>
  <!-- This file contains definitions of shelves, toolbars, and tools.
 It should not be hand-edited when it is being used by the application.
 Note, that two definitions of the same element are not allowed in
 a single file. -->

  <tool name="$HDA_TABLE_$HDA_NAME" label="$HDA_LABEL" icon="$HDA_ICON">
    <toolMenuContext name="viewer">
      <contextNetType>VOP</contextNetType>
    </toolMenuContext>
    <toolMenuContext name="pop_viewer">
      <contextNetType>VOP</contextNetType>
    </toolMenuContext>
    <toolMenuContext name="network">
      <contextOpType>$HDA_TABLE/$HDA_NAME</contextOpType>
    </toolMenuContext>
    <toolSubmenu>Pyro</toolSubmenu>
    <script scriptType="python"><![CDATA[import voptoolutils

voptoolutils.genericTool(kwargs, '$HDA_NAME')]]></script>
  </tool>
</shelfDocument>
import pyro2

def uiEmbedded(node,prefix='',postfix=''):
   return ()

def uiPromotableInputs(node,prefix='',postfix=''):
   return  tuple( ['%s%s%s'%(prefix,p,postfix) for p in ( 
            'temp'     , 'dotm'    , 'tm_adapt'  , 'tm_key' , 'tm_burn' )] )


def uiRadios(node,prefix='',postfix=''):
   return ()

def uiExtraLinks(node,prefix='',postfix=''):
   return ()




def uiCreate(kwargs):
   node  = kwargs['node']
   style = kwargs['script_value']

   iprom = uiPromotableInputs(node)

   # build the top-level interface
   pyro2.uiCreateFromTuple(style,node,uiParmTemplates(node),iprom,
         prefix  = node.evalParm('ui_prefix'),
         postfix = node.evalParm('ui_postfix') )



def uiAppend(infolder,pt,ptl,tplt):
   if infolder:
      pt.addParmTemplate(tplt)
   else:
      ptl.append(tplt)


def uiParmTemplates( 
      node,
      usenodesettings = True,
      foldername='NODENAME',
      infolder=False,
      dwhen   = '',
      prefix  = '',
      postfix = ''
   ):

   # Fetch export settings
   if usenodesettings:
      infolder   = node.evalParm('ui_infolder')
      foldername = node.evalParm('ui_foldername')

   # Container list, when infolder==False
   ptl = []

   # Container folder
   pt = pyro2.uitTabFolder(foldername)

   # Temperature
   pt2 = hou.FloatParmTemplate("%stemp%s"%(prefix,postfix), 
         "Temperature (K)", 1, default_value=([5000]), 
         min=350, max=15000, min_is_strict=True, max_is_strict=False, 
         look=hou.parmLook.Regular, naming_scheme=hou.parmNamingScheme.Base1)
   pt2.setDisableWhen(dwhen)
   uiAppend(infolder,pt,ptl,pt2)
   uiAppend(infolder,pt,ptl,pyro2.uitSpacer())
   
   # Do Tone Mapping
   pt2 = hou.ToggleParmTemplate("%sdotm%s"%(prefix,postfix), 
         "Tone Mapping:", default_value=True, disable_when="")
   pt2.hideLabel(False)
   pt2.setJoinWithNext(True)
   pt2.setDisableWhen(dwhen)
   uiAppend(infolder,pt,ptl,pt2)
   uiAppend(infolder,pt,ptl,pyro2.uitSpacer())
   
   # Adaptation
   pt2 = hou.FloatParmTemplate("%stm_adapt%s"%(prefix,postfix), 
         "Adaptation", 1, default_value=([0.18]), 
         min=0, max=1, min_is_strict=True, max_is_strict=False, 
         look=hou.parmLook.Regular, naming_scheme=hou.parmNamingScheme.Base1)
   pt2.setDisableWhen("{ dotm == 0 } "+dwhen)
   pt2.setJoinWithNext(False)
   uiAppend(infolder,pt,ptl,pt2)
   
   # Burn
   pt2 = hou.FloatParmTemplate("%stm_burn%s"%(prefix,postfix), 
         "Burn", 1, default_value=([0]), 
         min=-2, max=2, min_is_strict=False, max_is_strict=False, 
         look=hou.parmLook.Regular, naming_scheme=hou.parmNamingScheme.Base1)
   pt2.setDisableWhen("{ dotm == 0 } "+dwhen)
   pt2.setJoinWithNext(False)
   uiAppend(infolder,pt,ptl,pt2)
   
   if infolder: return (pt,)
   return ptl    PythonModule/Cursor                           PythonModule/IsExpr        PythonModule/IsPython       PythonModule/IsScript       PythonModule/Source     INDX           	   DialogScript      :bOE#   CreateScript  :b  UOE#   TypePropertiesOptions  ;  OE#   Help  <    OE#   Tools.shelf  <  dOE#   Contents.gz  @  nRr   PythonModule  +  O5   	OnCreated     WNV   ExtraFileOptions  3  COE## Dialog script for pyroColorModel automatically generated 02/22/12 12:20:29

{
    name	pyroColorModel
    script	pyroColorModel
    label	"Pyro Color Model"

    input	float	field	Field
    input	int	usecd	"Use Point Color (Tint With Cd)"
    input	int	cmodel	"Color Model Index"
    input	color	constcol	"Constant Color"
    input	float	rangemin	"RAMP: Interval Min"
    input	float	rangemax	"RAMP: Interval Max"
    input	string	spacename	"Name Of Color Space (rgb,hsl,hsv,Lab,XYZ)"
    input	string	gammaname	"Name Of Gamma Space (linear,srgb,custom)"
    input	float	gammaval	"Custom Gamma Value"
    input	float	temp	"BB: Temperature"
    input	int	dotm	"BB: Enable Tone Mapping"
    input	float	tm_adapt	"BB: Tonemapping: Adaptation"
    input	float	tm_burn	"BB: Tonemapping: Burn"
    input	int	cc_gamut	"Gamut Mapping Type"
    input	int	cc_dohrot	"Enable Hue Rotation"
    input	float	cc_hrot	"Hue rotation"
    input	int	cc_dobias	"Enable Bias Correction"
    input	vector	cc_bias	"Bias Correction"
    input	int	cc_dogain	"Enable Gain Correction"
    input	vector	cc_gain	"Gain Correction"
    input	int	cc_dogamma	"Enable Gamma Correction"
    input	vector	cc_gamma	"Gamma Correction"
    input	int	cc_docontrast	"Enable Contrast Correction"
    input	vector	cc_contrast	"Contrast Correction"
    input	int	cc_dosat	"Enable Saturation Correction"
    input	float	cc_sat	"Saturation Correction"
    input	int	cc_dovalue	"Enable Brightness Correction"
    input	float	cc_value	"Brightness Correction"
    input	int	cc_dotint	"Enable Tint Correction"
    input	vector	cc_tint	"Tint Correction"
    input	float	fw	"Filter Width Override"
    input	float	fscale	"Filter Scale"
    output	vector	col	col
    inputflags	field	0
    inputflags	usecd	0
    inputflags	cmodel	0
    inputflags	constcol	0
    inputflags	rangemin	0
    inputflags	rangemax	0
    inputflags	spacename	0
    inputflags	gammaname	0
    inputflags	gammaval	0
    inputflags	temp	0
    inputflags	dotm	0
    inputflags	tm_adapt	0
    inputflags	tm_burn	0
    inputflags	cc_gamut	0
    inputflags	cc_dohrot	0
    inputflags	cc_hrot	0
    inputflags	cc_dobias	0
    inputflags	cc_bias	0
    inputflags	cc_dogain	0
    inputflags	cc_gain	0
    inputflags	cc_dogamma	0
    inputflags	cc_gamma	0
    inputflags	cc_docontrast	0
    inputflags	cc_contrast	0
    inputflags	cc_dosat	0
    inputflags	cc_sat	0
    inputflags	cc_dovalue	0
    inputflags	cc_value	0
    inputflags	cc_dotint	0
    inputflags	cc_tint	0
    inputflags	fw	0
    inputflags	fscale	0
    signature	"Default Inputs"	default	{ float int int color float float string string float float int float float int int float int vector int vector int vector int vector int float int float int vector float float vector }
    signature	"Vector Field"	v	{ vector int int color float float string string float float int float float int int float int vector int vector int vector int vector int float int float int vector float float vector }
    signature	"Vector4 Field"	p	{ vector4 int int color float float string string float float int float float int int float int vector int vector int vector int vector int float int float int vector float float vector }

    outputoverrides	default
    {
	___begin	auto
			(0,0,0)
    }
    outputoverrides	v
    {
	___begin	auto
			(0,0,0)
    }
    outputoverrides	p
    {
	___begin	auto
			(0,0,0)
    }

    help {
	""
    }

    parm {
	name	"signature"
	baseparm
	export	none
    }
    parm {
	name	"makeui"
	label	"Promote Interface"
	type	button
	nolabel
	default	{ "0" }
	menu	{
	    [ "import pyro2" ]
	    [ "return pyro2.makeuimenu()" ]
	    language	python
	}
	range	{ 0 1 }
	export	none
	parmtag	{ "script_callback_language" "python" }
	parmtag	{ "script_callback" "hou.phm().uiCreate(kwargs)" }
    }
    group {
	name	"folder0"
	label	"VOP Parameters"

	group {
	    name	"Model"
	    label	"Color Model"

	    parm {
		name	"usecd"
		label	"Use Point Color (Tint With Cd)"
		type	toggle
		default	{ "1" }
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"cmodel"
		label	"Color Model"
		type	ordinal
		default	{ "0" }
		menu	{
		    "0"	"Constant Color"
		    "1"	"Ramp Lookup"
		    "2"	"Blackbody"
		}
		range	{ 0 1 }
		export	none
	    }
	    group {
		name	"folder1"
		label	"Constant"

		parm {
		    name	"constcol"
		    label	"Constant"
		    type	color
		    size	3
		    default	{ "1" "1" "1" }
		    disablewhen	"{ cmodel != 0 }"
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"spacer2"
		    label	"spacer"
		    type	label
		    nolabel
		    default	{ "" }
		    range	{ 0 1 }
		    export	none
		}
	    }

	    group {
		name	"folder1_1"
		label	"Ramp"

		parm {
		    name	"rampparm"
		    label	"Unique Ramp Name"
		    type	string
		    joinnext
		    default	{ "rampname" }
		    disablewhen	"{ cmodel != 1 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		}
		parm {
		    name	"ramptype"
		    label	"Ramp Type"
		    type	ordinal
		    default	{ "rgb" }
		    disablewhen	"{ cmodel != 1 }"
		    menu	{
			"rgb"	"Color Ramp"
			"flt"	"Float Spline"
		    }
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "script_callback_language" "python" }
		    parmtag	{ "autoscope" "0000000000000000" }
		}
		parm {
		    name	"spacename"
		    label	"Space"
		    type	string
		    joinnext
		    default	{ "rgb" }
		    disablewhen	"{ cmodel != 1 } { ramptype != rgb }"
		    menu	{
			"rgb"	"RGB"
			"hsv"	"HSV"
			"Lab"	"LAB"
			"hsl"	"HSL"
			"XYZ"	"XYZ"
		    }
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		}
		parm {
		    name	"gammaname"
		    label	"Gamma"
		    type	string
		    joinnext
		    default	{ "srgb" }
		    disablewhen	"{ cmodel != 1 }"
		    menu	{
			"linear"	"Linear"
			"srgb"	"sRGB"
			"custom"	"Custom"
		    }
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		}
		parm {
		    name	"gammaval"
		    label	"Gamma Value"
		    type	float
		    nolabel
		    default	{ "2.2" }
		    disablewhen	"{ cmodel != 1 } { gammaname != custom }"
		    range	{ 0.0001! 4 }
		    export	none
		    parmtag	{ "script_unquoted" "1" }
		    parmtag	{ "autoscope" "0000000000000000" }
		}
		parm {
		    name	"disablewhen"
		    label	"Disable When"
		    type	string
		    default	{ "" }
		    disablewhen	"{ cmodel != 1 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		}
		parm {
		    name	"callback"
		    label	"Callback Script"
		    type	string
		    default	{ "" }
		    disablewhen	"{ cmodel != 1 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		}
		parm {
		    name	"help"
		    label	"Help"
		    type	string
		    default	{ "" }
		    disablewhen	"{ cmodel != 1 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		}
		parm {
		    name	"spacer7"
		    label	"spacer"
		    type	label
		    nolabel
		    default	{ "" }
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"rangemin"
		    label	"Ramp Interval"
		    type	float
		    joinnext
		    default	{ "0" }
		    disablewhen	"{ cmodel != 1 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		}
		parm {
		    name	"rangemax"
		    label	"Max"
		    type	float
		    nolabel
		    default	{ "1" }
		    disablewhen	"{ cmodel != 1 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		}
		parm {
		    name	"lbt"
		    label	"Ramp Boundaries"
		    type	string
		    joinnext
		    default	{ "hold" }
		    disablewhen	"{ cmodel != 1 }"
		    menu	{
			"hold"	"Hold"
			"cycle"	"Cycle"
			"accum"	"Cycle-Accumulate"
			"mirror"	"Mirror"
			"slope"	"Slope"
		    }
		    range	{ 0 1 }
		    export	none
		    unquoted
		    parmtag	{ "autoscope" "0000000000000000" }
		}
		parm {
		    name	"rbt"
		    label	"Right"
		    type	string
		    nolabel
		    default	{ "hold" }
		    disablewhen	"{ cmodel != 1 }"
		    menu	{
			"hold"	"Hold"
			"cycle"	"Cycle"
			"accum"	"Cycle-Accumulate"
			"mirror"	"Mirror"
			"slope"	"Slope"
		    }
		    range	{ 0 1 }
		    export	none
		    unquoted
		    parmtag	{ "autoscope" "0000000000000000" }
		}
		parm {
		    name	"spacer3"
		    label	"spacer"
		    type	label
		    nolabel
		    default	{ "" }
		    range	{ 0 1 }
		    export	none
		}
	    }

	    group {
		name	"folder1_2"
		label	"Blackbody"

		parm {
		    name	"temp"
		    label	"Temperature (K)"
		    type	float
		    default	{ "5000" }
		    disablewhen	"{ cmodel != 2 }"
		    range	{ 350! 15000 }
		    export	none
		}
		parm {
		    name	"spacer8"
		    label	"spacer"
		    type	label
		    nolabel
		    default	{ "" }
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"dotm"
		    label	"Tone Mapping:"
		    type	toggle
		    joinnext
		    default	{ "1" }
		    disablewhen	"{ cmodel != 2 }"
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"spacer9"
		    label	"spacer8"
		    type	label
		    nolabel
		    default	{ "" }
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"tm_adapt"
		    label	"Adaptation"
		    type	float
		    default	{ "0.18" }
		    disablewhen	"{ dotm == 0 } { cmodel != 2 }"
		    range	{ 0! 1 }
		    export	none
		}
		parm {
		    name	"tm_burn"
		    label	"Burn"
		    type	float
		    default	{ "0" }
		    disablewhen	"{ dotm == 0 } { cmodel != 2 }"
		    range	{ -2 2 }
		    export	none
		}
		parm {
		    name	"spacer6"
		    label	"spacer"
		    type	label
		    nolabel
		    default	{ "" }
		    range	{ 0 1 }
		    export	none
		}
	    }

	    parm {
		name	"section4"
		label	"Filter"
		type	label
		default	{ "" }
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"sepparm4"
		label	"sepparm4"
		type	separator
		default	{ }
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"ftype"
		label	"Type"
		type	string
		joinnext
		default	{ "point" }
		menu	{
		    "point"	"Point"
		    "box"	"Box"
		    "gauss"	"Gaussian"
		}
		range	{ 0 1 }
		export	none
		unquoted
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"fscale"
		label	"Scale"
		type	float
		default	{ "1" }
		disablewhen	"{ ftype == point }"
		range	{ 0 2 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	}

	group {
	    name	"Model_1"
	    label	"Color Correction"

	    parm {
		name	"cc_active"
		label	"Color Correct"
		type	toggle
		default	{ "0" }
		range	{ 0 1 }
		export	none
		parmtag	{ "script_callback_language" "python" }
	    }
	    parm {
		name	"cc_gamut"
		label	"Gamut Mapping"
		type	ordinal
		default	{ "3" }
		disablewhen	"{ cc_active == 0 }"
		menu	{
		    "0"	"None"
		    "1"	"Clamp"
		    "2"	"Absolute Colorimetry"
		    "3"	"Relative Colorimetry"
		}
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"cc_dohrot"
		label	"Do HRot"
		type	toggle
		nolabel
		joinnext
		default	{ "0" }
		disablewhen	"{ cc_active == 0 }"
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"cc_hrot"
		label	"Hue Rotation"
		type	float
		default	{ "0" }
		disablewhen	"{ cc_dohrot == 0 } { cc_active == 0 }"
		range	{ -1 1 }
		export	none
	    }
	    parm {
		name	"cc_dobias"
		label	"Do Bias"
		type	toggle
		nolabel
		joinnext
		default	{ "0" }
		disablewhen	"{ cc_active == 0 }"
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"cc_bias"
		label	"Bias"
		type	float
		size	3
		default	{ "0.5" "0.5" "0.5" }
		disablewhen	"{ cc_dobias == 0 } { cc_active == 0 }"
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"cc_dogain"
		label	"Do Gain"
		type	toggle
		nolabel
		joinnext
		default	{ "0" }
		disablewhen	"{ cc_active == 0 }"
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"cc_gain"
		label	"Gain"
		type	float
		size	3
		default	{ "0.5" "0.5" "0.5" }
		disablewhen	"{ cc_dogain == 0 } { cc_active == 0 }"
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"cc_dogamma"
		label	"Do Gamma"
		type	toggle
		nolabel
		joinnext
		default	{ "0" }
		disablewhen	"{ cc_active == 0 }"
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"cc_gamma"
		label	"Gamma"
		type	float
		size	3
		default	{ "1" "1" "1" }
		disablewhen	"{ cc_dogamma == 0 } { cc_active == 0 }"
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"cc_docontrast"
		label	"Do Contrast"
		type	toggle
		nolabel
		joinnext
		default	{ "0" }
		disablewhen	"{ cc_active == 0 }"
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"cc_contrast"
		label	"Contrast"
		type	float
		size	3
		default	{ "1" "1" "1" }
		disablewhen	"{ cc_docontrast == 0 } { cc_active == 0 }"
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"cc_dosat"
		label	"Do Saturation"
		type	toggle
		nolabel
		joinnext
		default	{ "0" }
		disablewhen	"{ cc_active == 0 }"
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"cc_sat"
		label	"Saturation"
		type	float
		default	{ "1" }
		disablewhen	"{ cc_dosat == 0 } { cc_active == 0 }"
		range	{ -2 2 }
		export	none
	    }
	    parm {
		name	"cc_dovalue"
		label	"Do Brightness"
		type	toggle
		nolabel
		joinnext
		default	{ "0" }
		disablewhen	"{ cc_active == 0 }"
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"cc_value"
		label	"Brightness"
		type	float
		default	{ "1" }
		disablewhen	"{ cc_dovalue == 0 } { cc_active == 0 }"
		range	{ 0 2 }
		export	none
	    }
	    parm {
		name	"cc_dotint"
		label	"Do Tint"
		type	toggle
		nolabel
		joinnext
		default	{ "0" }
		disablewhen	"{ cc_active == 0 }"
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"cc_tint"
		label	"Tint"
		type	color
		size	3
		default	{ "1" "1" "1" }
		disablewhen	"{ cc_dotint == 0 } { cc_active == 0 }"
		range	{ 0 1 }
		export	none
	    }
	}

    }

    group {
	name	"folder0_1"
	label	"UI Promotion"

	parm {
	    name	"ui_prefix"
	    label	"Parameter Prefix"
	    type	string
	    joinnext
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"ui_postfix"
	    label	"Postfix"
	    type	string
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"ui_infolder"
	    label	"ui_infolder"
	    type	toggle
	    nolabel
	    joinnext
	    default	{ "1" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"ui_foldername"
	    label	"Create In Folder"
	    type	string
	    default	{ [ "node('.').creator().relativePathTo(node('.')).replace('/','_')" python ] }
	    disablewhen	"{ ui_infolder == 0 }"
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"spacer5"
	    label	"spacer"
	    type	label
	    nolabel
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"ui_doexport"
	    label	"Include Export Utility Folder"
	    type	toggle
	    default	{ "1" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"spacer10"
	    label	"spacer"
	    type	label
	    nolabel
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	}
    }

}
# Automatically generated script: Wednesday February 22, 12:20 2012
\set noalias = 1
#
#  Creation script for pyroColorModel operator
#

if ( "$arg1" == "" ) then
    echo This script is intended as a creation script
    exit
endif

# Node $arg1 (Vop/pyroColorModel)
opexprlanguage -s hscript $arg1
opuserdata -n '___Version___' -v '' $arg1
ParmsFromVfl := 0;
PrefixDroppedParmName := 0;
UseDSParms := 1;
ForbidOutsideParms := 0;
LockContents := 1;
SaveSpareParms := 0;
CheckExternal := 1;
GzipContents := 1;
MakeDefault := 1;
SaveCachedCode := 0;
PrefixDroppedParmLabel := 0;
UnlockOnCreate := 0;
<?xml version="1.0" encoding="UTF-8"?>
<shelfDocument>
  <!-- This file contains definitions of shelves, toolbars, and tools.
 It should not be hand-edited when it is being used by the application.
 Note, that two definitions of the same element are not allowed in
 a single file. -->

  <tool name="$HDA_TABLE_$HDA_NAME" label="$HDA_LABEL" icon="$HDA_ICON">
    <toolMenuContext name="viewer">
      <contextNetType>VOP</contextNetType>
    </toolMenuContext>
    <toolMenuContext name="pop_viewer">
      <contextNetType>VOP</contextNetType>
    </toolMenuContext>
    <toolMenuContext name="network">
      <contextOpType>$HDA_TABLE/$HDA_NAME</contextOpType>
    </toolMenuContext>
    <toolSubmenu>Pyro</toolSubmenu>
    <script scriptType="python"><![CDATA[import voptoolutils

voptoolutils.genericTool(kwargs, '$HDA_NAME')]]></script>
  </tool>
</shelfDocument>
      Op#ǚ'7^?OX{*$ h4R^HK
F"1<$P'WGe#'}uĆ*"AReV2?/툿~A%?fYg~FHu<-dr?g{.|=x{<>]YVt|o{ON'8k˝D2_ă)y|2Lˋy>M|'fT	'E(Z%(N9-'{wEэW˗x9<P5kyҼ SSxo[Ьl2[<-5Q5/?3fl( N/6t:?zݪ~
=x1/<_n(IoDleٶ>߶v[+mm=[nmnlm'7O^q8Q_d䱵_[[?Zg)O4}/wUu)omOESz#u`?_4W+v|:]?t2Mm<SӚݺ;z~C>1'Ok!q-϶b=SUJpJE)-lV!mE1-JL?Ы⏬6O^p`~Op9Mq􁢗!vu$|̛)SS!*i?q4}Vf`]_htj-Z~;e؃3J^%`{θT+LaZpl4RCcUł.X?iC{&UE[z!5NR~ZŅd1e@sԀ:Lϲ[[L{LЎTO\$weXh?]lap~c8>.sדr;r;R>IJ>}gw a	IJy[!ni>p['e,Ip{r;h˺%^	<'vT4lg<n45rղULfpٚPMr6as1!txJoWco"J&DhOO[h96ɓ$"]쟡	W	O=G6lȀ.nBNLJM³NVxjDx<K`S\InLj;Fӏ*bO73POz+n+Bw+WJt
.}9oY	JZZGp5Y.ZS'bǳJM:pCpM` Ƽ Q*+@r:051g$ļ\xC-8l鎏OS=anZ}"Bx#\1j*7|2eWvL2PRkO&v+E&Z4W22!j,8 Y N;_*nÿ:IJ~6A<?q=$cQ`p}Z.gS7xgUgL@Mx0HNҔ0x"'Mp1Vd~<#ᢵHhFC>|,j'm/ӝVݽ"ǣ^)kdj^Ud1EI<(QZqIXaꗳS҂HR0$ԨՐФlN<_2]Mǿ_lDF̒Yˌ1<2a|1.v:5&!TM]/|$HmִR柳*&P v.?C>j|<_޾=CK9+7Z3l"6,ofxh:	5\=j2J6r.r3:z{AELu-F)
l<毖:X=AXӓ6n\$XL8:,|>'Oy\n;Ռ<7w{]zϫMFD5>gc5__/?q%3׫+h}<Օ*:b_Hb5D酶DxSՅ%&3:Tad+LJ|0XN#W߯|!\3(FGUUvCV6+дo]&'Kǝ;#ʦ?g$6Bp@$sѧjhxBʄfz=fSȪwlkCc+9XWL~J$d
l:+ڄKuoK׆PJiܮl0;C~q3fU*9Nɒ=J}*|bՋ+gXۼ=T͆ZZF|)O];JTJ_WA=ekx|aИF{[:hًٮLBbDsogx1a~60=gX\kt8Y+1 _4NI^,d|:}j
-/LkcVgb 36ky 3o#ܖ@/0Y/ڕ?	<꿺qG;DTiD='[U6>^A5V5/0;[O.2Q7+nmg#s]@ʪ'PK4M:{?'P	_u|.A{ē-tm_`%6,OW8Kkx>߽+k]{$ĩ>!$!Aˊ/~CR3?|Us*V!W5)5ojelHgס]TjռVfjMGͻ]I.~5$^!@ X86J8k@z]haŜ:Ć@v0ə`{q&Iz?yyűl;F))	M;yOOg{%<	c"m_W^NOPο*QMakϬ"͞W2.g4~=)f0kw:.wMڿ+&7jJ7
"pGŝN1$/(YVf	ъY~l<<K&9f	Y/l8;'9:!J{3u;ϫ|?Y(	u	YSXl\S\q-7\d99'd41R1?	wH;}]:]u2Su*ִZ~LZCim^<hLYad,<A<y2UժK|8-r-h;1_7fB
5(-9UJs[1vwrqwi܊;ս,靠Y;F/hVh{1R}Y%
J{/3J?=&Kh$e*zQEc%	F48:jNG:3ẖ&l_@MxM)3KbaںK33)UZfKK~\!fg1h1⾍Mg/,dv}-Ɯb5aYc% 36M%+4tK)_of~c}D<7ukR.߯$eboπ7t7Lcͼ7	\\$X{3w?ò9'߻X 6KO{yB?GNfƓ }l_25Dul}Z/{B6nNnuϘ[<=UXT<!]l!uv#_?Q8^:ufi>d?t'P$"gZs+YU%.5fEʞ\KiʝԩIGȫ"]G僌k5+DP>~pfh7-*Ǟ5XϨKy%l6y:%9.(㙧"ִGh/ilhl3mvʉd]9aRltzA?ȼZ -aBM{>t$|"HCiHid5]GYG(n~,T%9srstH3-.&L-ֺc^(#jK#!%/VϹe7ƊM5.Ϭsn	nK?ܴMZѽ26v7XizkU[],|pf#W6Y@+囚,R]u͌^FspqUWj~34@uBrrw|.1hS\lG jsQ=]\Ś5׻8Z4qeI!iruU%W[5ipZG˼X6jrUlc,DZq5}DyoZAbL*DzbI}VK8
7g@up,҈:Xbv+y
cI]ǖO7?Xq~'ӜH7ysh-/HkɒNg	[ϚMFM6RXZ}:4gQ>
6WJ?$mq[md$~!6Qeʬmb{Oc~(JITNnrN!xE'i;pMB")(9bnAlVY =b9~{4$fk"b\v6Zo§Z`h#$sh9w\$ڍcX5^%M&__a[YLw7o9
!p(gLY5j6ZMrL,H9G<l޾̻+
sd"+xB>`5|׭b5HA*C|^~alH_WN*PjǼzK.hz`?u5ZUggzǎsv2w2L/YM[jǶ왠SƔ>/؍Vտ*V\Ufuʾa];_%W{ v<`~yk7o:VlA$`S=^&s1zlD3`Ǖ+CCisBVMmŕ47}jv꽊"5^'3y؟w~^'~ڻisF.L}fX\dEj9s}Ix,u@K2fDM Bb^graޥǥόG|^*cRcM5=_'CKď2eHs5WT.L۔_;{BA"o0Pȕ-ǐ O~"c"ҵrxUN+ay0Z  Wkrt9|ĔKû;ED}v-Y iAuox:\4;Mt':&eg?%vDg4;莺V|c,yثnE/&FȚ-8J5V[_$>}iK + ܥ?\SW''җ^eL(_,FYd,FYtCYtk8O=]I9|YWͲ',:dce1}u!7w[Y6Y||˘sqvuz]-CobP]Хtcڋ5cA	ZFXŗ(QSmevP"?y*̦/Tz(zb&a/{l'YLRaf*jjk"d~B`N7.4"r֪raD3dV1ǆ>?UFNf<yX&J(R˱pS*#QR+!ϩQͼ rkXH8麝dA*EzYUi^K7Z_4hnk*^F)^F+ĩK1o}޸[sc7↗W-
ygoeYwU6iӛ|D+@=r6?9:\-t\߻oI9^1TõrعCh3JUoC޽U,2u~[ܫ#iUpMV4Mg8+vy#s7<L?gG۫M4q]N?IM+(T&b4(2fmd`]=O{Uicr|70K6ShxHgF?z*=}JcF?T'rw||I}Iܫ.#PVяuuYɌHnbʕhN!d?"gmNrmLjuEL=JYWF\}]pK	2/@c6\ӦyzTd9_wku?p,-̺v^`}A%~M8e;)@%h&GwF<  [}s'y*'@e7S3Z"kSneٞ&d[{2\8&hՊY*=Bkz֚JN+jCfͷ ^=by><Xyska_fR ŅB?nviλzVt:"
npQ:wD]UxiAQ2vxqy=ygA=FQuC7t+jyB^U*d|neݺmߺmƮ?rK2Nz/	.;97f3]ٌ
N$)DsW蕧QBF^`FIj< ukn'=!Leh{-+r7G}߲uwo:7 Л{[6pP<"(4$޹c[yi>˗JZ.Ζ<1 ؜EcQ,^3QzxrNY寒O%7Eaj;f|O>"D8X0geY^ynŞ:3i
Ͽ"NS\?vg֨Q;J#3?sNO2O_g{%JK,-SRR6ʱRSqzp N,uw)Th?-Ư48MHC9|P	$.0HAb͔Qd:)85jkՐ5khk>-n>&Lxf|T	-χU2RIcp#7$WӅCW䩼:<89ҋxP^m!h>4А&Ք,aguтB3%
Q!c]P^hTIJ)R̼=C04~< of3Ia}%}FP*dx8//Ϥ]B)P0_ 2: t *(~6X
Jj#(TPh ,"BЌ
a/=
T .I`P$x?&bƬDP2vȒD"bDE2Ec-VREQFSA %Sqqid|QER(u0d}QR(҇#Fߋ(Q2(UZ7t
ztv;JB&+^HTYDksВ:")9=84bRj\ :c`SK'%RM8͑~F)*h  ,r֒
`,Zw\*.:(s`,v[pFERq1 d5oNT\Lj53t*n<c`S08'ʫ^;^`/ ?" 31X@NC!AލBd8Ga8	pR6+.9Ly7:9V egTSpp0Iàb.%LlW5
|8aAYji%WriM,HE.VXhzNT\Lmaa1wbi< 84biQWvT*&zyBYr"lHAW'^y7~-8har	u&[`ôE$.mhA7ͱKvm! BW!D[c@ѿl%LeV_<},@[DTS!P-U8:݄GG.Zbe%OW,ҥ]R)4Dxʢ)c%O8Ad>&8%Sqq3MLwJbr$8ёj)YT3S,^q9H X*.vg|tq~cA:nT\5@8otcG8Ww_	1 ϘNeB&ܒ8©fXܒ8;Tv	HEr
tR	{

T@!RANB*+/ZIJ-L*	RIŘ2C	|~RAMJ*ƐKbHQ:A
ݏ }( TtR!l:A&H%uàX*.v
blTRQx `x/L*	RIEksВ:RALF*zc!!RALF*z32A^RAMJ*p#{ TE9`Hw'"`)AYL*.LPpA:)"8p? pE#C!R	.H?"tK t4H;Rqj!wP2Kʫb*3Ry[rweh+WF9k	6l
 mPt!~l-f؀<v"6+34|+0gQ0(կNT\48?}7
hz6C])"GMg~Ē!ZNuTRp
)4*1^`ǵ|	DRhbLǳA*V
'4%Cp9G.c;Sq10k<9򁆚wjw#4'ZuQp)pqM.:q-ZpM@MSԣEڤ3/x
hIW^4Z=ɨd,TB˻jߝr	~>*nFNT\L%Jhy-VJ%gRc%'8VOL%'R#&n yddTB˻M2L#{}T2^*h*.&lwgmPESyu#w'm4nT^w[=ՔJnk&fQ7\!6ARVF	*LVɉw[5!~wm݄Gwx5-y-ʫY`/[:W6HbiT.9Qˀ 3`3`ёG 4pk74 88HQ{m;4`6ri {	p6h&pjyq; 8}]z@p0
.$F$76FxXX4$U:e[p!p!0Ч#F[P"pp"0IA.zb$UnT^=?1Z-ʫ"F"Trh\ZW:bb@[ BGx=1ImJpp}y:T@(zu!8_${Gw#/Pt:g@<iPCøp.:bWh`WdBx=1#ǡN|7_o:{d.$ƫf#UjRCZ}(¥:|+2wP˯1r^ijߝrFh!4rpJb3M:AKj`-

t0Indmk@~g'=rCsd/8dgp1XjyNМ4s"Ȼ}'AoSyuv'?	bsIk>T^-;@i\f7\!.Tb2OYa
k>HqtLIquWZPKEwmb|x!B\%@Kjt42WeiqBm̷ݠ-SG[d4Gh1Brs7	^G[;]ܢ:ӻ$Pg:B}+	l-$
eM~߄`+ӖaPt18]!h;C ҩ^ȅn6{<ݜ{mY`e?p)ߗךbiG-3
jk:@&Է~WA.b2
DAlJwQQ1(L%]w}z+"譈"ފz+魈bVD[qmVD[CoE1V[CoE1VD[EoEQV[CoE1V[,#(ziz8+먮QqtW]6Eye5Phz"=4<_>^C:Iz61uTؤFGǠPb^b>FЀk#4ZHM8I4	d<6FW+t]t	ev1	pf}2xFiЀ;;OAҡ	6q:lB(pi}\_G۸~}MzUM֧X4#[Չ]4 7P1OszF2b6 V J0Q_[(mj N*KЯܯ#tiokiA-"!ZPH`-69,h6*XO"4!ÅJk6rXϲl^ҫوbMYŚV%JkT,Fflz$lhP(Gu$Px Q7V@5cZ )AGaƯHINF5@:7FAG/a.&^á]1
<;:̄,F8$)Xqc570vZu7F]xcV[zc70jZ~80jZE80n[80j%ZC}E1WP_C}E,QWl(+6J}EG}EQWDQ_E}EQWDQ_E}EqWQ_G}EQWDQ_E}e1WP_C}eWFQ_+(1W^1WFQ_E}eQWFQ_E}eqWQ_G}eQWFQ_E}e(QD?M &(q ,	(H A8&qTđ!cCG A$!HF8đ"cEE(i!>-S@"hQ@Ҙ(Zgl 1\ZgK⨐g"hQУѢ<$-UEqHLC(V"(N(F&8>Ʊf0
0x0X080#0 #///PC1ԇbP>E}hԇmP>C}(P(CQԇEQ>G}(P8CQԇEQjL}rO$]✄Nyj˳Nۭr_gek::x:_a	<'<o4_l''Y_v".8ݽo?Jk'l|Q[8=ͱt'I;䷪X賄8|y<	p<r+x6ˮM8]U|+*9EFDOVl_d5"]sf99 U|Uc8>_7Oy'O=zg<zœg_}ѓIl4+/"Oba%\\$yb'".Q\$}4'p:"B'NNdFa>'K\m|\lh8KMEc\1erANy8#4MpTgrrqnyU"`0Hg3"ϗ79Zl'OcR8#I?uGG>pn`|q0B}Ioks˗3\&uٽxSAsg8WV]q{w'31nu׋;bK%t7v$d{{L%ơ%e[2d'8~G.XޭVLʓJIPfU> ۭ%zor{qVkORYɟ#pjAUsh[y5=ޫ).9ڏ>Dt.D3%x8"8Sd\,g,y0`}q쐄hg?V:AB$V5@P{`|E#wE汁P3C MMD6U3XƜKHVA4k('dVs5#TK(ـVS5l̫7'9jFo.ڍZc^_o;Ka\ըguOW-,A6/|!w$FpHJ?ՑCGr6|_8~鳯vOO(${XKv<%|♖i	IZRϒO>Zi8/uZt+	~.rޕ@I4&B֑zR|;t'ޡ i] Ϸ&t*|ü)+o[]]cOqazIGsIg'h6$D6RRev*|_?&
}1fko΀GҎǦ KvϮųO}ٝ;w>H &*'Kó<b;&.	~#߽Kq-{Cm,|gGɋƷgGA#NϿK%[L)ywlLdhIu)ckF)TӺG'PZY4Rf۲3>Ey ";S\B=Qƒa  XFAS{pghHf~2aild!kPmCi⢴4_˼z5JPB_ʫ0 (t3?R^b9!=̙n).Ø(#1bSNgSX?/6eJviC䟗]м%p_*m%=p6 X(`0Xv)a-}H2>KK䟺X >{KO~I^D!u3Eit!kPoˎrA!
Q@{-0;Q\)N	Fy5Zf p4`Å1?Q^ddv"r4fc-3;Q\GB	A3=q^GŢ',O-D#LED?	wɉҰ^b*F`0AT\<Rf!Ft)!Ci3B)E Tf:a9C֞Ѡ=fA(.zVZnvܠ' U2moj6DAy5l YRZpSk)b 9o١b4 b`M?`@3@{ wʤ89`hJŔu:;0[,S
p4jM<m|#Ifna}ڒ^[wr<ffn`!nnj #   tpwV@#y p" :D,9b	3@@0A0,d h Lb(:t9 @`WP8I %A1t?URkv̝2.`'ۉK^CpJbJ\'.89 U2R
S?N^M98TK0)E$91,G%!40UUk0! ɫў`+TOoWKXBGS8b0,
q$[jAh_-]a\BS?gM^DAG_	Pc
(b);9QK"埆7h`LYDRiX	@)%:)Grh,PghP+BfuI)v_5nT\t_7wb
l=77[*Kk䅍7Li=ڂ~.aML'2ܪFݰnT\<R.0fuknsT*.ϐS, *wrzl.nCNϘ⟗Ա60)q4'+@!oQriw`Ԃ#a)!GCOC(Āl_'=K{QEA*JHu H*.ӐEoj^CNkJUB9?I^8C$f`2!7$.`9$.F#!$.+2EXy(BgG*˥˼`UAOE\a(_JPVaGWMa &PorEx.VOa>(EXk9G	q83"q1Ta83BwFrQܣ*.5G(ь"">F}X^o;@%4Y
Gx8*&ߪPx:cQ1EV;Bzp{*6uޏJPS"MluU7H;!
QA_HfzCJK)N7?G^1pHničY? 󎔆ܐrvnb!4fc:;G\.	1$"xKrs^@_j-ʫ.vFdksn5rZr>C/ҩ8	(p̽8Eb.wL)5y5D&gee"hwW%Լr).aƿW0J+j^9IwBԠjr8	L$PJ20_0WS0q1傀vBTRS,K٠WԇnT^1W'^94nT^-AW^9F9#WPApZ}
;B6S}x{Ta	{I4#lWP^9J{T>S8&r\t *[n|t  2@'X
,ə k <@pȹS0Ll8 OA(>\B
tZК$vjz=> ] 4f9<i8~
 h=i
 2|X ՎCnqI9m :wPyE=R+? ?  `2^;CC$"_:WErQ;B}[.WC)
(}E
V`aQ=F2*%XrRG8bX p8>
$#ه$#[X kpхܛPDu>P8BëѴbz\K-s)_<izBb
ӊFX ՎCov7C8Cd$ORQٽFtZU3
8W94U4 #E:LIEq'!t
rPG'{P%*5cI:n<1@8o1ɸƠLÉF+܀0:Ci`5"`tjIEpA)М^wj	D%&$Sy%4"Y$Ci!I&{X+V_.+xàv_pA$DQ$Sy%n#]US&]8AU JP
%8AU TɠJ*LSTa@XNHR%`%U>@#|ar<*5X;CX_,uX;Ry5"db-ʫ%'[P%t΀`TQ5CTC*Avo@9w\g9E ;B%Sy%}q@PmdDWTI*jqW?(dqN8☪q)UCƑgTcǟP59jStqT㘳1GScNL59js,8TqԡT3QGRNH59js8 ""ފz+"譨:(")"+6IqEFqE1WP\CqE1WP\CqEQWDQ\EqE1WP\Cqeՙ2^H+#F]YGw25@k5PChz6$Q54ؤQa^Cz]:h5 AnŏGЀk#)4&yD$hMU\Yu%hP&h7|4A<q47J&ڠ	4h=r}~~l#5	U5Ybٮ˛$lT'v͛h6wdfCl_A|ڀ(s+[(]D}Kn![8m6L.aBrХcbh˯U7c쿞jC#䰠٨`=5klfֳ+1a=WQz8Jf#5-KfGkZ(ͮQ:ֳCAe?@DpXՌjcf8PVk"u&:"xv}kDt`cxw(80voh6__8bYvc؅70jntY}oY80j	ZU80j[80n)Z80j9N1WP_C}EWDQ_+(1W\1WDQ_E}EQWDQ_E}EqWQ_G}EQWDQ_E}E1WP_C}e1WR_E}rWP_y}WP_E}eQWFQ_E}eQWQ_G}eqWFQ_E}eqDb?E @48@ǁ`$X\#(qDQ!BG AH>"DR"DG A-%cקE~DOEq
EKchQG!ZGT(sm_bhe.--bzhyEqEL+CZG򌋨T%1&=X1811ptǆ%(.F*b8"8c88
dHHc8(C1ԇbP>C}(PP>QC1ԇP(CQԇEQ>E}(P8CqԇEQ>E}1Y>t:s:y-O:ioN Ivk<-h|2ɷ[llMg\Ld<pxOZGb㬖inPZIٴpz㟝;IzP=o|'xd??yx a1	QI1[$8	sdr|(d^%iv?ۗM K	Lж<	&_gރ{J>b1Kd+=ye%+Ͱ8":,")Vr<""
Y\o!LR0'+쯴/`\$wh	qwiv%$'ct2[MGߵ{M
]{/$?Q1Ygy-9+S8ߵk|q yܑhh&2dLGB+xO˴8@9$awk8YmI,\L)ٲN]$at 2gw?:H4SH[VMpyh#)//fm_p^mx-3xmǼL+S(5.Bɗ<D7`Q6iwy>B$r6ߝ^s2>š;ngo{l6M'_V2/?&귵
4-U<Km̮@Wo1-YDVrɀlSDLy>]6-03!3ϒТFvnx4xgNNMcuZS󢴹F5 ,`6-\ӍY~f6xcHJdA.z#c[x\0C<(%c!nI?D'<G:egRH~!O!T?arR!ynKrkG3>MtߩcmBG!Gtߩq C4
jvbV5*jj޾|#V䷸V͖pIUjzfVۗLfJ*Vfi	\SC@5V;TMn7$I}W2'>w*J,EB<X-Jd\KoGJ`*U\F.a(!pPZ=62p&ZڤzD c]=='BpO<1JuE#Y;tErcx[qE)Wxēg|7%k%eC#H	Vcb1;C<\|<(POVlf4c`W-1c9ѱTNW0x"'M pO Z[5ʸ88Y"ˌjfH?XxK8E{|.fyUdq,Jp^CLJSO0ZlQ3	4*iOn*%fyJ-gY<|ѡ$h)-rZX6&|Neק'h6_fq;Y..hdG>'G;U'T%ijiUSմ*A >~v.mP٪
QX }r&?$#w7c+*n}Gh𝱴ޤmw<r'ɮx/Ġ<CIOz[C;{G,ݫz.r͓*7gWO㿛l9gjy[U՝Nx_SW,	מz0ݣ=f쪃xȋ+$WbWFHhiIMFBWn*ȴokLBh|a鮬o|y0$?>˳m'Osls 6o/^lV=qk2/3#jޓHt3_6șzoK~|2B#TuXc)uh̍΀GҎd]#멱i{~6g Ics4|YlD>W#DkHM-0pvNpƼ0>;O0G'6OCiQnxm2Hf mcb6[ɯWxA\!B+n#89^Sb3<daڈ~EGp	\qGrjz9ʗp4:Gչ@2?lǜQwr%m<RiF_=T1?Mԇ*A+qPijl (ɍ
1KPj[`L̂`sۄWGQ8H-4ӃOVkLK@SiO}35Kz8=4SYTf;5RKsG(c>eFqYUZȒVy@;3BZ}rh'yղev7e-ߺz[_~oQRLZPZ!TZaXZeZB*B*B*B*n֭^o%~$nEC6V訛fVa\\Ȱ
Oxp:- ~uI1[>L%{qG泤sp(mcÝ'Zr·en%MMpAL5xGo8b{~{#Zyņٶ+6Mu{Ã~7;͹>ŝ E~c%=Π1{=NP7sjhQUqn5n+anwG頗u.>Np1u1Yٌ^xvջ]_&[%DmywZ&iN}k^.0Gޞ_k~f^(RMǣ=zXO;M6MiwD)QRSioFlY6
WX!<Xб0mm
ϸo^Y$p&泭I;ԶL*Ob8"yyX/ #b'b8"v'N~{"`ZJj*H*j,H*j.H*j0H*j2H*j4H*j6H*j8HC-IC-IF&rPERPERPERPERPERPERPERj9H*j9H*j9H*$@Z/
Z/
Z/
Z/
Z/
Z/~"`"`"`"`pph9 r|T0r|T0r|T0r|T0r|tj9H*j9H*j9H*j9H*j9H*ZN/r|T0r|T0r|T0r|tj9H*j9H*j9H*j9H*j9艪R7Q=ؤHH)++3Vz|U4Iza=g2!硬-e
KY/wnbIYV7fvd9O.t3!BLz|f";8=%wfhE6|l}*U19]%WkdY`żu#R7f^*nμ )dqhels*Jw3*hen?GFΒ>1aVJ|'FB9,zIsu"blIG,K۵Nq/B(Ϻt`'Wy99K^xNJ_T|7x?d?Ir9[F%=):"5
{svJک4	3%[BLUnYg'~o RRR(`HӼn#ހ
Me1խ̦O5[JI}WfG!A]Jt^e*ghܺ,T?pZ!5}DN)PVV:=->ʒtgU<]D֊Tр+R"z,/!kIKrTpLL?#5TԦ
8d+n._ylP>4u<B9~P,c7^=r7糮n`To&rZȠ$M+]'G&긮-Tj<Bmjс#r5^saiU^k=5kM&kc'agp;z#pS	yn݂[G#~@? xu:o[GO?zs/kj+,Jw*էҍ"ruKvOGdn ߯\΍lfe1*oxϪe7{2,^e6.;tFrafcaW?9{ pflkJ֝+;QbN~/0QlAA;'	}3/KtdtmW91G~ͣD(?VLOg$L]vk+je},Uev}㥉#ybQ+ bH6{>uyzw`xv9*LmYz	7u[+Y70	bU+ʏ\S]l9gx4vjS:q[VL)o8Yn0D1ɧdF:*[6چM|Ms}eUu.)O|{&
ZI[6O19pdU.NOkS*\69ڄRQcB  )v. y%ݜp;jO{<]s
,Z{Tό ;֊#^˞XvlJ6؊VRH(i}IPsr6a5OH-
E;¢>iMLFɜs"v|0TQ%ҿi8ܓYrɫ8mڗD!2&+FR𨎚&Q	#	%13BKSx*ӑ3OH,%r&o8k&;
F:]fU:וlby
,#+HpWe5Uv7s3ǿlok߄f?׆zG
OL
nDVw~g_yaFjcS<#6ţ <bldો0o7TʄB2onBkR&6sISt~ݦO;G5Gmj::eA9+g*k	bnȻfl?5aoB6 lST&^7Z˗7	-'H3<d u~C7@4^ގoF9g8d65ywJy::Xûe} ۥeȲLK)`.qu;G(&ƏhQlrD,Sc @ְGɴ[֩փkAr;aU:GIu2>eת?T4ZC:2S3@US+~7XhjK*ЭO&NlF`7oC5T﹑+oF3Cz^6&9',ckr{k,m{q߮חVnoooooooooo"PpN{l	͹}Ҵ_7XQȱy MÇ׼u=)ũSp̛9f̳Uk2>g:k/%0T}jRUkn;E=ts&2lTRͿnGG0o?;)-fǦLr؋jdU0m=mYHJ_Vv,^J+xۀx ;̼Pv^TكM#J׮I%q-.ydV&c1P2}&[uDm@2ofuCtGMsF3t7yxI%%:VnD/٬{~:Qnmi&VܷԲHb'hpZL4
?1enYӹyS$ qRM<K+Cՠ#+.ΑS<%$gLT7K!jds%>=ՆEa?&ͥ}pğ|:h>*gHi '`u:㔟,NɺoJiHLV$0>bٯnGĞ!¿SD)kS"kTdId/q,<"C@j'~J]\?pLS.יj8J{w]1RTCecz(ts5ݷ^w.6HN?^ug΅u-uĿ:`Qzpuѭ5?y=d?ޜ7hC,hr~9=np|f:5pa{kq,|\0MM%x8J:|#\wowsJ#R8эsp71ZudezE8ȱ`Fʑt|<ۡP=~7+2-j e@Z/SK#zPKkɻPauZ;m띷졟gKZ<-ʸs Ü4QcH9x'ҫ)ܭmTt1ukzcTf6ˉNn֫g'NT1~۩׹6cr<\U]=ʵQC}sݲA_XZݲ-xeC@vˆ-[6olnݲ! xeC@vˆOdˆAȣ榮~Wϛơ/ߓ9>M!'{=ӧFPEJhY6Sm)rS)"lJڱ]/o @O%^/ijB-'#8!rC/b{ۢѾ%R9@݊HV(^
5~<d#YUwɲ{u!Fa]GdI}pDjewݣoy#uwT;mWhoKEoH%Bv.oۭhek:Nj^ɱ0]\SKlB-D٣B^DqXSl4nظ>fuM~
G#rB	gs/oJ2iw@K
|q];$LxE`'w>f4L^s0ꠉ^;J#pGW"9K/Z1_3ƪ%5{Pj厨%vrb_6:۱~(yJo}ZtaC[`dͦ@)JԉmŔhG(MqVl
!"uswWcDll#.VcZ`o)[Iu^[Ys||w^
gÀ;Wa9"Fb:7LGeϗBǌ/(ߖݝ:l-v9)\$$׽c\?٘7^%[3m[.k{[WuW;@(3E&*3p<\Hni1*gCK+?b[Kc_gIRӍ[.+ͷUXe7WV7I-%;[񃑺9睝5H}A<n
ՓMn[#ۥ:	K»Yc-QGtt[ݯf?Bq[J-`[PpX8^)jRŜ>ap.=zgWrlu!;紷jVVWڻ5+k-r%kVa[Gx,>lUTi;HgE.ԶҪ$2^dr^ҢZueUu՞V%.UHVUJJDXRBTQg,RUH=4Eح}giB}s'ǝüCDq͍{AT7ngv;=7g㢥r̀Ϫ?:aW7vJvږ|-u/BME`:Am/ѱxP+,ڼ%zZo{9"DFT:}
U2PB;SW(c$ztMNB],IPdj3gLl͉fioY?wAZfBB4vYFKt(NfO0Rp4Mkn%8FɦP5W4o[SzZH5WͰ2řR>%Ozǫyo9@Yǫ*9WwZՕI;-'5;_4JOJ-Bu8B~!РƩUKJGVX!686~t)_bl*Q^ie|BXD+#LWA&$RD98U&\ͤlV1pZDMX琤ҩ8!ÿsJNM$v/{}Uۈ8e~eh
ѻ, uTlsxɎa/k}}mjZ=Ӷ[{^ց\m޳}5Xق}+[ZtΑ̶fO±=Spfif]S(F-J{F[P:0"x𡕞
GB$88S,K@3Kb+Qvɩ+Pf?YpnydfYpWo/fj`H*'ZNbzqF7t#}#НL.3䷮䷞֗ۡvT嬀T(iV8iVHiVXiVhY)eв
-в
-в
-в
[u+4ӟbBV
[!v+DoԠ\Qީ3]T{ᮾV`;nT~w݂o7np7 xn@v݀톻wo7D6X>]oy{loA?u yT{hGW&93m0g?x!HH&haNhRǘZMӏRNƦvXON_5M7%t3Ͱ6v5C֔T3@͹4ќBS̙3Eaf`9ē}1+fa
VRJ+SX)OMͫL龳[)QR|g)/Ӌ~ZLG2}Agi7(/<I3ғE+4=;𫐶.mgX6uݬ^EǷ`l
g(ck2㉒
]>^sE|N%{e'>\ػ_;N?@)w\
Ūk_>tb݀38j$'q*C0g Sr*U:'MФi|		D import pyro2

pmAARamp  = hou.vopNodeTypeCategory().nodeTypes()['aarampparm'].hdaModule()
pmBB      = hou.vopNodeTypeCategory().nodeTypes()['pyroBlackbody'].hdaModule()
pmCC      = hou.vopNodeTypeCategory().nodeTypes()['pyroColorCorrect'].hdaModule()

def uiEmbedded(node,prefix='',postfix=''):
   #return ('%s%s%s'%(prefix,node.evalParm('rampparm'),postfix),)
   return pmAARamp.uiEmbedded(node.node("doAARamp/AARamp"))

def uiPromotableInputs(node,prefix='',postfix=''):
   return tuple( ['%s%s%s'%(prefix,p,postfix) for p in (
                 'usecd'        , 
                 'cmodel'       , 'constcol'   , 
                 'rangemin'     , 'rangemax'   , 'spacename', 'gammaname', 'gammaval',
                 'temp'         , 'dotm'       , 'tm_adapt', 'tm_burn' , 
                 'cc_gamut'     , 'cc_dohrot'  , 'cc_hrot' , 
                 'cc_dobias'    , 'cc_bias'    , 
                 'cc_dogain'    , 'cc_gain'    , 
                 'cc_dogamma'   , 'cc_gamma'   , 
                 'cc_docontrast', 'cc_contrast', 
                 'cc_dosat'     , 'cc_sat'     , 
                 'cc_dovalue'   , 'cc_value'   ,
                 'cc_dotint'    , 'cc_tint'
                )] )

def uiRadios(node,prefix='',postfix=''):
   return ()

def uiExtraLinks(node,prefix='',postfix=''):
   names = tuple( ["%s%s%s"%(prefix,n,postfix) for n in (
         'cmodel','cc_active' ) ] )
   return tuple(zip(*(names,names)))


def uiCreate(kwargs):
   node  = kwargs['node']
   style = kwargs['script_value']

   pvops  = uiEmbedded(node)
   iprom  = uiPromotableInputs(node)
   radios = uiRadios(node)
   xlinks = uiExtraLinks(node)

   # build the top-level interface
   pyro2.uiCreateFromTuple(style,node,uiParmTemplates(node),iprom,pvops,radios,xlinks,
                             prefix=node.evalParm('ui_prefix'),
                             postfix=node.evalParm('ui_postfix'))


def uiAppend(infolder,pt,ptl,tplt):
   if infolder:
      pt.addParmTemplate(tplt)
   else:
      ptl.append(tplt)

def uiAppendList(infolder,pt,ptl,tpltiter):
   if infolder:
      for t in tpltiter: pt.addParmTemplate(t)
   else:
      ptl += tpltiter

def uiAppendListToGroup(pt,tpltiter):
   for t in tpltiter: pt.addParmTemplate(t)

def uiParmTemplates( 
      node,
      usenodesettings = True,
      foldername='NODENAME',
      infolder=True,
      dwhen   = '',
      prefix  = '',
      postfix = '',
      doexport = True
   ):

   # Fetch export settings
   cbpre = prefix
   cbpost = postfix
   if usenodesettings:
      infolder   = node.evalParm('ui_infolder')
      foldername = node.evalParm('ui_foldername')
      doexport   = node.evalParm('ui_doexport')
      cbpre      = node.evalParm('ui_prefix')
      cbpost     = node.evalParm('ui_postfix')

   # Container list, when infolder==False
   ptl = []

   # Container folder, when infolder==True
   pt = pyro2.uitTabFolder(foldername)
   
   nconstcol = "%sconstcol%s"%(prefix,postfix)
   
   # Use Cd
   pt2 = hou.ToggleParmTemplate("%susecd%s"%(prefix,postfix), 
         "Use Point Color (Tint With Cd)", default_value=False)
   pt2.setDisableWhen(dwhen)
   uiAppend(infolder,pt,ptl,pt2)

   # Color Model (HIDDEN - References the radio folders)
   pt2 = hou.IntParmTemplate("%scmodel%s"%(prefix,postfix), 
         "Color Model", 1, default_value=(0,))
   pt2.setDisableWhen(dwhen)
   pt2.setTags({"pyro_expression": "PM.uiGetRadioValue(node('.'),'%s')"%nconstcol,
                "pyro_expression_language" : "python"})
   pt2.hide(True)
   uiAppend(infolder,pt,ptl,pt2)

   # RADIO 0: Constant
   pt2 = hou.FolderParmTemplate("cmodelswitcher", "Constant",
         folder_type=hou.folderType.RadioButtons, default_value=0, ends_tab_group=False)
   pt2.setTags({"visibletabs": "111"})
   pt2.addParmTemplate(pyro2.uitSpacer())
   
   # Constant Color
   pt3 = hou.FloatParmTemplate(nconstcol,
         "Constant Color", 3, default_value=([1, 1, 1]),
         min=0, max=1, look=hou.parmLook.ColorSquare,
         naming_scheme=hou.parmNamingScheme.RGBA)
   pt3.setDisableWhen("{ %scmodel%s != 0 } "%(prefix,postfix) + dwhen)
   pt2.addParmTemplate(pt3)
   pt2.addParmTemplate(pyro2.uitSpacer())

   # append Radio 0
   uiAppend(infolder,pt,ptl,pt2)
   
   # RADIO 1: Artistic
   pt2 = hou.FolderParmTemplate("cmodelswitcher", "Artistic",
         folder_type=hou.folderType.RadioButtons, default_value=0, ends_tab_group=False)
   pt2.setTags({"visibletabs": "111"})
   pt2.addParmTemplate(pyro2.uitSpacer())

   # Color Ramp
   srcnode = node.node('doAARamp/AARamp')
   tl = pmAARamp.uiParmTemplates(srcnode, usenodesettings=False,
         infolder=False, style='rgb',withactive=False, dwhen=dwhen,
         prefix=prefix, postfix=postfix)
   tl = pyro2.uitlRepath(node,srcnode,tl)
   tl.append(pyro2.uitSpacer())
   uiAppendListToGroup(pt2,tl)

   # append Radio 1
   uiAppend(infolder,pt,ptl,pt2)

   # RADIO 2: Physical
   pt2 = hou.FolderParmTemplate("cmodelswitcher", "Physical",
         folder_type=hou.folderType.RadioButtons, default_value=0, ends_tab_group=False)
   pt2.setTags({"visibletabs": "111"})

   # Physical Color (blackbody)
   srcnode = node.node('doBlackbody/Blackbody')
   tl = pmBB.uiParmTemplates(srcnode, usenodesettings=False,infolder=False, 
         dwhen=dwhen, prefix=prefix, postfix=postfix)
   tl = pyro2.uitlRepath(node,srcnode,tl)
   tl.insert(0,pyro2.uitSpacer())
   tl.append(pyro2.uitSpacer())
   if doexport:
      tgrp = pyro2.uitTabFolder("Definition")
      uiAppendListToGroup(tgrp,tl)
      pt2.addParmTemplate(tgrp)

      tgrp = pyro2.uitTabFolder("Export To Ramp(s)")
      artpath = node.evalParm('doAARamp/AARamp/rampparm')
      tl = pyro2.blackbodyExportTemplates(usenodesettings,cbpre,cbpost,colpath=artpath)
      uiAppendListToGroup(tgrp,tl)
      pt2.addParmTemplate(tgrp)
   else:
      uiAppendListToGroup(pt2,tl)

   # append Radio 2
   uiAppend(infolder,pt,ptl,pt2)

   # Color Correct
   tl = [] #[ pyro2.uitSpacer() ]
   srcnode = node.node('ColorCorrect')
   tl+= pmCC.uiParmTemplates(srcnode, usenodesettings=False, 
         infolder=False, withactive=True, labelactive="Color Correct", 
         initactive=False, dwhen=dwhen, prefix=prefix, postfix=postfix)
   tl = pyro2.uitlRepath(node,srcnode,tl)
   uiAppendList(infolder,pt,ptl,tl)

   if infolder: return (pt,)
   return ptlimport pyro2
node = kwargs['node']
node.parm("rampparm").set(pyro2.uniqueVopName(node))   
 OnCreated/Cursor                           OnCreated/IsExpr        OnCreated/IsPython       OnCreated/IsScript       OnCreated/Source      PythonModule/Cursor                           PythonModule/IsExpr        PythonModule/IsPython       PythonModule/IsScript       PythonModule/Source     INDX              DialogScript      ^OE#   CreateScript  ^  WOE#   TypePropertiesOptions  ǵ  OE#   Help  ȶ    OE#   Tools.shelf  ȶ  dOE#   Contents.gz    OE#   EditableNodes |   	OE#   
DiveTarget |   	OE#   PythonModule |  N"1   	OnCreated    N   ExtraFileOptions   COE## Dialog script for pyroColorVolume automatically generated 02/22/12 12:20:53

{
    name	pyroColorVolume
    script	pyroColorVolume
    label	"Pyro Color Volume"

    input	vector4	fld_dfltval	"FIELD: Default Field Value"
    input	float	fld_fit_srcmin	"FIELD: Fit: Source Min"
    input	float	fld_fit_srcmax	"FIELD: Fit: Source Max"
    input	float	fld_fit_tgtmin	"FIELD: Fit: Target Min"
    input	float	fld_fit_tgtmax	"FIELD: Fit: Target Max"
    input	float	fld_ramp_rngmin	"FIELD: Ramp: Range Min"
    input	float	fld_ramp_rngmax	"FIELD: Ramp: Range Max"
    input	string	fld_spacename	"FIELD: Ramp: Name Of Color Space (rgb,hsl,hsv,Lab,XYZ)"
    input	string	fld_gammaname	"FIELD: Ramp: Name Of Gamma Space (linear,srgb,custom)"
    input	float	fld_gammaval	"FIELD: Ramp: Custom Gamma Value"
    input	float	fld_lowlimit	"FIELD: Lower Limit"
    input	float	fld_highlimit	"FIELD: Upper Limit"
    input	float	fld_contour_width	"FIELD: Contour: Width"
    input	float	fld_contour_sharp	"FIELD: Contour: Sharpness"
    input	float	fld_sclip_start	"FIELD: SoftClip: Start Value"
    input	float	fld_sclip_suppress	"FIELD: SoftClip: Suppression"
    input	float	fld_amp	"FIELD: Final Amplitude"
    input	float	fld_padval	"FIELD: Promotion Padding Value"
    input	int	dr_restinterp	"NOISE: Rest Interpolation"
    input	float	pn_time	"NOISE: Time (P[3])"
    input	vector4	pn_freq	"NOISE: Frequency"
    input	vector4	pn_offset	"NOISE: Offset"
    input	vector4	pn_period	"NOISE: Period"
    input	int	pn_inv	"NOISE: Complement"
    input	int	pn_fold	"NOISE: Fold"
    input	float	pn_expon	"NOISE: Exponent"
    input	int	pn_dolwarp	"NOISE: Enable Lattice Warp"
    input	float	pn_disp	"NOISE: Lattice Warp"
    input	float	pn_dispfreq	"NOISE: Lattice Warp Freq"
    input	int	pn_dogwarp	"NOISE: Enable Gradient Warp"
    input	float	pn_gflow	"NOISE: Gradient Warp"
    input	float	pn_flowrot	"NOISE: Flow Rotation"
    input	int	pn_accuml	"NOISE: Accumulate Lattice Warp"
    input	int	pn_accumg	"NOISE: Accumulate Gradient Warp"
    input	float	pn_oct	"NOISE: Max Octaves"
    input	float	pn_lac	"NOISE: Lacunarity"
    input	float	pn_rough	"NOISE: Roughness"
    input	int	pn_docc	"NOISE: Output Correction"
    input	int	pn_cc_dobias	"NOISE: Do Bias"
    input	vector	pn_cc_bias	"NOISE: Bias"
    input	int	pn_cc_dogain	"NOISE: Do Gain"
    input	vector	pn_cc_gain	"NOISE: Gain"
    input	int	pn_cc_inv	"NOISE: Complement"
    input	int	pn_cc_dorng	"NOISE: Remap Range"
    input	vector	pn_cc_rnglo	"NOISE: Range Min"
    input	vector	pn_cc_rnghi	"NOISE: Range Max"
    input	vector	pn_cc_amp	"NOISE: Final Amplitude"
    input	int	cm_usecd	"COLOR MODEL: Use Point Color (Tint With Cd)"
    input	int	cm_cmodel	"COLOR MODEL: Color Model Index"
    input	color	cm_constcol	"COLOR MODEL: Constant Color"
    input	float	cm_rangemin	"COLOR MODEL: RAMP: Interval Min"
    input	float	cm_rangemax	"COLOR MODEL: RAMP: Interval Max"
    input	string	cm_spacename	"COLOR MODEL: Name Of Color Space (rgb,hsl,hsv,Lab,XYZ)"
    input	string	cm_gammaname	"COLOR MODEL: Name Of Gamma Space (linear,srgb,custom)"
    input	float	cm_gammaval	"COLOR MODEL: Custom Gamma Value"
    input	float	cm_temp	"COLOR MODEL: BB: Temperature"
    input	int	cm_dotm	"COLOR MODEL: BB: Enable Tone Mapping"
    input	float	cm_tm_adapt	"COLOR MODEL: BB: Tonemapping: Adaptation"
    input	float	cm_tm_burn	"COLOR MODEL: BB: Tonemapping: Burn"
    input	int	cm_cc_gamut	"COLOR MODEL: Gamut Mapping Type"
    input	int	cm_cc_dohrot	"COLOR MODEL: Enable Hue Rotation"
    input	float	cm_cc_hrot	"COLOR MODEL: Hue rotation"
    input	int	cm_cc_dobias	"COLOR MODEL: Enable Bias Correction"
    input	vector	cm_cc_bias	"COLOR MODEL: Bias Correction"
    input	int	cm_cc_dogain	"COLOR MODEL: Enable Gain Correction"
    input	vector	cm_cc_gain	"COLOR MODEL: Gain Correction"
    input	int	cm_cc_dogamma	"COLOR MODEL: Enable Gamma Correction"
    input	vector	cm_cc_gamma	"COLOR MODEL: Gamma Correction"
    input	int	cm_cc_docontrast	"COLOR MODEL: Enable Contrast Correction"
    input	vector	cm_cc_contrast	"COLOR MODEL: Contrast Correction"
    input	int	cm_cc_dosat	"COLOR MODEL: Enable Saturation Correction"
    input	float	cm_cc_sat	"COLOR MODEL: Saturation Correction"
    input	int	cm_cc_dovalue	"COLOR MODEL: Enable Brightness Correction"
    input	float	cm_cc_value	"COLOR MODEL: Brightness Correction"
    input	int	cm_cc_dotint	"COLOR MODEL: Enable Tint Correction"
    input	vector	cm_cc_tint	"COLOR MODEL: Tint Correction"
    input	float	fw	"SHARED: Override Filter Width"
    input	float	fscale_tx	"Filter Scale For Textures"
    input	float	fscale_noise	"Filter Scale for Noise"
    output	vector	color_final	color_final
    output	float	field_final	field_final
    output	float	field_shaped	field_shaped
    output	float	field_raw	field_raw
    output	float	noise	noise
    output	float	noise_average	noise_average
    output	float	noise_octaves	noise_octaves
    output	float	noise_offset	noise_offset
    inputflags	fld_dfltval	0
    inputflags	fld_fit_srcmin	0
    inputflags	fld_fit_srcmax	0
    inputflags	fld_fit_tgtmin	0
    inputflags	fld_fit_tgtmax	0
    inputflags	fld_ramp_rngmin	0
    inputflags	fld_ramp_rngmax	0
    inputflags	fld_spacename	0
    inputflags	fld_gammaname	0
    inputflags	fld_gammaval	0
    inputflags	fld_lowlimit	0
    inputflags	fld_highlimit	0
    inputflags	fld_contour_width	0
    inputflags	fld_contour_sharp	0
    inputflags	fld_sclip_start	0
    inputflags	fld_sclip_suppress	0
    inputflags	fld_amp	0
    inputflags	fld_padval	0
    inputflags	dr_restinterp	0
    inputflags	pn_time	0
    inputflags	pn_freq	0
    inputflags	pn_offset	0
    inputflags	pn_period	0
    inputflags	pn_inv	0
    inputflags	pn_fold	0
    inputflags	pn_expon	0
    inputflags	pn_dolwarp	0
    inputflags	pn_disp	0
    inputflags	pn_dispfreq	0
    inputflags	pn_dogwarp	0
    inputflags	pn_gflow	0
    inputflags	pn_flowrot	0
    inputflags	pn_accuml	0
    inputflags	pn_accumg	0
    inputflags	pn_oct	0
    inputflags	pn_lac	0
    inputflags	pn_rough	0
    inputflags	pn_docc	0
    inputflags	pn_cc_dobias	0
    inputflags	pn_cc_bias	0
    inputflags	pn_cc_dogain	0
    inputflags	pn_cc_gain	0
    inputflags	pn_cc_inv	0
    inputflags	pn_cc_dorng	0
    inputflags	pn_cc_rnglo	0
    inputflags	pn_cc_rnghi	0
    inputflags	pn_cc_amp	0
    inputflags	cm_usecd	0
    inputflags	cm_cmodel	0
    inputflags	cm_constcol	0
    inputflags	cm_rangemin	0
    inputflags	cm_rangemax	0
    inputflags	cm_spacename	0
    inputflags	cm_gammaname	0
    inputflags	cm_gammaval	0
    inputflags	cm_temp	0
    inputflags	cm_dotm	0
    inputflags	cm_tm_adapt	0
    inputflags	cm_tm_burn	0
    inputflags	cm_cc_gamut	0
    inputflags	cm_cc_dohrot	0
    inputflags	cm_cc_hrot	0
    inputflags	cm_cc_dobias	0
    inputflags	cm_cc_bias	0
    inputflags	cm_cc_dogain	0
    inputflags	cm_cc_gain	0
    inputflags	cm_cc_dogamma	0
    inputflags	cm_cc_gamma	0
    inputflags	cm_cc_docontrast	0
    inputflags	cm_cc_contrast	0
    inputflags	cm_cc_dosat	0
    inputflags	cm_cc_sat	0
    inputflags	cm_cc_dovalue	0
    inputflags	cm_cc_value	0
    inputflags	cm_cc_dotint	0
    inputflags	cm_cc_tint	0
    inputflags	fw	0
    inputflags	fscale_tx	0
    inputflags	fscale_noise	0
    signature	"Default Inputs"	default	{ vector4 float float float float float float string string float float float float float float float float float int float vector4 vector4 vector4 int int float int float float int float float int int float float float int int vector int vector int int vector vector vector int int color float float string string float float int float float int int float int vector int vector int vector int vector int float int float int vector float float float vector float float float float float float float }

    outputoverrides	default
    {
	___begin	auto
			(0,0,0)
	___begin	auto
			(0)
	___begin	auto
			(0)
	___begin	auto
			(0)
	___begin	auto
			(0)
	___begin	auto
			(0)
	___begin	auto
			(0)
	___begin	auto
			(0)
    }

    help {
	""
    }

    parm {
	name	"makeui"
	label	"Promote Interface"
	type	button
	nolabel
	default	{ "ui" }
	menu	{
	    [ "import pyro2" ]
	    [ "return pyro2.makeuimenu()" ]
	    language	python
	}
	range	{ 0 1 }
	export	none
	parmtag	{ "script_callback_language" "python" }
	parmtag	{ "script_callback" "hou.phm().uiCreate(kwargs)" }
	parmtag	{ "autoscope" "0000000000000000" }
    }
    group {
	name	"folder0"
	label	"VOP Parameters"

	parm {
	    name	"fld_name"
	    label	"Field Name"
	    type	string
	    joinnext
	    default	{ "density" }
	    range	{ 0 1 }
	    export	none
	    unquoted
	    parmtag	{ "script_callback_language" "python" }
	    parmtag	{ "script_callback" "" }
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"fld_intype"
	    label	"Field Type"
	    type	string
	    default	{ "float" }
	    disablewhen	"{ fld_name == \"\" }"
	    menu	{
		"float"	"Float"
		"vector"	"Vector"
		"vector4"	"Vector4"
	    }
	    range	{ 0 1 }
	    export	none
	    unquoted
	    parmtag	{ "script_callback_language" "python" }
	    parmtag	{ "script_callback" "hou.phm().updatemethod(kwargs)" }
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"fld_promote"
	    label	"Promote"
	    type	toggle
	    nolabel
	    joinnext
	    default	{ "off" }
	    disablewhen	"{ fld_name == \"\" }"
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "script_callback_language" "python" }
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"fld_outtype"
	    label	"Promote To Type"
	    type	string
	    joinnext
	    default	{ "float" }
	    disablewhen	"{ fld_name == \"\" } { fld_promote == 0 }"
	    menu	{
		"float"	"Float"
		"vector"	"Vector"
		"vector4"	"Vector4"
	    }
	    range	{ 0 1 }
	    export	none
	    unquoted
	    parmtag	{ "script_callback_language" "python" }
	    parmtag	{ "script_callback" "hou.phm().updatemethod(kwargs)" }
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"fld_method"
	    label	"Method"
	    type	string
	    nolabel
	    joinnext
	    default	{ "assign" }
	    disablewhen	"{ fld_name == \"\" } { fld_promote == 0 } { fld_doconvert == 0 }"
	    menu	{
		[ "hou.nodeType(hou.vopNodeTypeCategory(),'typeconvertimpl').hdaModule().methodmenu(hou.evalParm('fld_intype'),hou.evalParm('fld_outtype'))" ]
		language	python
	    }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"fld_padval"
	    label	"Pad Value"
	    type	float
	    nolabel
	    default	{ "0" }
	    disablewhen	"{ fld_name == \"\" } { fld_promote == 0 } { fld_method != padc }"
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"fld_doconvert"
	    label	"fld_doconvert"
	    type	integer
	    invisible
	    default	{ [ "evalParm('fld_promote') and evalParm('fld_intype')!=evalParm('fld_outtype')" python ] }
	    range	{ 0 10 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"fld_dfltval"
	    label	"Default Field Value"
	    type	vector4
	    size	4
	    default	{ "0" "0" "0" "0" }
	    disablewhen	"{ fld_name != \"\" }"
	    range	{ -1 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	group {
	    name	"folder"
	    label	"Color"

	    parm {
		name	"cm_usecd"
		label	"Use Point Color (Tint With Cd)"
		type	toggle
		default	{ "0" }
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"spacer"
		label	"spacer"
		type	label
		nolabel
		default	{ "" }
		range	{ 0 1 }
		export	none
	    }
	    group {
		name	"folder5"
		label	"Color Model"

		parm {
		    name	"spacer3"
		    label	"spacer"
		    type	label
		    nolabel
		    default	{ "" }
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"cm_cmodel"
		    label	"Color Model"
		    type	ordinal
		    default	{ "0" }
		    menu	{
			"0"	"Constant Color"
			"1"	"Ramp Lookup"
			"2"	"Blackbody"
		    }
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"spacer4"
		    label	"spacer"
		    type	label
		    nolabel
		    default	{ "" }
		    range	{ 0 1 }
		    export	none
		}
		group {
		    name	"folder2"
		    label	"Constant"

		    parm {
			name	"spacer2"
			label	"spacer"
			type	label
			nolabel
			default	{ "" }
			range	{ 0 1 }
			export	none
		    }
		    parm {
			name	"cm_constcol"
			label	"Constant"
			type	color
			size	3
			default	{ "1" "1" "1" }
			disablewhen	"{ cm_cmodel != 0 }"
			range	{ 0 1 }
			export	none
		    }
		}

		group {
		    name	"folder2_1"
		    label	"Ramp"

		    parm {
			name	"cm_rampparm"
			label	"Unique Ramp Name"
			type	string
			joinnext
			default	{ "rampparm_color" }
			disablewhen	"{ cm_cmodel != 1 }"
			range	{ 0 1 }
			export	none
			parmtag	{ "autoscope" "0000000000000000" }
		    }
		    parm {
			name	"cm_spacename"
			label	"Color Type"
			type	string
			default	{ "rgb" }
			disablewhen	"{ cm_cmodel != 1 }"
			menu	{
			    "rgb"	"RGB"
			    "hsv"	"HSV"
			    "lab"	"LAB"
			    "hsl"	"HSL"
			    "xyz"	"XYZ"
			}
			range	{ 0 1 }
			export	none
			parmtag	{ "autoscope" "0000000000000000" }
		    }
		    parm {
			name	"cm_gammaname"
			label	"Gamma"
			type	string
			joinnext
			default	{ "linear" }
			disablewhen	"{ cm_cmodel != 1 }"
			menu	{
			    "linear"	"Linear"
			    "srgb"	"sRGB"
			    "custom"	"Custom"
			}
			range	{ 0 1 }
			export	none
			parmtag	{ "autoscope" "0000000000000000" }
		    }
		    parm {
			name	"cm_gammaval"
			label	"Gamma Value"
			type	float
			nolabel
			default	{ "2.2" }
			disablewhen	"{ cm_cmodel != 1 } { cm_gammaname != custom }"
			range	{ 0.0001! 4 }
			export	none
			parmtag	{ "script_unquoted" "1" }
			parmtag	{ "autoscope" "0000000000000000" }
		    }
		    parm {
			name	"disablewhen2"
			label	"Disable When"
			type	string
			default	{ "" }
			disablewhen	"{ cm_cmodel != 1 }"
			range	{ 0 1 }
			export	none
			parmtag	{ "autoscope" "0000000000000000" }
		    }
		    parm {
			name	"callback2"
			label	"Callback Script"
			type	string
			default	{ "" }
			disablewhen	"{ cm_cmodel != 1 }"
			range	{ 0 1 }
			export	none
			parmtag	{ "autoscope" "0000000000000000" }
		    }
		    parm {
			name	"help2"
			label	"Help"
			type	string
			default	{ "" }
			disablewhen	"{ cm_cmodel != 1 }"
			range	{ 0 1 }
			export	none
			parmtag	{ "autoscope" "0000000000000000" }
		    }
		    parm {
			name	"spacer5"
			label	"spacer"
			type	label
			nolabel
			default	{ "" }
			range	{ 0 1 }
			export	none
		    }
		    parm {
			name	"cm_rangemin"
			label	"Ramp Interval"
			type	float
			joinnext
			default	{ "0" }
			disablewhen	"{ cm_cmodel != 1 }"
			range	{ 0 1 }
			export	none
			parmtag	{ "autoscope" "0000000000000000" }
		    }
		    parm {
			name	"cm_rangemax"
			label	"Max"
			type	float
			nolabel
			default	{ "1" }
			disablewhen	"{ cm_cmodel != 1 }"
			range	{ 0 1 }
			export	none
			parmtag	{ "autoscope" "0000000000000000" }
		    }
		    parm {
			name	"cm_lbt"
			label	"Ramp Boundaries"
			type	string
			joinnext
			default	{ "hold" }
			disablewhen	"{ cm_cmodel != 1 }"
			menu	{
			    "hold"	"Hold"
			    "cycle"	"Cycle"
			    "accum"	"Cycle-Accumulate"
			    "mirror"	"Mirror"
			    "slope"	"Slope"
			}
			range	{ 0 1 }
			export	none
			unquoted
			parmtag	{ "autoscope" "0000000000000000" }
		    }
		    parm {
			name	"cm_rbt"
			label	"Right"
			type	string
			nolabel
			default	{ "hold" }
			disablewhen	"{ cm_cmodel != 1 }"
			menu	{
			    "hold"	"Hold"
			    "cycle"	"Cycle"
			    "accum"	"Cycle-Accumulate"
			    "mirror"	"Mirror"
			    "slope"	"Slope"
			}
			range	{ 0 1 }
			export	none
			unquoted
			parmtag	{ "autoscope" "0000000000000000" }
		    }
		}

		group {
		    name	"folder2_2"
		    label	"Blackbody"

		    parm {
			name	"cm_temp"
			label	"Temperature (K)"
			type	float
			default	{ "5000" }
			disablewhen	"{ cm_cmodel != 2 }"
			range	{ 350! 15000 }
			export	none
		    }
		    parm {
			name	"spacer10"
			label	"spacer"
			type	label
			nolabel
			default	{ "" }
			range	{ 0 1 }
			export	none
		    }
		    parm {
			name	"cm_dotm"
			label	"Tone Mapping:"
			type	toggle
			joinnext
			default	{ "1" }
			disablewhen	"{ cm_cmodel != 2 }"
			range	{ 0 1 }
			export	none
		    }
		    parm {
			name	"spacer11"
			label	"spacer8"
			type	label
			nolabel
			default	{ "" }
			range	{ 0 1 }
			export	none
		    }
		    parm {
			name	"cm_tm_adapt"
			label	"Adaptation"
			type	float
			default	{ "0.18" }
			disablewhen	"{ cm_dotm == 0 } { cm_cmodel != 2 }"
			range	{ 0! 1 }
			export	none
		    }
		    parm {
			name	"cm_tm_burn"
			label	"Burn"
			type	float
			default	{ "0" }
			disablewhen	"{ cm_dotm == 0 } { cm_cmodel != 2 }"
			range	{ -2 2 }
			export	none
		    }
		    parm {
			name	"spacer6"
			label	"spacer"
			type	label
			nolabel
			default	{ "" }
			range	{ 0 1 }
			export	none
		    }
		}

	    }

	    group {
		name	"folder5_1"
		label	"Color Correction"

		parm {
		    name	"cm_cc_active"
		    label	"Color Correct"
		    type	toggle
		    default	{ "0" }
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "script_callback_language" "python" }
		}
		parm {
		    name	"cm_cc_gamut"
		    label	"Gamut Mapping"
		    type	ordinal
		    default	{ "3" }
		    disablewhen	"{ cm_cc_active == 0 }"
		    menu	{
			"0"	"None"
			"1"	"Clamp"
			"2"	"Absolute Colorimetry"
			"3"	"Relative Colorimetry"
		    }
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"cm_cc_dohrot"
		    label	"Do HRot"
		    type	toggle
		    nolabel
		    joinnext
		    default	{ "0" }
		    disablewhen	"{ cm_cc_active == 0 }"
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"cm_cc_hrot"
		    label	"Hue Rotation"
		    type	float
		    default	{ "0" }
		    disablewhen	"{ cm_cc_dohrot == 0 } { cm_cc_active == 0 }"
		    range	{ -1 1 }
		    export	none
		}
		parm {
		    name	"cm_cc_dobias"
		    label	"Do Bias"
		    type	toggle
		    nolabel
		    joinnext
		    default	{ "0" }
		    disablewhen	"{ cm_cc_active == 0 }"
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"cm_cc_bias"
		    label	"Bias"
		    type	float
		    size	3
		    default	{ "0.5" "0.5" "0.5" }
		    disablewhen	"{ cm_cc_dobias == 0 } { cm_cc_active == 0 }"
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"cm_cc_dogain"
		    label	"Do Gain"
		    type	toggle
		    nolabel
		    joinnext
		    default	{ "0" }
		    disablewhen	"{ cm_cc_active == 0 }"
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"cm_cc_gain"
		    label	"Gain"
		    type	float
		    size	3
		    default	{ "0.5" "0.5" "0.5" }
		    disablewhen	"{ cm_cc_dogain == 0 } { cm_cc_active == 0 }"
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"cm_cc_dogamma"
		    label	"Do Gamma"
		    type	toggle
		    nolabel
		    joinnext
		    default	{ "0" }
		    disablewhen	"{ cm_cc_active == 0 }"
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"cm_cc_gamma"
		    label	"Gamma"
		    type	float
		    size	3
		    default	{ "1" "1" "1" }
		    disablewhen	"{ cm_cc_dogamma == 0 } { cm_cc_active == 0 }"
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"cm_cc_docontrast"
		    label	"Do Contrast"
		    type	toggle
		    nolabel
		    joinnext
		    default	{ "0" }
		    disablewhen	"{ cm_cc_active == 0 }"
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"cm_cc_contrast"
		    label	"Contrast"
		    type	float
		    size	3
		    default	{ "1" "1" "1" }
		    disablewhen	"{ cm_cc_docontrast == 0 } { cm_cc_active == 0 }"
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"cm_cc_dosat"
		    label	"Do Saturation"
		    type	toggle
		    nolabel
		    joinnext
		    default	{ "0" }
		    disablewhen	"{ cm_cc_active == 0 }"
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"cm_cc_sat"
		    label	"Saturation"
		    type	float
		    default	{ "1" }
		    disablewhen	"{ cm_cc_dosat == 0 } { cm_cc_active == 0 }"
		    range	{ -2 2 }
		    export	none
		}
		parm {
		    name	"cm_cc_dovalue"
		    label	"Do Brightness"
		    type	toggle
		    nolabel
		    joinnext
		    default	{ "0" }
		    disablewhen	"{ cm_cc_active == 0 }"
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"cm_cc_value"
		    label	"Brightness"
		    type	float
		    default	{ "1" }
		    disablewhen	"{ cm_cc_dovalue == 0 } { cm_cc_active == 0 }"
		    range	{ 0 2 }
		    export	none
		}
		parm {
		    name	"cm_cc_dotint"
		    label	"Do Tint"
		    type	toggle
		    nolabel
		    joinnext
		    default	{ "0" }
		    disablewhen	"{ cm_cc_active == 0 }"
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"cm_cc_tint"
		    label	"Tint"
		    type	color
		    size	3
		    default	{ "1" "1" "1" }
		    disablewhen	"{ cm_cc_dotint == 0 } { cm_cc_active == 0 }"
		    range	{ 0 1 }
		    export	none
		}
	    }

	}

	group {
	    name	"folder_1"
	    label	"Field Shape"

	    parm {
		name	"fld_dofit"
		label	"Fit to Range (Unclamped)"
		type	toggle
		joinnext
		default	{ "off" }
		disablewhen	"{ fld_name == \"\" }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"labelparm2"
		label	"forceleft"
		type	label
		nolabel
		default	{ "" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"fld_fit_srcmin"
		label	"Source Range"
		type	float
		joinnext
		default	{ "0" }
		disablewhen	"{ fld_name == \"\" } { fld_dofit == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"fld_fit_srcmax"
		label	"Source Max"
		type	float
		nolabel
		default	{ "1" }
		disablewhen	"{ fld_name == \"\" } { fld_dofit == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"fld_fit_tgtmin"
		label	"Target Range"
		type	float
		joinnext
		default	{ "0" }
		disablewhen	"{ fld_name == \"\" } { fld_dofit == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"fld_fit_tgtmax"
		label	"Target Max"
		type	float
		nolabel
		default	{ "1" }
		disablewhen	"{ fld_name == \"\" } { fld_dofit == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"labelparm4"
		label	"spacer"
		type	label
		invisible
		nolabel
		default	{ "" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"fld_doramp"
		label	"Use Lookup Ramp"
		type	toggle
		joinnext
		default	{ "off" }
		disablewhen	"{ fld_name == \"\" }"
		range	{ 0 1 }
		export	none
		parmtag	{ "script_callback_language" "python" }
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"labelparm13"
		label	"forceleft"
		type	label
		nolabel
		default	{ "" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"fld_rampparm"
		label	"Unique Ramp Name"
		type	string
		default	{ "rampparm_field" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"fld_disablewhen"
		label	"Disable When"
		type	string
		default	{ [ "'{ %sfld_name%s \"\" } { %sfld_doramp%s 0 }'%(ch('ui_prefix'),ch('ui_postfix'),ch('ui_prefix'),ch('ui_postfix'))" python ] }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"fld_callback"
		label	"Callback Script"
		type	string
		default	{ "" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"fld_help"
		label	"Help"
		type	string
		default	{ "" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"labelparm19"
		label	"spacer"
		type	label
		nolabel
		default	{ "" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"fld_ramptype"
		label	"Ramp Type"
		type	ordinal
		joinnext
		default	{ "flt" }
		disablewhen	"{ fld_name == \"\" } { fld_doramp == 0 }"
		menu	{
		    "flt"	"Float Spline"
		    "rgb"	"Color Ramp"
		}
		range	{ 0 1 }
		export	none
		parmtag	{ "script_callback_language" "python" }
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"fld_spacename"
		label	"Space"
		type	string
		nolabel
		default	{ "rgb" }
		disablewhen	"{ fld_name == \"\" } { fld_doramp == 0 } { fld_ramptype == flt }"
		menu	{
		    "rgb"	"RGB"
		    "hsv"	"HSV"
		    "lab"	"LAB"
		    "hsl"	"HSL"
		    "xyz"	"XYZ"
		}
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"fld_gammaname"
		label	"Gamma"
		type	string
		joinnext
		default	{ "linear" }
		disablewhen	"{ fld_name == \"\" } { fld_doramp == 0 }"
		menu	{
		    "linear"	"Linear"
		    "srgb"	"sRGB"
		    "custom"	"Custom"
		}
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"fld_gammaval"
		label	"Gamma Value"
		type	float
		nolabel
		default	{ "2.2" }
		disablewhen	"{ fld_name == \"\" } { fld_doramp == 0 } { fld_gammaname != custom }"
		range	{ 0.0001! 4 }
		export	none
		parmtag	{ "script_unquoted" "1" }
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"fld_ramp_rngmin"
		label	"Ramp Interval"
		type	float
		joinnext
		default	{ "0" }
		disablewhen	"{ fld_name == \"\" } { fld_doramp == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"fld_ramp_rngmax"
		label	"Ramp Interval Max"
		type	float
		nolabel
		default	{ "1" }
		disablewhen	"{ fld_name == \"\" } { fld_doramp == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"fld_lbt"
		label	"Ramp Boundaries"
		type	string
		joinnext
		default	{ "hold" }
		disablewhen	"{ fld_name == \"\" } { fld_doramp == 0 }"
		menu	{
		    "hold"	"Hold"
		    "cycle"	"Cycle"
		    "accum"	"Cycle-Accumulate"
		    "mirror"	"Mirror"
		    "slope"	"Slope"
		}
		range	{ 0 1 }
		export	none
		unquoted
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"fld_rbt"
		label	"Right"
		type	string
		nolabel
		default	{ "hold" }
		disablewhen	"{ fld_name == \"\" } { fld_doramp == 0 }"
		menu	{
		    "hold"	"Hold"
		    "cycle"	"Cycle"
		    "accum"	"Cycle-Accumulate"
		    "mirror"	"Mirror"
		    "slope"	"Slope"
		}
		range	{ 0 1 }
		export	none
		unquoted
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"labelparm15"
		label	"spacer"
		type	label
		nolabel
		default	{ "" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"fld_docontour"
		label	"Contour"
		type	toggle
		nolabel
		joinnext
		default	{ "off" }
		disablewhen	"{ fld_name == \"\" }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"fld_contour_width"
		label	"Contour Width"
		type	float
		joinnext
		default	{ "0.02" }
		disablewhen	"{ fld_name == \"\" } { fld_docontour == 0 }"
		range	{ 0! 0.1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"fld_contour_sharp"
		label	"Sharpness"
		type	float
		default	{ "4" }
		disablewhen	"{ fld_name == \"\" } { fld_docontour == 0 }"
		range	{ 0! 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"fld_dosclip"
		label	"Soft Clip"
		type	toggle
		nolabel
		joinnext
		default	{ "off" }
		disablewhen	"{ fld_name == \"\" }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"fld_sclip_start"
		label	"Soft Clip Start"
		type	float
		joinnext
		default	{ "0.8" }
		disablewhen	"{ fld_name == \"\" } { fld_dosclip == 0 }"
		range	{ 0! 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"fld_sclip_suppress"
		label	"  Suppress"
		type	float
		default	{ "1" }
		disablewhen	"{ fld_name == \"\" } { fld_dosclip == 0 }"
		range	{ 0! 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"labelparm16"
		label	"spacer"
		type	label
		nolabel
		default	{ "" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"fld_dolowlimit"
		label	"Clamp at Lower Limit"
		type	toggle
		nolabel
		joinnext
		default	{ "off" }
		disablewhen	"{ fld_name == \"\" }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"fld_lowlimit"
		label	"Clamp To Min"
		type	float
		default	{ "0" }
		disablewhen	"{ fld_name == \"\" } { fld_dolowlimit == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"fld_dohighlimit"
		label	"Clamp at Upper Limit"
		type	toggle
		nolabel
		joinnext
		default	{ "off" }
		disablewhen	"{ fld_name == \"\" }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"fld_highlimit"
		label	"Clamp To Max"
		type	float
		default	{ "1" }
		disablewhen	"{ fld_name == \"\" } { fld_dohighlimit == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"labelparm17"
		label	"spacer"
		type	label
		nolabel
		default	{ "" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"fld_amp"
		label	"Final Amplitude"
		type	float
		default	{ "1" }
		disablewhen	"{ fld_name == \"\" }"
		range	{ 0 2 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	}

	group {
	    name	"folder_2"
	    label	"Field Noise"

	    parm {
		name	"pn_active"
		label	"Active"
		type	toggle
		default	{ "0" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"pn_ntype"
		label	"Noise Output Type"
		type	ordinal
		joinnext
		default	{ "default" }
		disablewhen	"{ pn_active == 0 }"
		menu	{
		    [ "d3 = (\"default\", \"Float\", \"v3\", \"Vector\")" ]
		    [ "d4 = (\"f4\", \"Float\", \"v4\", \"Vector\")" ]
		    [ "return (d3,d4)[kwargs[\"node\"].evalParm(\"pn_dim4\")]" ]
		    language	python
		}
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"pn_dim4"
		label	"Space"
		type	integer
		joinnext
		default	{ "0" }
		disablewhen	"{ pn_active == 0 }"
		menu	{
		    "0"	"3D"
		    "1"	"4D"
		}
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"pn_time"
		label	"Time"
		type	float
		default	{ "0" }
		disablewhen	"{ pn_active == 0 } { pn_dim4 == 0 }"
		range	{ 0 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"pn_fieldop"
		label	"Field Operation"
		type	string
		default	{ "add" }
		disablewhen	"{ pn_active == 0 }"
		menu	{
		    "add"	"Offset (Field + Noise)"
		    "mult"	"Scale (Field * Noise)"
		}
		range	{ 0 1 }
		export	none
		unquoted
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"pn_freq"
		label	"Frequency"
		type	vector4
		size	4
		default	{ "1" "1" "1" "1" }
		disablewhen	"{ pn_active == 0 }"
		range	{ -1 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"pn_offset"
		label	"Offset"
		type	vector4
		size	4
		default	{ "0" "0" "0" "0" }
		disablewhen	"{ pn_active == 0 }"
		range	{ -1 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"pn_period"
		label	"Period"
		type	vector4
		size	4
		default	{ "1" "1" "1" "1" }
		disablewhen	"{ pn_active == 0 } { pn_basis != pperlin pn_basis != pflow }"
		range	{ 0! 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"labelparm3"
		label	"spacer"
		type	label
		nolabel
		default	{ "" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    group {
		name	"folder1"
		label	"Construction"

		parm {
		    name	"pn_basis"
		    label	"Noise Type"
		    type	string
		    default	{ "simplex" }
		    disablewhen	"{ pn_active == 0 }"
		    menu	{
			"sine"	"Sinusoid"
			"perlin"	"Perlin"
			"pperlin"	"Periodic Perlin"
			"simplex"	"Simplex (Improved Perlin)"
			"sparse"	"Sparse Convolution"
			"flow"	"Flow"
			"pflow"	"Periodic Flow"
			"worleyFA"	"Worley (cellular) F1"
			"worleyFB"	"Worley (cellular) F2-F1"
			"alligator"	"Alligator"
		    }
		    range	{ 0 1 }
		    export	none
		    unquoted
		    parmtag	{ "autoscope" "0000000000000000" }
		}
		parm {
		    name	"pn_fold"
		    label	"Fold"
		    type	toggle
		    default	{ "off" }
		    disablewhen	"{ pn_active == 0 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		}
		parm {
		    name	"pn_inv"
		    label	"Complement"
		    type	toggle
		    default	{ "off" }
		    disablewhen	"{ pn_name == \"\" } { pn_active == 0 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		}
		parm {
		    name	"pn_expon"
		    label	"Exponent"
		    type	float
		    default	{ "1" }
		    disablewhen	"{ pn_active == 0 }"
		    range	{ 0! 2 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		}
		parm {
		    name	"pn_dolwarp"
		    label	"Enable Lattice Warp"
		    type	toggle
		    nolabel
		    joinnext
		    default	{ "0" }
		    disablewhen	"{ pn_active == 0 }"
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"pn_disp"
		    label	"Lattice Warp"
		    type	float
		    joinnext
		    default	{ "0" }
		    disablewhen	"{ pn_active == 0 } { pn_dolwarp == 0 }"
		    range	{ -0.5 0.5 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		}
		parm {
		    name	"pn_dispfreq"
		    label	"Freq"
		    type	float
		    default	{ "1" }
		    disablewhen	"{ pn_active == 0 } { pn_dolwarp == 0 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		}
		parm {
		    name	"pn_dogwarp"
		    label	"Enable Gradient Warp"
		    type	toggle
		    nolabel
		    joinnext
		    default	{ "0" }
		    disablewhen	"{ pn_active == 0 } { pn_dogwarp == 0 }"
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"pn_gflow"
		    label	"Gradient Warp"
		    type	float
		    default	{ "0" }
		    disablewhen	"{ pn_active == 0 } { pn_dogwarp == 0 }"
		    range	{ -0.5 0.5 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		}
		parm {
		    name	"pn_flowrot"
		    label	"Flow Rotation"
		    type	float
		    default	{ "0" }
		    disablewhen	"{ pn_active == 0 } { pn_basis != flowrot pn_basis != pflow }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		}
		parm {
		    name	"pn_fractal"
		    label	"Fractal Type"
		    type	string
		    default	{ "none" }
		    disablewhen	"{ pn_active == 0 }"
		    menu	{
			"none"	"None"
			"fBm"	"Standard (fBm)"
			"mfT"	"Terrain"
			"hmfT"	"Hybrid Terrain"
		    }
		    range	{ 0 1 }
		    export	none
		    unquoted
		    parmtag	{ "autoscope" "0000000000000000" }
		}
		parm {
		    name	"pn_accuml"
		    label	"Accumulate Lattice Warp"
		    type	toggle
		    default	{ "off" }
		    disablewhen	"{ pn_active == 0 } { pn_fractal == none }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		}
		parm {
		    name	"pn_accumg"
		    label	"Accumulate Gradient Warp"
		    type	toggle
		    default	{ "off" }
		    disablewhen	"{ pn_active == 0 } { pn_fractal == none }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		}
		parm {
		    name	"pn_oct"
		    label	"Max Octaves"
		    type	float
		    default	{ "8" }
		    disablewhen	"{ pn_active == 0 } { pn_fractal == none }"
		    range	{ 0! 16 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		}
		parm {
		    name	"pn_lac"
		    label	"Lacunarity"
		    type	float
		    default	{ "2.01234" }
		    disablewhen	"{ pn_active == 0 } { pn_fractal == none }"
		    range	{ 0 4 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		}
		parm {
		    name	"pn_rough"
		    label	"Roughness"
		    type	float
		    default	{ "0.5" }
		    disablewhen	"{ pn_active == 0 } { pn_fractal == none }"
		    range	{ 0! 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		}
	    }

	    group {
		name	"folder1_1"
		label	"Output"

		parm {
		    name	"pn_docc"
		    label	"Output Correction"
		    type	toggle
		    default	{ "off" }
		    disablewhen	"{ pn_active == 0 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		}
		parm {
		    name	"labelparm7"
		    label	"spacer"
		    type	label
		    nolabel
		    default	{ "" }
		    disablewhen	"{ pn_active == 0 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		}
		parm {
		    name	"pn_cc_dobias"
		    label	"Do Bias"
		    type	toggle
		    nolabel
		    joinnext
		    default	{ "off" }
		    disablewhen	"{ pn_active == 0 } { pn_docc == 0 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		}
		parm {
		    name	"pn_cc_bias"
		    label	"Bias"
		    type	vector
		    size	3
		    default	{ "0.5" "0.5" "0.5" }
		    disablewhen	"{ pn_active == 0 } { pn_docc == 0 } { pn_cc_dobias == 0 }"
		    range	{ 0! 1! }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		}
		parm {
		    name	"pn_cc_dogain"
		    label	"Do Gain"
		    type	toggle
		    nolabel
		    joinnext
		    default	{ "off" }
		    disablewhen	"{ pn_active == 0 } { pn_docc == 0 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		}
		parm {
		    name	"pn_cc_gain"
		    label	"Gain"
		    type	vector
		    size	3
		    default	{ "0.5" "0.5" "0.5" }
		    disablewhen	"{ pn_active == 0 } { pn_docc == 0 } { pn_cc_dogain == 0 }"
		    range	{ 0! 1! }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		}
		parm {
		    name	"pn_cc_inv"
		    label	"Complement"
		    type	toggle
		    default	{ "off" }
		    disablewhen	"{ pn_active == 0 } { pn_docc == 0 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		}
		parm {
		    name	"labelparm5"
		    label	"spacer"
		    type	label
		    nolabel
		    default	{ "" }
		    disablewhen	"{ pn_active == 0 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		}
		parm {
		    name	"pn_cc_dorng"
		    label	"Output Range (Clamped)"
		    type	toggle
		    default	{ "off" }
		    disablewhen	"{ pn_active == 0 } { pn_docc == 0 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		}
		parm {
		    name	"pn_cc_rnglo"
		    label	"New Minimum"
		    type	vector
		    size	3
		    default	{ "0" "0" "0" }
		    disablewhen	"{ pn_active == 0 } { pn_docc == 0 } { pn_cc_dorng == 0 }"
		    range	{ -1 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		}
		parm {
		    name	"pn_cc_rnghi"
		    label	"New Maximum"
		    type	vector
		    size	3
		    default	{ "1" "1" "1" }
		    disablewhen	"{ pn_active == 0 } { pn_docc == 0 } { pn_cc_dorng == 0 }"
		    range	{ 0 2 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		}
		parm {
		    name	"labelparm6"
		    label	"spacer"
		    type	label
		    nolabel
		    default	{ "" }
		    disablewhen	"{ pn_active == 0 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		}
		parm {
		    name	"pn_cc_amp"
		    label	"Final Amplitude"
		    type	vector
		    size	3
		    default	{ "1" "1" "1" }
		    disablewhen	"{ pn_active == 0 } { pn_docc == 0 }"
		    range	{ 0 2 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		}
	    }

	    group {
		name	"folder1_2"
		label	"Rest Position"

		group {
		    name	"folder4"
		    label	"Fields"

		    parm {
			name	"labelparm"
			label	"spacer"
			type	label
			nolabel
			default	{ "" }
			range	{ 0 1 }
			export	none
			parmtag	{ "autoscope" "0000000000000000" }
		    }
		    parm {
			name	"dr_restinterp"
			label	"Ratio Interpolation"
			type	ordinal
			default	{ "0" }
			menu	{
			    "0"	"Unmodified (Linear)"
			    "1"	"Cubic"
			    "2"	"Cosine"
			}
			range	{ 0 1 }
			export	none
			parmtag	{ "autoscope" "0000000000000000" }
		    }
		    parm {
			name	"labelparm8"
			label	"spacer"
			type	label
			nolabel
			default	{ "" }
			range	{ 0 1 }
			export	none
			parmtag	{ "autoscope" "0000000000000000" }
		    }
		    parm {
			name	"dr_rest_name"
			label	"Rest Position 1"
			type	string
			joinnext
			default	{ "rest" }
			range	{ 0 1 }
			export	none
			parmtag	{ "autoscope" "0000000000000000" }
		    }
		    parm {
			name	"dr_rest_intype"
			label	"Type"
			type	string
			default	{ "vector" }
			disablewhen	"{ dr_rest_name == \"\" }"
			menu	{
			    "float"	"Float"
			    "vector"	"Vector"
			    "vector4"	"Vector4"
			}
			range	{ 0 1 }
			export	none
			unquoted
			parmtag	{ "script_callback_language" "python" }
			parmtag	{ "autoscope" "0000000000000000" }
		    }
		    parm {
			name	"dr_rest_method"
			label	"Conversion to Vector"
			type	string
			joinnext
			default	{ "assign" }
			disablewhen	"{ dr_rest_name == \"\" } { dr_rest_intype == vector }"
			menu	{
			    [ "opmenu -l DualRest rest_method" ]
			}
			range	{ 0 1 }
			export	none
			parmtag	{ "autoscope" "0000000000000000" }
		    }
		    parm {
			name	"dr_rest_padval"
			label	"Padding Constant"
			type	float
			nolabel
			default	{ "0" }
			disablewhen	"{ dr_rest_name == \"\" } { dr_rest_method != padc }"
			range	{ 0 1 }
			export	none
			parmtag	{ "autoscope" "0000000000000000" }
		    }
		    parm {
			name	"dr_rest_ratio_name"
			label	"Rest1 Ratio"
			type	string
			joinnext
			default	{ "rest_ratio" }
			range	{ 0 1 }
			export	none
			parmtag	{ "autoscope" "0000000000000000" }
		    }
		    parm {
			name	"dr_rest_ratio_intype"
			label	"Type"
			type	string
			default	{ "float" }
			disablewhen	"{ dr_rest_ratio_name == \"\" }"
			menu	{
			    "float"	"Float"
			    "vector"	"Vector"
			    "vector4"	"Vector4"
			}
			range	{ 0 1 }
			export	none
			unquoted
			parmtag	{ "script_callback_language" "python" }
			parmtag	{ "autoscope" "0000000000000000" }
		    }
		    parm {
			name	"dr_rest_ratio_method"
			label	"Conversion to Float"
			type	string
			default	{ "assign" }
			disablewhen	"{ dr_rest_ratio_name == \"\" } { dr_rest_ratio_intype == float }"
			menu	{
			    [ "opmenu -l DualRest rest_ratio_method" ]
			}
			range	{ 0 1 }
			export	none
			parmtag	{ "autoscope" "0000000000000000" }
		    }
		    parm {
			name	"dr_rest2_name"
			label	"Rest Position 2"
			type	string
			joinnext
			default	{ "rest2" }
			range	{ 0 1 }
			export	none
			parmtag	{ "autoscope" "0000000000000000" }
		    }
		    parm {
			name	"dr_rest2_intype"
			label	"Type"
			type	string
			default	{ "vector" }
			disablewhen	"{ dr_rest2_name == \"\" }"
			menu	{
			    "float"	"Float"
			    "vector"	"Vector"
			    "vector4"	"Vector4"
			}
			range	{ 0 1 }
			export	none
			unquoted
			parmtag	{ "script_callback_language" "python" }
			parmtag	{ "autoscope" "0000000000000000" }
		    }
		    parm {
			name	"dr_rest2_method"
			label	"Conversion to Vector"
			type	string
			joinnext
			default	{ "assign" }
			disablewhen	"{ dr_rest2_name == \"\" } { dr_rest2_intype == vector }"
			menu	{
			    [ "opmenu -l DualRest rest2_method" ]
			}
			range	{ 0 1 }
			export	none
			parmtag	{ "autoscope" "0000000000000000" }
		    }
		    parm {
			name	"dr_rest2_padval"
			label	"Padding Constant"
			type	float
			nolabel
			default	{ "0" }
			disablewhen	"{ dr_rest2_name == \"\" } { dr_rest2_method != padc }"
			range	{ 0 1 }
			export	none
			parmtag	{ "autoscope" "0000000000000000" }
		    }
		    parm {
			name	"dr_rest2_ratio_name"
			label	"Rest2 Ratio"
			type	string
			joinnext
			default	{ "rest2_ratio" }
			range	{ 0 1 }
			export	none
			parmtag	{ "autoscope" "0000000000000000" }
		    }
		    parm {
			name	"dr_rest2_ratio_intype"
			label	"Type"
			type	string
			default	{ "float" }
			disablewhen	"{ dr_rest2_ratio_name == \"\" }"
			menu	{
			    "float"	"Float"
			    "vector"	"Vector"
			    "vector4"	"Vector4"
			}
			range	{ 0 1 }
			export	none
			unquoted
			parmtag	{ "script_callback_language" "python" }
			parmtag	{ "autoscope" "0000000000000000" }
		    }
		    parm {
			name	"dr_rest2_ratio_method"
			label	"Conversion to Float"
			type	string
			default	{ "assign" }
			disablewhen	"{ dr_rest2_ratio_name == \"\" } { dr_rest2_ratio_intype == float }"
			menu	{
			    [ "opmenu -l DualRest rest2_ratio_method" ]
			}
			range	{ 0 1 }
			export	none
			parmtag	{ "autoscope" "0000000000000000" }
		    }
		}

		group {
		    name	"folder4_1"
		    label	"Fallbacks"

		    parm {
			name	"labelparm9"
			label	"spacer"
			type	label
			nolabel
			default	{ "" }
			range	{ 0 1 }
			export	none
			parmtag	{ "autoscope" "0000000000000000" }
		    }
		    parm {
			name	"labelparm10"
			label	"fallback_label"
			type	label
			nolabel
			default	{ "Fallback Rest Position Upon Failure (VEX):" }
			range	{ 0 1 }
			export	none
			parmtag	{ "autoscope" "0000000000000000" }
		    }
		    parm {
			name	"labelparm11"
			label	"spacer"
			type	label
			nolabel
			default	{ "" }
			range	{ 0 1 }
			export	none
			parmtag	{ "autoscope" "0000000000000000" }
		    }
		    parm {
			name	"dr_fail_shading"
			label	"SHADING Contexts"
			type	string
			default	{ "ptransform(\"space:object\",P)" }
			range	{ 0 1 }
			export	none
			unquoted
			parmtag	{ "autoscope" "0000000000000000" }
		    }
		    parm {
			name	"dr_fail_cop"
			label	"COP|COP2 Contexts"
			type	string
			default	{ "set(X,Y,0)" }
			range	{ 0 1 }
			export	none
			unquoted
			parmtag	{ "autoscope" "0000000000000000" }
		    }
		    parm {
			name	"dr_fail_sop"
			label	"SOP|POP Contexts"
			type	string
			default	{ "P" }
			range	{ 0 1 }
			export	none
			unquoted
			parmtag	{ "autoscope" "0000000000000000" }
		    }
		    parm {
			name	"dr_fail_chop"
			label	"CHOP Context"
			type	string
			default	{ "set((float)I/SR,V,0)" }
			range	{ 0 1 }
			export	none
			unquoted
			parmtag	{ "autoscope" "0000000000000000" }
		    }
		    parm {
			name	"dr_fail_cvex"
			label	"CVEX Context"
			type	string
			default	{ "0" }
			range	{ 0 1 }
			export	none
			unquoted
			parmtag	{ "autoscope" "0000000000000000" }
		    }
		    parm {
			name	"dr_fail_fail"
			label	"Unknown Context"
			type	string
			default	{ "0" }
			range	{ 0 1 }
			export	none
			unquoted
			parmtag	{ "autoscope" "0000000000000000" }
		    }
		}

	    }

	}

	group {
	    name	"folder_3"
	    label	"Filter"

	    parm {
		name	"labelparm12"
		label	"Texture Filter"
		type	label
		default	{ "" }
		disablewhen	"{ pn_active == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"sepparm6"
		label	"Separator"
		type	separator
		default	{ }
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"ftype"
		label	"Filter Type"
		type	string
		joinnext
		default	{ "point" }
		menu	{
		    "point"	"Point"
		    "box"	"Box"
		    "gauss"	"Gaussian"
		}
		range	{ 0 1 }
		export	none
		unquoted
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"fscale_tx"
		label	"Scale"
		type	float
		default	{ "1" }
		disablewhen	"{ ftype == point }"
		range	{ 0 2 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"labelparm18"
		label	"Noise Filter"
		type	label
		default	{ "" }
		disablewhen	"{ pn_active == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"sepparm7"
		label	"Separator"
		type	separator
		default	{ }
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"fscale_noise"
		label	"Filter Scale"
		type	float
		default	{ "1" }
		range	{ 0 2 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	}

    }

    group {
	name	"folder0_1"
	label	"UI Promotion"

	parm {
	    name	"ui_prefix"
	    label	"Parameter Prefix"
	    type	string
	    joinnext
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"ui_postfix"
	    label	"Postfix"
	    type	string
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"ui_infolder"
	    label	"ui_infolder"
	    type	toggle
	    nolabel
	    joinnext
	    default	{ "1" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"ui_foldername"
	    label	"Create In Folder"
	    type	string
	    default	{ [ "node('.').creator().relativePathTo(node('.')).replace('/','_')" python ] }
	    disablewhen	"{ ui_infolder == 0 }"
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"spacer8"
	    label	"spacer"
	    type	label
	    nolabel
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"title"
	    label	"Field Settings"
	    type	label
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"sepparm4"
	    label	"Separator"
	    type	separator
	    default	{ }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"uif_forcefieldname"
	    label	"Disallow Empty String in Field Name"
	    type	toggle
	    joinnext
	    default	{ "0" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"lalign4"
	    label	"lalign"
	    type	label
	    nolabel
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"spacer9"
	    label	"spacer"
	    type	label
	    nolabel
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"title2"
	    label	"Noise Settings"
	    type	label
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"sepparm5"
	    label	"Separator"
	    type	separator
	    default	{ }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"uin_initactive"
	    label	"Default Active State"
	    type	toggle
	    joinnext
	    default	{ "0" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"lalign3"
	    label	"lalign"
	    type	label
	    nolabel
	    default	{ "" }
	    disablewhen	"{ pn_active == 0 }"
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"uin_initsigned"
	    label	"Initialize As Signed Noise"
	    type	toggle
	    joinnext
	    default	{ "1" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"leftalign3"
	    label	"leftalign"
	    type	label
	    nolabel
	    default	{ "" }
	    disablewhen	"{ pn_active == 0 }"
	    range	{ 0 1 }
	    export	none
	}
    }

    parm {
	name	"huesrc"
	label	"huesrc"
	type	integer
	invisible
	default	{ [ "int(evalParm('fld_name')=='')" python ] }
	range	{ 0 10 }
	export	none
    }
}
# Automatically generated script: Wednesday February 22, 12:20 2012
\set noalias = 1
#
#  Creation script for pyroColorVolume operator
#

if ( "$arg1" == "" ) then
    echo This script is intended as a creation script
    exit
endif

# Node $arg1 (Vop/pyroColorVolume)
opexprlanguage -s hscript $arg1
opuserdata -n '___Version___' -v '' $arg1
ParmsFromVfl := 0;
PrefixDroppedParmName := 0;
UseDSParms := 1;
ForbidOutsideParms := 0;
LockContents := 1;
SaveSpareParms := 0;
CheckExternal := 1;
GzipContents := 1;
MakeDefault := 1;
SaveCachedCode := 0;
PrefixDroppedParmLabel := 0;
UnlockOnCreate := 0;
<?xml version="1.0" encoding="UTF-8"?>
<shelfDocument>
  <!-- This file contains definitions of shelves, toolbars, and tools.
 It should not be hand-edited when it is being used by the application.
 Note, that two definitions of the same element are not allowed in
 a single file. -->

  <tool name="$HDA_TABLE_$HDA_NAME" label="$HDA_LABEL" icon="$HDA_ICON">
    <toolMenuContext name="viewer">
      <contextNetType>VOP</contextNetType>
    </toolMenuContext>
    <toolMenuContext name="pop_viewer">
      <contextNetType>VOP</contextNetType>
    </toolMenuContext>
    <toolMenuContext name="network">
      <contextOpType>$HDA_TABLE/$HDA_NAME</contextOpType>
    </toolMenuContext>
    <toolSubmenu>Pyro</toolSubmenu>
    <script scriptType="python"><![CDATA[import voptoolutils

voptoolutils.genericTool(kwargs, '$HDA_NAME')]]></script>
  </tool>
</shelfDocument>
      KI&]5cGV;pFe73dxΚ*bH&d=
)LFFDE8Ń At؛ a1aMV @A:J:@$@{`a~Z]wͮǟ^륷nޠ?o7zg9a%Zb<>BY8h>ɦ9Deb냬;fabT\φγa]IBvV9N34CaMy:d'JfƯ
8|'"TY?MN9Ogu+#O4Tħe;ZNEm	i1n xʁ?,VPq2'*ݝ~vR'7OƃViu*'Oȋl0"Ɨ\͝x5*2r?p
&8=UӖi֏}f^~&ޔDڼVVJ^9QH*<ZAGEiݩQ1C1݇`fhJB]<r,ىV2M[7n=<̏Y=Zg_>S΃召,y9Nw$`m؞)S5OFZ|1L~kk?Ur.o=?7k)k&XNx海Z{_[Q	^{NUkkf
ޛSOk?X[ƟD~lV޿W*U㝵+6T~ko=$j>};TA~ɧkk~eZkOO)ok?6)pX-hx5N{xukpvwA"5.`KckǷ]r6F(2,@4?=cPy$DxWuqt@f6OT%3MU[NZ~/\kV(4mE~O4ُ>SJ3#^#S+5jD&~_WɸBj̇,m+fy.@-$Jlj@T]k[⠊m {E>,|bŖSE4/eX}D;܏8? ׆DeP7c#X*f'Hs[C`@e
݅v)D\m;jMZlsHLt4*qtm;JNm ]iS >gYE05mkC>X(#H
ݪ/=9xTj2;Yqΰ<&3<Q[WnS82%#S5`?i J'bMvEV듸k L;q[z(~UmV9j&OfxjnFSqT&OeDDF̘O/K k@5lwhuEQ6Y1sjle(^h<k(ogo꜋=]mLK(KV3Rש4aC3>p5Pksnh+O9__VD߻_`?-&\W?HؓGIUp}<>NQ63\δ{iMoھ.]:?[Z41h)ol4za}/l_-Kx>g'z1d%[qҼa4U追|83]`Y6m[I^"q:{̄Wχ )tG;Qq04k{^5r8Z'b{HϓP>*Ε>jiJʣxpt3))`Ixp0>NN^@6FON@&Dd|''#TAӎ<le6N
)hz5dGOeLrhmM6^X|Jƫ4y	*,g\!%WׅCW1%S:<89OK/Gї71n&DhRTChNzv]9<B:=|r*N\UR
+i\U*!p\URlOs]>Su+J_3d<|?J?WT?*Qfbi\ ٕC6 kx` g?Wa@3f@KƱ9ABΡ  A>!`9 0hϚBnA셇BJA"g萫 x?Ox"gT$J*GG&J,*Z'J-4eSF(%R]{[is%!psATN~(^*lpRl)b:p>()f
rh<J
/?D!_?JUA٨aၐaGBr/wHTQDs%cZ:IԀD!΀^!,)9}>HiIHFb9{dPR ["ZPU+@KE3~l\.I0X .&ME`2AXM;HؐQ24`,:Ys^^@@G '[ Pp6ܣad^#pt<r&I %`A%@&8 	 egCp`0A3 b.! HlV%
p6bsw-^Zri&J@pU)][nqspR"0`gi4NT&0l"c8k-LGJ::aTMM9s0i*7cla""- ["0l1 Aa[d p͔Nh0qmHKPK:آ#B> ,  !آeab/c"Ba	 ~~"CsG6w7ƹ#ZbeEO\YhSRi0
)%#Y?n5'5I4 Ml`2ռ2$YT)hTKHȂ"d)4ՠ!Tr"~8c0ktqÎ:)S8k p8Dq*CX	! Θ!Ne2!cnTNlb#,nTD)Xxp4PQ\( T=a/2mF!PAN*[I60 &Hc0*	RAŘ{R4A:>PAN*vd,}}Q8A
(?d#hTPz7"TCr/w
bhTP\iɘu8 T8ki w& *	RAE#朽 T`[`[*x<ၴ'E*z!\g:iRhlBӗUR}D4^a8!.~p2`-24YSf-dX%ts|@)tnv"и'Cne@89d9C`2ǃZrseh+WG9Kf؂+p@06Ma#ϛ0=˂6 B'X;9KfMa\}LM{fX9C&PJE#gCӲNT=rh8K<s,GȹJr!%o-|-[z@9~ +9ÓV!|9[WUrh?CcN$LE`𬱀ВCjJM2>Ch09L# C9t5-+Ҧ2tY\}6n=@\}4$&&x(CL {<`+'t#Y`T2*eNTqJD%۠2/I%âZm8mVJ%GRC%'pֶu[=0J- wff@IæR	-60!֜JK%۠|$ME`nTBۺ~7i*C8Yqp*mM&NeN~6O%ꡦUBu[3z [mx3H/n Uheܺ++/`Jh[UX@nXUBۺxm`p6ppӦ24,8| 4sqS2Ap6<Ka]e@p# 8@LT ll${p6hmSZ문|q0ix>e]z@p07.$F$76FxPX0$Ue[`!p!0'# F[@"p`"0A7@.z`$U쾡mnT	AΙZMbFBTr֖ĵ v#%e^ZX  $pX#60&,7ї;!O	 ~^--ġm"dwĹ;뀑(e3-yZ}q<8a0.,<wx0Ҏ+$+0!vR'LRo4mV#FaHnHQV_<b,ʡ0)
T+o mXw']*m 9 xL~A(HhN%cj`-
t 	n΀ѯ	s@ZN 8٘g 5e;v6Xd[jqN4s"ȇ=| 'oS:9p̈́5u*Cw@D4Yx xW$B oi3B_`/'|5G]&tSG\t:Ծ;R覍~Blء2/[)D Ӓ1`qBlCgm[p423vLzl!WZyB9g/cl!WZf8"6u-
A&[nTq3ypm.'48[{l!Wڶ܄z6-$
e-~a@+ÖaP18\!hC ԩVܑMO3`e6	wɥ~vPZğVݤ8si1E.Ϸ[v5 9^ǟ`	Sƿ#Úbi"G%-3
jkLo9\p.8( 7(Qc8hy-y|<x#-<xW	oyoy1[oy1[oyQG[oy1[oeթ2<̕50W;:kAܕup(UA^Yy9%+k`^+렯Q5`p${61렰>{$6uA\b4Zc-HM0I0	d<VVtZp	et1	`fRp~FI ;O	6q2B(	`i\^~Eڏ9_^ .*˼گN8W(N,rh 2ӁbOurF2wB%8Y qҬV(Y𸎐/b`/%U7C远hS3[崠٬`91OkldO+1a9#WYr8Jf3%5KdgKj(NQ:˅SAe1^~":qsT3W;@5Ӂ:V(0׉ۨPG(jзvHDlpa^C1ya$`0 ]L<qĉsƜn`ԩc70\ssFQo`uFQ'p`wqp`1uFāQ'q`Qc/<c/|ЗGA_Rc/?=c/<
(ˣ/<
(/<8ˣ/<
(+c2+c2
@_}J2
(+2
(+28+㠯2
(+Da?~ 
@h qV jAD 8EQ8!!B A88x"D""D A*(XDQ^- "$= 1EqȊ`_#̩E~WȲ(
q!U!1<{18XwD8qGU`Q\3lb*Fb&FAb"Fbp`QHq8q(q		q~q}(PC1ЇbB>CQЇV
}(A>}(
P(CQЇEA>}(P(CQЇ5>f	In8="#x>Dyzh<qtb4^c!φ$kYvM/''mL^66i6
Oq__Ml'x|ptanvoUg6Ol}7tsx6ˮM8]Uփl+*)EFDxt	,P?hwFND	 mlV|s_U?7m/w|w8v){GҮyfOV/[7z疒;?x~0aJ4^WŬg)q['Y6z\OӤn߸}KNhii3Jz26"y9H^'_d>o2{P#<PIooiIv=ǽ2sm>Hux|u{QA/˫:ud֥$xN$_ڔiWKzg'f]ʬݱ[D]I0Ύ#v_zo]!S.wOǀodﻚ^?՛<#9/c@v2돐uHH5s~(=͗y2ϡ1ɱktDq({Wsd9/ Qb8~?=$}Wy;8'P]|#vPgT+Lz<QT[Km%Ćh
җwNVo/iXW+jgc
 `XvϽ][5-^4~6ħo]1S[Q>nBwy=]"CY䌅vgX^D?Ѯf=3pnf:ϐi\jd̫."pIE=_'.&GƢwO-KEKXLEE?
w]+ж^%Q<jI cl> HCejvu$з^fTKBYT>mMoFQcd)lz	$\z \:]g"w@w?CC{6DzpZګ%"0zOUXs~#YC gCA"Cx2]JnzU8wDa!`81f]?@S@{wҤ"i04tvS"0<j04&KE!sR8T5*:%@W>T6W쁦큮9?;LM];!ij4?! >  @ 0rh? @GѷKα   {t-|q`0365:B 8: nk # 	0`=R8Ochk>.N
v*I
vׅNyrUX0T,dhҁ ?G?T*dxb) O
"\tp"𐹨c4f\!iP֕aC> 9<Pџr,@BAfr,9:z*ĽgB\P}:x5COf-8
.~73AD1VPB
uC̕>Zz'F0B_uQӠ%I?M*pP1(;RXT^8hjT<T`@C:m @CZ5k'I?M_w"I*k|]M$zuMo(z7U*ʫ䅎7T=mBvv2:R74*Ōs]M)rǞ	B]O-KS_S&v\)4(܊z'ұGIy*"gEpb.V	ج92	EnP9u&? '7<<1Ա\ʥjp$y;a$NT.3.9W3"0zOUXs~E=!~3!EL#MB"gE`r~v~E<f1C~E|2s[xAf+EU	NTk_9<2Z*Bf+[EP2e!¹GujDp>d[p*[3^"U34"?S˹N4}T1fܚ*0dE#TLkr!F72I|6BŸR~gG(Lb㨨\/h#SLPnhu#PxTf1=BnJz:g֏LKPᬓ"F4d:,r"WYm!Ρj)5O*^eh3]0+\*qcqϐYGJEnT9-,č3y:-c'r<$(N6J=de؜JhTOy8Խ]}1{s/7TIU S2`WU~5Jg=,V9LPʁ'M*iÔ	5\r%׸r/fct'*5V5V9JCc*@)8dV9LJ0"09?;$0"'Y*gѠUԧnT*B	uh^7a*Cg1UN^e%L+%N/^bBYs
#,b/Hp24i|[׀UǇV9AX	pr :X -\M8^ 0@ 1 cA,rY؜#С Xrα? ` 8d)p@L$h8 O(>T G
"4MtXc)0 5k)XLc~2L`H&4@,	d*\ |%w'm!`07k]+d"
(ԍD~~MРs[Bn*
u[Q)Af9g[BdT"Jc9:0	԰/p1Ba?*a܆TM,8l]\[[BݜyD::R(JaU
piZ}1I=PؖBøZ/b{-L01i#~,ՏCo0${#{Yf	iFf pN/^jtHF5`ıH"<4t'
q1H 'q5.A裃=NV%cUjjpG:&88 G7&^8y21pq
7C1at11fHcV-Zdf,A)@syM" KL(Q2)0"QCiA	&zXKV_.+pÀz_`(牠cQ2)f#]I@qZ2@PwJ?%g\rKa٫V%cUjP8D 		?ǀ	,$<`%T>@#la1|PF :1fHcVc!A2*nT<C,47F݄-B,u;Jчz'XBG
@TX.A!T 
kP!YƳRnT6O#6><t΁OlqEg"±}׾pk_Dz/b>*=Sg_D/b1_E+"Ɠ}Ⱦc_D/QN(E"ƃ}%%<xk"Hc .<UB\qA\qy1@\qy1@\qyQGA\qy1@\Yqu*y/ue$ԕPWA]஬F
k )^Y{E@_Y}Fhzc4{6$Qk`_Mgh1k b6G kGB$hMI'2^ӂK /kL3Goh7JY?x$hoM0؍a"DI KG0+~̑uQIXuyuā-ʼBqbal^D+`y3Ы3(u煵@,a^xŵ@45ླྀfDu,͐}P~)" /%U$7DD
4	,%*fˉyZSf3%s^~p^Qwfi"Qr5Q,Yb$k8XRDIvlֱX^.e,	H1+B- 	BGaį@ANF5݀:b4F@_TC"u`cQxǰ#a F̙n`̱sQ'o
7po`xzo`u FQGp`uFQp`9wƝāqGq`YuFƁQqb/<c/<
@_}J//<
(ˣ/<
(ˣ/<8/<
(ˣ2+c2(+W }e+2Ӄ2(+2
(+28+㠯2
(+>} 
@(Q! X8AaD B 
A80qhD!D A&8Pq`_/E{yXwNDP/XP4&
}+E~EE0v%]¢"fƩX[8QX`Qq5UEqḚQQQqx
8CՂa"F!a`ơ`a`F"`$ F_$š_a_C1Їb@>}(

EAZ)C}(P(CQЇEA>}(P8CqЇEA>hp'$]NĎQj˛NڗZeV1*TKd<FQHgRkgV9;d8YvM/E(mlZS8:$L"lVo.=zzG/p|۟;.	{ (d0ifh<՘: eS8Iw׻vKNz&4p=p?IG.}֖dxц~=y4'(x:N8fINpQ1(a8:,S8=&>(xA2vZU]d{67$<MW;v?sO73'% 3l3;3'udO>eC#gvq?;gAa_qVģAB*}	y;YW~nsi?2Ã	NxO'U|~g8TXJ&g?S31Dg,,!O! ~.dUYWevy5|ًΣbhVU#x$czlz6FIm#Z/3~A<B]LB3Fi35VG)K,Lϧ+M4=8191zƪa1j@*Sb9{|{vvy!<@j뺞ٱJrRp:_
V Z5}Mv0c*V&?O+.Eh?n-'WM|͋jl:>ϲ31iܟfXA MMqdx-3u.ܑNz[?pX5ƟPnlDC<C<	Suju11m"Mdr_IeF%tyqoWpz6MZRρH]ͧ`:OZA6MjǓ⇸D3j^0́'(Gۉ%+? qF(^߸Ĩ.
Sr,aR}Z8|t4 Z7x"djٽ~ѧzQyŔUfkH]]QEA"Ҕ }^Yi<>
dLԷO}1*ٓ{cM_cP^j	=a~o=u_cMl$b>AHlMtw-lQ6K+ם"=[}ZY%S۠(Qw-Ӑ\$hjt&R|V="?	WdߺJ镧Vz\Fks.c4E-FtT`9[<?"1Oc	!$xGAqڕk}B>4#s2{g/2	y2bٸrJ5VxP ?^fV$Q*:\5og[Y١kJ(RS	'gh1HGzY>Cjh@'=FrdZvuwFz`-k_|P`]~LQz4C<˝c?˵w0vo_*ݼy-^륷n-%ɋw=~kmR̦3Ozw7>x3Mf-$}Z}m8Q	QPCtjQQ6=BAXKras<֭XZ#"ۀUKU,|)riŢ*bA2znҐG/-xЮ]84>5x@W4nKwh㾫W5˵{R)
oȘ@P~QR>2#A~S.xzٹh2ĳ|2̇&?]@%ydX`>ڸ͎ͻhrDJ\	ơ]a`4'8A6(4\eWzB%3}n˟8RE0
(Ilo^
[gxg?|<{/<eÝOxZ8,P,'dZd38=N0a]ZɃ<Z%")^$p4 DXWg	~EBK莊VBX?F8y?<dM
jqAy&w+ynJã1nw6ͲYefًƝdgKX@\On|l=EHo^WѭL.)v"b}mRgƸLmuZ~&N>I6q7Mn2ˣ鄥G,Tpm3Ie&ML5YIK9φM6M{nIIѓ)\RZl)G>TfE[IK|%#6ۭV7V]-85Eu?荥)}+S\ڌNdl~螎GpHGpD}]<}iG>>-»*Dh+Ъu.	dp%28q[VhFd
6qs6w "i'ka('e5#U @6fINEzEko3|sr$x*|7)V/Ӕb&Cb"f(?ߨn-s_=zDjNHGOd{/ZB%$i)K=K?dp{uZt+Bk~Nre**~~_[K"N&&<қ.&]Ϸ.7}lm>_5nӻjw~K>.:KbC<K51TiT=;n׸p';gxHp`vvYҫ3d=Rln\4C'ǘT|nh2bbD,fa>gɓ±(Fbڝxv0r~Û3I,s]9wtt@~l';k䭥fS5`,,SIwr.ylL;hp/ AWf"!5 ipq0Ьhф<#Oǯ~l_e1a';,y'>yEO^!}!?/ort%.=IKp1CB_ߘD
izA#q5r\dXj>~"}~+x&~r5y=cv/K^N/I6~N꛹|/(3<0>sѩEYPQ5܏%zR62Y߷sCѡZM:f7h_tqL?Lc&_msjr4.fgl9* bv| r*Ë*>dAUmuwoߴel[m->k%,Jk#Duo,i60-`ؼiKuj;R/t6N^c[Y7y7t"Vna+DQo\1[[Z{_=vxG盆i-ې@YMscwjIU\sj+CW倫:apJWv JhD( "kVl=	.uE<չbfN%[|lh42M?Eq-O1=ꯖBClGN(aK_;K^POR/EVxbs?-=I
`(K$y^=0qz*"hd̶,_3?%!Y532+ɘ4ɗՓ+'O?El88<گtqE0o7;DUWQo,6p
B.gUi_,OoHۋ;t,:>Gl$$8r'ٝs,>@6~0Y/̷{ȥZ
vrkޥvJ//,<x6_}_Er,w*JW/3 XXJc_HbUD3+ׄ~9_4kԽk{lK"êƞ^I/'`1wJ=Vp
?aQO9Vq/RTQfN`Ef)	V8=ϏD;|gQ1ҝ'U4CRA.V+]%;Uwej|slbcp(+praV`5{&gۂpsr1<2Q32A+Dgy^`L|ܫO]P1.?Z	\`T3KH$Fwn\ E,3DY6D/཮-!``0泞ӌͿwM,=i;ʒ_2\ن8omX+AzV֭seCJ,8afň_wǯ8ǰGjpX@S%j%3KqxY]L2&;C>A@?}uXnoJ9=|_|r&-f e 4Z+2GH5l*~<OOr<x< {e	wQ@KN{Wgs,
~۰y\!y2Htw|u㍔m6n}YV> BFOHH<04LKH+ZV+T55>_TTޠR2>5!r֓kҖnm*x,m<9R_^Ǎu]˙tְH2]{5gIoƴQ'^K3݌¢\zMUǃ3/!ygh.wiM[{(n|bD)uoa>ˎ&;ӴC>{sKOŤOqƩg~Enp$쨳>;ڃ8o#x<72:ˈ	ԫ7um'J%7Pq(c,."YwjjNHƫUʺ2ttzQQ1C^ ׽%>3ջ"華51JwUYO1!$%	FR\r5ZF?X{=E21[h>z_iQҖ5#}N&ʏ78SI!4&]V\rdl	hx}CVh.fHZ.NhY촢F\Oh-oRR||>K+{|ȸlya.e:vi>XW?_
X{79E~=иoXor;5qiQBs{ D-yWi{UĖ<Z`fDkP⫌ŶG"z(P\Bk׺T*,8Bޭb=v{W㻽ͷwo3~{5={AOv&eK}ԦIwk}l̕@}.Pi3qJkxg@eѹАl+)$kYdLK\i'ߴq"8*.钟XIGyg6fy J6|IbfoTl~fN2Q['nRY^	%;!α@HC	̠/!Ksх)7ӆ/Nq&.HhRzwiǡ77P?qpq!>Yͷ)m2b*^/}ݜ}ob3rjv̫MFBC&]hN?A1!]ch:W;;>\sib;iB	oŉ`%X5ez7RSu̙	.wQ1"5Y&߉Sۍ߁QѮʑd~ ͔+=gdVp_~D}ه3!׾fp'.xz6d<)Y~ /J-Hu:FNa\-`Ez_E\(&)o'D6ڟq0SMX/:g),!'.l,R-[2C5,g]gɮie.ĹEwۧy{|`崍|N(Nz&gV'{E%Cm`&.g0&1Xuj۰Վz+7;mg1xLbQQuwb5>x5_Ha.pv4wg{􆲤ΨRJޤ$DhJboD닏jz%2_7Vp rYJR,ڌzB7V mYaVɊͅe%.ʗp-\6bv(`mw?GV9zRWTg|!8뗕lpjq6ғ#5V{#cٝqyzJ+9[.xMp]
tx\`+<f?4ʭeEXҍz[<^Y=4Cv>Aiqt!Kȅ~ɚ)D&9b́Tl͖nPQg}\4zn}xɨSRa]&wmۊll7"MBm4/x|ݑLV7^t:1Tu֐U1S]pQ-l	#I9Fd 3cSz`y˘F {"JU]s.gIi/=mJEޙ+5]<oJYEkqV.EƳ)+^+УXx>gcsH2S'ZEE<y"'V6TOK)_}8*IR.lВ	e=sEf:yml~m]m>Alv0Ak= /(7yWg4[ڕ;[[{smԩtΨɕK'lb>bk%&⺩YUQ)bRJ֯FA3ўUʊOIWE9UO3z^~{7kro1;ӹ٘(N7z?pTs[rrV4ҤnXYEN;zg4p7i? 3iN=ek&	g?D3g\OCX/|%su9TW1$\;=45uMf9Ǹ~$5Vfߴ;6${;Ͼz$:/;Պ4vHv5jP*1jeGwwXuL5L#X4|(R|>z9 ƭ{-s!6iY9XȪ
p"v+rLGT<7_wX+)6=WdViMAčZǣl{ᛃP,ӿ߸m8]ݣ Wmmr?d<eYĹzr+#Mؼ: O=;N$HƹNV);Gq>%nb&;܎Ƒ^%x+I3xZD;zpl㘄񋞈\w8*&7םL_8v.',;;%R'u(duS\y:Y޹yrݼu-nutIRG-cY5߲^+?	޽ wi\Ϝ4߈ϵcij-i'ꆴr>\ǦTrKsپM\Zt׹78<BNX{퓧ڿsLRW0'cNXc^?Z2^aĔ7!7~թ2B$=NӉՙIȔf^ᇣpBWq&O3y\#dCPJl~IT/F0`9qsW9JW#dIzai-LmhUY*,®fjg Xvfwuf|jQ~eaHCA374T(f^a{u{?_+Qr'X4سQD㉊
R3QWBDTydm ߿Dk2Y2s,l*KXk7x2.A>6[#.rfYjsLeӆ&d'WoyM6C4cꗿtd#/$al%rhݧ@qYgDn}aIm4_h{,6pI$`t<Α[ܞ},5I6u$LݧS9ia2Hz+S6oFH}D.R;	%;)DU\*.lM%R&L~l!_#J6@2"ǀ$]vru"go9dX`Esmon=吻֣J9;OFBp]z}UWAn<jDQLhv=?C`mn;Gg=3: tȣ8djihtC}WdK߾E#ނꧭєўk;ˁq܅~jN{iKm2:TWр87}lRd_ʭΫxty&%5`į]qzslJid{Xy_$?Öay	"kUTcرYYuq*');;,0
q˯xQįI) J:VYĵY) k<&$(䵘QI 1!QT$kV$"M"SS+_ıS/xc0<_r(Hl>GRɐ^o:jxtU5+_;IKtL΃f%1.P?jg_!y|:O_Wm*Kׯ|K5.,S(HRcDcF+\yYwbeTAq?{zl<jš-	Xh|K4WQiJz3.ș1%'T؎[]DFd3%,s:{ZV$]
u0~ݽ Y>b&s)pjϻ91(2ҨK%0#JCzSVN'!<UR ;YY+bu⪾dwiQe;MRJqCVZlu ,4|tqlkX lkBɕ"lu/ѹԦ4DRM#{eZI{U?yy	=&]%*(*cU7_n\HҝʥڟHbJD iNT
zs΁+)/1^K{pE@3^[EqK)JQ%81?{5ip陋W?%0a5;͖d(؛:O/s?G&Ν}4g)X&" fJ؝(5r||h55d-++Pi%~U.+.xkȪ	**UiӖmWׄA^%?1Y5AWRՄiV5ߟPG]֥EUhpj5-ʾ^vl	YU<FWfu67Şk~ZS؞SpQZS_5EvȻXvūx_~Q.0dVCKj
uhX4xQ;wHoeLo>'_ cLEx|@%ϊa1;IB/S*L]A\15QWoӨ8
zS=AEU0OUq"uIO#KqH]:<!6֧7'!q,XgfL1g?Kgk(6sXl45qZ|H.M6iCToڝoړI6oڛwy_<+'l`x۴qG	 D:=`/OW$IZ!˟˼h˟	I"=$&$Wu\(}l%'ZM'y~ld㑂ܛɉR-rxer7JaiQ+/UQΒgH>={cw+/v=rcc}»f0_n[Dd[׉]1 G;eƼMևx5U - in%D=_,bt;D$<`:#Yt;8+8#b>@&/ĝIJJq2_Zjoye1Y/Fegxg%yx!ec5R+8Yi'i0'9:I]nTvU|6qUFWWީUO!
[ǵ8'u<_NжA?YnαvU
Ħ7!E4Jbe{WaRUub%u]89Yp,<hRut22#+Gg8k$r
]B4Ap&ek?hZy6;Rkl쵞p;dޘHyfC2[U*7yd|Kdɗ\.afE!H]ZZTd@cMtLUJ]kC#27P$8
$f
Za>Sm;!ʮ|SV{sUk
/&t$MBUM#8Ix7Ȉ2Na-R2J۟r!%+fs#_1@L|Rg'7[>汓]KwNBw\sⵈTlܛ21JQ^:Ӿt'ZfȴOri;D9cݢe;Nɖ#WFGubJ!yߑ8[Q*6=Ow=./58&ٺ|t~3/nK_~J։N-~U/{`W5P-Y> sT~@ \=x:Pyz{>Vٗ^8#_:w^V%M1kruݎVȯzÔz`:ܠ-R0bϐۖfO<.'q9]UEk߶@0XKZLr˾5\*_l̰?TNƓ6syӟR8}u*"cplD\nڶ=@㊕IEop:Uͨ;q܇VUZY409ǷV{Ѹ&h<Wmګa	ݽ'F
!ɔ~K6Mx0I7_ș0T΢If.^URH)x:̎	_~6·p<LtwzWRbJA;KrrRijFzdj]{/{r$OPR$5%
ڼ](ÒDvLZ(y]Gmn$߂RILKD6nPE7ٍmlEmk.E&0k+lmmL*N1#ZZI;ٴI23w$1d(&^S`!x'<Ukvb׌s{WGf;@LpsA0	ٻM{[`
n+JBk_ZC/'Bås)ް,H
G-wD$xư?u'bjiۇ//2 =,@qyʋ8DOye=Av|L87n3VM]!^h~pxiK,,j/Q9(u=,]9(>/`*aw|ܴR8nH9nxrfEU1;tX	۵N^PՇY89kՐݛy=F=g/c5:~<		~W>A>kw|;;5;I~<wXa0Cܚs)cgyH7pץZ	U-*[\/10Ύ%MdZ!])J!wi_I'EgSW>թ}@#䯫6,Fe}ңVp㊴Lx*<ʷl~VZ6!,p.?	qmcظ ,n1m4-Ztśś.R++۲yI|m7*0(**< _"[.[B_J];.u멫ۻ]O{I~<uqjI*5Cntt2$ș%AǶ߇ԉ䦸!\e#db2-93I75:[%ht}
qim_N'{f<G46"uVAlf4둋>nN%jC3*_k|~՟jSI[:waE"DJvl	vg ٧+V}-qg2QNsII
J35guƢ]>x,vCeB	ɧ_p{# y3JTX{Q{mCfRH(^Ji$EBy)FAuwRC}~V%֋-rI%V~N¾{I/y{7"~KjG.B5Gool-x0eq_<a_}<H-K͛B<M[Koџ[J<z5H^lvVe:[hV\3,K 7Kw-)u;J}<3STzqI&=	YizQ*ĵzK6C4cꗿtdCoҳ7xl("5*̈́.ܣIx),&qυ釹5([W$'ȹȺTz,NkZ4_kr)sղ<ǤVD-$,­$rID`1)jraeZ*y`q*Y"7!\Tך/j-j^Eͪ}R̹ɺSJ~>*~M&S/F262!1;t|&HuִR䋽v$)bSDO鶾\IrՕM
əkeȟؕrD^3-7'52#8q+={_jU4e<RڗnmrČ>Jp|@ӝ-0xy6ApmDTOï?lH=w}Tru%_Mwt;Rriq/$EJB[,"WuYbFUgƘOɖ"?XMkXzb4V5c+(FgUUvFV	|`/Xn4K6ܟ9Zn<'Z-ʒ{jC@Iuz"bVOãb:͞/TI}`DZdśSQwbxg;ۏz!?u̟.N?uġa4;6U*_~DX>=Mb)U[G2<5J)/b+ݍF~me~^_fW;DViϏD=7[W6>^A)V.Z0[O.0Q
i|;>\@d7hد=Plw8i2TN{ 4{#{Գx똆xI}$&mGYL(nߩ_mSf̣'7p02v+6C!#2TF'd/ifkNqutZnt78iՉ΅ke:d<SJsqo;ԸW&V7$UdNzA}&X/dqOt:.edKl<hsydS	;ZÁɰ c3nGGMx:sd%}'\1z[=%<Qq!뇮'xѩ\Ox_q=R4:qkW羹ռоo%qYLbS+ ɔ:+cE?ӃBaYvq[~-Rw0XbA\6S¸̦9_BPT0U]cfج^խ7S>8RUoiz=I/{~;*Fw#ʆlgƖMV!/h#ܘ͈p{"y<eZYK["kxθR{z,G}X4s2pͳu3x;kECeާz QnZ<y<4}ίR4"]s"	8p^PwAEu	){ʺ6񕓧/&&0܃o8]O4MvmtĪ~G:h~=h᪟Vuͪ f\|۬r!]g/~JG/I'O?ȆX4`ex:%&^'+*/O:+?~AnH&Z]'$ fx^Fa}#̎Q"_,u(W؍pNyގxȎ&9X'N}In'YϕRB_DeN07x6TRdQ~+?0vB&BɎJ
Gk{ibݘ}ߒ'fbtA.)ouoJrC	~A&pZ@4-HRx4Z^W̩;8cTN&q՜CD?>]!Bաu$!zWDWy'Y,ĩ5Ώ1q6il\69mpOWX<YķxR^<0;ɦI;O7I*|LV`0;O {m6>ڝK3{?u\%cm}xIi4-34KwߩcVhOp[vDw%#)%DǟPYr2OXHGM0-]v8-w2θ ̬	8yaM;J$!&Vs2,LS3aڲcH۠;66ejUlp)7hnOxtHq7#iU2'
iWy'XcL4L&,2QP"0R`Ոz}N(^¬MhN~MWN8l0\f!I4X9GqpOͼw	\\$:X⶙8ƟٜmwS\t'xXb1Eí%I]fnmg8j8:f\AK43I֐%i3OQv-
R4TM(7^v;/S0OZ͆Sf/ɬڍq .U8*
%LIB?ӚdWmK\jYDsb4<Hi\egS,p#P:ɗZE75bQbˬfBk;kcXMG^$yfu)/_ㄝIz7Q=vJs<TRJ}_}G'glF,κ<WBt=;xUQePc1i3
[.U'ww+/]Wϑl#;w3&TK j	i<8Q3xdg[z+.LIk؊ߊx@vS	t!%fNVݴ+p8<,w9@S9cI,7G5 RP{F$Z)Q!RڳK*͹ 
O~+\un̵)Ar._egWeUef96*x6"g/mSVt8@*m7HkCo@[e~glkyngY*5B`jhE#f>`	X-IuW+`ax,	jTKu~.ƨqi17.\Kd=d&U&#&QմyЈ+E?h"JBaAR6y+|uJA]22*#PbChHEJ=^YG?#j]7R 5L"wugFOOc@~`.D4>#雷G3,ܫ<^45Rp2h|T}ƚQ(>Gj6u}[F%ngqwxڊc?` Vlܬ_^0*y:Ex*+is{x
p=h^jOWxNwȰaVk";MD:y#(}HaS"A=د*Ap:4[Tj^/.ç9;>yNN\rt_ZJY̱҄::!*da%)"%c+XĽhH4i{NM^pV|$./ !<d<<22N.wdH&K!#~@ұ䡞>Ȓ	R1TT0UQ>oc#g*}VaQhj+8׻;LFh84[st֩UyK0{
zڊQŹR[4TV5U}OEwv^;,]V*u`n^hlZ2~[ַj!lnVڀ5$z29OcDxJ3
`E;%$aҠzwyB׻ Zc˟=9wQo;~vKݝ-;-?	xNp%rܐŌ%yhMNƯy6&Pށe/&)VG`}y΂g	cE)vx<sÓ	Oϙ KA.]t8xވM87߭yb;CdT֑
Au3)`a"[k7c)/޻|7MNp'E+x1~[:[g~;˖rU6,bLM?Op	lF^CpH+BV8f߻*ຩ	L<	/n'$םwn^QOF]>Gr ?R8Guu]ռy4=1la_ݦa@q("1jQ*`wϟbC)Ң1nɢ.dvl'HUg>Ka|Wqp U|^`4oOVC<h~x={q!/垻М|`!]*DGѠCˈBc4bF፤F+JUJ"CR/"8Eyw{Gϔ07xS8 6E0(pS~}KEϛw򑮠&Ȧ?śΞ׈XB	#vr*ȡ>}Acx8"Н?G/^"͋JCً0<D:	ˣ+ֶ3QnpUU\q}U؊UD}UčH|U$U\
*}1W;WfUo/UJ*7W*Y<PZ\V7n=i\]Ud8퐌
Uq3ƯX,pBa3'hIq5)&rTyBPWll$=EmaKQ䗿v0u%#ް* ,NWCQۨ? S{)ŪRG]S6ZGEVvytPV{V~qf])VjkTejuM-=MTkj묉r8ytxV]۵#O׃{.a@vj<Ӥi8Tl;riYchya҉l[bN17͛K/gb[eXᢄ'6?ot6lOر6vV0~:8TN.z4:Yo:"DOi#9:d<ݻo?n*;=oppfP{_*-g*)OiB%iҹ_i$xPl;~]=:I-{|镲awz~XM?'zk)nOW7Wż3>v:BU<UAƟ-?vKг~J;UI&Rռ"Q{OTJ#YgծRTEKuZӥGfQ
zQWrm
(βsհnR/VRRz;rAY!2tv`\TJ4Yde.ZJW5eM=J5Z*AΞ<*t15ժ<uJA?=٤JM'J>R@JR[Vo騸\3QuY['DY9ꑧf+n3f;UxW(Q9<6 k,6kmZd s<pVYd/FuLt\^lRyٸv>a#oֈg.Ы`V!;4P# :⨶i	*NM=}dSW4L|'z۱WQ굶EQ^>k劯i.(ziQ\zW-M55
^Lg:hzVq𪸩zFrҫi\k{izV	sl<~L7_:O:AwKjgf׋̠;]{mѕw{wTxc	oށ&J!rh+|~BO~Uc{Xw-={Ew!M./]Kl!_	\:V{5
[:?|Gmw$q&| $ tc]${(5GHQZ%];nKc0^;1_y^ST,ʨ256N6 n%43x;l2ϗemӘЦmcg0P?W}?/<`ɚ|$_Df*ӳV_&r] b`jzQ'n3NxP:Ga>p?Kp);``)C7pd_q1OVxv3_^&^AMo?U4E.,^1Jz5ucXohֿoSF?n{KhDT׃gNKx`A8 o֦b䶜_ާ%ѫ'Uqdσlar0&5_n:5 |[=R1~"Yyt[d <-7r>^2Gs:\,*_׳|7af%_d,@(*F		 Z+X|J8]U&HqrZXmYě+pޖu|pgyyfÁ i<Ҫ?93L}azӊ^+8TRXkxc1_A^ſaҁ@*FSk:.	XEF
J`$޸yߒYS6&IE1(tqPhc֍Ըqջu獪SZ9fN;TL@9[?6GR!nh}J=>Pf#0?5Lx(;[7iedN#Dl>5Lٷz+ KJD=ΈJ	6b;5FP2%GiP*x<'/EU|U _A(_ֿ7n|@_"\ ]XOto:3"?o:wF$\:^u-w{61u:3NigװOKÜna^.<-6t3_|~\2y܊Í;u|sl:05ECvujvA*6^`d2*	eQ>&3-;>ce u4^GoCMPyG]8jo
2-
a1Jɣj=|:=O@ӛlMlV,]%pT'Ws@'2/@r6aV`F'Hq8LI82}ed%kE^3PL+.u5BDA2W4g6<.<fx5WJ6V7խgjlG#\KTg{Cㅊ
}e|ẖ ,<k{\C}gbfIKdJlkyMb_T,cݾ	dӒw3PU[HEg7,R+Pl%Xc,B|1KEu|<z0iXhDV	5Y_5g@J8Z&e_	SiIוnchtMWyGl3/l3з2F7emLbPa'XbK#V#644xE21ZaDXUk:$쾟F/.r?DW$?E$l_%Fl^0CoYԺ(=EۏTZ-Vgpj|"k|_[¼H0]h֛[?X-O3=|S7JLoí1fXggVZ>skiSx,w٣?DTͽ,bs&#Qp@ျ-LYdh7_ȅb->B{b-x]ib-"k=$ap/AGFN6:,z%jNHt9l2.I6б0fbxlѶ ^#eu}V3[Vg**(T`gBp<xr1!}HF9TsQ^]z5Bf2T׿Yc	-_cVy\%<KpPl׋InWt$waUuU/0+wuD*kVWze@JsC
;ULpwE~s];_]/i:͐N,J`9+n^7"#ɟZO,?;:yȞGݩN^|}kTl>:)ٖU=Yz29B91O'Hwʻi6oZv2@M)SNWW< S?Y(g6AS|"s֯Ec;Hw>\˛$%? mAK_uoKcJ[I)pq%>ʢxk`L9QOaj%tl7؄:٧͸wHuKQߕ6/#=^Zn%EcI21ǪN}_ߐ<3iī|n8 L?;y+ .dNJ5kpt%ӢOd~5{Obс!=.=*Lsvleco[=._PztJw;QQz-nܟ7[q1PBf+m#^	.Ŷ5/vg\6D&w?!a1UWQOSzSw9E6VvL|{%?'ĭK6}N&-{fqLc,s?Ϯ׭9Oq(y6F r)0Da!kD, <ϮPYzGaifi_&0h32Rq WA-ъ&`6W^]:<fn^_ #Hir|q9aC\orY	Yz@bne9x͕ !7X6H=,zd\:0EB5wc2/oc'@$e<i=޻Hb~;Dk	+CICdgdFbMAB[^,\A̠)x`EATkI9H&O{ЛN#+T(
fNMp:yu!2Oe9M05*`O"9vRe`~@UDzzNÏơJ#đ-t0NttgSjl3=s=YDyn5A8>S*'1*$F_y@$_t"1z!,\Bb$FOW!QBZP/4!-.tL
vi^DjW7aKՓ8q	8LP3,Qpu2dNR,+2sIlI4`u+7syxW}"+9*$F-eI<CBn-gyaRLR0B7pqQeM-]_UfpK/`m\'Pi[Mg|O4b6ïXJįTį\*įՓ5+V"L$ۉdCl)MEH6bZIbZ,[ekl-ŲDDZ"[Kdkl-T*oLRZ*[Kekl-eL2E@dkl-eLrZ.[ekl-WQrZ.[+dklBV
EeklC-ѧO$(NcF&HuIY_N/Lt1&˩wd9}XEQpYQ}Uvdc~d,obкKD.v$VRsU"IuO84CWŘ=dù.,%#Ax0ʼ^'沗|^겷fQfqS)Vw$1q6T֮0)H15,[
=QP2]_ZLˀ5$Z2(&
 l5:5;ek+u"7׸Wj-4@m[h,R%Xd".
;2y5Q	*	TLIfc:RR2!LHb%R_)L,QmKUdB^2T0WŔdJRT3LESR)ISٔnJRT8*$4Q6fYgQ(gҫr>e2OOw?zeGk_NPeI&Ik2dFl# sm>y1	WRby	 ;$ꜞ~.}9:89"#ձmԻUUgnռ3nXI~z]؛Zd-\c0<Vm,Ok1~g#8#PwhA90o^hBѓ|ǸTP5J***w7	simՅ5 -r7wDo\4}w/m؅kvl)?2!l]. )2l4
>Ьsd&ۮCW[m{xxȿ;v}Ҷе;}|HЮp9.޲ۈ8x-	͹zƘ^rrrxnԞcv3ϚvaA6!i?Y,UV=mWu]Mt}~-XxEy,^n/_M*X,U:Tgv׶Y@G'~m;aC6}0N4·tZkiQ{ s;KR5֕喵\ސAao> [
inTyթ8򀃭w樜 "Ā{ְQd.2Sp^kFY,>e&iw"ʺLkZlI1wyu{8vuTk
RYj~=|KasHc0]|',ܐTtVHe{}K@
cb,Í1PM9+LM!KiԔcC®L8.6SZq󭨙`XAzZA`q}U&8jJ);ZVԔU2z]â$c$ҳEYP/ڨU1R^$s׾dC4"]!cףRstT3h85qz@Z'Wy,
(|Pf?h̦~[`\̈́fW:TKE|fGsFZWs2韼T lͳjϵ̶ו+_wm2b>mù7</CmX͛rW)6똥Tm46gƬѫ˔Wwj/2YAVۤ
7-*iIq'ܩ3 DѨBGFĤ35h&N2#V3̦,4MXӎJm/?̴FT@A`>cdєx?t׀6MaiTyCMKC4$ncS/cc7g:ܴDwYܰ
)^SJU,[So6{<t[γiW9B8g(KI/G|+޳7we.{zF8F$89i#LAū/	}Y0ĂF!UnS˓VNQW^%v5zJ:FݞNبb6EzDzNG+Q/i%JCD=i2Mbz:ߢi83.AY,QOLLF/4K|cuĉ(O#ġΛ8d=q -q3(%(]P\d8+lT蜌%'1|KL8#)5H>@.q32t$G:'IN9)]HWY~rLR2II2Ite$%]IJ,pZ&IL
i$uCi9Ai9Agi9A~i9A~i9A'~C$,T4JRŧQz,NL*x%)bqkůQFIJY<%)cqmŷQE/yPs!Evh8f&7\Nj,t)IUyolp'k0m T,P~pKk~3Xgad,wx@*koU/ꀿn){>/Y3~&ѽk]N J Џ`?nUhb0.+"g9!.8(OgS&QΏnzRͺ@FsVa6T6Or}oj@rmFo_,b	D!^R	K54{atvw.]g7-{a&#YE7g (mm_j`SpZ@r!*[mH+zW~-wk;sH4UJ4ZFp5[+FJ=4iگ)\Mr\u7"[ ea#¼~9e޺"BoXhP4|/=IZQ?dfEnbpkBG`StNh@n:UuGV3X"ASͼP>Yݛm+{rf(67LpW^M}j(JE8eUKh]2Lxqu<]k[(ou-woV=o*-F>iZBtSdwOG'_0vBL1Dm-	pwg6FEOHѺ!ܪR-.x&x&`KIJ7yMjdٮZ&3lmVR#WHSYʊZSVI6NF;w@ޔ+3ݭs1EHzվK"b+֭4Yи IpfZ#jL:)QLIj͠j*Fםc-vϯ[Il~t5^R3JExk3pțW QU
"J٭jk{i~"Yw7Ƒ"ͫ}iyqX&Zqծf?WbW4kTQ]LvsvMN]Z9s-qc̸\bk\~b5.n?D6.r2R+Ip˼%[aޑڭ0ߐո4z`ƥ)yH͇#əLDt1$Aǳ!a<}KRf3_dNB#}0"7{I!(I-ɴ=Dau} f!}s{f~抰g	`v|ևz~O~0
ng7@zf7(4;.\fk0WH~R#fe2	JZdViA@pw"]ݣԠ)nQf{4ս=*umDsiC#&3Wtc+.}=69"\R	]l2DclC䇔d߶RZEPttpdPV9yWhbs7!g%1ROO(2 U./Q $dd+dH$" WG)a /b '{"(gY,z@f1d>#3ůDJůLůB_=Y҈l%DH6ɖ"T$ۊdcl-Jdkl-ŲXbZ,[Kdkl-QX([Kdkl-%DRZ*[Kekdkl-T2Z&[dkl-SD2Z&[dkl-岵\rEekl-岵BV
Z![+dklP_V
8i^:TS  'j' 
,}|v=XS\n$--pTOd1Ud19hP̱i4(gbslc19{|4(8bn}"
GR"X',."􉋋}"bAȸX'4."􉍋}"$EĂA#9Or\D,$EĂ>qOr\D,$EA'9."I}"bA呜'9."I}"bA丈X'9."IOr\D,$EĂ>qWHN$EĂ>qOr\D,U?丈X'9."I}"bA丈XЫ{$'I}"bA丈X'9."j>qOr\D,$EĂ>q?]vt]Y]YyaCvLA{Rp }Ϡ84,9f."I>hjQ=UC)<'vBg<E<VNsЛF=vqǁdwI?N9vgx?.auUϨv4'At?'ڱs6w3㐹g<RvnO?@sc86Np8U΄{vWTN}{]㬷׳yn\=Mi6̌0׏h8ٰW=ǯSrؚTXSh5ʴ(Fy~q4YNK!l4&< 3˹gW;"rƲjvr)'"I?)?LrP2)*g+(@εanu>,>{!޲_>aXۻSEDw0P]<	gWi9'Bqb<3, Q뛋g 3oïPqӿͯ	efƇᐔGxu@^\Gd+qLJ`tl)4[
hDZ]Pn+ɬ.gؚZp}``f~PP`ɽbk.w^ۋ|KHn[jJ^r[{-Bh_,Z[e7hqiIBE;٬FPx>\hf-kzY+y!탥X3Pj>0Ni!*|k'Fq{6cOpig1awoyoyoyoyoyo;08m{4ڌ5GK
Xﴛvh	
X'^3
ؽv+`
B#R=*`~0˝;<M[Si."{BRdW>jի62xjլ|퉈A8FBOۍqKȰ]w\0"H وP$ }O_<ɿ<:7?=={p/LgB\ٔ林	cɒ	Al0<NAo 0/|xzrhS?yO?{z܎'"(;{ssnQ^PO!+9%
Q/4OG4SE1Fu#üP?°$n+`mSMqa":qk",4F]Doe"yhڪ*0'$jmqyYG;gej A\qz]>}Wg A\quz5+DN>¹*,)wϾy#px]ةd"cdsخ8_|'6+qe_jRvR}LIR}"m|$oxa@@!oăOٖFd"d/THfttzǆjwC88es(t(ݤ
&u1*S!]j(!UE-V¨֝lnBQ5v6.%ʹrxCS(ZۮF)IrptavAIfiQcR!./Y
^
v,*Nn~ӨTF^_M9qX͊AWY%R޶JRKQG7\IOy:TUhUὬԲ.Ĕn1!SQTh9M@O&T(
	ƱƇnD48J)kp'BJmquˌis%=d05'ȶxҋMUo+=
Ozf[hQnqQ>%.#3ƒ^O0tFԈQ1tcQ5v#023:9d0 &:9cd4jOxhchi*^HQH^3S?>c%_R1i2Hj7F'<+IE@AV&*Eߏ$H HC XC XCQV }*+I>'>Чe%	zXJO4)O4)O4)O4&U|%i5xzZ{aL1Zy]Wr @pYUf܌ѿb854GKE9h!6WB^j+jz(%sX~_l~|r:5ivC|1;YBT>yI x
$yI7l7_erݗ/_uNO?GGsb컽C>xއwwx.xT;ݶUAv-u.XNYmKS(yR-0!wtc;1~0!T=\_bWBpua"+Ν+Mk$
@.@WGn탨dBvᢛ<;Y/pīKYZ|F1)nTDI%U.#iW"
D؄ܹ4B.@bsDh@^Cd![jnS?e5wjbG~?-{jV\J4߇N~fu+ް~L\m`:h-]72lF|UU|#Cx#Dn *?
	n *) :tBҨs{	9fkh_:`berm*,$FϢV4[̇U6N7Ûq%CHHFj"tăf9[gC%;?  kJ< HdM~²+h_,L`j*幈bA{pKNZM ??菷vrS*(z@O;XC3"jwRWw0jymXj
A.#A] ˎ5i fY>yyE2) h:kE+MwN44_+4t6>3J&E.xY!9\5!mEpӶKxru`b;NU~%/RWR>>&0լn9ipt}@TL{M $pi[_]̈́z͗F5%*LP^TŮoV<J#E7pD@ZlS:X)" kyM윆t4?ᤖd uf0ZɆ*Δ|бz	E
C#^Im*͵nRk$G6ц:lY39FnS8Ӹ4Q!`k0͔2<b$[&;1,ϻ7#Ga._*T*Ȱ"3Z1^D;h#̀$M#f~=\4,?k1xE%aS|9'U!˦HC7,M%^FaQK\f8ϫkBfFS]q[@jb؈l<s[+4d]njW߸Qn-dgM2TpnD>^
-6?`!80z,`Pt5p܊Ӫ7gAg6/#lU!6K_L7҉Vvqi-Hq#H7J-Ӹhix<?5n4R5:isZʔn9U`OOnG=Ug3BYHiko&ܯf<;QurWǯ^ kW2NdT7k.BmEY?l51N'O>ß7˺o(t%nˋh!nU6NSPerh!8ܴ=aˑʦ.8J3Α:f$6)-y"a;zcsMKx ZQRQ)ECW)FZR.`\5T
UC>WjwR˃{<fcXB"^~ĖW׿|9v&'o-d_W".}`)`dêbڴq,EjV$
YUu`6 	8U2@AS%kTDpZd?\Z9ٚY/9na{(7BXVU,wTUQ2NLL72г9yCy]ɡP	1t:\>Xz$EKY"Me]b+9PiqP琿gfmEQdyٓ~O漘X CustomizeCustomizeimport pyro2

pmField     =  hou.vopNodeTypeCategory().nodeTypes()['pyroField'].hdaModule()
pmPNoise    =  hou.vopNodeTypeCategory().nodeTypes()['pyroNoise'].hdaModule()
pmColModel  =  hou.vopNodeTypeCategory().nodeTypes()['pyroColorModel'].hdaModule()
pmDualRest  =  hou.vopNodeTypeCategory().nodeTypes()['dualrest'].hdaModule()

def updatemethod(kwargs):
   node = kwargs['node']
   if not node.isInsideLockedHDA():
      node.parm('fld_method').set('assign')


def uiEmbedded(node,prefix='',postfix=''):
   return \
   pmField.uiEmbedded(node.node('Field'),
      prefix=prefix,postfix=postfix) + \
   pmDualRest.uiEmbedded(node.node('DualRest'),
      prefix=prefix+'dr_',postfix=postfix) + \
   pmPNoise.uiEmbedded(node.node('Noise'),
      prefix=prefix+'pn_',postfix=postfix) + \
   pmColModel.uiEmbedded(node.node('Color'),
      prefix=prefix+'cm_',postfix=postfix)

def uiPromotableInputs(node,prefix='',postfix=''):
   pi =  pmField.uiPromotableInputs(node.node('Field'),
            prefix=prefix+"fld_",postfix=postfix) + \
         pmDualRest.uiPromotableInputs(node.node('DualRest'),
            prefix=prefix+"dr_",postfix=postfix) + \
         pmPNoise.uiPromotableInputs(node.node('Noise'),
            prefix=prefix+"pn_",postfix=postfix) + \
         pmColModel.uiPromotableInputs(node.node('Color'),
            prefix=prefix+"cm_",postfix=postfix)
   #print("PI: %s"%repr(pi))
   return pi

def uiRadios(node,prefix='',postfix=''):
   return \
   pmField.uiRadios(node.node('Field'),
         prefix=prefix,postfix=postfix) + \
   pmDualRest.uiRadios(node.node('DualRest'),
         prefix=prefix,postfix=postfix) + \
   pmPNoise.uiRadios(node.node('Noise'),
         prefix=prefix,postfix=postfix) + \
   pmColModel.uiRadios(node.node('Color'),
         prefix=prefix,postfix=postfix)


def uiExtraLinks(node,prefix='',postfix=''):
   return  \
   pmField.uiExtraLinks(node.node('Field'), 
         prefix=prefix+"fld_",postfix=postfix) + \
   pmDualRest.uiExtraLinks(node.node('DualRest'),
         prefix=prefix+"dr_",postfix=postfix) + \
   pmPNoise.uiExtraLinks(node.node('Noise'),
         prefix=prefix+"pn_",postfix=postfix) + \
   pmColModel.uiExtraLinks(node.node('Color'),
         prefix=prefix+"cm_",postfix=postfix)


def uiCreate(kwargs):
   node  = kwargs['node']
   style = kwargs['script_value']

   pvops  = uiEmbedded(node)
   iprom  = uiPromotableInputs(node)
   radios = uiRadios(node)
   xlinks = uiExtraLinks(node)

   # build the top-level interface
   pyro2.uiCreateFromTuple(style,node,uiParmTemplates(node),iprom,
                             pvops=pvops,radios=radios,xlinks=xlinks,
                             prefix=node.evalParm('ui_prefix'),
                             postfix=node.evalParm('ui_postfix'))



def uiAppend(infolder,pt,ptl,tplt):
   if infolder:
      pt.addParmTemplate(tplt)
   else:
      ptl.append(tplt)

def uiAppendList(infolder,pt,ptl,tpltiter):
   if infolder:
      for t in tpltiter: pt.addParmTemplate(t)
   else:
      ptl += tpltiter

def uiAppendListToGroup(pt,tpltiter):
   for t in tpltiter: pt.addParmTemplate(t)

def uiParmTemplates( 
      node,
      usenodesettings = True,
      foldername='NODENAME',
      infolder=True,
      dwhen   = '',
      prefix  = '',
      postfix = '',
      # field
      uif_forcefieldname=False,
      # noise
      uin_withactive=True,
      uin_initactive=False,
      uin_labelactive='Active',
      uin_withoffval=True,
      uin_initoffval=(0,0,0,0),
      uin_initsigned=True

   ):

   # Fetch export settings
   if usenodesettings:
      infolder   = node.evalParm('ui_infolder')
      foldername = node.evalParm('ui_foldername')
      uif_forcefieldname = node.evalParm('uif_forcefieldname')
      uin_initactive = node.evalParm('uin_initactive')
      uin_initsigned = node.evalParm('uin_initsigned')


   # Container list, when infolder==False
   ptl = []

   # Container folder, when infolder==True
   pt = pyro2.uitTabFolder(foldername)

   tl2 = []

   # Field
   srcnode = node.node('Field')
   tl = pmField.uiParmTemplates(srcnode, usenodesettings=False,
        infolder=False,forcefieldname=uif_forcefieldname,
        initfieldname="",dwhen=dwhen,
        prefix=prefix+"fld_",postfix=postfix)
   tl = pyro2.uitlRepath(node,srcnode,tl)
   tl2 = tl

   # Color
   srcnode = node.node('Color')
   tl = pmColModel.uiParmTemplates(srcnode, usenodesettings=False,
        infolder=True, foldername='Color', dwhen=dwhen,
        prefix=prefix+"cm_", postfix=postfix)
   tl = pyro2.uitlRepath(node,srcnode,tl)
   tl2.insert(-1,tl[0])
   uiAppendList(infolder,pt,ptl,tl2)

   # Noise
   srcnode = node.node('Noise')
   tl = pmPNoise.uiParmTemplates(srcnode, usenodesettings=False,
        infolder=True, foldername='Field Noise',
        initactive=uin_initactive, initsigned=uin_initsigned,
        dwhen=dwhen,prefix=prefix+"pn_",postfix=postfix)
   tl = pyro2.uitlRepath(node,srcnode,tl)

   # DualRest
   srcnode = node.node('DualRest')
   tldr = pmDualRest.uiParmTemplates(srcnode, usenodesettings=False,
          dwhen=dwhen,prefix=prefix+"dr_",postfix=postfix,
          infolder=True, withfail=True, foldername='Rest Position')
   tldr = pyro2.uitlRepath(node,srcnode,tldr)
   #tl += tldr
   uiAppendListToGroup(tl[0],tldr)

   uiAppendList(infolder,pt,ptl,tl)


   if infolder: return (pt,)
   return ptlimport pyro2
node = kwargs['node']
uvn = pyro2.uniqueVopName(node)
node.parm("fld_rampparm").set("%s_Field"%uvn)
node.parm("cm_rampparm").set("%s_Color"%uvn)   
 OnCreated/Cursor                         OnCreated/IsExpr        OnCreated/IsPython       OnCreated/IsScript       OnCreated/Source      PythonModule/Cursor                           PythonModule/IsExpr        PythonModule/IsPython       PythonModule/IsScript       PythonModule/Source     INDX              DialogScript      OE$   CreateScript    QOE$   TypePropertiesOptions    OE$   Help      OE$   Tools.shelf    dOE$   PythonModule  L  	N   ExtraFileOptions      OE$# Dialog script for pyroDisplace automatically generated 02/22/12 12:21:26

{
    name	pyroDisplace
    script	pyroShade
    label	"Pyro Displace"

    outercode {
	"#include <pyro_math.h>"
    }

    code {
	""
	"$Pdisp = P;"
	"$Ndisp = N;"
	""
	"vector $amp = $dispamp * $dispscale;"
	"if($dispactive && !equalzero($amp)) {"
	"   vector $dir = $dispnorm ? normalize($dispdir) : $dispdir;"
	"   $Pdisp -= $amp*$dir;"
	"   //$Ndisp = computenormal($Pdisp);"
	"}"
    }

    input	vector	dispdir	"Displacement Direction"
    input	float	dispamp	"Displacement Amplitude"
    input	int	dispactive	"Enable Displacements"
    input	int	dispnorm	"Normalize Displacement Direction"
    input	float	dispscale	"Displacement Scale"
    output	vector	Pdisp	"Displaced P"
    output	vector	Ndisp	"Displaced N"
    inputflags	dispdir	0
    inputflags	dispamp	0
    inputflags	dispactive	0
    inputflags	dispnorm	0
    inputflags	dispscale	0
    signature	"Float Amp"	default	{ vector float int int float vector vector }
    signature	"Vector Amp"	vamp	{ vector vector int int float vector vector }

    outputoverrides	default
    {
	___begin	auto
			(0,0,0)
	___begin	auto
			(0,0,0)
    }
    outputoverrides	vamp
    {
	___begin	auto
			(0,0,0)
	___begin	auto
			(0,0,0)
    }

    help {
	""
    }

    parm {
	name	"signature"
	baseparm
	invisible
	export	none
    }
    parm {
	name	"makeui"
	label	"Promote Interface"
	type	button
	nolabel
	default	{ "0" }
	menu	{
	    [ "import pyro2" ]
	    [ "return pyro2.makeuimenu()" ]
	    language	python
	}
	range	{ 0 1 }
	export	none
	parmtag	{ "script_callback_language" "python" }
	parmtag	{ "script_callback" "hou.phm().uiCreate(kwargs)" }
	parmtag	{ "export_disable" "1" }
    }
    group {
	name	"folder0"
	label	"VOP Parameters"

	group {
	    name	"folder1"
	    label	"Main"

	    parm {
		name	"dispactive"
		label	"Enable Displacements"
		type	toggle
		default	{ "1" }
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"dispnorm"
		label	"Normalize Displacement Direction"
		type	toggle
		default	{ "1" }
		disablewhen	"{ dispactive == 0 }"
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"dispscale"
		label	"Displacement Scale"
		type	float
		default	{ "1" }
		disablewhen	"{ dispactive == 0 }"
		range	{ -1 1 }
		export	none
	    }
	}

	group {
	    name	"folder1_1"
	    label	"Input Defaults"

	    parm {
		name	"dispdir"
		label	"Direction"
		type	vector
		size	3
		default	{ "0" "1" "0" }
		range	{ -1 1 }
		export	none
	    }
	    parm {
		name	"dispamp"
		label	"Amplitude"
		type	float
		default	{ "0" }
		range	{ 0 10 }
		export	none
	    }
	    parm {
		name	"dispamp_vamp"
		label	"Vector Amplitude"
		type	vector
		size	3
		default	{ "0" "0" "0" }
		range	{ 0 10 }
		export	none
	    }
	}

    }

    group {
	name	"folder0_1"
	label	"UI Promotion"

	parm {
	    name	"ui_prefix"
	    label	"Parameter Prefix"
	    type	string
	    joinnext
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"ui_postfix"
	    label	"Postfix"
	    type	string
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"ui_infolder"
	    label	"ui_infolder"
	    type	toggle
	    nolabel
	    joinnext
	    default	{ "0" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"ui_foldername"
	    label	"Create In Folder"
	    type	string
	    default	{ [ "node('.').creator().relativePathTo(node('.')).replace('/','_')" python ] }
	    disablewhen	"{ ui_infolder == 0 }"
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"leftalign4"
	    label	"spacer"
	    type	label
	    nolabel
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"ui_activelabel"
	    label	"Active Label"
	    type	string
	    default	{ "Enable Displacements" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"ui_initactive"
	    label	"Initial Active State"
	    type	toggle
	    default	{ "0" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"leftalign3"
	    label	"spacer"
	    type	label
	    nolabel
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"ui_dwhen"
	    label	"Extra Disable When"
	    type	string
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	}
    }

}
# Automatically generated script: Wednesday February 22, 12:21 2012
\set noalias = 1
#
#  Creation script for pyroDisplace operator
#

if ( "$arg1" == "" ) then
    echo This script is intended as a creation script
    exit
endif

# Node $arg1 (Vop/pyroDisplace)
opexprlanguage -s hscript $arg1
opuserdata -n '___Version___' -v '' $arg1
ParmsFromVfl := 0;
PrefixDroppedParmName := 0;
UseDSParms := 1;
ForbidOutsideParms := 0;
LockContents := 1;
SaveSpareParms := 0;
CheckExternal := 1;
GzipContents := 1;
MakeDefault := 1;
SaveCachedCode := 0;
PrefixDroppedParmLabel := 0;
UnlockOnCreate := 0;
<?xml version="1.0" encoding="UTF-8"?>
<shelfDocument>
  <!-- This file contains definitions of shelves, toolbars, and tools.
 It should not be hand-edited when it is being used by the application.
 Note, that two definitions of the same element are not allowed in
 a single file. -->

  <tool name="$HDA_TABLE_$HDA_NAME" label="$HDA_LABEL" icon="$HDA_ICON">
    <toolMenuContext name="viewer">
      <contextNetType>VOP</contextNetType>
    </toolMenuContext>
    <toolMenuContext name="pop_viewer">
      <contextNetType>VOP</contextNetType>
    </toolMenuContext>
    <toolMenuContext name="network">
      <contextOpType>$HDA_TABLE/$HDA_NAME</contextOpType>
    </toolMenuContext>
    <toolSubmenu>Pyro</toolSubmenu>
    <script scriptType="python"><![CDATA[import voptoolutils

voptoolutils.genericTool(kwargs, '$HDA_NAME')]]></script>
  </tool>
</shelfDocument>
import pyro2

def uiEmbedded(node,prefix='',postfix=''):
   return ()

def uiPromotableInputs(node,prefix='',postfix=''):
   return tuple( ['%s%s%s'%(prefix,p,postfix) for p in ( 
            'dispactive', 'dispnorm', 'dispscale')] )


def uiRadios(node,prefix='',postfix=''):
   return ()

def uiExtraLinks(node,prefix='',postfix=''):
   return ()


def uiCreate(kwargs):
   node  = kwargs['node']
   style = kwargs['script_value']

   iprom  = uiPromotableInputs(node)
   xlinks = uiExtraLinks(node)

   # build the top-level interface
   pyro2.uiCreateFromTuple(style,node,uiParmTemplates(node),iprom,
         xlinks  = xlinks,
         prefix  = node.evalParm('ui_prefix'),
         postfix = node.evalParm('ui_postfix') )


def uiAppend(infolder,pt,ptl,tplt):
   if infolder:
      pt.addParmTemplate(tplt)
   else:
      ptl.append(tplt)


def uiParmTemplates( node,
      usenodesettings = True,
      foldername='NODENAME',
      infolder=False,
      activelabel = 'Enable Displacements',
      initactive  = 0,
      dwhen   = '',
      prefix  = '',
      postfix = ''
   ):

   # Fetch export settings
   xdwhen = ''
   if usenodesettings:
      infolder       = node.evalParm('ui_infolder')
      foldername     = node.evalParm('ui_foldername')
      activelabel    = node.evalParm('ui_activelabel')
      initactive     = node.evalParm('ui_initactive')
      xdwhen         = node.evalParm('ui_dwhen')

   # Container list, when infolder==False
   ptl = []

   # Container folder, when infolder==True
   pt = pyro2.uitTabFolder(foldername)

   # base disablewhen
   dw = xdwhen + " " + dwhen


   # Enable Displacements
   nactive = "%sdispactive%s"%(prefix,postfix)
   pt2 = hou.ToggleParmTemplate(nactive,
         activelabel, default_value=initactive, disable_when="")
   pt2.setDisableWhen(dw)
   uiAppend(infolder,pt,ptl,pt2)
   dw += " { %s 0 }"%nactive

   # Normalize Displacement Direction
   pt2 = hou.ToggleParmTemplate("%sdispnorm%s"%(prefix,postfix), 
         "Normalize Displacement Direction", default_value=True)
   pt2.setDisableWhen(dw)
   uiAppend(infolder,pt,ptl,pt2)

   # Displacement Scale
   pt2 = hou.FloatParmTemplate("%sdispscale%s"%(prefix,postfix), 
         "Displacement Scale", 1, default_value=([1]), min=-1, max=1, 
         min_is_strict=False, max_is_strict=False, 
         look=hou.parmLook.Regular, naming_scheme=hou.parmNamingScheme.Base1)
   pt2.setDisableWhen(dw)
   uiAppend(infolder,pt,ptl,pt2)

   if infolder: return (pt,)
   return ptl    PythonModule/Cursor                           PythonModule/IsExpr        PythonModule/IsPython       PythonModule/IsScript       PythonModule/Source     INDX              DialogScript      ?R//*
 * PROPRIETARY INFORMATION.  This software is proprietary to
 * Side Effects Software Inc., and is not to be reproduced,
 * transmitted, or disclosed in any way without written permission.
 *
 * Produced by:
 *	Side Effects Software Inc
 *	477 Richmond Street West
 *	Toronto, Ontario
 *	Canada   M5V 3E7
 *	416-504-9876
 *
 */

{
    name	"pcfilter"
    script	"pcfilter"
    label	"pcfilter"

    code {
	"$value = pcfilter($handle, $channel);"
    }

    input	int	handle		"pcopen Handle"
    input	string	channel		"Channel Name"
    output	vector	value		"Filtered Value"
    signature	"Integer Channel"	i  { int string int }
    signature	"Float Channel"		f  { int string float }
    signature	"Vector Channel"	default { }
    signature	"Vector4 Channel"	v4 { int string vector4 }
    signature	"Matrix3 Channel"	m3 { int string matrix3 }
    signature	"Matrix Channel"	m  { int string matrix }

    parm {
	name	handle
	label	"PCOpen Handle"
	type	int
        size    1
        default { -1 }
    }
    parm {
	name	channel
	label	"Channel"
	type	string
	default	{ "P" }
    }
}
INDX              DialogScript      @OE$A   CreateScript  @  KOE$A   TypePropertiesOptions  B  OE$A   Help  C    OE$A   Tools.shelf  C  dOE$A   Contents.gz  F  O/OE$A   PythonModule    N   ExtraFileOptions  7   OE$A# Dialog script for pyroNoise automatically generated 02/22/12 12:22:09

{
    name	pyroNoise
    script	pyroNoise
    label	"Pyro Noise"

    input	float	signal	Signal
    input	vector	pos	"Primary Sample Position"
    input	vector	pos2	"Secondary Sample Position (for dual-rest)"
    input	float	time	"Position in the Fourth Dimension"
    input	float	kpos	"Weight of noise texture sampled at the primary position (for dual-rest)"
    input	float	kpos2	"Weight of noise texture sampled at the secondary position (for dual-rest)"
    input	vector4	freq	Frequency
    input	vector4	offset	Offset
    input	vector4	period	Period
    input	int	inv	Complement
    input	int	fold	Fold
    input	float	expon	Exponent
    input	int	dolwarp	"Enable Lattice Warp"
    input	float	disp	"Lattice Warp"
    input	float	dispfreq	"Lattice Warp Freq"
    input	int	dogwarp	"Enable Gradient Warp"
    input	float	gflow	"Gradient Warp"
    input	float	flowrot	Flow
    input	int	accuml	"Accumulate Lattice Warp"
    input	int	accumg	"Accumulate Gradient Warp"
    input	float	oct	"Max Octaves"
    input	float	lac	Lacunarity
    input	float	rough	Roughness
    input	int	docc	"Output Correction"
    input	int	cc_dobias	"Do Bias"
    input	vector	cc_bias	Bias
    input	int	cc_dogain	"Do Gain"
    input	vector	cc_gain	Gain
    input	int	cc_inv	Complement
    input	int	cc_dorng	"Remap Range"
    input	vector	cc_rnglo	"Range Min"
    input	vector	cc_rnghi	"Range Max"
    input	vector	cc_amp	"Final Amplitude"
    input	float	fw	"Filter Width Override"
    input	float	fscale	"Filter Scale"
    output	float	signal_final	signal_final
    output	float	signal_raw	signal_raw
    output	float	noise	noise
    output	float	noise_average	noise_average
    output	float	noise_octaves	noise_octaves
    output	float	noise_offset	noise_offset
    inputflags	signal	0
    inputflags	pos	0
    inputflags	pos2	0
    inputflags	time	0
    inputflags	kpos	0
    inputflags	kpos2	0
    inputflags	freq	0
    inputflags	offset	0
    inputflags	period	0
    inputflags	inv	0
    inputflags	fold	0
    inputflags	expon	0
    inputflags	dolwarp	0
    inputflags	disp	0
    inputflags	dispfreq	0
    inputflags	dogwarp	0
    inputflags	gflow	0
    inputflags	flowrot	0
    inputflags	accuml	0
    inputflags	accumg	0
    inputflags	oct	0
    inputflags	lac	0
    inputflags	rough	0
    inputflags	docc	0
    inputflags	cc_dobias	0
    inputflags	cc_bias	0
    inputflags	cc_dogain	0
    inputflags	cc_gain	0
    inputflags	cc_inv	0
    inputflags	cc_dorng	0
    inputflags	cc_rnglo	0
    inputflags	cc_rnghi	0
    inputflags	cc_amp	0
    inputflags	fw	0
    inputflags	fscale	0
    signature	"Float Signal"	default	{ float vector vector float float float vector4 vector4 vector4 int int float int float float int float float int int float float float int int vector int vector int int vector vector vector float float float float float float float float }
    signature	"Vector Signal"	v	{ vector vector vector float float float vector4 vector4 vector4 int int float int float float int float float int int float float float int int vector int vector int int vector vector vector float float float float float float float float }
    signature	"Vector4 Signal"	p	{ vector4 vector vector float float float vector4 vector4 vector4 int int float int float float int float float int int float float float int int vector int vector int int vector vector vector float float float float float float float float }

    outputoverrides	default
    {
	___begin	auto
			(0)
	___begin	auto
			(0)
	___begin	auto
			(0)
	___begin	auto
			(0)
	___begin	auto
			(0)
	___begin	auto
			(0)
    }
    outputoverrides	v
    {
	___begin	auto
			(0)
	___begin	auto
			(0)
	___begin	auto
			(0)
	___begin	auto
			(0)
	___begin	auto
			(0)
	___begin	auto
			(0)
    }
    outputoverrides	p
    {
	___begin	auto
			(0)
	___begin	auto
			(0)
	___begin	auto
			(0)
	___begin	auto
			(0)
	___begin	auto
			(0)
	___begin	auto
			(0)
    }

    help {
	""
    }

    parm {
	name	"signature"
	baseparm
	invisible
	export	none
    }
    parm {
	name	"makeui"
	label	"Promote Interface"
	type	button
	nolabel
	default	{ "ui" }
	menu	{
	    [ "import pyro2" ]
	    [ "return pyro2.makeuimenu()" ]
	    language	python
	}
	range	{ 0 1 }
	export	none
	parmtag	{ "script_callback_language" "python" }
	parmtag	{ "script_callback" "hou.phm().uiCreate(kwargs)" }
	parmtag	{ "autoscope" "0000000000000000" }
    }
    group {
	name	"folder1"
	label	"VOP Parameters"

	parm {
	    name	"active"
	    label	"Active"
	    type	toggle
	    default	{ "0" }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"ntype"
	    label	"Noise Output Type"
	    type	ordinal
	    joinnext
	    default	{ "default" }
	    disablewhen	"{ active == 0 }"
	    menu	{
		[ "d3 = (\"default\", \"Float\", \"v3\", \"Vector\")" ]
		[ "d4 = (\"f4\", \"Float\", \"v4\", \"Vector\")" ]
		[ "return (d3,d4)[kwargs[\"node\"].evalParm(\"dim4\")]" ]
		language	python
	    }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"dim4"
	    label	"Space"
	    type	integer
	    joinnext
	    default	{ "0" }
	    disablewhen	"{ active == 0 }"
	    menu	{
		"0"	"3D"
		"1"	"4D"
	    }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"time"
	    label	"Time"
	    type	float
	    default	{ "0" }
	    disablewhen	"{ active == 0 } { dim4 == 0 }"
	    range	{ 0 10 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"fieldop"
	    label	"Field Operation"
	    type	string
	    default	{ "add" }
	    disablewhen	"{ active == 0 }"
	    menu	{
		"add"	"Offset (Field + Noise)"
		"mult"	"Scale (Field * Noise)"
	    }
	    range	{ 0 1 }
	    export	none
	    unquoted
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"freq"
	    label	"Frequency"
	    type	vector4
	    size	4
	    default	{ "1" "1" "1" "1" }
	    disablewhen	"{ active == 0 }"
	    range	{ -1 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"offset"
	    label	"Offset"
	    type	vector4
	    size	4
	    default	{ "0" "0" "0" "0" }
	    disablewhen	"{ active == 0 }"
	    range	{ -1 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"period"
	    label	"Period"
	    type	vector4
	    size	4
	    default	{ "1" "1" "1" "1" }
	    disablewhen	"{ active == 0 } { basis != pperlin basis != pflow }"
	    range	{ 0! 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"fscale"
	    label	"Filter Scale"
	    type	float
	    default	{ "1" }
	    disablewhen	"{ active == 0 } { fractal == none }"
	    range	{ 0! 2 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"labelparm"
	    label	"spacer"
	    type	label
	    nolabel
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	group {
	    name	"folder0"
	    label	"Construction"

	    parm {
		name	"basis"
		label	"Noise Type"
		type	string
		default	{ "simplex" }
		disablewhen	"{ active == 0 }"
		menu	{
		    "sine"	"Sinusoid"
		    "perlin"	"Perlin"
		    "pperlin"	"Periodic Perlin"
		    "simplex"	"Simplex (Improved Perlin)"
		    "sparse"	"Sparse Convolution"
		    "flow"	"Flow"
		    "pflow"	"Periodic Flow"
		    "worleyFA"	"Worley (cellular) F1"
		    "worleyFB"	"Worley (cellular) F2-F1"
		    "alligator"	"Alligator"
		}
		range	{ 0 1 }
		export	none
		unquoted
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"inv"
		label	"Complement"
		type	toggle
		default	{ "off" }
		disablewhen	"{ active == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"fold"
		label	"Fold"
		type	toggle
		default	{ "off" }
		disablewhen	"{ active == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"expon"
		label	"Exponent"
		type	float
		default	{ "1" }
		disablewhen	"{ active == 0 }"
		range	{ 0! 2 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"dolwarp"
		label	"Enable Lattice Warp"
		type	toggle
		nolabel
		joinnext
		default	{ "0" }
		disablewhen	"{ active == 0 }"
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"disp"
		label	"Lattice Warp"
		type	float
		joinnext
		default	{ "0" }
		disablewhen	"{ active == 0 } { dolwarp == 0 }"
		range	{ -0.5 0.5 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"dispfreq"
		label	"Freq"
		type	float
		default	{ "1" }
		disablewhen	"{ active == 0 } { dolwarp == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"dogwarp"
		label	"Enable Gradient Warp"
		type	toggle
		nolabel
		joinnext
		default	{ "0" }
		disablewhen	"{ active == 0 }"
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"gflow"
		label	"Gradient Warp"
		type	float
		default	{ "0" }
		disablewhen	"{ active == 0 } { dogwarp == 0 }"
		range	{ -0.5 0.5 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"flowrot"
		label	"Flow Rotation"
		type	float
		default	{ "0" }
		disablewhen	"{ active == 0 } { basis != flowrot basis != pflow }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"fractal"
		label	"Fractal Type"
		type	string
		default	{ "none" }
		disablewhen	"{ active == 0 }"
		menu	{
		    "none"	"None"
		    "fBm"	"Standard (fBm)"
		    "mfT"	"Terrain"
		    "hmfT"	"Hybrid Terrain"
		}
		range	{ 0 1 }
		export	none
		unquoted
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"accuml"
		label	"Accumulate Lattice Warp"
		type	toggle
		default	{ "off" }
		disablewhen	"{ active == 0 } { fractal == none }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"accumg"
		label	"Accumulate Gradient Warp"
		type	toggle
		default	{ "off" }
		disablewhen	"{ active == 0 } { fractal == none }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"oct"
		label	"Max Octaves"
		type	float
		default	{ "8" }
		disablewhen	"{ active == 0 } { fractal == none }"
		range	{ 0! 16 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"lac"
		label	"Lacunarity"
		type	float
		default	{ "2.01234" }
		disablewhen	"{ active == 0 } { fractal == none }"
		range	{ 0 4 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"rough"
		label	"Roughness"
		type	float
		default	{ "0.5" }
		disablewhen	"{ active == 0 } { fractal == none }"
		range	{ 0! 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	}

	group {
	    name	"folder0_1"
	    label	"Output"

	    parm {
		name	"docc"
		label	"Output Correction"
		type	toggle
		default	{ "off" }
		disablewhen	"{ active == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"labelparm2"
		label	"spacer"
		type	label
		nolabel
		default	{ "" }
		disablewhen	"{ active == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"cc_dobias"
		label	"Do Bias"
		type	toggle
		nolabel
		joinnext
		default	{ "off" }
		disablewhen	"{ active == 0 } { docc == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"cc_bias"
		label	"Bias"
		type	vector
		size	3
		default	{ "0.5" "0.5" "0.5" }
		disablewhen	"{ active == 0 } { docc == 0 } { cc_dobias == 0 }"
		range	{ 0! 1! }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"cc_dogain"
		label	"Do Gain"
		type	toggle
		nolabel
		joinnext
		default	{ "off" }
		disablewhen	"{ active == 0 } { docc == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"cc_gain"
		label	"Gain"
		type	vector
		size	3
		default	{ "0.5" "0.5" "0.5" }
		disablewhen	"{ active == 0 } { docc == 0 } { cc_dogain == 0 }"
		range	{ 0! 1! }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"labelparm3"
		label	"spacer"
		type	label
		nolabel
		default	{ "" }
		disablewhen	"{ active == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"cc_inv"
		label	"Complement"
		type	toggle
		default	{ "off" }
		disablewhen	"{ active == 0 } { docc == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"labelparm4"
		label	"spacer"
		type	label
		nolabel
		default	{ "" }
		disablewhen	"{ active == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"cc_dorng"
		label	"Output Range (Clamped)"
		type	toggle
		default	{ "off" }
		disablewhen	"{ active == 0 } { docc == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"cc_rnglo"
		label	"New Minimum"
		type	vector
		size	3
		default	{ "0" "0" "0" }
		disablewhen	"{ active == 0 } { docc == 0 } { cc_dorng == 0 }"
		range	{ -1 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"cc_rnghi"
		label	"New Maximum"
		type	vector
		size	3
		default	{ "1" "1" "1" }
		disablewhen	"{ active == 0 } { docc == 0 } { cc_dorng == 0 }"
		range	{ 0 2 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"labelparm5"
		label	"spacer"
		type	label
		nolabel
		default	{ "" }
		disablewhen	"{ active == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"cc_amp"
		label	"Final Amplitude"
		type	vector
		size	3
		default	{ "1" "1" "1" }
		disablewhen	"{ active == 0 } { docc == 0 }"
		range	{ 0 2 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	}

    }

    group {
	name	"folder1_1"
	label	"UI Promotion"

	parm {
	    name	"ui_prefix"
	    label	"Parameter Prefix"
	    type	string
	    joinnext
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"ui_postfix"
	    label	"Postfix"
	    type	string
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"ui_infolder"
	    label	"ui_infolder"
	    type	toggle
	    nolabel
	    joinnext
	    default	{ "on" }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"ui_foldername"
	    label	"Create In Folder"
	    type	string
	    default	{ [ "node('.').creator().relativePathTo(node('.')).replace('/','_')" python ] }
	    disablewhen	"{ ui_infolder == 0 }"
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"ui_initsigned"
	    label	"Initialize As Signed Noise"
	    type	toggle
	    joinnext
	    default	{ "off" }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"labelparm9"
	    label	"leftalign"
	    type	label
	    nolabel
	    default	{ "" }
	    disablewhen	"{ active == 0 }"
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"ui_withactive"
	    label	"Add Active Toggle"
	    type	toggle
	    joinnext
	    default	{ "1" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"leftalign"
	    label	"spacer"
	    type	label
	    nolabel
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"ui_activename"
	    label	"Active Name"
	    type	string
	    default	{ "active" }
	    disablewhen	"{ ui_withactive == 0 }"
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"ui_activelabel"
	    label	"Active Label"
	    type	string
	    default	{ "Active" }
	    disablewhen	"{ ui_withactive == 0 }"
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"ui_initactive"
	    label	"Initial Active State"
	    type	toggle
	    default	{ "0" }
	    disablewhen	"{ ui_withactive == 0 }"
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"leftalign3"
	    label	"spacer"
	    type	label
	    nolabel
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"ui_dwhen"
	    label	"Extra Disable When"
	    type	string
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	}
    }

}
# Automatically generated script: Wednesday February 22, 12:22 2012
\set noalias = 1
#
#  Creation script for pyroNoise operator
#

if ( "$arg1" == "" ) then
    echo This script is intended as a creation script
    exit
endif

# Node $arg1 (Vop/pyroNoise)
opexprlanguage -s hscript $arg1
opuserdata -n '___Version___' -v '' $arg1
ParmsFromVfl := 0;
PrefixDroppedParmName := 0;
UseDSParms := 1;
ForbidOutsideParms := 0;
LockContents := 1;
SaveSpareParms := 0;
CheckExternal := 1;
GzipContents := 1;
MakeDefault := 1;
SaveCachedCode := 0;
PrefixDroppedParmLabel := 0;
UnlockOnCreate := 0;
<?xml version="1.0" encoding="UTF-8"?>
<shelfDocument>
  <!-- This file contains definitions of shelves, toolbars, and tools.
 It should not be hand-edited when it is being used by the application.
 Note, that two definitions of the same element are not allowed in
 a single file. -->

  <tool name="$HDA_TABLE_$HDA_NAME" label="$HDA_LABEL" icon="$HDA_ICON">
    <toolMenuContext name="viewer">
      <contextNetType>VOP</contextNetType>
    </toolMenuContext>
    <toolMenuContext name="pop_viewer">
      <contextNetType>VOP</contextNetType>
    </toolMenuContext>
    <toolMenuContext name="network">
      <contextOpType>$HDA_TABLE/$HDA_NAME</contextOpType>
    </toolMenuContext>
    <toolSubmenu>Pyro</toolSubmenu>
    <script scriptType="python"><![CDATA[import voptoolutils

voptoolutils.genericTool(kwargs, '$HDA_NAME')]]></script>
  </tool>
</shelfDocument>
      M#ǚWg1,/Àiܮ]$dd3:zZt$ʨErnʋ9\/6ॿ7\8^3=K:U&#Ɉ|2?dӵe9TTɋ/^,^ُvogWxNoՆ`}j1_VE/7U|~E|9._,/y3'a\|y|5Ջu*jUz
籶"-os2.~ /jg{kbGWG	/}EEgͿ׼<꓏<Ao78ױ^rpS͈o/o_uex~q98JW_<?߬W[JT߮<Fv?xoͿ?<98W_B>,XVr~eS?s+:?r̿{WGK;x#fʞz1mY)kz&N5qKvAׯ7Ƕp>fު?ǗSʪ6|]]|9oC,Ax=,%zNX	#e#(7.axu]lEX%=Vߗ6?+SY֛/d[w<^_hjm
2Z=4CUzBkۓ7JJˇ/x{z:Yl{o>lOxozc۾՚0VͶGEa6ыR:("RJHIHEfzPfa+X*VJJ)E"R:2oLP)C=mN\8z5V?DvJ(h#"%p祴b2Xr(H+$JbqçDeyܬDfL2z^FR8SjTQ_XoId`WzA7F	n- F.XډX1<%FJ=Q؁޶Ci=QB1҄씦e*mKȥB?AX_YRby +tj H`OlXi1H(Q 6>VdJmH Aӳ3H뢔pD8`p:xZZAxpx ƃmղ)4$!a&U4lC`*s"F2	²тIN0NN
)DB0Dj,Tk5DJQֲ4hLЦ&'e%16E&,r8M%RLIl0Lz4)p0MƙAըa@S`6B.#JDa
̦2LhHs@v2(c	aK>QWaM|$Nq礵rR8MPl8 #K,ȶB) +Yڕfኢ4[
肼YzY @y]2nZ/BQB֠`.e\;kB 9)^A
<( rI$~
 \Ee!(4P!d(>FE9!M#<&-AjcPB!Lj3!oWGF>S=" APaQ'4PQȇTba3bNt ҤB!ǪƁ~WHBMGZÒ^N"4(¨ږ1l͉R#BԲ4_/-n&4Դ4_4-a.J2(2KW;ʪz{-ΛfNaQ%KY,U4"ǖX!D8;F8>APT'7,%fMgkmnÖFQd<@irؒ:3'@٬$X[r!q Ɩ*Z7iL[Z՘Mzi^)\rcV	eA8`;e3+_OPP!	Q,4i2`|Բ4OI
IژpQdQ"DQRZ(!2FPܬ4pXeOܰ4HsGc'eiM7>meih"0.e|	Cܲ4p--!Y<-K4T	be$8T,T	\N
)DBT	^BH1B<T	2JK"RiPEjCś'e%M6*qB-=$SM%N
I=*hf(iBm4gJE*TфPxF(=C*P*Nˈ2%"mP&ԁsHKv*TÄ:Pq|F]zP͓P&ԆcI4T	,U4">O΂JԢ4+'·%J"mԦ4G&=SR̕/FJp8HˡJ"⒙TdsM|d$$V#L+j^
$܂*5A:jT֒u22qj^!mF5+e8X+c/_	>%e
ٱ*ʢ.2~2ٿ 8:B:̸<*gnB6Ɍu*3r0Zgƭ )^ZfťA73k+A(z'8<H+2$9h%ތ,ҺAs;P	q❤OKg*u
+D`?&DFW˦TSp!*؛GK4[25ZreL*Z DCH:tcuY۲^Fq&-ڰqAV09z!q㎆:EǏ@@D MHFި'3?F2CKK0bBmYڕf&'y۰BԲ4_/$Xp%*ʔhF%i*?9ev01$ɿQWm|Av[MVN
۰&jZ/ےݦp݆Iܴqnpb8n~؏2:mOmaPǲۺ##dI6P6+n3b.uBg
HiP1f5y`Hg4ƛVduB!v?mzee4P/VedCb(PfZ;2d`"4C A$_Ґa@TK8`CȆ4P6-q ҄C!.zeqС鐃԰fERZCw(</5z,z`E|pƀq!~u	܌IQ4RZkAM6,D")Gj?2nQȇbj'bY`P}0er`Do%n]@6FaĴt^s-ʹv$ Zd<dQXp;=0ڈ7a|Hq a!q^HNSIo/ g{@extqlq$aY~Xxe5yco=a8$HiFc6Y_L"6SYI(&Grq"W!+Q1!ZZfeQI`T)4`\i~gAO^{2#V\Z+'Ӵa.*KlVE(@.>F-7n)^FSllXKY2޳3HZde\9(, PYI\7 }dOz.])^G\&u] y;Q,4A;ZZfE(RkdD۰E5-2aV{;u\QW|A~{MVN
E(=DeS۰E5(ݱ7-edR5(k$aj\Q7lo5._١e<w5.9ю-qEq ĭzdk\Qw4Wl5uo{/'~ǲ稵|8ζ` u@euZD/P6.zđ.~48k)+oH,зP(2(32I#(S2]Y>`x#  o7o7rgx# o7@F x# o7@F xc-xk8ւv1Z0׮CkC]`cmZ;k^g 6uЂcނނ.c߆. è\lG4lluc>#$.m++\lLԅ>:p}<?;_]a|؇ :}DzFzpdz[OvGz<V?~@?`x}6v7(Vߟ (G1QϷ _G țx>ٯ3 _@ҍ/Q~' F#ws<8ɻ}N
vsf;tla	wfE_f`_f;Fgg;Fgwįnb~$h(`A6'4?hh\U:-Ӂ6H|'~'wuz[ nnwF4C$lp0}(a<	[ Ջ)v7q!`=7zupwzyno0n;p0np06n;q0V}>A@G@#{@}>rw#}>BG@#0}>BG@c1}>A>B+} c 1}>B`c01}>BЇ@C !? @_"b8` D0"
C!y@D@"" E"aQd-  ݱy1 ,w	 gBvŢyUd U!^SbnnUaѼ2l`," $"!!wB	a qAa1@  ?`>
ABG!Q((}t ѽBG}>
BGA Q(}>
CGA QhgUX}t7עt^~IJf[k9_^Tu՛/e97|fۯţ?jYU{(XOŗOgz{>ËK<|ne/Nz/czY-jvxL>5f]-9\T.]nNWx|q?~x>+٘*˃<Mj
SՆSէjqjNBtk'U.pax|xVz!ߌQ2g|fdmbݯ_Smf*VizuJAx<#a~_W͜l;gbh(yDq=n~_ſwZku^+FيyWHX/Şo^-h߶6n YY|iO©WZ?Tjd?"WsUVCd/%9T)	UӼ|oiV}+o[n@
au5Fx+iƚf:ywO !ף5K(a"#1DyݦbӾL5]>4%׷KeSJub- 90BErRbN1QB9\|_W˛҆ycb^-3?߬8o9WRFO,{{t	v)jk=c3/goZ87	c9Aqx#kL)ӓǯ1TLjKKiFKjlH}a-ߏLM8yןS5`қ_9u8yb:S`KbSgU>x\%7}mLGWl,rOa`9҅5aĎ#[ *c5Q~$}kD~򟭝>xUc;y5^IADЭaAK߼ou?ζ+oq.ק?/]]Wj	r_s-Hc{xemjB;(CRl476
cI'zbFxY~0xCzClxP9BED9ܢ7B4)횼YFs5n_E;95{Oy$\/yi[c+M^.x4\ݬOd@}bAJxg_XC4t1?*[d}xgOoV7WOEdc^Na[уV_%ֆVٱ5f3v*lv.Up9]ʕ[_R˕[oҚ/+v5WMʞ`P<Sx7o*Xѹ6_UH̢Rm*Q
~[/ŊKV.
ΪUU_[5?>D}Tٛj{!z5z_ȅUlVzbL>0}"fz,ŏxTŷ0<bo#]!J?t~/D2-[/==ocYyYj_/[yQLV!{<Y|&(ls3G͆wo,@*~W"Uً $&:vUz/k.?2?A
ow\){6_ΑJl?o>TNͿW=sJȫV
%xAܮ-NJx"KMU|=G+VWk<S"'ueJnc|c	RCA"gYiRb
ҢqM
*Tt
((^~9fH#"*D<E6nE*YD*Y`Q?QÇ|F[}3j,F
}RݜԒ_mլ?enViÿe ҿal<_??JW~G _ HeFp0@+CeqhiefOsổGT߹/\{r`.tN۸?V7s;ruV<~n?Jnɮ Di~C]x^%/,Ez[Tek]n?Tx[7_c7MX]7R6es$yEJ~$iP I3I9f_Ψψ2'Fi4;ݴu+R'TS}Tz#ޏڍx#yc;DԵ]}N#k;Y?{@:;nC)2/;<B^m]G'XLWsGOTCuzsvE9sǖQEp(TU݌\Une}v6t:jI}@U}ЁW~]5wZ:}6\-nKѦ2|P/oj.z*W/{X
8#kg>\MmS/W
~jqS6Ce]XԾZm՛O?|+WYX,]|3kS%YCVq@oR eK?GYzsɦJ.Oy=r\G]q(L5]]2lboCVG?ez=;'q(9TYw>rNƅ^ILϚ ܬ=zSe{ۖ,D^/r_2QXLU\mM:z$@ΡPMRީ-dMei'ZrEBEq?7$&_ʯOtlJo^_UlqIt(}kq[;{5G;{pz9269?'r8B86uO6 sX|aq^zfI\zg:ֳYݕkuF\ǵ#[y;qmgsg[{;g[YwAێ}|j@{	`M9_!T
G|.4hH_\w^I eWw=m]<yywzT}1S/έqP6D|w\VU4 v<-jE[Na>Ku<]Zs y|!ѻx -O?;q:zrd&WM^}:75kÍz'#dn׷[ڭv^Eϋ7w|{b}qQײ:]EE/򞯂E:BaoG"7qNϗڒFUsvO^/)<:f0E{+B"Yu67xqsJ)g)8n?1,>V^;G#`T]D;6ʧ/5je)ċԎv#npۦ~O3DQ#\끔#},#nͮYpO	ފOwOsP8Uנc's/5k}ݽmv퓋'ջHuo\̯٦)oy.
(p:5a~檽xtSX~`*ς{6jz)Y%}Ŀԃ+WYOGJ'}-P5d=d5~jC{B#]m?_G5|lxO5jZ殺ދ+qxQݲh(XswȤr/rs˿#q vOcl}rJTF4
Ε@Л=h&xgW'-Yn.'O#ۃ??dӵe9،M~ɗ=:Qa}EOU	cSP"Ax GA$RDJrmhNzU-')ȶ#OXh.^6bus-bRmےV߷mmKmpS`5-eƥ6r`d{ZG^(>RSo#aʆw(!afQBJ@5oT6Nd98Ӻq^DEp?b!#gi^j	v;&6HoP{'^2UPRi!ܬ:=]5%%zQ/=z%b|UpDAqSTiP]\/}"69u~%ebDSjlYc%Q)_Hɠ@'c
XeeeJIXbkDX#mQ*H*iBGϔԒG]-1Q8uKT%&Z]1-A~NF`B/1-itzX:ICZrhLt&u4v:hZPEbRGd,
d.Btd&*$VJ⠗3>a"}:B4(_"Lgt91Rn
uP֪4U̄jmfmRLFifgLicQRBN*`3DGޤ
*Vl5318ӝЉTf&l]4B
ANFnB63=)\:x3YΚCZEsٌܬa23	aNPEQLw:qF*1î	HErr ڔfD9R9u=r,|DXG*#'#sJHEVCLF:#7wTQayq>eY2
ȉqAK|b>r>r~T*1ꈵD~C?rc?c= ?R @ E rZp 94KӷL+2 yYdtQL8Kd<. ёt@.Ǉf4$K	a">R&őFz9ךr,\*DiG=*·o̔s	pԬ4,
9j("zHbB",>)aԒżYi	Ub>#Fu=ޏ@Zpdň#8ITά"ӊGzg?QSEyYdtQL8
٭864ҊJ8.mcy]#SMBttIqdd5֤82V2Pp@a_m_QF(D8p,J׳HAAw"fR꿾I

.rԪ4*M~Zfm\!!@NwԤ}Tׁߍv؏fCnw}ܨ4(uw#VYV ob0,eh&{ݏ	ò^ca]Gu7{9nUE*&¹ͽ`*"Jr*C8ՁJOH*C8Ձ>ȩTrJ\y"'v@Ne:Lj0[#ȩrdEZ)%J9U@Mwb2S=T 2SؚVRBNsR©n8NPBm6	MY,\h *S.Q!J_'9U@SR}.ȩng!-"@Nu u wlFSpZr0ȩr0'"r@NU&;7#FaOrށE׋M*X<Ed(d[4iۗflT*U7eS
Qȇp-"WAiu/[:q[ͯJ^V"nbsu
|[4haʨAiA*lFl3\"Jil1 Z`gMz隤RmVrcxL1L#6)qBnW9etVpӝލw:[MM@,u#ZbgU&vlԢ4"b5vDI[""6v6d:L0['ۤej($FM M:{vPNT'ΐcsFMZNT$'Nެ4jToʖ`'_;4nTK(4:Nd[&:Nv0cZ/ؕ2Kzb;iۍȈj.IޜMMA`ORلьHf*u'ɬlxfPhAaQa'+;76DmJpmY9*3d嘀Q!J8*٬vrbJ9R-Y9 &CZE3Y9,rj)0:^D.XQ,TVnVvq^zfݬ޸aY/TVfnVN{g
Y9,E1Uj\6+I!kui'!4vr(51LVnVNs#EkR+N
ٴ}5H@b 2H-F\|:&rс<$Vdb?$dE1\r@|$uԁ&H<APRF6
TA.VNMz&3>\G	ӲYM1ȃT;a\6+q2ӠyA>2R3ǹ4К8GTS܀IɃd(Xi JQ\n8|86r)Xb7I/z3ENnAJVh1FnhM"ӊUH #bE]Υb?ZyiCZ(e761]#SMG&n:)v/%4֤f[N)6I*	i٬RlrK\/	Y	ؤb/ǴHac8hjԬàM(J8:Z<0In@@TݺlV։a)ij)4\$JؔfD)!2EPT(dcOT))Hp`ǣ҂(ፇQM5HArcE\PE䒈фq%*FuZb;feP1Lqò^)x,Q,ehHM"Ce1NƇO 'f%i6:},֤82P,zZ&\#(v]󨢨MiM4U1b'
Q*Q&*FP줽1?#ŔsFbNiAQ̤jD,M[·L*FP1?'"r)TPX/GŨXK^Fnf,vUfe	ؿ07,e`ʒՈ͓m}wjE#3,kAT]袘p6&ٱёKՈMA[2L|AC)SIqdؖ=W>sg[˲m6V]/P6.zđ.~48k)+oH,P(2(32I#(S2]Y>{`x# ! G #p>G #w8@ @G #q8B!G@#q8ւ c-ku:DkC]`cmZ;k^g 6uЂcނނ.c߆. è\lG4lluc>#$.m++\lLԅ>:p}<?;_]a|؇ :}Dz^򞢟zdz[OvGz<V?y@ټ?`p}6v7(Vυޟ (F1QϷ _G țx>ٯ3 _@ҍ/Q~' F#ws<8ɻ}N
vsf;tla	wfE_f`_f;Fgg;Fgwįnb~$h(`A6'4?hh\U:-Ӂ6H|'~'wuz[ nnwF4C$lp0}(a<	[ w7u!`}7zyp{z}n;p0np06n;q0Vnq0v}>A@G@#{@}>rw#}>BG@#0}>BG@c1}>A>B+} c 1}>B`c01}>BЇ@C !? @_"b8` D0"
C!y@D@"" E"aQ^d ݱ>y1 ,Q	g,vŢyd ^SbnUaѼ2l`," $"!!wB	a qAa1@  ?`>
ABG!Q((}t ѽBG}>
BGA Q(}>
CGA QhgUX}t7עt^~IJK6W^6r,Fˋ5o`_V^3qf]e9A7e?#QJ|8Ŀr`M&OזtXRf\]T©oVkhvÃ՜V|9⃢.>UE1^MuXڼZnWtųƃIQOpZ.k@!YK-ُŊ\VVYxzȕo֘Rz1|sUxիՂoBI|T%;hŷZr^]T[<W]Wk@4n>. z1:|{8/ɜ&u⟧E)(_=իܯEgh5R?DZmΗÐ)EiU8t\*ί<J~VcM"8J\.gVIsZmJq,yj
oּ_t^"_9v/#QY})͵8g~%?񯐗3^bfusy˜}Yffs,Ǳ[K'֗xpST~3͒hŊA՜b|͏;"ojuݡ<ڰ^k^kzmZkgM˖HR62eS6BeT6ReU6be6lԆ>5jFmبa6lԆڰQ5jFmdFmԨ|HxˏQ6hxv6Ŭ9yӔy\6?-|wxP> Ox[f")|?|}\WNN9	l3_KYpX\CxEB6oO6C??8 
FQ?7/I\{F/Fqw#EلWbQfY?=/k/%|n0<D+J[ev=W8F_ƍsrB2XQdFήh4#ggj6#gL:.&4^i>ݪ=vz<J9ήIF=;)=vJbzIUabdUbg2ZLrM4,zg?^bO.ڳ]^Yކ-|xw[T37Vty:6[鲽U=N8p6#cj 4yk_pt(Y45}H~:,=^אQ9Bx4;31B53k̃-V	~槇<g%I|: N=dj:$|;ggwŠ'N??qS5:a6̘%(cf(cfYNM2f:a6͘%i,Q'2f:urwRf;JΒ.Nn#>sR0sR0d2=g9Ji9Ji9Ji9Ji9Ji9Ji9Js='U)s='U)s='U)Q*a*a*a*a*a*%s='U)s='U)s='U)s='U)LAS\IUJ\IUJ\IUJ\IUJ\IUJ8sƹ\IUJ\IUJ\IUJ\IUJ\IU/(qκ_Óxt~lF/rYɼXuظ0d|:φ'g̟?/ן'E9f|P.N$5U:/s^x\{yוMԺ~ԜWNYs^lnj/8[u}E^tyq٪5ũgYgj\Is~4u/ONkS爨ï/LC}}`qi_؟:d<O2՗Qj9&u?ux LC2>u2NC2>N28yavzsX&C7K90,p	rsNC4۩1LLs&t"7I|T'[R޷4Y`N7SpN7`RU4ԗ4`!}*KVD_2ҁUt/!XEgRBS44R_ZU4җ"/9XEc}*KVT_N%	L_DaRU4ԗ,ta̥)r/Nh~
̤c4Ocv<x++gW$\^<6bX:>VO<C7b_mW~d?RNzrJT̮<w\ԇJUd3QvvfM^?]xR>9>T|J5<}BFOuzp4c=pˣY lAx{ :xwWu7/׻m_TGl;g'7-1HDb
{tW:CM۟?}м}Vp]E>>%}J4UkOdÃڥ*j?]{v)(/66w>]Q宼B RRtN/_kҫ%`_gbyR!P[q~Py#hR>{dz>É{KS)5=J3;29ŝm1,Nw?;ۦ<]><rZN+vAjE}dp3t+VW37SS.!(ֲD^~c?Z<o;<S7xY_XfKZ<Xzҳ<>J3' l,yNnT3^d{lP˶uϗj6A-jNNyNNyNNCq@C¥;?,\Jy|3?_o*P\yEiSR=av:MgC7VU|ˑNRɃ=ɾk.Z L)Cnf
ͼZ\ĕfdݹywz5^As6wҍt&ndDmk	sw-F:ū
ưɖ|{m}Kx»I#]\⇢w|xn^&am%P}G!]1P΄*e'ӒHs4#{ԇCiL't'zOeZlGU^D'r?֞dn
*}/5} rUiE-|"As\MdOdUM߬. sV~'uɒIl&jˬnͮ[ZJ%D{	-cb`mvlE</=U,,(I	j3y5?*MŚۆ|0ȶMݠ8kK%?5{R_#L˺F<^H`A%(%>FA+>48qfYuUv|Su54_US&`'t>a|&Ġ%!κk|QN9WϹl)4ZgJumXseĪT8iQ"0"۱fױsJwM^]7֤7g6еm棩\M|z0<uDsMnIS]?yԏҸR%(cq}U[/~㉙wn~Mb=_6fLͨĖ\iYuo6?$yq`{=ۣM-y=6vS?,OLǣ4zyy^N9*|wȎ<~DE) %S?	_<~7ҏq4<9L\<OzBn
4A>m^N|;LIs&fltZWu||q'Ƞq T,Mg©'oS~1*'Qԉ$Y'gϦYL~hἰޚꗥwLW7מ8o;/956A+MΛL&Lyo	:_Wά8$گ"o AGF&kFS"S"3]""ΛCCF{BzV~dj$X4OD:E
BAtG@ [,4LɜyZݕjlGiQy|2ACز4<ex"-W깔>z4ܧG`US=`(>Il(+axN_	/4ԝ|0;y$lF$nNN^X;"48	o.j'})Ir1F׀Ng^=.j00,Vϥdq4ҐQ$v1,P>৐PZɻ!NdJ=y,εGgٯa.!%GKh4@%*s_B/{|/@+jcb7{rp#'tN!?H+; (2kC<]>*ح^>P9NϺD!zу(̜{Teu(!̟G)A'59a;9(F}hVEa:OF@'Y˞i&':r\&>W$''vJG{
4bn
DLǧ%m=eɤS?S<bx^˟=5Wɰӡ{Y-yK\]~6&¯wZºR\̈7žJ:C
d<ZdqK<<ۇ,>%nZ!c#*7峡|/rf[Nu7a֠)FFnVb_rgvC89.`b?F::;9z'g;Glglf|nWdfvl,;I4;~g:GLg'2Gia	ut'NY.s;}rW=joWwqd\WP2Ny˳rd&AuGǙ|~I3y2bLbQNDzC58Ma3rb$)7c8qfp2_.'Xܵl@)2(A@M}@1p%q
[#O4)D	'gCNNShR?N==k%Iwxك{$'|VG<U}4ʡ}rbt;t&iN=(K'j{ v+G&_gG[En import pyro2

pmUNoise  = hou.vopNodeTypeCategory().nodeTypes()['unifiednoise'].hdaModule()


def uiEmbedded(node,prefix='',postfix=''):
   return pmUNoise.uiEmbedded(node.node("Noise"),prefix,postfix)

def uiPromotableInputs(node,prefix='',postfix=''):
   return ('%stime%s'%(prefix,postfix),) + \
          pmUNoise.uiPromotableInputs(node.node("Noise"),prefix,postfix)

def uiRadios(node,prefix='',postfix=''):
   return pmUNoise.uiRadios(node.node("Noise"),prefix,postfix)

def uiExtraLinks(node,prefix='',postfix=''):
   return pmUNoise.uiExtraLinks(node.node("Noise"),prefix,postfix)



def uiCreate(kwargs):
   node  = kwargs['node']
   style = kwargs['script_value']

   iprom  = uiPromotableInputs(node)
   pvops  = uiEmbedded(node)
   radios = uiRadios(node)
   xlinks = uiExtraLinks(node)

   # build the top-level interface
   pyro2.uiCreateFromTuple(style,node,uiParmTemplates(node),iprom,
                           pvops=pvops,radios=radios,xlinks=xlinks,
                           prefix=node.evalParm('ui_prefix'),
                           postfix=node.evalParm('ui_postfix'))




################################################################################
# UI Promotion
################################################################################

def uiAppend(infolder,pt,ptl,tplt):
   if infolder:
      pt.addParmTemplate(tplt)
   else:
      ptl.append(tplt)

def uiAppendList(infolder,pt,ptl,tpltiter):
   if infolder:
      for t in tpltiter: pt.addParmTemplate(t)
   else:
      ptl += tpltiter

def uiAppendListToGroup(pt,tpltiter):
   for t in tpltiter: pt.addParmTemplate(t)

def uiParmTemplates( 
      node,
      usenodesettings = True,
      foldername='NODENAME',
      infolder=True,
      withactive=True,
      initactive=0,
      activename="active",
      activelabel="Active",
      initsigned = False,      # whether to initialize as signed noise
      dwhen   = '',
      prefix  = '',
      postfix = ''
   ):

   # Fetch export settings
   xdwhen = ''
   if usenodesettings:
      infolder   = node.evalParm('ui_infolder')
      foldername = node.evalParm('ui_foldername')
      initsigned = node.evalParm('ui_initsigned')
      withactive  = node.evalParm('ui_withactive')
      initactive  = node.evalParm('ui_initactive')
      activename  = node.evalParm('ui_activename')
      activelabel = node.evalParm('ui_activelabel')
      xdwhen      = node.evalParm('ui_dwhen')

   # Container list, when infolder==False
   ptl = []

   # Container folder, when infolder==True
   pt = pyro2.uitTabFolder(foldername)

   # base disablewhen
   dw = dwhen + " " + xdwhen

   # Active
   if withactive:
      nactive = '%sactive%s'%(prefix,postfix)
      pt2 = hou.ToggleParmTemplate('%s%s%s'%(prefix,activename,postfix),
            activelabel, default_value=initactive)
      pt2.setDisableWhen(dw)
      uiAppend(infolder,pt,ptl,pt2)
      dw += " { %s 0 }"%nactive

   # Output Type
   scr = 'd3 = ("default", "Float", "v3", "Vector")\n' + \
         'd4 = ("f4", "Float", "v4", "Vector")\n' + \
         'return (d3,d4)[kwargs["node"].evalParm("%sdim4%s")]' % (prefix,postfix)
   pt2 = hou.MenuParmTemplate("%sntype%s"%(prefix,postfix), 
         "Noise Output Type", default_value=0,
         menu_items=([]), menu_labels=([]), icon_names=([]),
         item_generator_script=scr,
         item_generator_script_language=hou.scriptLanguage.Python,
         menu_type=hou.menuType.Normal)
   pt2.setDisableWhen(dw)
   pt2.setJoinWithNext(True)
   uiAppend(infolder,pt,ptl,pt2)

   # Space
   ndim4 = "%sdim4%s"%(prefix,postfix)
   pt2 = hou.MenuParmTemplate(ndim4, "Space", default_value=0,
         menu_items=(["0","1"]), menu_labels=(["3D","4D"]),
         menu_type=hou.menuType.Normal)
   pt2.setDisableWhen(dw)
   pt2.setJoinWithNext(True)
   uiAppend(infolder,pt,ptl,pt2)

   # Time
   pt2 = hou.FloatParmTemplate("%stime%s"%(prefix,postfix), "Time", 1, 
         default_value=([0]), min=0, max=10, 
         min_is_strict=False, max_is_strict=False, 
         look=hou.parmLook.Regular, naming_scheme=hou.parmNamingScheme.Base1)
   pt2.setDisableWhen(dw + " { %s 0 }"%ndim4)
   uiAppend(infolder,pt,ptl,pt2)

   # Field Op
   pt2 = hou.StringParmTemplate("%sfieldop%s"%(prefix,postfix), 
         "Field Operation", 1, default_value=(["add"]), 
         naming_scheme=hou.parmNamingScheme.Base1, 
         string_type=hou.stringParmType.Regular, 
         menu_items=(["add","mult"]), 
         menu_labels=(["Offset (Field + Noise)","Scale (Field * Noise)"]), 
         menu_type=hou.menuType.Normal)
   pt2.setDisableWhen(dw)
   uiAppend(infolder,pt,ptl,pt2)


   # Noise Parms
   srcnode = node.node('Noise')
   ntl = pmUNoise.uiParmTemplates(srcnode, usenodesettings=False,
         infolder=False, withactive=False, withoffval=False, 
         initsigned=initsigned, prefix=prefix,postfix=postfix,dwhen=dw)
   ntl = pyro2.uitlRepath(node,srcnode,ntl)
   uiAppendList(infolder,pt,ptl,ntl)

   if infolder: return (pt,)
   return ptl    PythonModule/Cursor                           PythonModule/IsExpr        PythonModule/IsPython       PythonModule/IsScript       PythonModule/Source     INDX              DialogScript      {OE$N   CreateScript  {  UOE$N   TypePropertiesOptions    OE$N   Help      OE$N   Tools.shelf    dOE$N   ExtraFileOptions  5   OE$N# Dialog script for pyroNoiseSpace automatically generated 02/22/12 12:22:22

{
    name	pyroNoiseSpace
    script	pyroNoiseSpace
    label	"Pyro Noise Space"

    code {
	"#if $dim4"
	"   $newpos  = set($pos.x,$pos.y,$pos.z,$time);"
	"   $newpos2 = set($pos2.x,$pos2.y,$pos2.z,$time);"
	"#else"
	"   $newpos  = $pos;"
	"   $newpos2 = $pos2;"
	"#endif"
    }

    input	vector	pos	"Primary Sample Position"
    input	vector	pos2	"Secondary Sample Position (for dual-rest)"
    input	float	time	"Position in the Fourth Dimension"
    output	vector	newpos	"Primary Sample Position"
    output	vector	newpos2	"Secondary Sample Position (for dual-rest)"
    inputflags	pos	0
    inputflags	pos2	0
    inputflags	time	0
    signature	"3-Dimensional Noise"	default	{ vector vector float vector vector }
    signature	"4-Dimensional Noise"	d4	{ vector vector float vector4 vector4 }

    outputoverrides	default
    {
	___begin	auto
			(0,0,0)
	___begin	auto
			(0,0,0)
    }
    outputoverrides	d4
    {
	___begin	auto
			(0,0,0,0)
	___begin	auto
			(0,0,0,0)
    }

    help {
	""
    }

    parm {
	name	"signature"
	baseparm
	export	none
    }
    parm {
	name	"dim4"
	label	"4-Dimensional Noise"
	type	toggle
	default	{ "0" }
	range	{ 0 1 }
	export	none
    }
    parm {
	name	"time"
	label	"Fourth Dimension"
	type	float
	default	{ "0" }
	disablewhen	"{ dim4 == 0 }"
	range	{ 0 10 }
	export	none
    }
}
# Automatically generated script: Wednesday February 22, 12:22 2012
\set noalias = 1
#
#  Creation script for pyroNoiseSpace operator
#

if ( "$arg1" == "" ) then
    echo This script is intended as a creation script
    exit
endif

# Node $arg1 (Vop/pyroNoiseSpace)
opexprlanguage -s hscript $arg1
opuserdata -n '___Version___' -v '' $arg1
ParmsFromVfl := 0;
PrefixDroppedParmName := 0;
UseDSParms := 1;
ForbidOutsideParms := 1;
LockContents := 1;
SaveSpareParms := 0;
CheckExternal := 1;
GzipContents := 1;
MakeDefault := 1;
SaveCachedCode := 0;
PrefixDroppedParmLabel := 0;
UnlockOnCreate := 0;
<?xml version="1.0" encoding="UTF-8"?>
<shelfDocument>
  <!-- This file contains definitions of shelves, toolbars, and tools.
 It should not be hand-edited when it is being used by the application.
 Note, that two definitions of the same element are not allowed in
 a single file. -->

  <tool name="$HDA_TABLE_$HDA_NAME" label="$HDA_LABEL" icon="$HDA_ICON">
    <toolMenuContext name="viewer">
      <contextNetType>VOP</contextNetType>
    </toolMenuContext>
    <toolMenuContext name="pop_viewer">
      <contextNetType>VOP</contextNetType>
    </toolMenuContext>
    <toolMenuContext name="network">
      <contextOpType>$HDA_TABLE/$HDA_NAME</contextOpType>
    </toolMenuContext>
    <toolSubmenu>Pyro</toolSubmenu>
    <script scriptType="python"><![CDATA[import voptoolutils

voptoolutils.genericTool(kwargs, '$HDA_NAME')]]></script>
  </tool>
</shelfDocument>
    INDX              DialogScript      *#QZ   CreateScript  *#  DQY   TypePropertiesOptions  +g  QZ   Help  ,h    QZ   Tools.shelf  ,h  dQY   PythonModule  /  6N   ExtraFileOptions  <   QZ# Dialog script for pyroShade automatically generated 07/08/13 12:56:58

{
    name	pyroShade
    script	pyroShade
    label	"Pyro Shade"

    outercode {
	"#include <pyro_color.h>"
    }

    code {
	"$out_opacity  = 0;"
	"$out_color    = 0;"
	"$out_F        = bsdf();"
	"$out_emission = 0;"
	""
	"#if defined(VOP_SHADING) && defined(__vex)"
	""
	"#if $isconnected_draw"
	"if(max($draw)>0)"
	"{"
	"#endif"
	"   vector $wo = normalize(Eye-P);"
	"   vector $sopac = 0;"
	"   vector $srefl = 0;"
	"   vector $femit = 0;"
	""
	"   float  $fw;"
	""
	"   // Initialize reflectance to match Mantra"
	"   float  $ss = 1; // final scattering scale"
	"   "
	"   vector $den = $dsmoke;"
	"   #if !strcmp($signature,\"vden\") || !strcmp($signature,\"vall\")"
	"      $den = colortoopacity($den);"
	"   #endif"
	"   #if $isconnected_draw"
	"      float $dmask = pyro_fieldmask($draw, 0.00125);"
	"      $den *= $dmask;"
	"      $ss  *= $dmask;"
	"   #endif"
	"   "
	"   // shadow color"
	"   vector $cshad = colortoopacity($kshadow*$cshadow);"
	"   "
	"   // base density"
	"   if (isshadowray())"
	"   {"
	"       $den *= $cshad;"
	"       $den = max($den,0);"
	"   }"
	""
	"   // base emission"
	"   vector $de = $demit;"
	"   $de = max(0,$de); // should it be allowed to go negative?"
	""
	"   // modulate density according to the chosen model"
	"   #if !strcmp($dmodel,\"pyro1\") && $isconnected_fireexist"
	"      $den = lerp($den,$de,clamp(max($fireexist),0,1));"
	"      $out_emission = dPdz * $kemit * $cemit;"
	"   #else"
	"      $out_emission = $de * dPdz * $kemit * $cemit;"
	"   #endif"
	"   "
	"   // base opacity"
	"   $sopac = VONE - exp(-dPdz*$den);"
	"   $out_opacity = $sopac;"
	""
	"   // extra exports"
	"   float $emitluma = luma($out_emission);"
	"   float $emask = pyro_fieldmask($emitluma, 0.01);"
	"   $out_firemask  = $emask*dPdz;"
	"   $out_smokemask = luma($sopac * (1.0 - $emask));"
	"   "
	"   if(!isshadowray()) {"
	"         // OGL renders are 2x brighter than Mantra "
	"         if($kmodel==\"ogl\") $ss *= 2;"
	"         $ss *= $ksmoke;"
	""
	"         // engine"
	"         string $engine = \"micropoly\"; renderstate(\"renderer:renderengine\", $engine );"
	"         int    $ispbr  = ( ( $engine == \"pbrraytrace\") || "
	"                            ( $engine == \"pbrmicropoly\") );"
	""
	"         // phase bsdf"
	"         bsdf   $Fhg;"
	"         if($phase!=0) $Fhg = henyeygreenstein(clamp($phase,-0.999,0.999));"
	"            else $Fhg = isotropic();"
	""
	"         $srefl = 0;"
	"         vector $noshad = 0;"
	"         illuminance(P,{0,0,-1},C_PI,\"density\",1.0)"
	"         {"
	"            $noshad += Cl;"
	"            if($doshadows) shadow(Cl);"
	"            $srefl += Cl*eval_bsdf($Fhg,$wo,normalize(L));"
	"         }"
	"         vector $shad = $srefl/$noshad;"
	"         "
	"         $out_color    = $sopac * $srefl * $csmoke * $ss;"
	""
	"         // Check whether emission should be added to illumination for"
	"         // non-PBR engines (it's optimized out internally for PBR)"
	"         int emitillum = 1;"
	"         renderstate(\"object:emitillum\", emitillum);"
	"         emitillum |= getraylevel() == 0;"
	""
	"         // MP engines don't use Ce, so we add emission to the color out"
	"         if(!$ispbr && emitillum) $out_color += $out_emission;"
	""
	"         $out_F = $Fhg * $csmoke * $ss;"
	"   }"
	""
	""
	"#if $isconnected_draw"
	"}"
	"#endif"
	""
	"#endif"
    }

    input	float	dsmoke	"Smoke Density"
    input	float	draw	"Raw Density field"
    input	vector	csmoke	"Smoke Color"
    input	float	demit	"Emit Density"
    input	vector	cemit	"Emit Color"
    input	float	fireexist	"Fire Existence Field"
    input	float	ksmoke	"Smoke Brightness"
    input	float	phase	"Scattering Phase"
    input	int	doshadows	"Include Shadow Calculation"
    input	vector	cshadow	"Shadow Color"
    input	float	kshadow	"Shadow Scale"
    input	float	kemit	"Emit Scale"
    output	vector	out_color	"Illuminated Smoke Color"
    output	vector	out_opacity	"Final Opacity"
    output	bsdf	out_F	BSDF
    output	vector	out_emission	"Emitted Color"
    output	float	out_smokemask	"Smoke Mask"
    output	float	out_firemask	"Fire Mask"
    inputflags	dsmoke	0
    inputflags	draw	0
    inputflags	csmoke	0
    inputflags	demit	0
    inputflags	cemit	0
    inputflags	fireexist	0
    inputflags	ksmoke	0
    inputflags	phase	0
    inputflags	doshadows	0
    inputflags	cshadow	0
    inputflags	kshadow	0
    inputflags	kemit	0
    signature	"Default Inputs"	default	{ float float vector float vector float float float int vector float float vector vector bsdf vector float float }
    signature	"Vector Smoke Density"	vsd	{ vector vector vector float vector float float float int vector float float vector vector bsdf vector float float }
    signature	"Vector Emit Density"	ved	{ float float vector vector vector float float float int vector float float vector vector bsdf vector float float }
    signature	"Vector Fire Existence"	vfe	{ float float vector float vector vector float float int vector float float vector vector bsdf vector float float }
    signature	"Vector All Densities"	vall	{ vector vector vector vector vector vector float float int vector float float vector vector bsdf vector float float }

    outputoverrides	default
    {
	___begin	auto
			(0,0,0)
	___begin	auto
			(0,0,0)
	___begin	auto
			(0)
	___begin	auto
			(0,0,0)
	___begin	auto
			(0)
	___begin	auto
			(0)
    }
    outputoverrides	vsd
    {
	___begin	auto
			(0,0,0)
	___begin	auto
			(0,0,0)
	___begin	auto
			(0)
	___begin	auto
			(0,0,0)
	___begin	auto
			(0)
	___begin	auto
			(0)
    }
    outputoverrides	ved
    {
	___begin	auto
			(0,0,0)
	___begin	auto
			(0,0,0)
	___begin	auto
			(0)
	___begin	auto
			(0,0,0)
	___begin	auto
			(0)
	___begin	auto
			(0)
    }
    outputoverrides	vfe
    {
	___begin	auto
			(0,0,0)
	___begin	auto
			(0,0,0)
	___begin	auto
			(0)
	___begin	auto
			(0,0,0)
	___begin	auto
			(0)
	___begin	auto
			(0)
    }
    outputoverrides	vall
    {
	___begin	auto
			(0,0,0)
	___begin	auto
			(0,0,0)
	___begin	auto
			(0)
	___begin	auto
			(0,0,0)
	___begin	auto
			(0)
	___begin	auto
			(0)
    }

    help {
	""
    }

    parm {
	name	"signature"
	baseparm
	invisible
	export	none
    }
    parm {
	name	"makeui"
	label	"Promote Interface"
	type	button
	nolabel
	default	{ "0" }
	menu	{
	    [ "import pyro2" ]
	    [ "return pyro2.makeuimenu()" ]
	    language	python
	}
	range	{ 0 1 }
	export	none
	parmtag	{ "export_disable" "1" }
	parmtag	{ "script_callback" "hou.phm().uiCreate(kwargs)" }
	parmtag	{ "script_callback_language" "python" }
    }
    group {
	name	"folder0"
	label	"VOP Parameters"

	parm {
	    name	"mode"
	    label	"Shading Mode"
	    type	string
	    default	{ "normal" }
	    menu	{
		"normal"	"Normal Shading"
	    }
	    range	{ 0 1 }
	    export	none
	}
	group {
	    name	"folder1"
	    label	"Standard Shading"

	    parm {
		name	"kmodel"
		label	"Brightness Model"
		type	string
		default	{ "ogl" }
		menu	{
		    "ogl"	"Match Visualization"
		    "pbr"	"Match Mantra"
		}
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"dmodel"
		label	"Density Model"
		type	string
		default	{ "ogl" }
		menu	{
		    "ogl"	"Match Visualization (Fire Density As Intensity)"
		    "pyro1"	"Fire Density As Actual Density (Pyro1)"
		}
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"sepparm"
		label	"Separator"
		type	separator
		default	{ }
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"kemit"
		label	"Emit Brightness"
		type	float
		default	{ "1" }
		range	{ 0 2 }
		export	none
	    }
	    parm {
		name	"ksmoke"
		label	"Smoke Brightness"
		type	float
		default	{ "1" }
		range	{ 0 2 }
		export	none
	    }
	    parm {
		name	"phase"
		label	"Scattering Phase"
		type	float
		default	{ "0" }
		range	{ -1! 1! }
		export	none
	    }
	    parm {
		name	"doshadows"
		label	"Calculate Shadows"
		type	toggle
		default	{ "1" }
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"cshadow"
		label	"Shadow Color"
		type	color
		size	3
		default	{ "1" "1" "1" }
		disablewhen	"{ doshadows == 0 }"
		range	{ 0 2 }
		export	none
	    }
	    parm {
		name	"kshadow"
		label	"Shadow Density"
		type	float
		default	{ "1" }
		disablewhen	"{ doshadows == 0 }"
		range	{ 0 2 }
		export	none
	    }
	}

	group {
	    name	"folder1_1"
	    label	"Input Defaults"

	    parm {
		name	"dsmoke"
		label	"Smoke Density"
		type	float
		default	{ "1" }
		range	{ 0 10 }
		export	none
	    }
	    parm {
		name	"dsmoke_vsd"
		label	"Vector Smoke Density"
		type	vector
		size	3
		default	{ "1" "1" "1" }
		range	{ -1 1 }
		export	none
	    }
	    parm {
		name	"csmoke"
		label	"Smoke Color"
		type	color
		size	3
		default	{ "1" "1" "1" }
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"demit"
		label	"Emit Density"
		type	float
		default	{ "0" }
		range	{ 0 10 }
		export	none
	    }
	    parm {
		name	"demit_ved"
		label	"Vector Emit Density"
		type	vector
		size	3
		default	{ "0" "0" "0" }
		range	{ -1 1 }
		export	none
	    }
	    parm {
		name	"cemit"
		label	"Emit Color"
		type	color
		size	3
		default	{ "1" "1" "1" }
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"fireexist"
		label	"Fire Existence Field"
		type	float
		default	{ "1" }
		range	{ 0 10 }
		export	none
	    }
	    parm {
		name	"fireexist_vfe"
		label	"Vector Fire Existence Field"
		type	vector
		size	3
		default	{ "1" "1" "1" }
		range	{ -1 1 }
		export	none
	    }
	    parm {
		name	"draw"
		label	"Raw Density Field"
		type	float
		default	{ "1" }
		range	{ 0 10 }
		export	none
	    }
	    parm {
		name	"draw_vsd"
		label	"Vector Raw Density Field"
		type	vector
		size	3
		default	{ "1" "1" "1" }
		range	{ -1 1 }
		export	none
	    }
	}

    }

    group {
	name	"folder0_1"
	label	"UI Promotion"

	parm {
	    name	"ui_prefix"
	    label	"Parameter Prefix"
	    type	string
	    joinnext
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"ui_postfix"
	    label	"Postfix"
	    type	string
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"ui_infolder"
	    label	"ui_infolder"
	    type	toggle
	    nolabel
	    joinnext
	    default	{ "0" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"ui_foldername"
	    label	"Create In Folder"
	    type	string
	    default	{ [ "node('.').creator().relativePathTo(node('.')).replace('/','_')" python ] }
	    disablewhen	"{ ui_infolder == 0 }"
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"leftalign3"
	    label	"spacer"
	    type	label
	    nolabel
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"ui_dwhen"
	    label	"Extra Disable When"
	    type	string
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	}
    }

}
# Automatically generated script: Monday July 08, 12:56 2013
\set noalias = 1
#
#  Creation script for pyroShade operator
#

if ( "$arg1" == "" ) then
    echo This script is intended as a creation script
    exit
endif

# Node $arg1 (Vop/pyroShade)
opexprlanguage -s hscript $arg1
opuserdata -n '___Version___' -v '' $arg1
SaveSpareParms := 0;
CheckExternal := 1;
GzipContents := 1;
UnlockOnCreate := 0;
SaveCachedCode := 0;
LockContents := 1;
MakeDefault := 1;
UseDSParms := 1;
ForbidOutsideParms := 0;
PrefixDroppedParmLabel := 0;
PrefixDroppedParmName := 0;
ParmsFromVfl := 0;
<?xml version="1.0" encoding="UTF-8"?>
<shelfDocument>
  <!-- This file contains definitions of shelves, toolbars, and tools.
 It should not be hand-edited when it is being used by the application.
 Note, that two definitions of the same element are not allowed in
 a single file. -->

  <tool name="$HDA_TABLE_$HDA_NAME" label="$HDA_LABEL" icon="$HDA_ICON">
    <toolMenuContext name="viewer">
      <contextNetType>VOP</contextNetType>
    </toolMenuContext>
    <toolMenuContext name="pop_viewer">
      <contextNetType>VOP</contextNetType>
    </toolMenuContext>
    <toolMenuContext name="network">
      <contextOpType>$HDA_TABLE/$HDA_NAME</contextOpType>
    </toolMenuContext>
    <toolSubmenu>Pyro</toolSubmenu>
    <script scriptType="python"><![CDATA[import voptoolutils

voptoolutils.genericTool(kwargs, '$HDA_NAME')]]></script>
  </tool>
</shelfDocument>
import pyro2

def uiEmbedded(node,prefix='',postfix=''):
   return ()

def uiPromotableInputs(node,prefix='',postfix=''):
   return tuple( ['%s%s%s'%(prefix,p,postfix) for p in ( 
            'ksmoke'   , 'phase'  ,
            'doshadows', 'cshadow', 'kshadow')] )


def uiRadios(node,prefix='',postfix=''):
   return ()

def uiExtraLinks(node,prefix='',postfix=''):
   return ()


def uiCreate(kwargs):
   node  = kwargs['node']
   style = kwargs['script_value']

   iprom  = uiPromotableInputs(node)
   xlinks = uiExtraLinks(node)

   # build the top-level interface
   pyro2.uiCreateFromTuple(style,node,uiParmTemplates(node),iprom,
         xlinks  = xlinks,
         prefix  = node.evalParm('ui_prefix'),
         postfix = node.evalParm('ui_postfix') )


def uiAppend(infolder,pt,ptl,tplt):
   if infolder:
      pt.addParmTemplate(tplt)
   else:
      ptl.append(tplt)


def uiParmTemplates( node,
      usenodesettings = True,
      foldername='NODENAME',
      infolder=False,
      dwhen   = '',
      prefix  = '',
      postfix = ''
   ):

   # Fetch export settings
   xdwhen = ''
   if usenodesettings:
      infolder       = node.evalParm('ui_infolder')
      foldername     = node.evalParm('ui_foldername')
      xdwhen         = node.evalParm('ui_dwhen')

   # Container list, when infolder==False
   ptl = []

   # Container folder, when infolder==True
   pt = pyro2.uitTabFolder(foldername)

   # base disablewhen
   dw = xdwhen + " " + dwhen


   # Smoke Brightness
   pt2 = hou.FloatParmTemplate("%sksmoke%s"%(prefix,postfix), 
         "Smoke Brightness", 1, default_value=([1]), min=0, max=2, 
         min_is_strict=False, max_is_strict=False, look=hou.parmLook.Regular, 
         naming_scheme=hou.parmNamingScheme.Base1)
   pt2.setDisableWhen(dw)
   uiAppend(infolder,pt,ptl,pt2)

   # Scattering Phase
   pt2 = hou.FloatParmTemplate("%sphase%s"%(prefix,postfix), 
         "Scattering Phase", 1, default_value =([0]), min=-1, max=1, 
         min_is_strict=True, max_is_strict=True, look=hou.parmLook.Regular, 
         naming_scheme=hou.parmNamingScheme.Base1)
   pt2.setDisableWhen(dw)
   uiAppend(infolder,pt,ptl,pt2)

   # DoShadows Toggle
   ndoshad = "%sdoshadows%s"%(prefix,postfix)
   pt2 = hou.ToggleParmTemplate(ndoshad,"Calculate Shadows", default_value=True)
   pt2.setDisableWhen(dw)
   uiAppend(infolder,pt,ptl,pt2)
   dwsh = dw + " { %s 0 }"%ndoshad

   # Shadow Color
   pt2 = hou.FloatParmTemplate("%scshadow%s"%(prefix,postfix), 
         "Shadow Color", 3, default_value=([1, 1, 1]), min=0, max=2, 
         min_is_strict=False, max_is_strict=False, 
         look=hou.parmLook.ColorSquare, naming_scheme=hou.parmNamingScheme.RGBA)
   pt2.setDisableWhen(dwsh)
   uiAppend(infolder,pt,ptl,pt2)

   # Shadow Density
   pt2 = hou.FloatParmTemplate("%skshadow%s"%(prefix,postfix), 
         "Shadow Density", 1, default_value =([1]), min=0, max=2, 
         min_is_strict=False, max_is_strict=False, 
         look=hou.parmLook.Regular, naming_scheme=hou.parmNamingScheme.Base1)
   pt2.setDisableWhen(dwsh)
   uiAppend(infolder,pt,ptl,pt2)

   if infolder: return (pt,)
   return ptl    PythonModule/Source      PythonModule/IsScript       PythonModule/IsExpr        PythonModule/Cursor                         PythonModule/IsPython      INDX              DialogScript      OE$   CreateScript    WOE$   TypePropertiesOptions    OE$   Help      OE$   Tools.shelf    gOE$   PythonModule  u  "ND   	OnCreated     -M   ExtraFileOptions    COE$# Dialog script for typeconvertimpl automatically generated 02/22/12 12:24:23

{
    name	typeconvertimpl
    script	v_fieldpromote
    label	"Type Convert Implementation"

    outercode {
	"#include <pyro_utils.h>"
    }

    code {
	""
	"// When promoting, \"repeat last\" is the default"
	"vector4 $val2 = 0;"
	"#if !strcmp($signature,\"f_v\") || !strcmp($signature,\"f_v4\")"
	"   #define INLEN  1"
	"   #define PIN    f"
	"   $val2[0] = $val[0];"
	"#elif !strcmp($signature,\"v_f\") || !strcmp($signature,\"v_v4\")"
	"   #define INLEN  3"
	"   #define PIN    v"
	"   $val2 = set($val[0],$val[1],$val[2],0);"
	"#else"
	"   #define INLEN  4"
	"   #define PIN    v4"
	"   $val2 = $val;"
	"#endif"
	""
	"$outval = ( $TOUT ) $val2;"
	""
	"// if signature not in {'default','v_v','v4_v4'} then we convert"
	""
	"#if strcmp($signature,\"default\") && \\"
	"    strcmp($signature,\"v_v\")     && \\"
	"    strcmp($signature,\"v4_v4\")"
	""
	"   // some convenience masks"
	"   #define MASK1  {0,1,1,1}"
	"   #define MASK2  {0,0,1,1}"
	"   #define MASK3  {0,0,0,1}"
	"   #define MASK4  {0,0,0,0}"
	""
	"   $TIN $vin = ($TIN)$val2;"
	"   #if !strcmp($method,\"pad1\")"
	"      $outval = ( $TOUT ) ( $val2 + CAT2(MASK,INLEN) );"
	"   #elif !strcmp($method,\"padc\")"
	"      $outval = ( $TOUT ) ( $val2 + $const*CAT2(MASK,INLEN) );"
	"   #elif !strcmp($method,\"pad0\")"
	"      $outval = ( $TOUT ) $val2;"
	"   #elif !strcmp($method,\"comp0\")"
	"      $outval = $vin[0];"
	"   #elif !strcmp($method,\"comp1\")"
	"      $outval = $vin[1];"
	"   #elif !strcmp($method,\"comp2\")"
	"      $outval = $vin[2];"
	"   #elif !strcmp($method,\"comp3\")"
	"      $outval = $vin[3];"
	"   #elif !strcmp($method,\"min\")"
	"      $outval = min($vin);"
	"   #elif !strcmp($method,\"max\")"
	"      $outval = max($vin);"
	"   #elif !strcmp($method,\"avg\")"
	"      $outval = avg($vin);"
	"   #elif !strcmp($method,\"sum\")"
	"      $outval = sum($vin);"
	"   #elif !strcmp($method,\"len\")"
	"      $outval = length($vin);"
	"   #elif !strcmp($method,\"len2\")"
	"      $outval = length2($vin);"
	"   #elif !strcmp($method,\"len3\")"
	"      $outval = length((vector)$vin);"
	"   #elif !strcmp($method,\"len32\")"
	"      $outval = length2((vector)$vin);"
	"   #elif !strcmp($method,\"lum\")"
	"      $outval = luminance((vector)$vin);"
	"   #else"
	"      $outval = ($TOUT) ( $val2 + $val2[INLEN-1]*CAT2(MASK,INLEN) );"
	"   #endif"
	""
	"   #undef MASK1"
	"   #undef MASK2"
	"   #undef MASK3"
	"   #undef MASK4"
	""
	""
	"#endif"
	""
	"#undef PIN"
	"#undef INLEN"
    }

    input	vector4	val	"Value To Convert"
    input	float	intype	"Input Type"
    input	float	outtype	"Output Type"
    input	float	const	"Padding Constant"
    output	float	outval	"Promoted Field Value"
    inputflags	val	0
    inputflags	intype	0
    inputflags	outtype	0
    inputflags	const	0
    signature	"Float to Float"	default	{ vector4 float float float float }
    signature	"Float to Vector"	f_v	{ vector4 float vector float vector }
    signature	"Float to Vector4"	f_v4	{ vector4 float vector4 float vector4 }
    signature	"Vector to Float"	v_f	{ vector4 vector float float float }
    signature	"Vector to Vector"	v_v	{ vector4 vector vector float vector }
    signature	"Vector to Vector4"	v_v4	{ vector4 vector vector4 float vector4 }
    signature	"Vector4 to Float"	v4_f	{ vector4 vector4 float float float }
    signature	"Vector4 to Vector"	v4_v	{ vector4 vector4 vector float vector }
    signature	"Vector4 to Vector4"	v4_v4	{ vector4 vector4 vector4 float vector4 }

    outputoverrides	default
    {
	___begin	auto
			(0)
    }
    outputoverrides	f_v
    {
	___begin	auto
			(0,0,0)
    }
    outputoverrides	f_v4
    {
	___begin	auto
			(0,0,0,0)
    }
    outputoverrides	v_f
    {
	___begin	auto
			(0)
    }
    outputoverrides	v_v
    {
	___begin	auto
			(0,0,0)
    }
    outputoverrides	v_v4
    {
	___begin	auto
			(0,0,0,0)
    }
    outputoverrides	v4_f
    {
	___begin	auto
			(0)
    }
    outputoverrides	v4_v
    {
	___begin	auto
			(0,0,0)
    }
    outputoverrides	v4_v4
    {
	___begin	auto
			(0,0,0,0)
    }

    help {
	""
    }

    parm {
	name	"signature"
	baseparm
	export	none
    }
    parm {
	name	"method"
	label	"Conversion Method"
	type	string
	default	{ "assign" }
	disablewhen	"{ needconvert == 0 }"
	menu	{
	    [ "hou.phm().methodmenu(*hou.phm().sig2types(hou.evalParm('signature')))" ]
	    language	python
	}
	range	{ 0 1 }
	export	none
    }
    parm {
	name	"const"
	label	"Constant"
	type	float
	default	{ "0" }
	disablewhen	"{ method != padc }"
	range	{ -1 1 }
	export	none
    }
    parm {
	name	"needconvert"
	label	"needconvert"
	type	integer
	invisible
	default	{ [ "pwd().currentSignatureName() not in ('default','v_v','v4_v4')" python ] }
	range	{ 0 10 }
	export	none
    }
    parm {
	name	"TIN"
	label	"Input Type"
	type	string
	invisible
	default	{ [ "{'f':'float','v':'vector','v4':'vector4'}[pwd().currentSignatureName().replace('default','f_f').split('_')[0]]" python ] }
	range	{ 0 1 }
	export	none
	unquoted
    }
    parm {
	name	"TOUT"
	label	"Output Type"
	type	string
	invisible
	default	{ [ "{'f':'float','v':'vector','v4':'vector4'}[pwd().currentSignatureName().replace('default','f_f').split('_')[1]]" python ] }
	range	{ 0 1 }
	export	none
	unquoted
    }
}
# Automatically generated script: Wednesday February 22, 12:24 2012
\set noalias = 1
#
#  Creation script for typeconvertimpl operator
#

if ( "$arg1" == "" ) then
    echo This script is intended as a creation script
    exit
endif

# Node $arg1 (Vop/typeconvertimpl)
opexprlanguage -s hscript $arg1
opuserdata -n '___Version___' -v '' $arg1
ParmsFromVfl := 0;
PrefixDroppedParmName := 1;
UseDSParms := 1;
ForbidOutsideParms := 1;
LockContents := 1;
SaveSpareParms := 0;
CheckExternal := 1;
GzipContents := 1;
MakeDefault := 1;
SaveCachedCode := 0;
PrefixDroppedParmLabel := 1;
UnlockOnCreate := 0;
<?xml version="1.0" encoding="UTF-8"?>
<shelfDocument>
  <!-- This file contains definitions of shelves, toolbars, and tools.
 It should not be hand-edited when it is being used by the application.
 Note, that two definitions of the same element are not allowed in
 a single file. -->

  <tool name="$HDA_TABLE_$HDA_NAME" label="$HDA_LABEL" icon="$HDA_ICON">
    <toolMenuContext name="viewer">
      <contextNetType>VOP</contextNetType>
    </toolMenuContext>
    <toolMenuContext name="pop_viewer">
      <contextNetType>VOP</contextNetType>
    </toolMenuContext>
    <toolMenuContext name="network">
      <contextOpType>$HDA_TABLE/$HDA_NAME</contextOpType>
    </toolMenuContext>
    <toolSubmenu>Convert</toolSubmenu>
    <script scriptType="python"><![CDATA[import voptoolutils

voptoolutils.genericTool(kwargs, '$HDA_NAME')]]></script>
  </tool>
</shelfDocument>
def sig2types(signature):
   sig = signature.replace('default','f_f')
   map = {'f':'float', 'v':'vector', 'v4':'vector4'}
   return tuple(map[s] for s in sig.split('_'))

def methodmenu(it,ot):
   lmap = {'float':1,'vector':3,'vector4':4}
   if it not in lmap or ot not in lmap:
      return ('assign','assign')

   il   = lmap[it]
   ol   = lmap[ot]

   if il==ol: return ('assign', 'No Promotion')

   if il<ol: return ( 
         'assign', 'Repeat Last Comp'
       , 'pad0',   'Pad with 0\'s'
       , 'pad1',   'Pad with 1\'s'
       , 'padc',   'Pad with Constant'
   )

   # vector4 to vector3
   if ol == 3:
      return ('assign', 'Truncate', 'pdiv', 'Dehomogenize')

   # any vector to float
   out = ( 'assign', 'Component 0' )
   for i in range(1,il): 
      out += ( 'comp'+str(i), 'Component '+str(i) )

   out += (   'min',   'Minimum'
            , 'max',   'Maximum'
            , 'avg',   'Average'
            , 'sum',   'Sum'
            , 'lum',   'Luminance'
          )

   if il == 3: 
      out += (   'len',   'Length'
               , 'len2',  'Length Squared'
             )
   else:
      out += (   'len3',  'Length(v3)'
               , 'len32', 'Length(v3) Squared'
               , 'len',   'Length(v4)'
               , 'len2',  'Length(v4) Squared'
             )

   return outkwargs['node'].parm('needconvert').lock(True)   
 OnCreated/Cursor                           OnCreated/IsExpr        OnCreated/IsPython       OnCreated/IsScript       OnCreated/Source      PythonModule/Cursor                           PythonModule/IsExpr        PythonModule/IsPython       PythonModule/IsScript       PythonModule/Source     INDX              DialogScript      OE%'   CreateScript    SOE%'   TypePropertiesOptions  E  OE%'   Help  F    OE%'   Tools.shelf  F  gOE%'   PythonModule  ɭ  M橔   OnInputChanged  <   ?M%!   ExtraFileOptions  {  \OE%'# Dialog script for ttwswitchimpl automatically generated 02/22/12 12:25:59

{
    name	ttwswitchimpl
    script	arrayswitch
    label	"Typed Two Way Switch Impl"

    code {
	"$output = $index ? $input2 : $input1;"
    }

    input	int	int_float	"Type-Based Switcher"
    input	int	input1	"Array 1"
    input	int	input2	"Array 2"
    output	int	output	"Output 1"
    inputflags	int_float	0
    inputflags	input1	0
    inputflags	input2	0
    signature	i_i_0	default	{ int int int int }
    signature	i_i_1	i_i_1	{ float int int int }
    signature	i_f_0	i_f_0	{ int int float int }
    signature	i_f_1	i_f_1	{ float int float float }
    signature	i_v_0	i_v_0	{ int int vector int }
    signature	i_v_1	i_v_1	{ float int vector vector }
    signature	i_v4_0	i_v4_0	{ int int vector4 int }
    signature	i_v4_1	i_v4_1	{ float int vector4 vector4 }
    signature	i_m3_0	i_m3_0	{ int int matrix3 int }
    signature	i_m3_1	i_m3_1	{ float int matrix3 matrix3 }
    signature	i_m_0	i_m_0	{ int int matrix int }
    signature	i_m_1	i_m_1	{ float int matrix matrix }
    signature	i_s_0	i_s_0	{ int int string int }
    signature	i_s_1	i_s_1	{ float int string string }
    signature	i_ia_0	i_ia_0	{ int int inta int }
    signature	i_ia_1	i_ia_1	{ float int inta inta }
    signature	i_fa_0	i_fa_0	{ int int floata int }
    signature	i_fa_1	i_fa_1	{ float int floata floata }
    signature	i_va_0	i_va_0	{ int int vectora int }
    signature	i_va_1	i_va_1	{ float int vectora vectora }
    signature	i_v4a_0	i_v4a_0	{ int int vector4a int }
    signature	i_v4a_1	i_v4a_1	{ float int vector4a vector4a }
    signature	i_m3a_0	i_m3a_0	{ int int matrix3a int }
    signature	i_m3a_1	i_m3a_1	{ float int matrix3a matrix3a }
    signature	i_ma_0	i_ma_0	{ int int matrixa int }
    signature	i_ma_1	i_ma_1	{ float int matrixa matrixa }
    signature	i_sa_0	i_sa_0	{ int int stringa int }
    signature	i_sa_1	i_sa_1	{ float int stringa stringa }
    signature	f_i_0	f_i_0	{ int float int float }
    signature	f_i_1	f_i_1	{ float float int int }
    signature	f_f_0	f_f_0	{ int float float float }
    signature	f_f_1	f_f_1	{ float float float float }
    signature	f_v_0	f_v_0	{ int float vector float }
    signature	f_v_1	f_v_1	{ float float vector vector }
    signature	f_v4_0	f_v4_0	{ int float vector4 float }
    signature	f_v4_1	f_v4_1	{ float float vector4 vector4 }
    signature	f_m3_0	f_m3_0	{ int float matrix3 float }
    signature	f_m3_1	f_m3_1	{ float float matrix3 matrix3 }
    signature	f_m_0	f_m_0	{ int float matrix float }
    signature	f_m_1	f_m_1	{ float float matrix matrix }
    signature	f_s_0	f_s_0	{ int float string float }
    signature	f_s_1	f_s_1	{ float float string string }
    signature	f_ia_0	f_ia_0	{ int float inta float }
    signature	f_ia_1	f_ia_1	{ float float inta inta }
    signature	f_fa_0	f_fa_0	{ int float floata float }
    signature	f_fa_1	f_fa_1	{ float float floata floata }
    signature	f_va_0	f_va_0	{ int float vectora float }
    signature	f_va_1	f_va_1	{ float float vectora vectora }
    signature	f_v4a_0	f_v4a_0	{ int float vector4a float }
    signature	f_v4a_1	f_v4a_1	{ float float vector4a vector4a }
    signature	f_m3a_0	f_m3a_0	{ int float matrix3a float }
    signature	f_m3a_1	f_m3a_1	{ float float matrix3a matrix3a }
    signature	f_ma_0	f_ma_0	{ int float matrixa float }
    signature	f_ma_1	f_ma_1	{ float float matrixa matrixa }
    signature	f_sa_0	f_sa_0	{ int float stringa float }
    signature	f_sa_1	f_sa_1	{ float float stringa stringa }
    signature	v_i_0	v_i_0	{ int vector int vector }
    signature	v_i_1	v_i_1	{ float vector int int }
    signature	v_f_0	v_f_0	{ int vector float vector }
    signature	v_f_1	v_f_1	{ float vector float float }
    signature	v_v_0	v_v_0	{ int vector vector vector }
    signature	v_v_1	v_v_1	{ float vector vector vector }
    signature	v_v4_0	v_v4_0	{ int vector vector4 vector }
    signature	v_v4_1	v_v4_1	{ float vector vector4 vector4 }
    signature	v_m3_0	v_m3_0	{ int vector matrix3 vector }
    signature	v_m3_1	v_m3_1	{ float vector matrix3 matrix3 }
    signature	v_m_0	v_m_0	{ int vector matrix vector }
    signature	v_m_1	v_m_1	{ float vector matrix matrix }
    signature	v_s_0	v_s_0	{ int vector string vector }
    signature	v_s_1	v_s_1	{ float vector string string }
    signature	v_ia_0	v_ia_0	{ int vector inta vector }
    signature	v_ia_1	v_ia_1	{ float vector inta inta }
    signature	v_fa_0	v_fa_0	{ int vector floata vector }
    signature	v_fa_1	v_fa_1	{ float vector floata floata }
    signature	v_va_0	v_va_0	{ int vector vectora vector }
    signature	v_va_1	v_va_1	{ float vector vectora vectora }
    signature	v_v4a_0	v_v4a_0	{ int vector vector4a vector }
    signature	v_v4a_1	v_v4a_1	{ float vector vector4a vector4a }
    signature	v_m3a_0	v_m3a_0	{ int vector matrix3a vector }
    signature	v_m3a_1	v_m3a_1	{ float vector matrix3a matrix3a }
    signature	v_ma_0	v_ma_0	{ int vector matrixa vector }
    signature	v_ma_1	v_ma_1	{ float vector matrixa matrixa }
    signature	v_sa_0	v_sa_0	{ int vector stringa vector }
    signature	v_sa_1	v_sa_1	{ float vector stringa stringa }
    signature	v4_i_0	v4_i_0	{ int vector4 int vector4 }
    signature	v4_i_1	v4_i_1	{ float vector4 int int }
    signature	v4_f_0	v4_f_0	{ int vector4 float vector4 }
    signature	v4_f_1	v4_f_1	{ float vector4 float float }
    signature	v4_v_0	v4_v_0	{ int vector4 vector vector4 }
    signature	v4_v_1	v4_v_1	{ float vector4 vector vector }
    signature	v4_v4_0	v4_v4_0	{ int vector4 vector4 vector4 }
    signature	v4_v4_1	v4_v4_1	{ float vector4 vector4 vector4 }
    signature	v4_m3_0	v4_m3_0	{ int vector4 matrix3 vector4 }
    signature	v4_m3_1	v4_m3_1	{ float vector4 matrix3 matrix3 }
    signature	v4_m_0	v4_m_0	{ int vector4 matrix vector4 }
    signature	v4_m_1	v4_m_1	{ float vector4 matrix matrix }
    signature	v4_s_0	v4_s_0	{ int vector4 string vector4 }
    signature	v4_s_1	v4_s_1	{ float vector4 string string }
    signature	v4_ia_0	v4_ia_0	{ int vector4 inta vector4 }
    signature	v4_ia_1	v4_ia_1	{ float vector4 inta inta }
    signature	v4_fa_0	v4_fa_0	{ int vector4 floata vector4 }
    signature	v4_fa_1	v4_fa_1	{ float vector4 floata floata }
    signature	v4_va_0	v4_va_0	{ int vector4 vectora vector4 }
    signature	v4_va_1	v4_va_1	{ float vector4 vectora vectora }
    signature	v4_v4a_0	v4_v4a_0	{ int vector4 vector4a vector4 }
    signature	v4_v4a_1	v4_v4a_1	{ float vector4 vector4a vector4a }
    signature	v4_m3a_0	v4_m3a_0	{ int vector4 matrix3a vector4 }
    signature	v4_m3a_1	v4_m3a_1	{ float vector4 matrix3a matrix3a }
    signature	v4_ma_0	v4_ma_0	{ int vector4 matrixa vector4 }
    signature	v4_ma_1	v4_ma_1	{ float vector4 matrixa matrixa }
    signature	v4_sa_0	v4_sa_0	{ int vector4 stringa vector4 }
    signature	v4_sa_1	v4_sa_1	{ float vector4 stringa stringa }
    signature	m3_i_0	m3_i_0	{ int matrix3 int matrix3 }
    signature	m3_i_1	m3_i_1	{ float matrix3 int int }
    signature	m3_f_0	m3_f_0	{ int matrix3 float matrix3 }
    signature	m3_f_1	m3_f_1	{ float matrix3 float float }
    signature	m3_v_0	m3_v_0	{ int matrix3 vector matrix3 }
    signature	m3_v_1	m3_v_1	{ float matrix3 vector vector }
    signature	m3_v4_0	m3_v4_0	{ int matrix3 vector4 matrix3 }
    signature	m3_v4_1	m3_v4_1	{ float matrix3 vector4 vector4 }
    signature	m3_m3_0	m3_m3_0	{ int matrix3 matrix3 matrix3 }
    signature	m3_m3_1	m3_m3_1	{ float matrix3 matrix3 matrix3 }
    signature	m3_m_0	m3_m_0	{ int matrix3 matrix matrix3 }
    signature	m3_m_1	m3_m_1	{ float matrix3 matrix matrix }
    signature	m3_s_0	m3_s_0	{ int matrix3 string matrix3 }
    signature	m3_s_1	m3_s_1	{ float matrix3 string string }
    signature	m3_ia_0	m3_ia_0	{ int matrix3 inta matrix3 }
    signature	m3_ia_1	m3_ia_1	{ float matrix3 inta inta }
    signature	m3_fa_0	m3_fa_0	{ int matrix3 floata matrix3 }
    signature	m3_fa_1	m3_fa_1	{ float matrix3 floata floata }
    signature	m3_va_0	m3_va_0	{ int matrix3 vectora matrix3 }
    signature	m3_va_1	m3_va_1	{ float matrix3 vectora vectora }
    signature	m3_v4a_0	m3_v4a_0	{ int matrix3 vector4a matrix3 }
    signature	m3_v4a_1	m3_v4a_1	{ float matrix3 vector4a vector4a }
    signature	m3_m3a_0	m3_m3a_0	{ int matrix3 matrix3a matrix3 }
    signature	m3_m3a_1	m3_m3a_1	{ float matrix3 matrix3a matrix3a }
    signature	m3_ma_0	m3_ma_0	{ int matrix3 matrixa matrix3 }
    signature	m3_ma_1	m3_ma_1	{ float matrix3 matrixa matrixa }
    signature	m3_sa_0	m3_sa_0	{ int matrix3 stringa matrix3 }
    signature	m3_sa_1	m3_sa_1	{ float matrix3 stringa stringa }
    signature	m_i_0	m_i_0	{ int matrix int matrix }
    signature	m_i_1	m_i_1	{ float matrix int int }
    signature	m_f_0	m_f_0	{ int matrix float matrix }
    signature	m_f_1	m_f_1	{ float matrix float float }
    signature	m_v_0	m_v_0	{ int matrix vector matrix }
    signature	m_v_1	m_v_1	{ float matrix vector vector }
    signature	m_v4_0	m_v4_0	{ int matrix vector4 matrix }
    signature	m_v4_1	m_v4_1	{ float matrix vector4 vector4 }
    signature	m_m3_0	m_m3_0	{ int matrix matrix3 matrix }
    signature	m_m3_1	m_m3_1	{ float matrix matrix3 matrix3 }
    signature	m_m_0	m_m_0	{ int matrix matrix matrix }
    signature	m_m_1	m_m_1	{ float matrix matrix matrix }
    signature	m_s_0	m_s_0	{ int matrix string matrix }
    signature	m_s_1	m_s_1	{ float matrix string string }
    signature	m_ia_0	m_ia_0	{ int matrix inta matrix }
    signature	m_ia_1	m_ia_1	{ float matrix inta inta }
    signature	m_fa_0	m_fa_0	{ int matrix floata matrix }
    signature	m_fa_1	m_fa_1	{ float matrix floata floata }
    signature	m_va_0	m_va_0	{ int matrix vectora matrix }
    signature	m_va_1	m_va_1	{ float matrix vectora vectora }
    signature	m_v4a_0	m_v4a_0	{ int matrix vector4a matrix }
    signature	m_v4a_1	m_v4a_1	{ float matrix vector4a vector4a }
    signature	m_m3a_0	m_m3a_0	{ int matrix matrix3a matrix }
    signature	m_m3a_1	m_m3a_1	{ float matrix matrix3a matrix3a }
    signature	m_ma_0	m_ma_0	{ int matrix matrixa matrix }
    signature	m_ma_1	m_ma_1	{ float matrix matrixa matrixa }
    signature	m_sa_0	m_sa_0	{ int matrix stringa matrix }
    signature	m_sa_1	m_sa_1	{ float matrix stringa stringa }
    signature	s_i_0	s_i_0	{ int string int string }
    signature	s_i_1	s_i_1	{ float string int int }
    signature	s_f_0	s_f_0	{ int string float string }
    signature	s_f_1	s_f_1	{ float string float float }
    signature	s_v_0	s_v_0	{ int string vector string }
    signature	s_v_1	s_v_1	{ float string vector vector }
    signature	s_v4_0	s_v4_0	{ int string vector4 string }
    signature	s_v4_1	s_v4_1	{ float string vector4 vector4 }
    signature	s_m3_0	s_m3_0	{ int string matrix3 string }
    signature	s_m3_1	s_m3_1	{ float string matrix3 matrix3 }
    signature	s_m_0	s_m_0	{ int string matrix string }
    signature	s_m_1	s_m_1	{ float string matrix matrix }
    signature	s_s_0	s_s_0	{ int string string string }
    signature	s_s_1	s_s_1	{ float string string string }
    signature	s_ia_0	s_ia_0	{ int string inta string }
    signature	s_ia_1	s_ia_1	{ float string inta inta }
    signature	s_fa_0	s_fa_0	{ int string floata string }
    signature	s_fa_1	s_fa_1	{ float string floata floata }
    signature	s_va_0	s_va_0	{ int string vectora string }
    signature	s_va_1	s_va_1	{ float string vectora vectora }
    signature	s_v4a_0	s_v4a_0	{ int string vector4a string }
    signature	s_v4a_1	s_v4a_1	{ float string vector4a vector4a }
    signature	s_m3a_0	s_m3a_0	{ int string matrix3a string }
    signature	s_m3a_1	s_m3a_1	{ float string matrix3a matrix3a }
    signature	s_ma_0	s_ma_0	{ int string matrixa string }
    signature	s_ma_1	s_ma_1	{ float string matrixa matrixa }
    signature	s_sa_0	s_sa_0	{ int string stringa string }
    signature	s_sa_1	s_sa_1	{ float string stringa stringa }
    signature	ia_i_0	ia_i_0	{ int inta int inta }
    signature	ia_i_1	ia_i_1	{ float inta int int }
    signature	ia_f_0	ia_f_0	{ int inta float inta }
    signature	ia_f_1	ia_f_1	{ float inta float float }
    signature	ia_v_0	ia_v_0	{ int inta vector inta }
    signature	ia_v_1	ia_v_1	{ float inta vector vector }
    signature	ia_v4_0	ia_v4_0	{ int inta vector4 inta }
    signature	ia_v4_1	ia_v4_1	{ float inta vector4 vector4 }
    signature	ia_m3_0	ia_m3_0	{ int inta matrix3 inta }
    signature	ia_m3_1	ia_m3_1	{ float inta matrix3 matrix3 }
    signature	ia_m_0	ia_m_0	{ int inta matrix inta }
    signature	ia_m_1	ia_m_1	{ float inta matrix matrix }
    signature	ia_s_0	ia_s_0	{ int inta string inta }
    signature	ia_s_1	ia_s_1	{ float inta string string }
    signature	ia_ia_0	ia_ia_0	{ int inta inta inta }
    signature	ia_ia_1	ia_ia_1	{ float inta inta inta }
    signature	ia_fa_0	ia_fa_0	{ int inta floata inta }
    signature	ia_fa_1	ia_fa_1	{ float inta floata floata }
    signature	ia_va_0	ia_va_0	{ int inta vectora inta }
    signature	ia_va_1	ia_va_1	{ float inta vectora vectora }
    signature	ia_v4a_0	ia_v4a_0	{ int inta vector4a inta }
    signature	ia_v4a_1	ia_v4a_1	{ float inta vector4a vector4a }
    signature	ia_m3a_0	ia_m3a_0	{ int inta matrix3a inta }
    signature	ia_m3a_1	ia_m3a_1	{ float inta matrix3a matrix3a }
    signature	ia_ma_0	ia_ma_0	{ int inta matrixa inta }
    signature	ia_ma_1	ia_ma_1	{ float inta matrixa matrixa }
    signature	ia_sa_0	ia_sa_0	{ int inta stringa inta }
    signature	ia_sa_1	ia_sa_1	{ float inta stringa stringa }
    signature	fa_i_0	fa_i_0	{ int floata int floata }
    signature	fa_i_1	fa_i_1	{ float floata int int }
    signature	fa_f_0	fa_f_0	{ int floata float floata }
    signature	fa_f_1	fa_f_1	{ float floata float float }
    signature	fa_v_0	fa_v_0	{ int floata vector floata }
    signature	fa_v_1	fa_v_1	{ float floata vector vector }
    signature	fa_v4_0	fa_v4_0	{ int floata vector4 floata }
    signature	fa_v4_1	fa_v4_1	{ float floata vector4 vector4 }
    signature	fa_m3_0	fa_m3_0	{ int floata matrix3 floata }
    signature	fa_m3_1	fa_m3_1	{ float floata matrix3 matrix3 }
    signature	fa_m_0	fa_m_0	{ int floata matrix floata }
    signature	fa_m_1	fa_m_1	{ float floata matrix matrix }
    signature	fa_s_0	fa_s_0	{ int floata string floata }
    signature	fa_s_1	fa_s_1	{ float floata string string }
    signature	fa_ia_0	fa_ia_0	{ int floata inta floata }
    signature	fa_ia_1	fa_ia_1	{ float floata inta inta }
    signature	fa_fa_0	fa_fa_0	{ int floata floata floata }
    signature	fa_fa_1	fa_fa_1	{ float floata floata floata }
    signature	fa_va_0	fa_va_0	{ int floata vectora floata }
    signature	fa_va_1	fa_va_1	{ float floata vectora vectora }
    signature	fa_v4a_0	fa_v4a_0	{ int floata vector4a floata }
    signature	fa_v4a_1	fa_v4a_1	{ float floata vector4a vector4a }
    signature	fa_m3a_0	fa_m3a_0	{ int floata matrix3a floata }
    signature	fa_m3a_1	fa_m3a_1	{ float floata matrix3a matrix3a }
    signature	fa_ma_0	fa_ma_0	{ int floata matrixa floata }
    signature	fa_ma_1	fa_ma_1	{ float floata matrixa matrixa }
    signature	fa_sa_0	fa_sa_0	{ int floata stringa floata }
    signature	fa_sa_1	fa_sa_1	{ float floata stringa stringa }
    signature	va_i_0	va_i_0	{ int vectora int vectora }
    signature	va_i_1	va_i_1	{ float vectora int int }
    signature	va_f_0	va_f_0	{ int vectora float vectora }
    signature	va_f_1	va_f_1	{ float vectora float float }
    signature	va_v_0	va_v_0	{ int vectora vector vectora }
    signature	va_v_1	va_v_1	{ float vectora vector vector }
    signature	va_v4_0	va_v4_0	{ int vectora vector4 vectora }
    signature	va_v4_1	va_v4_1	{ float vectora vector4 vector4 }
    signature	va_m3_0	va_m3_0	{ int vectora matrix3 vectora }
    signature	va_m3_1	va_m3_1	{ float vectora matrix3 matrix3 }
    signature	va_m_0	va_m_0	{ int vectora matrix vectora }
    signature	va_m_1	va_m_1	{ float vectora matrix matrix }
    signature	va_s_0	va_s_0	{ int vectora string vectora }
    signature	va_s_1	va_s_1	{ float vectora string string }
    signature	va_ia_0	va_ia_0	{ int vectora inta vectora }
    signature	va_ia_1	va_ia_1	{ float vectora inta inta }
    signature	va_fa_0	va_fa_0	{ int vectora floata vectora }
    signature	va_fa_1	va_fa_1	{ float vectora floata floata }
    signature	va_va_0	va_va_0	{ int vectora vectora vectora }
    signature	va_va_1	va_va_1	{ float vectora vectora vectora }
    signature	va_v4a_0	va_v4a_0	{ int vectora vector4a vectora }
    signature	va_v4a_1	va_v4a_1	{ float vectora vector4a vector4a }
    signature	va_m3a_0	va_m3a_0	{ int vectora matrix3a vectora }
    signature	va_m3a_1	va_m3a_1	{ float vectora matrix3a matrix3a }
    signature	va_ma_0	va_ma_0	{ int vectora matrixa vectora }
    signature	va_ma_1	va_ma_1	{ float vectora matrixa matrixa }
    signature	va_sa_0	va_sa_0	{ int vectora stringa vectora }
    signature	va_sa_1	va_sa_1	{ float vectora stringa stringa }
    signature	v4a_i_0	v4a_i_0	{ int vector4a int vector4a }
    signature	v4a_i_1	v4a_i_1	{ float vector4a int int }
    signature	v4a_f_0	v4a_f_0	{ int vector4a float vector4a }
    signature	v4a_f_1	v4a_f_1	{ float vector4a float float }
    signature	v4a_v_0	v4a_v_0	{ int vector4a vector vector4a }
    signature	v4a_v_1	v4a_v_1	{ float vector4a vector vector }
    signature	v4a_v4_0	v4a_v4_0	{ int vector4a vector4 vector4a }
    signature	v4a_v4_1	v4a_v4_1	{ float vector4a vector4 vector4 }
    signature	v4a_m3_0	v4a_m3_0	{ int vector4a matrix3 vector4a }
    signature	v4a_m3_1	v4a_m3_1	{ float vector4a matrix3 matrix3 }
    signature	v4a_m_0	v4a_m_0	{ int vector4a matrix vector4a }
    signature	v4a_m_1	v4a_m_1	{ float vector4a matrix matrix }
    signature	v4a_s_0	v4a_s_0	{ int vector4a string vector4a }
    signature	v4a_s_1	v4a_s_1	{ float vector4a string string }
    signature	v4a_ia_0	v4a_ia_0	{ int vector4a inta vector4a }
    signature	v4a_ia_1	v4a_ia_1	{ float vector4a inta inta }
    signature	v4a_fa_0	v4a_fa_0	{ int vector4a floata vector4a }
    signature	v4a_fa_1	v4a_fa_1	{ float vector4a floata floata }
    signature	v4a_va_0	v4a_va_0	{ int vector4a vectora vector4a }
    signature	v4a_va_1	v4a_va_1	{ float vector4a vectora vectora }
    signature	v4a_v4a_0	v4a_v4a_0	{ int vector4a vector4a vector4a }
    signature	v4a_v4a_1	v4a_v4a_1	{ float vector4a vector4a vector4a }
    signature	v4a_m3a_0	v4a_m3a_0	{ int vector4a matrix3a vector4a }
    signature	v4a_m3a_1	v4a_m3a_1	{ float vector4a matrix3a matrix3a }
    signature	v4a_ma_0	v4a_ma_0	{ int vector4a matrixa vector4a }
    signature	v4a_ma_1	v4a_ma_1	{ float vector4a matrixa matrixa }
    signature	v4a_sa_0	v4a_sa_0	{ int vector4a stringa vector4a }
    signature	v4a_sa_1	v4a_sa_1	{ float vector4a stringa stringa }
    signature	m3a_i_0	m3a_i_0	{ int matrix3a int matrix3a }
    signature	m3a_i_1	m3a_i_1	{ float matrix3a int int }
    signature	m3a_f_0	m3a_f_0	{ int matrix3a float matrix3a }
    signature	m3a_f_1	m3a_f_1	{ float matrix3a float float }
    signature	m3a_v_0	m3a_v_0	{ int matrix3a vector matrix3a }
    signature	m3a_v_1	m3a_v_1	{ float matrix3a vector vector }
    signature	m3a_v4_0	m3a_v4_0	{ int matrix3a vector4 matrix3a }
    signature	m3a_v4_1	m3a_v4_1	{ float matrix3a vector4 vector4 }
    signature	m3a_m3_0	m3a_m3_0	{ int matrix3a matrix3 matrix3a }
    signature	m3a_m3_1	m3a_m3_1	{ float matrix3a matrix3 matrix3 }
    signature	m3a_m_0	m3a_m_0	{ int matrix3a matrix matrix3a }
    signature	m3a_m_1	m3a_m_1	{ float matrix3a matrix matrix }
    signature	m3a_s_0	m3a_s_0	{ int matrix3a string matrix3a }
    signature	m3a_s_1	m3a_s_1	{ float matrix3a string string }
    signature	m3a_ia_0	m3a_ia_0	{ int matrix3a inta matrix3a }
    signature	m3a_ia_1	m3a_ia_1	{ float matrix3a inta inta }
    signature	m3a_fa_0	m3a_fa_0	{ int matrix3a floata matrix3a }
    signature	m3a_fa_1	m3a_fa_1	{ float matrix3a floata floata }
    signature	m3a_va_0	m3a_va_0	{ int matrix3a vectora matrix3a }
    signature	m3a_va_1	m3a_va_1	{ float matrix3a vectora vectora }
    signature	m3a_v4a_0	m3a_v4a_0	{ int matrix3a vector4a matrix3a }
    signature	m3a_v4a_1	m3a_v4a_1	{ float matrix3a vector4a vector4a }
    signature	m3a_m3a_0	m3a_m3a_0	{ int matrix3a matrix3a matrix3a }
    signature	m3a_m3a_1	m3a_m3a_1	{ float matrix3a matrix3a matrix3a }
    signature	m3a_ma_0	m3a_ma_0	{ int matrix3a matrixa matrix3a }
    signature	m3a_ma_1	m3a_ma_1	{ float matrix3a matrixa matrixa }
    signature	m3a_sa_0	m3a_sa_0	{ int matrix3a stringa matrix3a }
    signature	m3a_sa_1	m3a_sa_1	{ float matrix3a stringa stringa }
    signature	ma_i_0	ma_i_0	{ int matrixa int matrixa }
    signature	ma_i_1	ma_i_1	{ float matrixa int int }
    signature	ma_f_0	ma_f_0	{ int matrixa float matrixa }
    signature	ma_f_1	ma_f_1	{ float matrixa float float }
    signature	ma_v_0	ma_v_0	{ int matrixa vector matrixa }
    signature	ma_v_1	ma_v_1	{ float matrixa vector vector }
    signature	ma_v4_0	ma_v4_0	{ int matrixa vector4 matrixa }
    signature	ma_v4_1	ma_v4_1	{ float matrixa vector4 vector4 }
    signature	ma_m3_0	ma_m3_0	{ int matrixa matrix3 matrixa }
    signature	ma_m3_1	ma_m3_1	{ float matrixa matrix3 matrix3 }
    signature	ma_m_0	ma_m_0	{ int matrixa matrix matrixa }
    signature	ma_m_1	ma_m_1	{ float matrixa matrix matrix }
    signature	ma_s_0	ma_s_0	{ int matrixa string matrixa }
    signature	ma_s_1	ma_s_1	{ float matrixa string string }
    signature	ma_ia_0	ma_ia_0	{ int matrixa inta matrixa }
    signature	ma_ia_1	ma_ia_1	{ float matrixa inta inta }
    signature	ma_fa_0	ma_fa_0	{ int matrixa floata matrixa }
    signature	ma_fa_1	ma_fa_1	{ float matrixa floata floata }
    signature	ma_va_0	ma_va_0	{ int matrixa vectora matrixa }
    signature	ma_va_1	ma_va_1	{ float matrixa vectora vectora }
    signature	ma_v4a_0	ma_v4a_0	{ int matrixa vector4a matrixa }
    signature	ma_v4a_1	ma_v4a_1	{ float matrixa vector4a vector4a }
    signature	ma_m3a_0	ma_m3a_0	{ int matrixa matrix3a matrixa }
    signature	ma_m3a_1	ma_m3a_1	{ float matrixa matrix3a matrix3a }
    signature	ma_ma_0	ma_ma_0	{ int matrixa matrixa matrixa }
    signature	ma_ma_1	ma_ma_1	{ float matrixa matrixa matrixa }
    signature	ma_sa_0	ma_sa_0	{ int matrixa stringa matrixa }
    signature	ma_sa_1	ma_sa_1	{ float matrixa stringa stringa }
    signature	sa_i_0	sa_i_0	{ int stringa int stringa }
    signature	sa_i_1	sa_i_1	{ float stringa int int }
    signature	sa_f_0	sa_f_0	{ int stringa float stringa }
    signature	sa_f_1	sa_f_1	{ float stringa float float }
    signature	sa_v_0	sa_v_0	{ int stringa vector stringa }
    signature	sa_v_1	sa_v_1	{ float stringa vector vector }
    signature	sa_v4_0	sa_v4_0	{ int stringa vector4 stringa }
    signature	sa_v4_1	sa_v4_1	{ float stringa vector4 vector4 }
    signature	sa_m3_0	sa_m3_0	{ int stringa matrix3 stringa }
    signature	sa_m3_1	sa_m3_1	{ float stringa matrix3 matrix3 }
    signature	sa_m_0	sa_m_0	{ int stringa matrix stringa }
    signature	sa_m_1	sa_m_1	{ float stringa matrix matrix }
    signature	sa_s_0	sa_s_0	{ int stringa string stringa }
    signature	sa_s_1	sa_s_1	{ float stringa string string }
    signature	sa_ia_0	sa_ia_0	{ int stringa inta stringa }
    signature	sa_ia_1	sa_ia_1	{ float stringa inta inta }
    signature	sa_fa_0	sa_fa_0	{ int stringa floata stringa }
    signature	sa_fa_1	sa_fa_1	{ float stringa floata floata }
    signature	sa_va_0	sa_va_0	{ int stringa vectora stringa }
    signature	sa_va_1	sa_va_1	{ float stringa vectora vectora }
    signature	sa_v4a_0	sa_v4a_0	{ int stringa vector4a stringa }
    signature	sa_v4a_1	sa_v4a_1	{ float stringa vector4a vector4a }
    signature	sa_m3a_0	sa_m3a_0	{ int stringa matrix3a stringa }
    signature	sa_m3a_1	sa_m3a_1	{ float stringa matrix3a matrix3a }
    signature	sa_ma_0	sa_ma_0	{ int stringa matrixa stringa }
    signature	sa_ma_1	sa_ma_1	{ float stringa matrixa matrixa }
    signature	sa_sa_0	sa_sa_0	{ int stringa stringa stringa }
    signature	sa_sa_1	sa_sa_1	{ float stringa stringa stringa }

    outputoverrides	default
    {
	___begin	auto
			(0)
    }
    outputoverrides	i_i_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	i_f_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	i_f_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	i_v_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	i_v_1
    {
	___begin	auto
			(0,0,0)
    }
    outputoverrides	i_v4_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	i_v4_1
    {
	___begin	auto
			(0,0,0,0)
    }
    outputoverrides	i_m3_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	i_m3_1
    {
	___begin	auto
			(1,0,0,0,1,0,0,0,1)
    }
    outputoverrides	i_m_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	i_m_1
    {
	___begin	auto
			(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)
    }
    outputoverrides	i_s_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	i_s_1
    {
	___begin	auto
			("")
    }
    outputoverrides	i_ia_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	i_ia_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	i_fa_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	i_fa_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	i_va_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	i_va_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	i_v4a_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	i_v4a_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	i_m3a_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	i_m3a_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	i_ma_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	i_ma_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	i_sa_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	i_sa_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	f_i_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	f_i_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	f_f_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	f_f_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	f_v_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	f_v_1
    {
	___begin	auto
			(0,0,0)
    }
    outputoverrides	f_v4_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	f_v4_1
    {
	___begin	auto
			(0,0,0,0)
    }
    outputoverrides	f_m3_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	f_m3_1
    {
	___begin	auto
			(1,0,0,0,1,0,0,0,1)
    }
    outputoverrides	f_m_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	f_m_1
    {
	___begin	auto
			(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)
    }
    outputoverrides	f_s_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	f_s_1
    {
	___begin	auto
			("")
    }
    outputoverrides	f_ia_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	f_ia_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	f_fa_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	f_fa_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	f_va_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	f_va_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	f_v4a_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	f_v4a_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	f_m3a_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	f_m3a_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	f_ma_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	f_ma_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	f_sa_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	f_sa_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	v_i_0
    {
	___begin	auto
			(0,0,0)
    }
    outputoverrides	v_i_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	v_f_0
    {
	___begin	auto
			(0,0,0)
    }
    outputoverrides	v_f_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	v_v_0
    {
	___begin	auto
			(0,0,0)
    }
    outputoverrides	v_v_1
    {
	___begin	auto
			(0,0,0)
    }
    outputoverrides	v_v4_0
    {
	___begin	auto
			(0,0,0)
    }
    outputoverrides	v_v4_1
    {
	___begin	auto
			(0,0,0,0)
    }
    outputoverrides	v_m3_0
    {
	___begin	auto
			(0,0,0)
    }
    outputoverrides	v_m3_1
    {
	___begin	auto
			(1,0,0,0,1,0,0,0,1)
    }
    outputoverrides	v_m_0
    {
	___begin	auto
			(0,0,0)
    }
    outputoverrides	v_m_1
    {
	___begin	auto
			(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)
    }
    outputoverrides	v_s_0
    {
	___begin	auto
			(0,0,0)
    }
    outputoverrides	v_s_1
    {
	___begin	auto
			("")
    }
    outputoverrides	v_ia_0
    {
	___begin	auto
			(0,0,0)
    }
    outputoverrides	v_ia_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	v_fa_0
    {
	___begin	auto
			(0,0,0)
    }
    outputoverrides	v_fa_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	v_va_0
    {
	___begin	auto
			(0,0,0)
    }
    outputoverrides	v_va_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	v_v4a_0
    {
	___begin	auto
			(0,0,0)
    }
    outputoverrides	v_v4a_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	v_m3a_0
    {
	___begin	auto
			(0,0,0)
    }
    outputoverrides	v_m3a_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	v_ma_0
    {
	___begin	auto
			(0,0,0)
    }
    outputoverrides	v_ma_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	v_sa_0
    {
	___begin	auto
			(0,0,0)
    }
    outputoverrides	v_sa_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	v4_i_0
    {
	___begin	auto
			(0,0,0,0)
    }
    outputoverrides	v4_i_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	v4_f_0
    {
	___begin	auto
			(0,0,0,0)
    }
    outputoverrides	v4_f_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	v4_v_0
    {
	___begin	auto
			(0,0,0,0)
    }
    outputoverrides	v4_v_1
    {
	___begin	auto
			(0,0,0)
    }
    outputoverrides	v4_v4_0
    {
	___begin	auto
			(0,0,0,0)
    }
    outputoverrides	v4_v4_1
    {
	___begin	auto
			(0,0,0,0)
    }
    outputoverrides	v4_m3_0
    {
	___begin	auto
			(0,0,0,0)
    }
    outputoverrides	v4_m3_1
    {
	___begin	auto
			(1,0,0,0,1,0,0,0,1)
    }
    outputoverrides	v4_m_0
    {
	___begin	auto
			(0,0,0,0)
    }
    outputoverrides	v4_m_1
    {
	___begin	auto
			(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)
    }
    outputoverrides	v4_s_0
    {
	___begin	auto
			(0,0,0,0)
    }
    outputoverrides	v4_s_1
    {
	___begin	auto
			("")
    }
    outputoverrides	v4_ia_0
    {
	___begin	auto
			(0,0,0,0)
    }
    outputoverrides	v4_ia_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	v4_fa_0
    {
	___begin	auto
			(0,0,0,0)
    }
    outputoverrides	v4_fa_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	v4_va_0
    {
	___begin	auto
			(0,0,0,0)
    }
    outputoverrides	v4_va_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	v4_v4a_0
    {
	___begin	auto
			(0,0,0,0)
    }
    outputoverrides	v4_v4a_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	v4_m3a_0
    {
	___begin	auto
			(0,0,0,0)
    }
    outputoverrides	v4_m3a_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	v4_ma_0
    {
	___begin	auto
			(0,0,0,0)
    }
    outputoverrides	v4_ma_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	v4_sa_0
    {
	___begin	auto
			(0,0,0,0)
    }
    outputoverrides	v4_sa_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	m3_i_0
    {
	___begin	auto
			(1,0,0,0,1,0,0,0,1)
    }
    outputoverrides	m3_i_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	m3_f_0
    {
	___begin	auto
			(1,0,0,0,1,0,0,0,1)
    }
    outputoverrides	m3_f_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	m3_v_0
    {
	___begin	auto
			(1,0,0,0,1,0,0,0,1)
    }
    outputoverrides	m3_v_1
    {
	___begin	auto
			(0,0,0)
    }
    outputoverrides	m3_v4_0
    {
	___begin	auto
			(1,0,0,0,1,0,0,0,1)
    }
    outputoverrides	m3_v4_1
    {
	___begin	auto
			(0,0,0,0)
    }
    outputoverrides	m3_m3_0
    {
	___begin	auto
			(1,0,0,0,1,0,0,0,1)
    }
    outputoverrides	m3_m3_1
    {
	___begin	auto
			(1,0,0,0,1,0,0,0,1)
    }
    outputoverrides	m3_m_0
    {
	___begin	auto
			(1,0,0,0,1,0,0,0,1)
    }
    outputoverrides	m3_m_1
    {
	___begin	auto
			(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)
    }
    outputoverrides	m3_s_0
    {
	___begin	auto
			(1,0,0,0,1,0,0,0,1)
    }
    outputoverrides	m3_s_1
    {
	___begin	auto
			("")
    }
    outputoverrides	m3_ia_0
    {
	___begin	auto
			(1,0,0,0,1,0,0,0,1)
    }
    outputoverrides	m3_ia_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	m3_fa_0
    {
	___begin	auto
			(1,0,0,0,1,0,0,0,1)
    }
    outputoverrides	m3_fa_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	m3_va_0
    {
	___begin	auto
			(1,0,0,0,1,0,0,0,1)
    }
    outputoverrides	m3_va_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	m3_v4a_0
    {
	___begin	auto
			(1,0,0,0,1,0,0,0,1)
    }
    outputoverrides	m3_v4a_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	m3_m3a_0
    {
	___begin	auto
			(1,0,0,0,1,0,0,0,1)
    }
    outputoverrides	m3_m3a_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	m3_ma_0
    {
	___begin	auto
			(1,0,0,0,1,0,0,0,1)
    }
    outputoverrides	m3_ma_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	m3_sa_0
    {
	___begin	auto
			(1,0,0,0,1,0,0,0,1)
    }
    outputoverrides	m3_sa_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	m_i_0
    {
	___begin	auto
			(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)
    }
    outputoverrides	m_i_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	m_f_0
    {
	___begin	auto
			(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)
    }
    outputoverrides	m_f_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	m_v_0
    {
	___begin	auto
			(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)
    }
    outputoverrides	m_v_1
    {
	___begin	auto
			(0,0,0)
    }
    outputoverrides	m_v4_0
    {
	___begin	auto
			(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)
    }
    outputoverrides	m_v4_1
    {
	___begin	auto
			(0,0,0,0)
    }
    outputoverrides	m_m3_0
    {
	___begin	auto
			(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)
    }
    outputoverrides	m_m3_1
    {
	___begin	auto
			(1,0,0,0,1,0,0,0,1)
    }
    outputoverrides	m_m_0
    {
	___begin	auto
			(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)
    }
    outputoverrides	m_m_1
    {
	___begin	auto
			(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)
    }
    outputoverrides	m_s_0
    {
	___begin	auto
			(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)
    }
    outputoverrides	m_s_1
    {
	___begin	auto
			("")
    }
    outputoverrides	m_ia_0
    {
	___begin	auto
			(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)
    }
    outputoverrides	m_ia_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	m_fa_0
    {
	___begin	auto
			(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)
    }
    outputoverrides	m_fa_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	m_va_0
    {
	___begin	auto
			(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)
    }
    outputoverrides	m_va_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	m_v4a_0
    {
	___begin	auto
			(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)
    }
    outputoverrides	m_v4a_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	m_m3a_0
    {
	___begin	auto
			(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)
    }
    outputoverrides	m_m3a_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	m_ma_0
    {
	___begin	auto
			(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)
    }
    outputoverrides	m_ma_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	m_sa_0
    {
	___begin	auto
			(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)
    }
    outputoverrides	m_sa_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	s_i_0
    {
	___begin	auto
			("")
    }
    outputoverrides	s_i_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	s_f_0
    {
	___begin	auto
			("")
    }
    outputoverrides	s_f_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	s_v_0
    {
	___begin	auto
			("")
    }
    outputoverrides	s_v_1
    {
	___begin	auto
			(0,0,0)
    }
    outputoverrides	s_v4_0
    {
	___begin	auto
			("")
    }
    outputoverrides	s_v4_1
    {
	___begin	auto
			(0,0,0,0)
    }
    outputoverrides	s_m3_0
    {
	___begin	auto
			("")
    }
    outputoverrides	s_m3_1
    {
	___begin	auto
			(1,0,0,0,1,0,0,0,1)
    }
    outputoverrides	s_m_0
    {
	___begin	auto
			("")
    }
    outputoverrides	s_m_1
    {
	___begin	auto
			(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)
    }
    outputoverrides	s_s_0
    {
	___begin	auto
			("")
    }
    outputoverrides	s_s_1
    {
	___begin	auto
			("")
    }
    outputoverrides	s_ia_0
    {
	___begin	auto
			("")
    }
    outputoverrides	s_ia_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	s_fa_0
    {
	___begin	auto
			("")
    }
    outputoverrides	s_fa_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	s_va_0
    {
	___begin	auto
			("")
    }
    outputoverrides	s_va_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	s_v4a_0
    {
	___begin	auto
			("")
    }
    outputoverrides	s_v4a_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	s_m3a_0
    {
	___begin	auto
			("")
    }
    outputoverrides	s_m3a_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	s_ma_0
    {
	___begin	auto
			("")
    }
    outputoverrides	s_ma_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	s_sa_0
    {
	___begin	auto
			("")
    }
    outputoverrides	s_sa_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	ia_i_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	ia_i_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	ia_f_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	ia_f_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	ia_v_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	ia_v_1
    {
	___begin	auto
			(0,0,0)
    }
    outputoverrides	ia_v4_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	ia_v4_1
    {
	___begin	auto
			(0,0,0,0)
    }
    outputoverrides	ia_m3_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	ia_m3_1
    {
	___begin	auto
			(1,0,0,0,1,0,0,0,1)
    }
    outputoverrides	ia_m_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	ia_m_1
    {
	___begin	auto
			(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)
    }
    outputoverrides	ia_s_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	ia_s_1
    {
	___begin	auto
			("")
    }
    outputoverrides	ia_ia_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	ia_ia_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	ia_fa_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	ia_fa_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	ia_va_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	ia_va_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	ia_v4a_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	ia_v4a_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	ia_m3a_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	ia_m3a_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	ia_ma_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	ia_ma_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	ia_sa_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	ia_sa_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	fa_i_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	fa_i_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	fa_f_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	fa_f_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	fa_v_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	fa_v_1
    {
	___begin	auto
			(0,0,0)
    }
    outputoverrides	fa_v4_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	fa_v4_1
    {
	___begin	auto
			(0,0,0,0)
    }
    outputoverrides	fa_m3_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	fa_m3_1
    {
	___begin	auto
			(1,0,0,0,1,0,0,0,1)
    }
    outputoverrides	fa_m_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	fa_m_1
    {
	___begin	auto
			(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)
    }
    outputoverrides	fa_s_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	fa_s_1
    {
	___begin	auto
			("")
    }
    outputoverrides	fa_ia_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	fa_ia_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	fa_fa_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	fa_fa_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	fa_va_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	fa_va_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	fa_v4a_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	fa_v4a_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	fa_m3a_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	fa_m3a_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	fa_ma_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	fa_ma_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	fa_sa_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	fa_sa_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	va_i_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	va_i_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	va_f_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	va_f_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	va_v_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	va_v_1
    {
	___begin	auto
			(0,0,0)
    }
    outputoverrides	va_v4_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	va_v4_1
    {
	___begin	auto
			(0,0,0,0)
    }
    outputoverrides	va_m3_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	va_m3_1
    {
	___begin	auto
			(1,0,0,0,1,0,0,0,1)
    }
    outputoverrides	va_m_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	va_m_1
    {
	___begin	auto
			(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)
    }
    outputoverrides	va_s_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	va_s_1
    {
	___begin	auto
			("")
    }
    outputoverrides	va_ia_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	va_ia_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	va_fa_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	va_fa_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	va_va_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	va_va_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	va_v4a_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	va_v4a_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	va_m3a_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	va_m3a_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	va_ma_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	va_ma_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	va_sa_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	va_sa_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	v4a_i_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	v4a_i_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	v4a_f_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	v4a_f_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	v4a_v_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	v4a_v_1
    {
	___begin	auto
			(0,0,0)
    }
    outputoverrides	v4a_v4_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	v4a_v4_1
    {
	___begin	auto
			(0,0,0,0)
    }
    outputoverrides	v4a_m3_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	v4a_m3_1
    {
	___begin	auto
			(1,0,0,0,1,0,0,0,1)
    }
    outputoverrides	v4a_m_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	v4a_m_1
    {
	___begin	auto
			(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)
    }
    outputoverrides	v4a_s_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	v4a_s_1
    {
	___begin	auto
			("")
    }
    outputoverrides	v4a_ia_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	v4a_ia_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	v4a_fa_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	v4a_fa_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	v4a_va_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	v4a_va_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	v4a_v4a_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	v4a_v4a_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	v4a_m3a_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	v4a_m3a_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	v4a_ma_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	v4a_ma_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	v4a_sa_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	v4a_sa_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	m3a_i_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	m3a_i_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	m3a_f_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	m3a_f_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	m3a_v_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	m3a_v_1
    {
	___begin	auto
			(0,0,0)
    }
    outputoverrides	m3a_v4_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	m3a_v4_1
    {
	___begin	auto
			(0,0,0,0)
    }
    outputoverrides	m3a_m3_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	m3a_m3_1
    {
	___begin	auto
			(1,0,0,0,1,0,0,0,1)
    }
    outputoverrides	m3a_m_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	m3a_m_1
    {
	___begin	auto
			(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)
    }
    outputoverrides	m3a_s_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	m3a_s_1
    {
	___begin	auto
			("")
    }
    outputoverrides	m3a_ia_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	m3a_ia_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	m3a_fa_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	m3a_fa_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	m3a_va_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	m3a_va_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	m3a_v4a_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	m3a_v4a_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	m3a_m3a_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	m3a_m3a_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	m3a_ma_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	m3a_ma_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	m3a_sa_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	m3a_sa_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	ma_i_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	ma_i_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	ma_f_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	ma_f_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	ma_v_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	ma_v_1
    {
	___begin	auto
			(0,0,0)
    }
    outputoverrides	ma_v4_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	ma_v4_1
    {
	___begin	auto
			(0,0,0,0)
    }
    outputoverrides	ma_m3_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	ma_m3_1
    {
	___begin	auto
			(1,0,0,0,1,0,0,0,1)
    }
    outputoverrides	ma_m_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	ma_m_1
    {
	___begin	auto
			(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)
    }
    outputoverrides	ma_s_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	ma_s_1
    {
	___begin	auto
			("")
    }
    outputoverrides	ma_ia_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	ma_ia_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	ma_fa_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	ma_fa_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	ma_va_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	ma_va_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	ma_v4a_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	ma_v4a_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	ma_m3a_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	ma_m3a_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	ma_ma_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	ma_ma_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	ma_sa_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	ma_sa_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	sa_i_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	sa_i_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	sa_f_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	sa_f_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	sa_v_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	sa_v_1
    {
	___begin	auto
			(0,0,0)
    }
    outputoverrides	sa_v4_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	sa_v4_1
    {
	___begin	auto
			(0,0,0,0)
    }
    outputoverrides	sa_m3_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	sa_m3_1
    {
	___begin	auto
			(1,0,0,0,1,0,0,0,1)
    }
    outputoverrides	sa_m_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	sa_m_1
    {
	___begin	auto
			(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)
    }
    outputoverrides	sa_s_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	sa_s_1
    {
	___begin	auto
			("")
    }
    outputoverrides	sa_ia_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	sa_ia_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	sa_fa_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	sa_fa_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	sa_va_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	sa_va_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	sa_v4a_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	sa_v4a_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	sa_m3a_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	sa_m3a_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	sa_ma_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	sa_ma_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	sa_sa_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	sa_sa_1
    {
	___begin	auto
			(0)
    }

    help {
	""
    }

    parm {
	name	"signature"
	baseparm
	export	none
    }
    parm {
	name	"index"
	label	"index"
	type	integer
	default	{ [ "int(pwd().currentSignatureName()[-1])" python ] }
	range	{ 0 10 }
	export	none
	parmtag	{ "script_callback_language" "python" }
	parmtag	{ "script_callback" "" }
    }
    parm {
	name	"gensig"
	label	"Print Signatures"
	type	button
	invisible
	default	{ "0" }
	range	{ 0 1 }
	export	none
	parmtag	{ "script_callback_language" "python" }
	parmtag	{ "script_callback" "hou.phm().printsigs()" }
    }
}
# Automatically generated script: Wednesday February 22, 12:25 2012
\set noalias = 1
#
#  Creation script for ttwswitchimpl operator
#

if ( "$arg1" == "" ) then
    echo This script is intended as a creation script
    exit
endif

# Node $arg1 (Vop/ttwswitchimpl)
opexprlanguage -s hscript $arg1
opuserdata -n '___Version___' -v '' $arg1
ParmsFromVfl := 0;
PrefixDroppedParmName := 0;
UseDSParms := 1;
ForbidOutsideParms := 1;
LockContents := 1;
SaveSpareParms := 0;
CheckExternal := 1;
GzipContents := 1;
MakeDefault := 1;
SaveCachedCode := 0;
PrefixDroppedParmLabel := 0;
UnlockOnCreate := 0;
<?xml version="1.0" encoding="UTF-8"?>
<shelfDocument>
  <!-- This file contains definitions of shelves, toolbars, and tools.
 It should not be hand-edited when it is being used by the application.
 Note, that two definitions of the same element are not allowed in
 a single file. -->

  <tool name="$HDA_TABLE_$HDA_NAME" label="$HDA_LABEL" icon="$HDA_ICON">
    <toolMenuContext name="viewer">
      <contextNetType>VOP</contextNetType>
    </toolMenuContext>
    <toolMenuContext name="pop_viewer">
      <contextNetType>VOP</contextNetType>
    </toolMenuContext>
    <toolMenuContext name="network">
      <contextOpType>$HDA_TABLE/$HDA_NAME</contextOpType>
    </toolMenuContext>
    <toolSubmenu>Utility</toolSubmenu>
    <script scriptType="python"><![CDATA[import voptoolutils

voptoolutils.genericTool(kwargs, '$HDA_NAME')]]></script>
  </tool>
</shelfDocument>
def printsigs():
   types = ('int','float','vector','vector4','matrix3','matrix','string',
            'inta','floata','vectora','vector4a','matrix3a','matrixa','stringa')
   typeid = ('i','f','v','v4','m3','m','s','ia','fa','va','v4a','m3a','ma','sa')
   tz = zip(types,typeid)
   for t0 in tz:
      for t1 in tz:
         n0 = '%s_%s_0'%(t0[1],t1[1])
         n1 = '%s_%s_1'%(t0[1],t1[1])
         print 'signature  %-10s %-10s { %-8s %-8s %-8s %-8s }'%(
                           n0,   n0,    'int',t0[0],t1[0],t0[0] )
         print 'signature  %-10s %-10s { %-8s %-8s %-8s %-8s }'%(
                           n1,   n1,  'float',t0[0],t1[0],t1[0] )#kwargs['node'].cook(True)
#hou.ui.displayMessage(repr(kwargs))   
 OnInputChanged/Cursor                           OnInputChanged/IsExpr        OnInputChanged/IsPython       OnInputChanged/IsScript       OnInputChanged/Source      PythonModule/Cursor                           PythonModule/IsExpr        PythonModule/IsPython       PythonModule/IsScript       PythonModule/Source     INDX              DialogScript      qOE%   CreateScript  q  KOE%   TypePropertiesOptions    OE%   Help      OE%   Tools.shelf    gOE%   Contents.gz  $  COE%   EditableNodes  g   OE%   ExtraFileOptions  u   OE%# Dialog script for ttwswitch automatically generated 02/22/12 12:25:48

{
    name	ttwswitch
    script	ttwswitch
    label	"Typed Two Way Switch"

    code {
	""
    }

    input	int	input1	"Input 1"
    input	int	input2	"Input 2"
    output	int	output	output
    inputflags	input1	0
    inputflags	input2	0
    signature	i_i_0	default	{ int int int }
    signature	i_i_1	i_i_1	{ int int int }
    signature	i_f_0	i_f_0	{ int float int }
    signature	i_f_1	i_f_1	{ int float float }
    signature	i_v_0	i_v_0	{ int vector int }
    signature	i_v_1	i_v_1	{ int vector vector }
    signature	i_v4_0	i_v4_0	{ int vector4 int }
    signature	i_v4_1	i_v4_1	{ int vector4 vector4 }
    signature	i_m3_0	i_m3_0	{ int matrix3 int }
    signature	i_m3_1	i_m3_1	{ int matrix3 matrix3 }
    signature	i_m_0	i_m_0	{ int matrix int }
    signature	i_m_1	i_m_1	{ int matrix matrix }
    signature	i_s_0	i_s_0	{ int string int }
    signature	i_s_1	i_s_1	{ int string string }
    signature	i_ia_0	i_ia_0	{ int inta int }
    signature	i_ia_1	i_ia_1	{ int inta inta }
    signature	i_fa_0	i_fa_0	{ int floata int }
    signature	i_fa_1	i_fa_1	{ int floata floata }
    signature	i_va_0	i_va_0	{ int vectora int }
    signature	i_va_1	i_va_1	{ int vectora vectora }
    signature	i_v4a_0	i_v4a_0	{ int vector4a int }
    signature	i_v4a_1	i_v4a_1	{ int vector4a vector4a }
    signature	i_m3a_0	i_m3a_0	{ int matrix3a int }
    signature	i_m3a_1	i_m3a_1	{ int matrix3a matrix3a }
    signature	i_ma_0	i_ma_0	{ int matrixa int }
    signature	i_ma_1	i_ma_1	{ int matrixa matrixa }
    signature	i_sa_0	i_sa_0	{ int stringa int }
    signature	i_sa_1	i_sa_1	{ int stringa stringa }
    signature	f_i_0	f_i_0	{ float int float }
    signature	f_i_1	f_i_1	{ float int int }
    signature	f_f_0	f_f_0	{ float float float }
    signature	f_f_1	f_f_1	{ float float float }
    signature	f_v_0	f_v_0	{ float vector vector }
    signature	f_v_1	f_v_1	{ float vector vector }
    signature	f_v4_0	f_v4_0	{ float vector4 float }
    signature	f_v4_1	f_v4_1	{ float vector4 vector4 }
    signature	f_m3_0	f_m3_0	{ float matrix3 float }
    signature	f_m3_1	f_m3_1	{ float matrix3 matrix3 }
    signature	f_m_0	f_m_0	{ float matrix float }
    signature	f_m_1	f_m_1	{ float matrix matrix }
    signature	f_s_0	f_s_0	{ float string float }
    signature	f_s_1	f_s_1	{ float string string }
    signature	f_ia_0	f_ia_0	{ float inta float }
    signature	f_ia_1	f_ia_1	{ float inta inta }
    signature	f_fa_0	f_fa_0	{ float floata float }
    signature	f_fa_1	f_fa_1	{ float floata floata }
    signature	f_va_0	f_va_0	{ float vectora float }
    signature	f_va_1	f_va_1	{ float vectora vectora }
    signature	f_v4a_0	f_v4a_0	{ float vector4a float }
    signature	f_v4a_1	f_v4a_1	{ float vector4a vector4a }
    signature	f_m3a_0	f_m3a_0	{ float matrix3a float }
    signature	f_m3a_1	f_m3a_1	{ float matrix3a matrix3a }
    signature	f_ma_0	f_ma_0	{ float matrixa float }
    signature	f_ma_1	f_ma_1	{ float matrixa matrixa }
    signature	f_sa_0	f_sa_0	{ float stringa float }
    signature	f_sa_1	f_sa_1	{ float stringa stringa }
    signature	v_i_0	v_i_0	{ vector int vector }
    signature	v_i_1	v_i_1	{ vector int int }
    signature	v_f_0	v_f_0	{ vector float vector }
    signature	v_f_1	v_f_1	{ vector float float }
    signature	v_v_0	v_v_0	{ vector vector vector }
    signature	v_v_1	v_v_1	{ vector vector vector }
    signature	v_v4_0	v_v4_0	{ vector vector4 vector }
    signature	v_v4_1	v_v4_1	{ vector vector4 vector4 }
    signature	v_m3_0	v_m3_0	{ vector matrix3 vector }
    signature	v_m3_1	v_m3_1	{ vector matrix3 matrix3 }
    signature	v_m_0	v_m_0	{ vector matrix vector }
    signature	v_m_1	v_m_1	{ vector matrix matrix }
    signature	v_s_0	v_s_0	{ vector string vector }
    signature	v_s_1	v_s_1	{ vector string string }
    signature	v_ia_0	v_ia_0	{ vector inta vector }
    signature	v_ia_1	v_ia_1	{ vector inta inta }
    signature	v_fa_0	v_fa_0	{ vector floata vector }
    signature	v_fa_1	v_fa_1	{ vector floata floata }
    signature	v_va_0	v_va_0	{ vector vectora vector }
    signature	v_va_1	v_va_1	{ vector vectora vectora }
    signature	v_v4a_0	v_v4a_0	{ vector vector4a vector }
    signature	v_v4a_1	v_v4a_1	{ vector vector4a vector4a }
    signature	v_m3a_0	v_m3a_0	{ vector matrix3a vector }
    signature	v_m3a_1	v_m3a_1	{ vector matrix3a matrix3a }
    signature	v_ma_0	v_ma_0	{ vector matrixa vector }
    signature	v_ma_1	v_ma_1	{ vector matrixa matrixa }
    signature	v_sa_0	v_sa_0	{ vector stringa vector }
    signature	v_sa_1	v_sa_1	{ vector stringa stringa }
    signature	v4_i_0	v4_i_0	{ vector4 int vector4 }
    signature	v4_i_1	v4_i_1	{ vector4 int int }
    signature	v4_f_0	v4_f_0	{ vector4 float vector4 }
    signature	v4_f_1	v4_f_1	{ vector4 float float }
    signature	v4_v_0	v4_v_0	{ vector4 vector vector4 }
    signature	v4_v_1	v4_v_1	{ vector4 vector vector }
    signature	v4_v4_0	v4_v4_0	{ vector4 vector4 vector4 }
    signature	v4_v4_1	v4_v4_1	{ vector4 vector4 vector4 }
    signature	v4_m3_0	v4_m3_0	{ vector4 matrix3 vector4 }
    signature	v4_m3_1	v4_m3_1	{ vector4 matrix3 matrix3 }
    signature	v4_m_0	v4_m_0	{ vector4 matrix vector4 }
    signature	v4_m_1	v4_m_1	{ vector4 matrix matrix }
    signature	v4_s_0	v4_s_0	{ vector4 string vector4 }
    signature	v4_s_1	v4_s_1	{ vector4 string string }
    signature	v4_ia_0	v4_ia_0	{ vector4 inta vector4 }
    signature	v4_ia_1	v4_ia_1	{ vector4 inta inta }
    signature	v4_fa_0	v4_fa_0	{ vector4 floata vector4 }
    signature	v4_fa_1	v4_fa_1	{ vector4 floata floata }
    signature	v4_va_0	v4_va_0	{ vector4 vectora vector4 }
    signature	v4_va_1	v4_va_1	{ vector4 vectora vectora }
    signature	v4_v4a_0	v4_v4a_0	{ vector4 vector4a vector4 }
    signature	v4_v4a_1	v4_v4a_1	{ vector4 vector4a vector4a }
    signature	v4_m3a_0	v4_m3a_0	{ vector4 matrix3a vector4 }
    signature	v4_m3a_1	v4_m3a_1	{ vector4 matrix3a matrix3a }
    signature	v4_ma_0	v4_ma_0	{ vector4 matrixa vector4 }
    signature	v4_ma_1	v4_ma_1	{ vector4 matrixa matrixa }
    signature	v4_sa_0	v4_sa_0	{ vector4 stringa vector4 }
    signature	v4_sa_1	v4_sa_1	{ vector4 stringa stringa }
    signature	m3_i_0	m3_i_0	{ matrix3 int matrix3 }
    signature	m3_i_1	m3_i_1	{ matrix3 int int }
    signature	m3_f_0	m3_f_0	{ matrix3 float matrix3 }
    signature	m3_f_1	m3_f_1	{ matrix3 float float }
    signature	m3_v_0	m3_v_0	{ matrix3 vector matrix3 }
    signature	m3_v_1	m3_v_1	{ matrix3 vector vector }
    signature	m3_v4_0	m3_v4_0	{ matrix3 vector4 matrix3 }
    signature	m3_v4_1	m3_v4_1	{ matrix3 vector4 vector4 }
    signature	m3_m3_0	m3_m3_0	{ matrix3 matrix3 matrix3 }
    signature	m3_m3_1	m3_m3_1	{ matrix3 matrix3 matrix3 }
    signature	m3_m_0	m3_m_0	{ matrix3 matrix matrix3 }
    signature	m3_m_1	m3_m_1	{ matrix3 matrix matrix }
    signature	m3_s_0	m3_s_0	{ matrix3 string matrix3 }
    signature	m3_s_1	m3_s_1	{ matrix3 string string }
    signature	m3_ia_0	m3_ia_0	{ matrix3 inta matrix3 }
    signature	m3_ia_1	m3_ia_1	{ matrix3 inta inta }
    signature	m3_fa_0	m3_fa_0	{ matrix3 floata matrix3 }
    signature	m3_fa_1	m3_fa_1	{ matrix3 floata floata }
    signature	m3_va_0	m3_va_0	{ matrix3 vectora matrix3 }
    signature	m3_va_1	m3_va_1	{ matrix3 vectora vectora }
    signature	m3_v4a_0	m3_v4a_0	{ matrix3 vector4a matrix3 }
    signature	m3_v4a_1	m3_v4a_1	{ matrix3 vector4a vector4a }
    signature	m3_m3a_0	m3_m3a_0	{ matrix3 matrix3a matrix3 }
    signature	m3_m3a_1	m3_m3a_1	{ matrix3 matrix3a matrix3a }
    signature	m3_ma_0	m3_ma_0	{ matrix3 matrixa matrix3 }
    signature	m3_ma_1	m3_ma_1	{ matrix3 matrixa matrixa }
    signature	m3_sa_0	m3_sa_0	{ matrix3 stringa matrix3 }
    signature	m3_sa_1	m3_sa_1	{ matrix3 stringa stringa }
    signature	m_i_0	m_i_0	{ matrix int matrix }
    signature	m_i_1	m_i_1	{ matrix int int }
    signature	m_f_0	m_f_0	{ matrix float matrix }
    signature	m_f_1	m_f_1	{ matrix float float }
    signature	m_v_0	m_v_0	{ matrix vector matrix }
    signature	m_v_1	m_v_1	{ matrix vector vector }
    signature	m_v4_0	m_v4_0	{ matrix vector4 matrix }
    signature	m_v4_1	m_v4_1	{ matrix vector4 vector4 }
    signature	m_m3_0	m_m3_0	{ matrix matrix3 matrix }
    signature	m_m3_1	m_m3_1	{ matrix matrix3 matrix3 }
    signature	m_m_0	m_m_0	{ matrix matrix matrix }
    signature	m_m_1	m_m_1	{ matrix matrix matrix }
    signature	m_s_0	m_s_0	{ matrix string matrix }
    signature	m_s_1	m_s_1	{ matrix string string }
    signature	m_ia_0	m_ia_0	{ matrix inta matrix }
    signature	m_ia_1	m_ia_1	{ matrix inta inta }
    signature	m_fa_0	m_fa_0	{ matrix floata matrix }
    signature	m_fa_1	m_fa_1	{ matrix floata floata }
    signature	m_va_0	m_va_0	{ matrix vectora matrix }
    signature	m_va_1	m_va_1	{ matrix vectora vectora }
    signature	m_v4a_0	m_v4a_0	{ matrix vector4a matrix }
    signature	m_v4a_1	m_v4a_1	{ matrix vector4a vector4a }
    signature	m_m3a_0	m_m3a_0	{ matrix matrix3a matrix }
    signature	m_m3a_1	m_m3a_1	{ matrix matrix3a matrix3a }
    signature	m_ma_0	m_ma_0	{ matrix matrixa matrix }
    signature	m_ma_1	m_ma_1	{ matrix matrixa matrixa }
    signature	m_sa_0	m_sa_0	{ matrix stringa matrix }
    signature	m_sa_1	m_sa_1	{ matrix stringa stringa }
    signature	s_i_0	s_i_0	{ string int string }
    signature	s_i_1	s_i_1	{ string int int }
    signature	s_f_0	s_f_0	{ string float string }
    signature	s_f_1	s_f_1	{ string float float }
    signature	s_v_0	s_v_0	{ string vector string }
    signature	s_v_1	s_v_1	{ string vector vector }
    signature	s_v4_0	s_v4_0	{ string vector4 string }
    signature	s_v4_1	s_v4_1	{ string vector4 vector4 }
    signature	s_m3_0	s_m3_0	{ string matrix3 string }
    signature	s_m3_1	s_m3_1	{ string matrix3 matrix3 }
    signature	s_m_0	s_m_0	{ string matrix string }
    signature	s_m_1	s_m_1	{ string matrix matrix }
    signature	s_s_0	s_s_0	{ string string string }
    signature	s_s_1	s_s_1	{ string string string }
    signature	s_ia_0	s_ia_0	{ string inta string }
    signature	s_ia_1	s_ia_1	{ string inta inta }
    signature	s_fa_0	s_fa_0	{ string floata string }
    signature	s_fa_1	s_fa_1	{ string floata floata }
    signature	s_va_0	s_va_0	{ string vectora string }
    signature	s_va_1	s_va_1	{ string vectora vectora }
    signature	s_v4a_0	s_v4a_0	{ string vector4a string }
    signature	s_v4a_1	s_v4a_1	{ string vector4a vector4a }
    signature	s_m3a_0	s_m3a_0	{ string matrix3a string }
    signature	s_m3a_1	s_m3a_1	{ string matrix3a matrix3a }
    signature	s_ma_0	s_ma_0	{ string matrixa string }
    signature	s_ma_1	s_ma_1	{ string matrixa matrixa }
    signature	s_sa_0	s_sa_0	{ string stringa string }
    signature	s_sa_1	s_sa_1	{ string stringa stringa }
    signature	ia_i_0	ia_i_0	{ inta int inta }
    signature	ia_i_1	ia_i_1	{ inta int int }
    signature	ia_f_0	ia_f_0	{ inta float inta }
    signature	ia_f_1	ia_f_1	{ inta float float }
    signature	ia_v_0	ia_v_0	{ inta vector inta }
    signature	ia_v_1	ia_v_1	{ inta vector vector }
    signature	ia_v4_0	ia_v4_0	{ inta vector4 inta }
    signature	ia_v4_1	ia_v4_1	{ inta vector4 vector4 }
    signature	ia_m3_0	ia_m3_0	{ inta matrix3 inta }
    signature	ia_m3_1	ia_m3_1	{ inta matrix3 matrix3 }
    signature	ia_m_0	ia_m_0	{ inta matrix inta }
    signature	ia_m_1	ia_m_1	{ inta matrix matrix }
    signature	ia_s_0	ia_s_0	{ inta string inta }
    signature	ia_s_1	ia_s_1	{ inta string string }
    signature	ia_ia_0	ia_ia_0	{ inta inta inta }
    signature	ia_ia_1	ia_ia_1	{ inta inta inta }
    signature	ia_fa_0	ia_fa_0	{ inta floata inta }
    signature	ia_fa_1	ia_fa_1	{ inta floata floata }
    signature	ia_va_0	ia_va_0	{ inta vectora inta }
    signature	ia_va_1	ia_va_1	{ inta vectora vectora }
    signature	ia_v4a_0	ia_v4a_0	{ inta vector4a inta }
    signature	ia_v4a_1	ia_v4a_1	{ inta vector4a vector4a }
    signature	ia_m3a_0	ia_m3a_0	{ inta matrix3a inta }
    signature	ia_m3a_1	ia_m3a_1	{ inta matrix3a matrix3a }
    signature	ia_ma_0	ia_ma_0	{ inta matrixa inta }
    signature	ia_ma_1	ia_ma_1	{ inta matrixa matrixa }
    signature	ia_sa_0	ia_sa_0	{ inta stringa inta }
    signature	ia_sa_1	ia_sa_1	{ inta stringa stringa }
    signature	fa_i_0	fa_i_0	{ floata int floata }
    signature	fa_i_1	fa_i_1	{ floata int int }
    signature	fa_f_0	fa_f_0	{ floata float floata }
    signature	fa_f_1	fa_f_1	{ floata float float }
    signature	fa_v_0	fa_v_0	{ floata vector floata }
    signature	fa_v_1	fa_v_1	{ floata vector vector }
    signature	fa_v4_0	fa_v4_0	{ floata vector4 floata }
    signature	fa_v4_1	fa_v4_1	{ floata vector4 vector4 }
    signature	fa_m3_0	fa_m3_0	{ floata matrix3 floata }
    signature	fa_m3_1	fa_m3_1	{ floata matrix3 matrix3 }
    signature	fa_m_0	fa_m_0	{ floata matrix floata }
    signature	fa_m_1	fa_m_1	{ floata matrix matrix }
    signature	fa_s_0	fa_s_0	{ floata string floata }
    signature	fa_s_1	fa_s_1	{ floata string string }
    signature	fa_ia_0	fa_ia_0	{ floata inta floata }
    signature	fa_ia_1	fa_ia_1	{ floata inta inta }
    signature	fa_fa_0	fa_fa_0	{ floata floata floata }
    signature	fa_fa_1	fa_fa_1	{ floata floata floata }
    signature	fa_va_0	fa_va_0	{ floata vectora floata }
    signature	fa_va_1	fa_va_1	{ floata vectora vectora }
    signature	fa_v4a_0	fa_v4a_0	{ floata vector4a floata }
    signature	fa_v4a_1	fa_v4a_1	{ floata vector4a vector4a }
    signature	fa_m3a_0	fa_m3a_0	{ floata matrix3a floata }
    signature	fa_m3a_1	fa_m3a_1	{ floata matrix3a matrix3a }
    signature	fa_ma_0	fa_ma_0	{ floata matrixa floata }
    signature	fa_ma_1	fa_ma_1	{ floata matrixa matrixa }
    signature	fa_sa_0	fa_sa_0	{ floata stringa floata }
    signature	fa_sa_1	fa_sa_1	{ floata stringa stringa }
    signature	va_i_0	va_i_0	{ vectora int vectora }
    signature	va_i_1	va_i_1	{ vectora int int }
    signature	va_f_0	va_f_0	{ vectora float vectora }
    signature	va_f_1	va_f_1	{ vectora float float }
    signature	va_v_0	va_v_0	{ vectora vector vectora }
    signature	va_v_1	va_v_1	{ vectora vector vector }
    signature	va_v4_0	va_v4_0	{ vectora vector4 vectora }
    signature	va_v4_1	va_v4_1	{ vectora vector4 vector4 }
    signature	va_m3_0	va_m3_0	{ vectora matrix3 vectora }
    signature	va_m3_1	va_m3_1	{ vectora matrix3 matrix3 }
    signature	va_m_0	va_m_0	{ vectora matrix vectora }
    signature	va_m_1	va_m_1	{ vectora matrix matrix }
    signature	va_s_0	va_s_0	{ vectora string vectora }
    signature	va_s_1	va_s_1	{ vectora string string }
    signature	va_ia_0	va_ia_0	{ vectora inta vectora }
    signature	va_ia_1	va_ia_1	{ vectora inta inta }
    signature	va_fa_0	va_fa_0	{ vectora floata vectora }
    signature	va_fa_1	va_fa_1	{ vectora floata floata }
    signature	va_va_0	va_va_0	{ vectora vectora vectora }
    signature	va_va_1	va_va_1	{ vectora vectora vectora }
    signature	va_v4a_0	va_v4a_0	{ vectora vector4a vectora }
    signature	va_v4a_1	va_v4a_1	{ vectora vector4a vector4a }
    signature	va_m3a_0	va_m3a_0	{ vectora matrix3a vectora }
    signature	va_m3a_1	va_m3a_1	{ vectora matrix3a matrix3a }
    signature	va_ma_0	va_ma_0	{ vectora matrixa vectora }
    signature	va_ma_1	va_ma_1	{ vectora matrixa matrixa }
    signature	va_sa_0	va_sa_0	{ vectora stringa vectora }
    signature	va_sa_1	va_sa_1	{ vectora stringa stringa }
    signature	v4a_i_0	v4a_i_0	{ vector4a int vector4a }
    signature	v4a_i_1	v4a_i_1	{ vector4a int int }
    signature	v4a_f_0	v4a_f_0	{ vector4a float vector4a }
    signature	v4a_f_1	v4a_f_1	{ vector4a float float }
    signature	v4a_v_0	v4a_v_0	{ vector4a vector vector4a }
    signature	v4a_v_1	v4a_v_1	{ vector4a vector vector }
    signature	v4a_v4_0	v4a_v4_0	{ vector4a vector4 vector4a }
    signature	v4a_v4_1	v4a_v4_1	{ vector4a vector4 vector4 }
    signature	v4a_m3_0	v4a_m3_0	{ vector4a matrix3 vector4a }
    signature	v4a_m3_1	v4a_m3_1	{ vector4a matrix3 matrix3 }
    signature	v4a_m_0	v4a_m_0	{ vector4a matrix vector4a }
    signature	v4a_m_1	v4a_m_1	{ vector4a matrix matrix }
    signature	v4a_s_0	v4a_s_0	{ vector4a string vector4a }
    signature	v4a_s_1	v4a_s_1	{ vector4a string string }
    signature	v4a_ia_0	v4a_ia_0	{ vector4a inta vector4a }
    signature	v4a_ia_1	v4a_ia_1	{ vector4a inta inta }
    signature	v4a_fa_0	v4a_fa_0	{ vector4a floata vector4a }
    signature	v4a_fa_1	v4a_fa_1	{ vector4a floata floata }
    signature	v4a_va_0	v4a_va_0	{ vector4a vectora vector4a }
    signature	v4a_va_1	v4a_va_1	{ vector4a vectora vectora }
    signature	v4a_v4a_0	v4a_v4a_0	{ vector4a vector4a vector4a }
    signature	v4a_v4a_1	v4a_v4a_1	{ vector4a vector4a vector4a }
    signature	v4a_m3a_0	v4a_m3a_0	{ vector4a matrix3a vector4a }
    signature	v4a_m3a_1	v4a_m3a_1	{ vector4a matrix3a matrix3a }
    signature	v4a_ma_0	v4a_ma_0	{ vector4a matrixa vector4a }
    signature	v4a_ma_1	v4a_ma_1	{ vector4a matrixa matrixa }
    signature	v4a_sa_0	v4a_sa_0	{ vector4a stringa vector4a }
    signature	v4a_sa_1	v4a_sa_1	{ vector4a stringa stringa }
    signature	m3a_i_0	m3a_i_0	{ matrix3a int matrix3a }
    signature	m3a_i_1	m3a_i_1	{ matrix3a int int }
    signature	m3a_f_0	m3a_f_0	{ matrix3a float matrix3a }
    signature	m3a_f_1	m3a_f_1	{ matrix3a float float }
    signature	m3a_v_0	m3a_v_0	{ matrix3a vector matrix3a }
    signature	m3a_v_1	m3a_v_1	{ matrix3a vector vector }
    signature	m3a_v4_0	m3a_v4_0	{ matrix3a vector4 matrix3a }
    signature	m3a_v4_1	m3a_v4_1	{ matrix3a vector4 vector4 }
    signature	m3a_m3_0	m3a_m3_0	{ matrix3a matrix3 matrix3a }
    signature	m3a_m3_1	m3a_m3_1	{ matrix3a matrix3 matrix3 }
    signature	m3a_m_0	m3a_m_0	{ matrix3a matrix matrix3a }
    signature	m3a_m_1	m3a_m_1	{ matrix3a matrix matrix }
    signature	m3a_s_0	m3a_s_0	{ matrix3a string matrix3a }
    signature	m3a_s_1	m3a_s_1	{ matrix3a string string }
    signature	m3a_ia_0	m3a_ia_0	{ matrix3a inta matrix3a }
    signature	m3a_ia_1	m3a_ia_1	{ matrix3a inta inta }
    signature	m3a_fa_0	m3a_fa_0	{ matrix3a floata matrix3a }
    signature	m3a_fa_1	m3a_fa_1	{ matrix3a floata floata }
    signature	m3a_va_0	m3a_va_0	{ matrix3a vectora matrix3a }
    signature	m3a_va_1	m3a_va_1	{ matrix3a vectora vectora }
    signature	m3a_v4a_0	m3a_v4a_0	{ matrix3a vector4a matrix3a }
    signature	m3a_v4a_1	m3a_v4a_1	{ matrix3a vector4a vector4a }
    signature	m3a_m3a_0	m3a_m3a_0	{ matrix3a matrix3a matrix3a }
    signature	m3a_m3a_1	m3a_m3a_1	{ matrix3a matrix3a matrix3a }
    signature	m3a_ma_0	m3a_ma_0	{ matrix3a matrixa matrix3a }
    signature	m3a_ma_1	m3a_ma_1	{ matrix3a matrixa matrixa }
    signature	m3a_sa_0	m3a_sa_0	{ matrix3a stringa matrix3a }
    signature	m3a_sa_1	m3a_sa_1	{ matrix3a stringa stringa }
    signature	ma_i_0	ma_i_0	{ matrixa int matrixa }
    signature	ma_i_1	ma_i_1	{ matrixa int int }
    signature	ma_f_0	ma_f_0	{ matrixa float matrixa }
    signature	ma_f_1	ma_f_1	{ matrixa float float }
    signature	ma_v_0	ma_v_0	{ matrixa vector matrixa }
    signature	ma_v_1	ma_v_1	{ matrixa vector vector }
    signature	ma_v4_0	ma_v4_0	{ matrixa vector4 matrixa }
    signature	ma_v4_1	ma_v4_1	{ matrixa vector4 vector4 }
    signature	ma_m3_0	ma_m3_0	{ matrixa matrix3 matrixa }
    signature	ma_m3_1	ma_m3_1	{ matrixa matrix3 matrix3 }
    signature	ma_m_0	ma_m_0	{ matrixa matrix matrixa }
    signature	ma_m_1	ma_m_1	{ matrixa matrix matrix }
    signature	ma_s_0	ma_s_0	{ matrixa string matrixa }
    signature	ma_s_1	ma_s_1	{ matrixa string string }
    signature	ma_ia_0	ma_ia_0	{ matrixa inta matrixa }
    signature	ma_ia_1	ma_ia_1	{ matrixa inta inta }
    signature	ma_fa_0	ma_fa_0	{ matrixa floata matrixa }
    signature	ma_fa_1	ma_fa_1	{ matrixa floata floata }
    signature	ma_va_0	ma_va_0	{ matrixa vectora matrixa }
    signature	ma_va_1	ma_va_1	{ matrixa vectora vectora }
    signature	ma_v4a_0	ma_v4a_0	{ matrixa vector4a matrixa }
    signature	ma_v4a_1	ma_v4a_1	{ matrixa vector4a vector4a }
    signature	ma_m3a_0	ma_m3a_0	{ matrixa matrix3a matrixa }
    signature	ma_m3a_1	ma_m3a_1	{ matrixa matrix3a matrix3a }
    signature	ma_ma_0	ma_ma_0	{ matrixa matrixa matrixa }
    signature	ma_ma_1	ma_ma_1	{ matrixa matrixa matrixa }
    signature	ma_sa_0	ma_sa_0	{ matrixa stringa matrixa }
    signature	ma_sa_1	ma_sa_1	{ matrixa stringa stringa }
    signature	sa_i_0	sa_i_0	{ stringa int stringa }
    signature	sa_i_1	sa_i_1	{ stringa int int }
    signature	sa_f_0	sa_f_0	{ stringa float stringa }
    signature	sa_f_1	sa_f_1	{ stringa float float }
    signature	sa_v_0	sa_v_0	{ stringa vector stringa }
    signature	sa_v_1	sa_v_1	{ stringa vector vector }
    signature	sa_v4_0	sa_v4_0	{ stringa vector4 stringa }
    signature	sa_v4_1	sa_v4_1	{ stringa vector4 vector4 }
    signature	sa_m3_0	sa_m3_0	{ stringa matrix3 stringa }
    signature	sa_m3_1	sa_m3_1	{ stringa matrix3 matrix3 }
    signature	sa_m_0	sa_m_0	{ stringa matrix stringa }
    signature	sa_m_1	sa_m_1	{ stringa matrix matrix }
    signature	sa_s_0	sa_s_0	{ stringa string stringa }
    signature	sa_s_1	sa_s_1	{ stringa string string }
    signature	sa_ia_0	sa_ia_0	{ stringa inta stringa }
    signature	sa_ia_1	sa_ia_1	{ stringa inta inta }
    signature	sa_fa_0	sa_fa_0	{ stringa floata stringa }
    signature	sa_fa_1	sa_fa_1	{ stringa floata floata }
    signature	sa_va_0	sa_va_0	{ stringa vectora stringa }
    signature	sa_va_1	sa_va_1	{ stringa vectora vectora }
    signature	sa_v4a_0	sa_v4a_0	{ stringa vector4a stringa }
    signature	sa_v4a_1	sa_v4a_1	{ stringa vector4a vector4a }
    signature	sa_m3a_0	sa_m3a_0	{ stringa matrix3a stringa }
    signature	sa_m3a_1	sa_m3a_1	{ stringa matrix3a matrix3a }
    signature	sa_ma_0	sa_ma_0	{ stringa matrixa stringa }
    signature	sa_ma_1	sa_ma_1	{ stringa matrixa matrixa }
    signature	sa_sa_0	sa_sa_0	{ stringa stringa stringa }
    signature	sa_sa_1	sa_sa_1	{ stringa stringa stringa }

    outputoverrides	default
    {
	___begin	auto
			(0)
    }
    outputoverrides	i_i_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	i_f_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	i_f_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	i_v_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	i_v_1
    {
	___begin	auto
			(0,0,0)
    }
    outputoverrides	i_v4_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	i_v4_1
    {
	___begin	auto
			(0,0,0,0)
    }
    outputoverrides	i_m3_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	i_m3_1
    {
	___begin	auto
			(1,0,0,0,1,0,0,0,1)
    }
    outputoverrides	i_m_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	i_m_1
    {
	___begin	auto
			(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)
    }
    outputoverrides	i_s_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	i_s_1
    {
	___begin	auto
			("")
    }
    outputoverrides	i_ia_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	i_ia_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	i_fa_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	i_fa_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	i_va_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	i_va_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	i_v4a_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	i_v4a_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	i_m3a_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	i_m3a_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	i_ma_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	i_ma_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	i_sa_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	i_sa_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	f_i_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	f_i_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	f_f_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	f_f_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	f_v_0
    {
	___begin	auto
			(0,0,0)
    }
    outputoverrides	f_v_1
    {
	___begin	auto
			(0,0,0)
    }
    outputoverrides	f_v4_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	f_v4_1
    {
	___begin	auto
			(0,0,0,0)
    }
    outputoverrides	f_m3_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	f_m3_1
    {
	___begin	auto
			(1,0,0,0,1,0,0,0,1)
    }
    outputoverrides	f_m_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	f_m_1
    {
	___begin	auto
			(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)
    }
    outputoverrides	f_s_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	f_s_1
    {
	___begin	auto
			("")
    }
    outputoverrides	f_ia_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	f_ia_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	f_fa_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	f_fa_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	f_va_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	f_va_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	f_v4a_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	f_v4a_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	f_m3a_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	f_m3a_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	f_ma_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	f_ma_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	f_sa_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	f_sa_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	v_i_0
    {
	___begin	auto
			(0,0,0)
    }
    outputoverrides	v_i_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	v_f_0
    {
	___begin	auto
			(0,0,0)
    }
    outputoverrides	v_f_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	v_v_0
    {
	___begin	auto
			(0,0,0)
    }
    outputoverrides	v_v_1
    {
	___begin	auto
			(0,0,0)
    }
    outputoverrides	v_v4_0
    {
	___begin	auto
			(0,0,0)
    }
    outputoverrides	v_v4_1
    {
	___begin	auto
			(0,0,0,0)
    }
    outputoverrides	v_m3_0
    {
	___begin	auto
			(0,0,0)
    }
    outputoverrides	v_m3_1
    {
	___begin	auto
			(1,0,0,0,1,0,0,0,1)
    }
    outputoverrides	v_m_0
    {
	___begin	auto
			(0,0,0)
    }
    outputoverrides	v_m_1
    {
	___begin	auto
			(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)
    }
    outputoverrides	v_s_0
    {
	___begin	auto
			(0,0,0)
    }
    outputoverrides	v_s_1
    {
	___begin	auto
			("")
    }
    outputoverrides	v_ia_0
    {
	___begin	auto
			(0,0,0)
    }
    outputoverrides	v_ia_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	v_fa_0
    {
	___begin	auto
			(0,0,0)
    }
    outputoverrides	v_fa_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	v_va_0
    {
	___begin	auto
			(0,0,0)
    }
    outputoverrides	v_va_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	v_v4a_0
    {
	___begin	auto
			(0,0,0)
    }
    outputoverrides	v_v4a_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	v_m3a_0
    {
	___begin	auto
			(0,0,0)
    }
    outputoverrides	v_m3a_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	v_ma_0
    {
	___begin	auto
			(0,0,0)
    }
    outputoverrides	v_ma_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	v_sa_0
    {
	___begin	auto
			(0,0,0)
    }
    outputoverrides	v_sa_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	v4_i_0
    {
	___begin	auto
			(0,0,0,0)
    }
    outputoverrides	v4_i_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	v4_f_0
    {
	___begin	auto
			(0,0,0,0)
    }
    outputoverrides	v4_f_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	v4_v_0
    {
	___begin	auto
			(0,0,0,0)
    }
    outputoverrides	v4_v_1
    {
	___begin	auto
			(0,0,0)
    }
    outputoverrides	v4_v4_0
    {
	___begin	auto
			(0,0,0,0)
    }
    outputoverrides	v4_v4_1
    {
	___begin	auto
			(0,0,0,0)
    }
    outputoverrides	v4_m3_0
    {
	___begin	auto
			(0,0,0,0)
    }
    outputoverrides	v4_m3_1
    {
	___begin	auto
			(1,0,0,0,1,0,0,0,1)
    }
    outputoverrides	v4_m_0
    {
	___begin	auto
			(0,0,0,0)
    }
    outputoverrides	v4_m_1
    {
	___begin	auto
			(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)
    }
    outputoverrides	v4_s_0
    {
	___begin	auto
			(0,0,0,0)
    }
    outputoverrides	v4_s_1
    {
	___begin	auto
			("")
    }
    outputoverrides	v4_ia_0
    {
	___begin	auto
			(0,0,0,0)
    }
    outputoverrides	v4_ia_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	v4_fa_0
    {
	___begin	auto
			(0,0,0,0)
    }
    outputoverrides	v4_fa_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	v4_va_0
    {
	___begin	auto
			(0,0,0,0)
    }
    outputoverrides	v4_va_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	v4_v4a_0
    {
	___begin	auto
			(0,0,0,0)
    }
    outputoverrides	v4_v4a_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	v4_m3a_0
    {
	___begin	auto
			(0,0,0,0)
    }
    outputoverrides	v4_m3a_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	v4_ma_0
    {
	___begin	auto
			(0,0,0,0)
    }
    outputoverrides	v4_ma_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	v4_sa_0
    {
	___begin	auto
			(0,0,0,0)
    }
    outputoverrides	v4_sa_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	m3_i_0
    {
	___begin	auto
			(1,0,0,0,1,0,0,0,1)
    }
    outputoverrides	m3_i_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	m3_f_0
    {
	___begin	auto
			(1,0,0,0,1,0,0,0,1)
    }
    outputoverrides	m3_f_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	m3_v_0
    {
	___begin	auto
			(1,0,0,0,1,0,0,0,1)
    }
    outputoverrides	m3_v_1
    {
	___begin	auto
			(0,0,0)
    }
    outputoverrides	m3_v4_0
    {
	___begin	auto
			(1,0,0,0,1,0,0,0,1)
    }
    outputoverrides	m3_v4_1
    {
	___begin	auto
			(0,0,0,0)
    }
    outputoverrides	m3_m3_0
    {
	___begin	auto
			(1,0,0,0,1,0,0,0,1)
    }
    outputoverrides	m3_m3_1
    {
	___begin	auto
			(1,0,0,0,1,0,0,0,1)
    }
    outputoverrides	m3_m_0
    {
	___begin	auto
			(1,0,0,0,1,0,0,0,1)
    }
    outputoverrides	m3_m_1
    {
	___begin	auto
			(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)
    }
    outputoverrides	m3_s_0
    {
	___begin	auto
			(1,0,0,0,1,0,0,0,1)
    }
    outputoverrides	m3_s_1
    {
	___begin	auto
			("")
    }
    outputoverrides	m3_ia_0
    {
	___begin	auto
			(1,0,0,0,1,0,0,0,1)
    }
    outputoverrides	m3_ia_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	m3_fa_0
    {
	___begin	auto
			(1,0,0,0,1,0,0,0,1)
    }
    outputoverrides	m3_fa_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	m3_va_0
    {
	___begin	auto
			(1,0,0,0,1,0,0,0,1)
    }
    outputoverrides	m3_va_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	m3_v4a_0
    {
	___begin	auto
			(1,0,0,0,1,0,0,0,1)
    }
    outputoverrides	m3_v4a_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	m3_m3a_0
    {
	___begin	auto
			(1,0,0,0,1,0,0,0,1)
    }
    outputoverrides	m3_m3a_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	m3_ma_0
    {
	___begin	auto
			(1,0,0,0,1,0,0,0,1)
    }
    outputoverrides	m3_ma_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	m3_sa_0
    {
	___begin	auto
			(1,0,0,0,1,0,0,0,1)
    }
    outputoverrides	m3_sa_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	m_i_0
    {
	___begin	auto
			(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)
    }
    outputoverrides	m_i_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	m_f_0
    {
	___begin	auto
			(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)
    }
    outputoverrides	m_f_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	m_v_0
    {
	___begin	auto
			(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)
    }
    outputoverrides	m_v_1
    {
	___begin	auto
			(0,0,0)
    }
    outputoverrides	m_v4_0
    {
	___begin	auto
			(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)
    }
    outputoverrides	m_v4_1
    {
	___begin	auto
			(0,0,0,0)
    }
    outputoverrides	m_m3_0
    {
	___begin	auto
			(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)
    }
    outputoverrides	m_m3_1
    {
	___begin	auto
			(1,0,0,0,1,0,0,0,1)
    }
    outputoverrides	m_m_0
    {
	___begin	auto
			(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)
    }
    outputoverrides	m_m_1
    {
	___begin	auto
			(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)
    }
    outputoverrides	m_s_0
    {
	___begin	auto
			(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)
    }
    outputoverrides	m_s_1
    {
	___begin	auto
			("")
    }
    outputoverrides	m_ia_0
    {
	___begin	auto
			(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)
    }
    outputoverrides	m_ia_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	m_fa_0
    {
	___begin	auto
			(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)
    }
    outputoverrides	m_fa_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	m_va_0
    {
	___begin	auto
			(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)
    }
    outputoverrides	m_va_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	m_v4a_0
    {
	___begin	auto
			(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)
    }
    outputoverrides	m_v4a_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	m_m3a_0
    {
	___begin	auto
			(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)
    }
    outputoverrides	m_m3a_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	m_ma_0
    {
	___begin	auto
			(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)
    }
    outputoverrides	m_ma_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	m_sa_0
    {
	___begin	auto
			(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)
    }
    outputoverrides	m_sa_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	s_i_0
    {
	___begin	auto
			("")
    }
    outputoverrides	s_i_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	s_f_0
    {
	___begin	auto
			("")
    }
    outputoverrides	s_f_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	s_v_0
    {
	___begin	auto
			("")
    }
    outputoverrides	s_v_1
    {
	___begin	auto
			(0,0,0)
    }
    outputoverrides	s_v4_0
    {
	___begin	auto
			("")
    }
    outputoverrides	s_v4_1
    {
	___begin	auto
			(0,0,0,0)
    }
    outputoverrides	s_m3_0
    {
	___begin	auto
			("")
    }
    outputoverrides	s_m3_1
    {
	___begin	auto
			(1,0,0,0,1,0,0,0,1)
    }
    outputoverrides	s_m_0
    {
	___begin	auto
			("")
    }
    outputoverrides	s_m_1
    {
	___begin	auto
			(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)
    }
    outputoverrides	s_s_0
    {
	___begin	auto
			("")
    }
    outputoverrides	s_s_1
    {
	___begin	auto
			("")
    }
    outputoverrides	s_ia_0
    {
	___begin	auto
			("")
    }
    outputoverrides	s_ia_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	s_fa_0
    {
	___begin	auto
			("")
    }
    outputoverrides	s_fa_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	s_va_0
    {
	___begin	auto
			("")
    }
    outputoverrides	s_va_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	s_v4a_0
    {
	___begin	auto
			("")
    }
    outputoverrides	s_v4a_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	s_m3a_0
    {
	___begin	auto
			("")
    }
    outputoverrides	s_m3a_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	s_ma_0
    {
	___begin	auto
			("")
    }
    outputoverrides	s_ma_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	s_sa_0
    {
	___begin	auto
			("")
    }
    outputoverrides	s_sa_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	ia_i_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	ia_i_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	ia_f_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	ia_f_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	ia_v_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	ia_v_1
    {
	___begin	auto
			(0,0,0)
    }
    outputoverrides	ia_v4_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	ia_v4_1
    {
	___begin	auto
			(0,0,0,0)
    }
    outputoverrides	ia_m3_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	ia_m3_1
    {
	___begin	auto
			(1,0,0,0,1,0,0,0,1)
    }
    outputoverrides	ia_m_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	ia_m_1
    {
	___begin	auto
			(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)
    }
    outputoverrides	ia_s_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	ia_s_1
    {
	___begin	auto
			("")
    }
    outputoverrides	ia_ia_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	ia_ia_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	ia_fa_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	ia_fa_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	ia_va_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	ia_va_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	ia_v4a_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	ia_v4a_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	ia_m3a_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	ia_m3a_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	ia_ma_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	ia_ma_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	ia_sa_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	ia_sa_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	fa_i_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	fa_i_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	fa_f_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	fa_f_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	fa_v_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	fa_v_1
    {
	___begin	auto
			(0,0,0)
    }
    outputoverrides	fa_v4_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	fa_v4_1
    {
	___begin	auto
			(0,0,0,0)
    }
    outputoverrides	fa_m3_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	fa_m3_1
    {
	___begin	auto
			(1,0,0,0,1,0,0,0,1)
    }
    outputoverrides	fa_m_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	fa_m_1
    {
	___begin	auto
			(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)
    }
    outputoverrides	fa_s_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	fa_s_1
    {
	___begin	auto
			("")
    }
    outputoverrides	fa_ia_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	fa_ia_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	fa_fa_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	fa_fa_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	fa_va_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	fa_va_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	fa_v4a_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	fa_v4a_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	fa_m3a_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	fa_m3a_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	fa_ma_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	fa_ma_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	fa_sa_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	fa_sa_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	va_i_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	va_i_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	va_f_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	va_f_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	va_v_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	va_v_1
    {
	___begin	auto
			(0,0,0)
    }
    outputoverrides	va_v4_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	va_v4_1
    {
	___begin	auto
			(0,0,0,0)
    }
    outputoverrides	va_m3_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	va_m3_1
    {
	___begin	auto
			(1,0,0,0,1,0,0,0,1)
    }
    outputoverrides	va_m_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	va_m_1
    {
	___begin	auto
			(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)
    }
    outputoverrides	va_s_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	va_s_1
    {
	___begin	auto
			("")
    }
    outputoverrides	va_ia_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	va_ia_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	va_fa_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	va_fa_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	va_va_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	va_va_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	va_v4a_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	va_v4a_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	va_m3a_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	va_m3a_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	va_ma_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	va_ma_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	va_sa_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	va_sa_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	v4a_i_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	v4a_i_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	v4a_f_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	v4a_f_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	v4a_v_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	v4a_v_1
    {
	___begin	auto
			(0,0,0)
    }
    outputoverrides	v4a_v4_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	v4a_v4_1
    {
	___begin	auto
			(0,0,0,0)
    }
    outputoverrides	v4a_m3_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	v4a_m3_1
    {
	___begin	auto
			(1,0,0,0,1,0,0,0,1)
    }
    outputoverrides	v4a_m_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	v4a_m_1
    {
	___begin	auto
			(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)
    }
    outputoverrides	v4a_s_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	v4a_s_1
    {
	___begin	auto
			("")
    }
    outputoverrides	v4a_ia_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	v4a_ia_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	v4a_fa_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	v4a_fa_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	v4a_va_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	v4a_va_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	v4a_v4a_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	v4a_v4a_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	v4a_m3a_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	v4a_m3a_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	v4a_ma_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	v4a_ma_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	v4a_sa_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	v4a_sa_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	m3a_i_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	m3a_i_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	m3a_f_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	m3a_f_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	m3a_v_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	m3a_v_1
    {
	___begin	auto
			(0,0,0)
    }
    outputoverrides	m3a_v4_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	m3a_v4_1
    {
	___begin	auto
			(0,0,0,0)
    }
    outputoverrides	m3a_m3_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	m3a_m3_1
    {
	___begin	auto
			(1,0,0,0,1,0,0,0,1)
    }
    outputoverrides	m3a_m_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	m3a_m_1
    {
	___begin	auto
			(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)
    }
    outputoverrides	m3a_s_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	m3a_s_1
    {
	___begin	auto
			("")
    }
    outputoverrides	m3a_ia_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	m3a_ia_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	m3a_fa_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	m3a_fa_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	m3a_va_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	m3a_va_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	m3a_v4a_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	m3a_v4a_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	m3a_m3a_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	m3a_m3a_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	m3a_ma_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	m3a_ma_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	m3a_sa_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	m3a_sa_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	ma_i_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	ma_i_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	ma_f_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	ma_f_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	ma_v_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	ma_v_1
    {
	___begin	auto
			(0,0,0)
    }
    outputoverrides	ma_v4_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	ma_v4_1
    {
	___begin	auto
			(0,0,0,0)
    }
    outputoverrides	ma_m3_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	ma_m3_1
    {
	___begin	auto
			(1,0,0,0,1,0,0,0,1)
    }
    outputoverrides	ma_m_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	ma_m_1
    {
	___begin	auto
			(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)
    }
    outputoverrides	ma_s_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	ma_s_1
    {
	___begin	auto
			("")
    }
    outputoverrides	ma_ia_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	ma_ia_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	ma_fa_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	ma_fa_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	ma_va_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	ma_va_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	ma_v4a_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	ma_v4a_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	ma_m3a_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	ma_m3a_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	ma_ma_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	ma_ma_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	ma_sa_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	ma_sa_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	sa_i_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	sa_i_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	sa_f_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	sa_f_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	sa_v_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	sa_v_1
    {
	___begin	auto
			(0,0,0)
    }
    outputoverrides	sa_v4_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	sa_v4_1
    {
	___begin	auto
			(0,0,0,0)
    }
    outputoverrides	sa_m3_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	sa_m3_1
    {
	___begin	auto
			(1,0,0,0,1,0,0,0,1)
    }
    outputoverrides	sa_m_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	sa_m_1
    {
	___begin	auto
			(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)
    }
    outputoverrides	sa_s_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	sa_s_1
    {
	___begin	auto
			("")
    }
    outputoverrides	sa_ia_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	sa_ia_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	sa_fa_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	sa_fa_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	sa_va_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	sa_va_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	sa_v4a_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	sa_v4a_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	sa_m3a_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	sa_m3a_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	sa_ma_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	sa_ma_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	sa_sa_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	sa_sa_1
    {
	___begin	auto
			(0)
    }

    help {
	""
    }

    parm {
	name	"signature"
	baseparm
	invisible
	export	none
    }
    parm {
	name	"index"
	label	"Index"
	type	integer
	default	{ "0" }
	range	{ 0! 1! }
	export	none
    }
}
# Automatically generated script: Wednesday February 22, 12:25 2012
\set noalias = 1
#
#  Creation script for ttwswitch operator
#

if ( "$arg1" == "" ) then
    echo This script is intended as a creation script
    exit
endif

# Node $arg1 (Vop/ttwswitch)
opexprlanguage -s hscript $arg1
opuserdata -n '___Version___' -v '' $arg1
ParmsFromVfl := 0;
PrefixDroppedParmName := 0;
UseDSParms := 1;
ForbidOutsideParms := 1;
LockContents := 1;
SaveSpareParms := 0;
CheckExternal := 1;
GzipContents := 1;
MakeDefault := 1;
SaveCachedCode := 0;
PrefixDroppedParmLabel := 0;
UnlockOnCreate := 0;
<?xml version="1.0" encoding="UTF-8"?>
<shelfDocument>
  <!-- This file contains definitions of shelves, toolbars, and tools.
 It should not be hand-edited when it is being used by the application.
 Note, that two definitions of the same element are not allowed in
 a single file. -->

  <tool name="$HDA_TABLE_$HDA_NAME" label="$HDA_LABEL" icon="$HDA_ICON">
    <toolMenuContext name="viewer">
      <contextNetType>VOP</contextNetType>
    </toolMenuContext>
    <toolMenuContext name="pop_viewer">
      <contextNetType>VOP</contextNetType>
    </toolMenuContext>
    <toolMenuContext name="network">
      <contextOpType>$HDA_TABLE/$HDA_NAME</contextOpType>
    </toolMenuContext>
    <toolSubmenu>Utility</toolSubmenu>
    <script scriptType="python"><![CDATA[import voptoolutils

voptoolutils.genericTool(kwargs, '$HDA_NAME')]]></script>
  </tool>
</shelfDocument>
      ݝn#9v,vݢD[	9;d2J]_\@?JU$a	ƍ6bI)Kk4|O/?bfsY;>?}Օ:jj{.wwUJ=>[)ՕPjիZ_nzNWwǛzj[Wo>_-aNOp>ǹ/rxtSKug>O|''f$f'?O=;ŗOMMOUɿ<{ѫ?Wo>ۭxr7w'ۻ.7鯖bz|ع?TNUrϕxmnym㩺VdW3j>:[|t|}=F{eo^z5dlwhqW}\hU?m6-#nb5:m\r;_Tfvk4yqŲӳ0=s.8;7'o\]\[ՉfNY3Zޮq[Ȥx\Fbmf濿l9?^۟-=h{ޙ̛hk#/CFŝqȉ;+*{7SO9fvfaU3Jg񂬜S(JYճQf-`l$PV"ke2ՙH6d#m,rVZd2K^A\z;!<o~#%<d1bQ{Ϝ%~3ܔȤ?䦜݂*Rڅ}-eTE]*XK?DR޷zVx]:qgGxn)Òyڵ^Z]eg`CAK,NpLY3 n] , D H.:JL:30n9ԱQ {He6b˽/10HC/ak!x+	 f<쩜J=Kι3Fj	݃EGZVoHZ#aiS;Cw䨒!k
cC;^.64%#BЖCt#m;2~v]~[ E!\UlY юn#~ɌNbΘ@=@t$dǜ7{,<(#r'qDwqc4Jt("@lU"T
O{YCߔl.<U0~(bcO ãKYbiGOYÓ1fF8<EY;EpѓΠ1 >٦%
q!rwA"(-^{Gϣ|1yxICT
zk!Sϻ`< " *=D6(a!T%b 'OQ#V#O#dͻgŋ2R+?O^rV&+`a]e[fwd?BVa2<ug,)FĽ/9̽5alU%8k}ޛ޸!oaˈUGbjj@"h	_F"_G B25ʜ-&'Nn:]`!CÖ-+"ft  jV#1@! `[Mxw`Uν-GZ͜}?WW	꜊
*ǩSKF9#<R>ſ&d,YSML)e>dalLrHJTbQFEeQ>2G~
y"(/caHO
>{B\uIA'da+nb b֎ZH@L@1_2b<aRD|+Y[<ZRD`+YCEYT::@)ՃJG8Q5eq:P鿅 iS7*Dud[r!S*Du򃶖&HAEYT;,!G(ŉ@OY?&}vT hP8'PQ&^!ڙi	*DOv̙{kzcPQ&~#&*J,MT*=1fAc*Du~V9[-AŔ@?]pbU0tzt&of5,=(ftߪoVq(9?rH+"jF>~d4$"JY0(sS}"0
7(CY 4p;vI%EPkǴneەEԯ_qϲ(&vpY[`.-Bl޾Y\&b <]:#E:oeQ/~ƛ̢!E,YC/Ƈtܐ"l}}VaR-`G&JG$z7u.EzPakA%RCX'R]-!_oBp*R":'
Y"BGI-y!kǴdFh)V1vb}=.P-kl#mс5~<اC#qd=j"-1~ <R$m{ 4Gz=~HAJ[eiG!-6X	0IwU0~cIw[viw[JH`[me0i$S."4zMAI%fAcOqIM/d,m͓IMOR֎:<HDŬwy>ivQ=u`t%@qamRO@ |w[̫ iw۞5X! n"n7n-Spq!eu!_<Qj֎-
1)SEޙF"xЌ'8!L 4Ỷ`=x6  p<Ey9kĽ@3=Ae'BeZZQ;U_pϵtx{<T!\g ~<?>^% #paBw< rقm,P mHXw@"0P
4.y]߷HEcԻHo(y5kc#:iozki/xOP!LGx#B! vͅi近+i/֋E̊-@Egx\x	6qCifxre0iHE'AXgF<pB,<| :Eh)=As1Ţmgu,}[)Et!CQI0`T;Ef0̽uJˠ/Vq/K+oAcwv)"emMAW\\r=H2J\[o 1kl9d`p-fli-r@Kx7X֢,G@~1l l }W=aW.H1_qHImgu,F[J]DG*Yb?[J%bi^R=lWec[]el)+V|qz#lz[J%fAc[J="OV9۴ս-qD.-[y)kLA-WJM-pbǕi7Xf{L{[*JV ?[*JV%-qD/ լHWǕi_ (rMsǣ˫v5O}<^L_ڹojǹjF}lb΋%e7(2$}$-Ȋ¢L
$/%8k&9s5x[ܑo5YQϒ7I$M&)xtI
1&	xφ7IMR&)xI
$o7I$M&IxI
$o7][iއcN0WNP7 4X晰+GF@.o@R(ŽEBr/`pHRK(R$=ŽUGpX4l,OD$! bc| +=. ^ afzI n v ~_RC:vi1#RXZ#pHGC#9/lߺ?b8T`yA{ǋ e'#
bAGGh
q!ł0xQ0?EE@0XhSgEwӂag\<[W(ݰ3VJ\"+`R\(\Y(<8pU!EQvqZqx\
?E8PYF	Hi
pPt@)#_/FLPW8Ka
&T#ɚ@_Uo$H8`H1/0\$s7'aЂА>p1AFPԋnqnqo|ʵ7t ]}#H7t ]#H58v]#hu8t! ]#HP')I
$}>IB<$	}CO'I$I$	}>IBO'i4I$	}>IBOSЧ)i
4}>}iQѧ)χ>MA&OЧI$i4	}>MCOЧi$i4	}>Nb'I$q2 94B(ȟAN!Pi,4r9CN"'iL4(r9	?HjXBPE) ,@4 G¢@J0vBbJҖGPNAHE]BbJ)X$QEIH$DCC$@H 4
 Hc DH4Gc	}>EAOQЧ(ST)ЧHSGEO=}>EB"OЧHS$)}>ECOЧHS$]zhL>}sZףIY'JwnެN8}r}S3WwOhշv<|2z_}]]v/޼xyz3s/	zxm7uڨ6?w5ĭawy-V+q˕=zRM&&^m6~m>E_}mcsR-VuL']z{ty<}7Cv<]ig[l6snM}<'_mGx۽Uo;v\/w'Iq<{#mnբ>cos[,㇍Z&OX|ע	f2ۛ~8Ӻ~[T\[e¬VU){֮X]m>mw[d7Rvfue6[wۻdFM%t}|NV&mqTM^m;t7Ï[TS7񬚸&&ܴ2PScYY|l/l%Jַc;3YUۺy|6P.S5Y6WbXl[qr*ߝy(\oVfvjzz'UZۆ¬c\;̻9m$ zL-sONy^+k58 c@P9^Ŭ⧋~ųk *䝊exh<Z4MXwuYPӴ}aߋrf>~29gucmܜtxZ}3za˱=slȀF000kdkd0g)|V&
)Kh
d&Kh
&Kh
&Kh
ā&mcMZ!9Ф93,sI+2B,sI+2B,sI+2B,sIcMZ!9ФbMZ!
($sX@Ve4iX@Ve4iX@Ve4ie4iX@Ve4iX@V ñ́&h
́&h
́&9ФbMZ!9ФbMZ!9Ф'HaMZ!9ФbMZ!9Ф=2B,sI+2B,sI+2$;_;p%*ԟlX/5acq^/F[ZT+Z, EOgZwy&y)y2KB+;5]p%~+vUWyAq ~~1{}^= ՙ-Ixp~ݩ6fs%}[NtY4)n7R˝HMdm4&BMϪj}kg}k6O^vrzʾλ&931,t탐|F2g>q}zjY7'GVcяw	vr{r43ALvUj49ߡ6gvm"ly
aCrklӘۉl>Lk(fS`YB{}fE.\ޛU7n`*;*r򽈃Ýt~魛!Աp3U_\M;~~@Dx5f[9dwiK۾YݞVn7yw=%7B^98`gS.zάOQg}>;=K'3A̓U|y.IY2'2me~<wԝF,g=HԞ6ܞq[nY!Ϻޝ>?|'ϥ  ttwswitchimpl1    INDX              DialogScript      QGO   CreateScript    dQGO   TypePropertiesOptions  ,  QGO   Help  -    QGO   Contents.gz  -  QGO   ExtraFileOptions  
G   QGO   InternalFileOptions  
K   QGO# Dialog script for volumevopoutput automatically generated 03/18/13 13:32:12

{
    name	volumevopoutput
    script	volumevexoutput
    label	"Volume VOP Output"

    input	float	density	"Combined Value"
    inputflags	density	0
    signature	"Default Inputs"	default	{ float }

    outputoverrides	default
    {
    }

    help {
	""
    }

    parm {
	name	"sum"
	label	"sum"
	type	float
	invisible
	default	{ "0" }
	range	{ 0 10 }
	export	none
    }
}
# Automatically generated script: Monday March 18, 13:32 2013
\set noalias = 1
#
#  Creation script for volumevopoutput operator
#

if ( "$arg1" == "" ) then
    echo This script is intended as a creation script
    exit
endif

# Node $arg1 (Vop/volumevopoutput)
opspareds "" $arg1
opexprlanguage -s hscript $arg1
opuserdata -n '___Version___' -v '' $arg1
SaveSpareParms := 1;
CheckExternal := 1;
GzipContents := 1;
UnlockOnCreate := 0;
SaveCachedCode := 0;
LockContents := 1;
MakeDefault := 1;
UseDSParms := 1;
ForbidOutsideParms := 1;
PrefixDroppedParmLabel := 1;
PrefixDroppedParmName := 1;
ParmsFromVfl := 0;
      n6=fw]sϒ}Q`0tHV&ryɉtN/- HHKK~|Ǳs~ ?qat8""327ѥsfA{]4;ץnL܌lS3tv¤[Ygr;~@#TvRw:uJ]&MfKn0?pRa#]IR25Rnw^eGFB'kMYИ=\ޔ0k?WRem{6"Ze&ǚ5\(ݺʤG;V~wԿέ{;Na\ߝfRLۨ{0.Nm"M+i0e@RP&ՕQLW9.FD/Ih z3\xzE4i80$U!Ԧn,
ǚZVvFjjz#\GPIuGhҮ̨#'\w7zC%,J0L|d/_O٧>q\bos̝33Q|P6E2fLA<OXw{-R0\olS?ܿߏ)ĥ,zcZMج5x<x 2z)l0V^2pz\"v"JM^! +hm(?a_#6fI=F1G
wĴY MHnɍ'|`*0\f Ŀ0mCk/`L%,?=<^dbkv',NRQH@UQI^[S?j+qeYE^|TkJ۱Ja{`C6la9}'``r.-]*
knW@TťHZY;?g!,7;ܫ=-~Z˓SfA΃g7j=dG6VX6`"6`w"=C/1q?E0+:,dd挌`V32YYfeFF0+[22t{|QU(B,D!g
3QY(LCAr 
9P3sQ9(do2s9D!
sQ9(CArΡ 
9Pos(B9D!
]焜s(B9D!
sQ9(CA\9Ps(B9D!
0Ή8Ps(B9D!
sq9(CArΡ 
9Ps(Bvc8g9(CArΡ 
9Pws(B9D!
sQ9?N~A]@{Ѿy0KYPdxp]!_E`X?_{t{+~3y}Nτ`KOq-ǃ6(=M5
Nw'r>ڿ^/4Ó?|d29$          nodeconntype       INDX              DialogScript      R//*
 * PROPRIETARY INFORMATION.  This software is proprietary to
 * Side Effects Software Inc., and is not to be reproduced,
 * transmitted, or disclosed in any way without written permission.
 *
 * Produced by:
 *	Side Effects Software Inc
 *	477 Richmond Street West
 *	Toronto, Ontario
 *	Canada   M5V 3E7
 *	416-504-9876
 *
 */

{
    name	"addattrib"
    script	"addattrib"
    label	"addattrib"


    code {
	"$newadata = $adata;"
	"addattribute($attrib, $newadata, \"type\", $typemodifier);"
	"if ($localvar != \"\")"
	"    addvariablename($attrib, $localvar);"
    }

    forcecode
    input	string	attrib		"Attribute Name"
    input	vector	adata		"Attribute Value"
    input	string	localvar	"Local Variable Name"
    output	vector	newadata	"Attribute Value"

    signature	"Float Attribute"	f  { string float string float }
    signature	"Integer Attribute"	i  { string int string int }
    signature	"Vector Attribute"	default { }
    signature	"Vector4 Attribute"	v4 { string vector4 string vector4 }
    signature	"Matrix3 Attribute"	m3 { string matrix3 string matrix3 }
    signature	"Matrix Attribute"	m  { string matrix string matrix }

    parm {
	name	attrib
	label	"Attribute"
	type	string
	default	{ "Cd" }
    }
    parm {
	name	localvar
	label	"Local Variable Name"
	type	string
	default { "" }
    }
    parm {
	name	adata_f
	label	"Data Float"
	type	float
	size	1
	default	{ 0.0 }
    }
    parm {
	name	adata_i
	label	"Data Integer"
	type	int
	size	1
	default	{ 0 }
    }
    parm {
	name	adata	
	label	"Data Vector"
	type	float
	size	3
	default	{ 0.0 0.0 0.0 }
    }
    parm {
	name	adata_v4
	label	"Data Vector4"
	type	float
	size	4
	default	{ 0.0 0.0 0.0 0.0 }
    }
    parm {
	name	adata_m3
	label	"Data Matrix3"
	type	float
	size	9
	default	{ 1 0 0 0 1 0 0 0 1 }
    }
    parm {
	name	adata_m
	label	"Data Matrix"
	type	float
	size	16
	default	{ 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 }
    }
    parm {
	name	typemodifier
	label	"Type Modifier"
	type	string
	default	{ "" }
	menu {
	    ""			"None"
	    "vector"		"Vector Data"
	    "normal"		"Normal Data"
	    "point"		"Position Data"
	    "indexpair"		"Index/Pair (Capture Attribute)"
	    "color"		"Color Data"
	    "quaternion"	"Quaternion"
	}
    }
}

INDX              DialogScript      R//*
 * PROPRIETARY INFORMATION.  This software is proprietary to
 * Side Effects Software Inc., and is not to be reproduced,
 * transmitted, or disclosed in any way without written permission.
 *
 * Produced by:
 *	Side Effects Software Inc
 *	477 Richmond Street West
 *	Toronto, Ontario
 *	Canada   M5V 3E7
 *	416-504-9876
 *
 */

{
    name	"importattrib"
    script	"importattrib"
    label	"importattrib"


    code {
	"$adata = 0;"
	"if( $isconnected_ptnum )"
	"    $success = import($attrib, $adata, $input_index, $ptnum);"
	"else"
	"    $success = import($attrib, $adata, $input_index);"
    }

    input	string	attrib		"Attribute Name"
    input	int	input_index	"OP Input Index"
    input	int	ptnum		"Point Number"
    output	int	success		"Return 1 For Success, 0 For Failure"
    output	vector	adata		"Attribute Value"
    signature	"Float Attribute"	f  { string int int int float }
    signature	"Integer Attribute"	i  { string int int int int }
    signature	"Vector Attribute"	default { }
    signature	"Vector4 Attribute"	v4 { string int int int vector4 }
    signature	"Matrix3 Attribute"	m3 { string int int int matrix3 }
    signature	"Matrix Attribute"	m  { string int int int matrix }

    parm {
	name	attrib
	label	"Attribute"
	type	string
	default	{ "Cd" }
    }
    parm {
	name	input_index
	label	"OP Input Index"
	type	int
        size    1
        default { 0 }
	range	{ 0 3 }
    }
}

INDX              DialogScript      R//*
 * PROPRIETARY INFORMATION.  This software is proprietary to
 * Side Effects Software Inc., and is not to be reproduced,
 * transmitted, or disclosed in any way without written permission.
 *
 * Produced by:
 *	Side Effects Software Inc
 *	477 Richmond Street West
 *	Toronto, Ontario
 *	Canada   M5V 3E7
 *	416-504-9876
 *
 */

#include <parameter.ds>

{
    name	"vectofloat"
    script	"vectofloat"
    label	"vectofloat"

    outercode {
	INCLUDE_VOPLIB
    }

    code {
	"vop_vectofloat($vec, $fval1, $fval2, $fval3);"
    }

    input	vector	vec	"Input Vector"
    output	float	fval1	"Component 1"
    output	float	fval2	"Component 2"
    output	float	fval3	"Component 3"

    VOP_VEC_PARM(vec, "Value",   0, 0, 0)
    VOP_VEC_PARM(vec_p, "Value",  0, 0, 0)
    VOP_VEC_PARM(vec_n, "Value", 0, 0, 0)
    VOP_CLR_PARM(vec_c, "Value",  0, 0, 0)

    VOP_VEC_PARM(vec_uv, "Value", 0, 0, 0)
    VOP_VEC_PARM(vec_up, "Value",  0, 0, 0)
    VOP_VEC_PARM(vec_un, "Value", 0, 0, 0)
    VOP_CLR_PARM(vec_uc, "Value",  0, 0, 0)

    signature	"3D Vector"	default	{ vector float float float }
    signature	"3D Point"	p	{ point float float float }
    signature	"3D Normal"	n	{ normal float float float }
    signature	"RGB Color"	c	{ color float float float }

    signature	"Uniform 3D Vector"	uv	{ uvector ufloat ufloat ufloat }
    signature	"Uniform 3D Point"	up	{ upoint ufloat ufloat ufloat }
    signature	"Uniform 3D Normal"	un	{ unormal ufloat ufloat ufloat }
    signature	"Uniform RGB Color"	uc	{ ucolor ufloat ufloat ufloat }
}
INDX              DialogScript      AR//*
 * PROPRIETARY INFORMATION.  This software is proprietary to
 * Side Effects Software Inc., and is not to be reproduced,
 * transmitted, or disclosed in any way without written permission.
 *
 * Produced by:
 *	Side Effects Software Inc
 *	477 Richmond Street West
 *	Toronto, Ontario
 *	Canada   M5V 3E7
 *	416-504-9876
 *
 */

#include <parameter.ds>

{
    name	"random"
    script	"random"
    label	"random"


    code {
	"#ifdef __vex"
	"    if ($roundtoint)"
	"    	$rand = random($pos);"
	"    else"
	"       $rand = rand($pos);"
	"#else"
	"    $rand = cellnoise($pos);"
	"#endif"
    }

    input	float	pos	"Position"
    output	float	rand	"Random Number"

    signature	"1D Float Input, 1D Output"	default	{ }
    signature	"1D Float Input, 3D Vector" 	fv	{ float vector  }
    signature	"1D Float Input, 3D Point"  	fp	{ float point  }
    signature	"1D Float Input, 3D Normal" 	fn	{ float normal  }
    signature	"1D Float Input, 3D Color" 	fc	{ float color  }
    signature	"1D Float Input, 4D Output"	f4d	{ float vector4 }

    signature	"1D Integer Input, 1D Output"	i1d	{ int float   }
    signature	"1D Integer Input, 3D Vector" 	iv	{ int vector  }
    signature	"1D Integer Input, 3D Point"  	ip	{ int point  }
    signature	"1D Integer Input, 3D Normal" 	in	{ int normal  }
    signature	"1D Integer Input, 3D Color" 	ic	{ int color  }
    signature	"1D Integer Input, 4D Output"	i4d	{ int vector4 }

    signature	"3D Vector Input, 1D Output"	v1d	{ vector  float   }
    signature	"3D Vector Input, 3D Vector" 	vv	{ vector vector  }
    signature	"3D Vector Input, 3D Point"  	vp	{ vector point  }
    signature	"3D Vector Input, 3D Normal" 	vn	{ vector normal  }
    signature	"3D Vector Input, 3D Color" 	vc	{ vector color  }
    signature	"3D Vector, 4D Output"		v4d	{ vector  vector4 }

    signature	"3D Point Input, 1D Output"	p1d	{ point  float   }
    signature	"3D Point Input, 3D Vector" 	pv	{ point vector  }
    signature	"3D Point Input, 3D Point"  	pp	{ point point  }
    signature	"3D Point Input, 3D Normal" 	pn	{ point normal  }
    signature	"3D Point Input, 3D Color" 	pc	{ point color  }

    signature	"3D Normal Input, 1D Output"	n1d	{ normal  float   }
    signature	"3D Normal Input, 3D Vector" 	nv	{ normal vector  }
    signature	"3D Normal Input, 3D Point"  	np	{ normal point  }
    signature	"3D Normal Input, 3D Normal" 	nn	{ normal normal  }
    signature	"3D Normal Input, 3D Color" 	nc	{ normal color  }

    signature	"3D Color Input, 1D Output"	c1d	{ color  float   }
    signature	"3D Color Input, 3D Vector" 	cv	{ color vector  }
    signature	"3D Color Input, 3D Point"  	cp	{ color point  }
    signature	"3D Color Input, 3D Normal" 	cn	{ color normal  }
    signature	"3D Color Input, 3D Color" 	cc	{ color color  }

    signature	"4D Input, 1D Output"		v41d	{ vector4 float   }
    signature	"4D Input, 3D Output"		v43d	{ vector4 vector  }
    signature	"4D Input, 4D Output"		v44d	{ vector4 vector4 }

    signature	"1D Uniform Float, 1D Output"	uuf	{ ufloat ufloat }
    signature	"1D Uniform Float, 3D Vector" 	ufv	{ ufloat uvector  }
    signature	"1D Uniform Float, 3D Point"  	ufp	{ ufloat upoint  }
    signature	"1D Uniform Float, 3D Normal" 	ufn	{ ufloat unormal  }
    signature	"1D Uniform Float, 3D Color" 	ufc	{ ufloat ucolor  }

    signature	"3D Uniform Vector, 1D Output"	uv1d	{ uvector ufloat   }
    signature	"3D Uniform Vector, 3D Vector" 	uvv	{ uvector uvector  }
    signature	"3D Uniform Vector, 3D Point"  	uvp	{ uvector upoint  }
    signature	"3D Uniform Vector, 3D Normal" 	uvn	{ uvector unormal  }
    signature	"3D Uniform Vector, 3D Color" 	uvc	{ uvector ucolor  }

    signature	"3D Uniform Point, 1D Output"	up1d	{ upoint ufloat   }
    signature	"3D Uniform Point, 3D Vector" 	upv	{ upoint uvector  }
    signature	"3D Uniform Point, 3D Point"  	upp	{ upoint upoint  }
    signature	"3D Uniform Point, 3D Normal" 	upn	{ upoint unormal  }
    signature	"3D Uniform Point, 3D Color" 	upc	{ upoint ucolor  }

    signature	"3D Uniform Normal, 1D Output"	un1d	{ unormal ufloat   }
    signature	"3D Uniform Normal, 3D Vector" 	unv	{ unormal uvector  }
    signature	"3D Uniform Normal, 3D Point"  	unp	{ unormal upoint  }
    signature	"3D Uniform Normal, 3D Normal" 	unn	{ unormal unormal  }
    signature	"3D Uniform Normal, 3D Color" 	unc	{ unormal ucolor  }

    signature	"3D Uniform Color, 1D Output"	uc1d	{ ucolor ufloat   }
    signature	"3D Uniform Color, 3D Vector" 	ucv	{ ucolor uvector  }
    signature	"3D Uniform Color, 3D Point"  	ucp	{ ucolor upoint  }
    signature	"3D Uniform Color, 3D Normal" 	ucn	{ ucolor unormal  }
    signature	"3D Uniform Color, 3D Color" 	ucc	{ ucolor ucolor  }

    VOP_FLT_PARM(pos,     "Position", 0)
    VOP_INT_PARM(pos_i,   "Position", 0)
    VOP_VEC_PARM(pos_v1d, "Position", 0, 0, 0)
    VOP_VEC_PARM(pos_p1d, "Position", 0, 0, 0)
    VOP_VEC_PARM(pos_n1d, "Position", 0, 0, 0)
    VOP_CLR_PARM(pos_c1d, "Position", 0, 0, 0)
    VOP_VEC4_PARM(pos_v41d, "Position", 0, 0, 0, 0)
    VOP_FLT_PARM(pos_uf1d, "Position", 0)
    VOP_VEC_PARM(pos_uv1d, "Position", 0, 0, 0)
    VOP_VEC_PARM(pos_up1d, "Position", 0, 0, 0)
    VOP_VEC_PARM(pos_un1d, "Position", 0, 0, 0)
    VOP_CLR_PARM(pos_uc1d, "Position", 0, 0, 0)

    parm {
	name	roundtoint
	label	"Clamp Position to Integer"
	type	toggle
	size	1
	default	{ 1 }
    }

    group { name "gv" obsolete 12.0 }
    group { name "gu" obsolete 12.0 }
}
INDX              DialogScript      .R//*
 * PROPRIETARY INFORMATION.  This software is proprietary to
 * Side Effects Software Inc., and is not to be reproduced,
 * transmitted, or disclosed in any way without written permission.
 *
 * Produced by:
 *	Side Effects Software Inc
 *	477 Richmond Street West
 *	Toronto, Ontario
 *	Canada   M5V 3E7
 *	416-504-9876
 *
 */

#include <parameter.ds>

{
    name	"pow"
    script	"pow"
    label	"pow"

    outercode {
	INCLUDE_VOPLIB
    }

    code {
	"$pow = vop_pow($val, $exp);"
    }

    input	float	val	"Input Value"
    input	float	exp	"Exponent"
    output	float	pow	"Output Value"

    signature	"Float"			default	{ }
    signature	"3D Vector"		v	{ vector float vector }
    signature	"3D Point"		p	{ point float point }
    signature	"3D Normal"		n	{ normal float normal }
    signature	"RGB Color"		c	{ color float color }
    signature	"4D Vector"		v4	{ vector4 float vector4 }

    signature	"Uniform Float"		uf	{ ufloat ufloat ufloat }
    signature	"Uniform 3D Vector"	uv	{ uvector ufloat uvector }
    signature	"Uniform 3D Point"	up	{ upoint ufloat upoint }
    signature	"Uniform 3D Normal"	un	{ unormal ufloat unormal }
    signature	"Uniform RGB Color"	uc	{ ucolor ufloat ucolor }

    VOP_FLT_PARM(val,   "Value", 1)
    VOP_VEC_PARM(val_v, "Value", 1, 1, 1)
    VOP_VEC_PARM(val_p, "Value", 1, 1, 1)
    VOP_VEC_PARM(val_n, "Value", 1, 1, 1)
    VOP_CLR_PARM(val_c, "Value", 1, 1, 1)
    VOP_VEC4_PARM(val_v4,"Value", 1, 1, 1, 1)
    VOP_FLT_PARM(val_uf, "Value", 1)
    VOP_VEC_PARM(val_uv, "Value", 1, 1, 1)
    VOP_VEC_PARM(val_up, "Value", 1, 1, 1)
    VOP_VEC_PARM(val_un, "Value", 1, 1, 1)
    VOP_CLR_PARM(val_uc, "Value", 1, 1, 1)
    
    parm {
	name	exp
	label	"Exponent"
	type	float
	size	1
	default	{ 1.0 }
    }
    
    group { name "gv" obsolete 12.0 }
    group { name "gu" obsolete 12.0 }
}
INDX              DialogScript      R//*
 * PROPRIETARY INFORMATION.  This software is proprietary to
 * Side Effects Software Inc., and is not to be reproduced,
 * transmitted, or disclosed in any way without written permission.
 *
 * Produced by:
 *	Side Effects Software Inc
 *	477 Richmond Street West
 *	Toronto, Ontario
 *	Canada   M5V 3E7
 *	416-504-9876
 *
 */

{
    name	"not"
    script	"not"
    label	"not"


    code {
	"#ifdef __vex"
	"    if ($bitwise)"
	"        $not = ~$input;"
	"    else"
	"        $not = !$input;"
	"#else"
	"    $not = ($input == 0) ? 1 : 0;"
	"#endif"
    }

    input	int	input	"Input Value"
    output	int	not	"\"Not\" Input"

    parm {
	name	bitwise
	label	"Bitwise Operation"
	type	toggle
	size	1
	default	{ 0 }
    }

}

INDX              DialogScript      GR//*
 * PROPRIETARY INFORMATION.  This software is proprietary to
 * Side Effects Software Inc., and is not to be reproduced,
 * transmitted, or disclosed in any way without written permission.
 *
 * Produced by:
 *	Side Effects Software Inc
 *	477 Richmond Street West
 *	Toronto, Ontario
 *	Canada   M5V 3E7
 *	416-504-9876
 *
 */

{
    name	"negate"
    script	"negate"
    label	"negate"


    code {
	"$negated = -$val;"
    }

    input	int	val		"Input Value"
    output	int	negated		"Negated Value"
    signature	"Integer"		default	{ }
    signature	"Float"			f	{ float float }
    signature	"3D Vector"		v	{ vector vector }
    signature	"3D Point"		p	{ point point }
    signature	"3D Normal"		n	{ normal normal }
    signature	"RGB Color"		c	{ color color }
    signature	"4D Vector"		v4	{ vector4 vector4 }

    signature	"Uniform Float"		uf	{ ufloat ufloat }
    signature	"Uniform 3D Vector"	uv	{ uvector uvector }
    signature	"Uniform 3D Point"	up	{ upoint upoint }
    signature	"Uniform 3D Normal"	un	{ unormal unormal }
    signature	"Uniform RGB Color"	uc	{ ucolor ucolor }
}
INDX              DialogScript      IR//*
 * PROPRIETARY INFORMATION.  This software is proprietary to
 * Side Effects Software Inc., and is not to be reproduced,
 * transmitted, or disclosed in any way without written permission.
 *
 * Produced by:
 *	Side Effects Software Inc
 *	477 Richmond Street West
 *	Toronto, Ontario
 *	Canada   M5V 3E7
 *	416-504-9876
 *
 */

{
    name	"mulconst"
    script	"mulconst"
    label	"mulconst"


    code {
	"$scaled = $val * $mulconst;"
    }

    input	float	val		"Input Value"
    output	float	scaled		"Input Value * Constant"
    signature	"Float"			default	{ }
    signature	"Integer"		i	{ int int }
    signature	"3D Vector"		v	{ vector vector }
    signature	"3D Point"		p	{ point point }
    signature	"3D Normal"		n	{ normal normal }
    signature	"RGB Color"		c	{ color color }
    signature	"BSDF"			b	{ bsdf bsdf }
    signature	"4D Vector"		v4	{ vector4 vector4 }
    signature	"3x3 Matrix"		m3	{ matrix3 matrix3 }
    signature	"4x4 Matrix "		m4	{ matrix matrix }
    
    signature	"Uniform Float"		uf	{ ufloat ufloat }
    signature	"Uniform 3D Vector"	uv	{ uvector uvector }
    signature	"Uniform 3D Point"	up	{ upoint upoint }
    signature	"Uniform 3D Normal"	un	{ unormal unormal }
    signature	"Uniform RGB Color"	uc	{ ucolor ucolor }

    parm {
	name	mulconst
	label	"Multiplier"
	type	float
	size	1
	default	{ 1.0 }
    }
}
INDX              DialogScript      gR//*
 * PROPRIETARY INFORMATION.  This software is proprietary to
 * Side Effects Software Inc., and is not to be reproduced,
 * transmitted, or disclosed in any way without written permission.
 *
 * Produced by:
 *	Side Effects Software Inc
 *	477 Richmond Street West
 *	Toronto, Ontario
 *	Canada   M5V 3E7
 *	416-504-9876
 *
 */

#include <parameter.ds>

{
    name	"modulo"
    script	"modulo"
    label	"modulo"

    outercode {
	INCLUDE_VOPLIB
    }

    code {
	"#if defined(__vex)"
	"$mod = $input1 % $input2;"
	"#else"
	"$mod = vop_mod($input1, $input2);"
	"#endif"
    }

    input	float	input1	"Input 1"
    input	float	input2	"Input 2"
    output	float	mod	"Modulo"

    VOP_FLT_PARM(input2,   "Divisor", 1)
    VOP_FLT_PARM(input2_i, "Divisor", 1)
    VOP_VEC_PARM(input2_v, "Divisor", 1, 1, 1)
    VOP_VEC_PARM(input2_p, "Divisor", 1, 1, 1)
    VOP_VEC_PARM(input2_n, "Divisor", 1, 1, 1)
    VOP_CLR_PARM(input2_c, "Divisor", 1, 1, 1)
    VOP_VEC4_PARM(input2_v4,"Divisor", 1, 1, 1, 1)
    VOP_FLT_PARM(input2_uf, "Divisor", 1)
    VOP_VEC_PARM(input2_uv, "Divisor", 1, 1, 1)
    VOP_VEC_PARM(input2_up, "Divisor", 1, 1, 1)
    VOP_VEC_PARM(input2_un, "Divisor", 1, 1, 1)
    VOP_CLR_PARM(input2_uc, "Divisor", 1, 1, 1)

    signature	"Float"			default	{ }
    signature	"Integer"		i	{ int int int }
    signature	"3D Vector"		v	{ vector vector vector }
    signature	"3D Point"		p	{ point point point }
    signature	"3D Normal"		n	{ normal normal normal }
    signature	"RGB Color"		c	{ color color color }
    signature	"4D Vector"		v4	{ vector4 vector4 vector4 }

    signature	"Uniform Float"		uf	{ ufloat ufloat ufloat }
    signature	"Uniform 3D Vector"	uv	{ uvector uvector uvector }
    signature	"Uniform 3D Point"	up	{ upoint upoint upoint }
    signature	"Uniform 3D Normal"	un	{ unormal unormal unormal }
    signature	"Uniform RGB Color"	uc	{ ucolor ucolor ucolor }
}
INDX              DialogScript      R//*
 * PROPRIETARY INFORMATION.  This software is proprietary to
 * Side Effects Software Inc., and is not to be reproduced,
 * transmitted, or disclosed in any way without written permission.
 *
 * Produced by:
 *	Side Effects Software Inc
 *	477 Richmond Street West
 *	Toronto, Ontario
 *	Canada   M5V 3E7
 *	416-504-9876
 *
 */

#include <parameter.ds>

{
    name	"length"
    script	"length"
    label	"length"


    code {
	"$len = length($vec);"
    }

    input	vector	vec	"Vector"
    output	float	len	"Vector Length"
    signature	"3D Vector"		default	{ }
    signature	"3D Point"		p	{ point float }
    signature	"3D Normal"		n	{ normal float }
    signature	"4D Vector"		v4	{ vector4 float }
    signature	"Uniform 3D Vector"	uv	{ uvector ufloat }
    signature	"Uniform 3D Point"	up	{ upoint ufloat }
    signature	"Uniform 3D Normal"	un	{ unormal float }

    VOP_VEC_PARM(vec,		"Value", 1, 1, 1)
    VOP_VEC_PARM(vec_p,		"Value", 1, 1, 1)
    VOP_VEC_PARM(vec_n,		"Value", 1, 1, 1)
    VOP_VEC4_PARM(vec_v4,	"Value", 1, 1, 1, 1)
    VOP_VEC_PARM(vec_uv,	"Value", 1, 1, 1)
    VOP_VEC_PARM(vec_up,	"Value", 1, 1, 1)
    VOP_VEC_PARM(vec_un,	"Value", 1, 1, 1)

    group { name "g0" obsolete 12.0 }
}
INDX              DialogScript      R//*
 * PROPRIETARY INFORMATION.  This software is proprietary to
 * Side Effects Software Inc., and is not to be reproduced,
 * transmitted, or disclosed in any way without written permission.
 *
 * Produced by:
 *	Side Effects Software Inc
 *	477 Richmond Street West
 *	Toronto, Ontario
 *	Canada   M5V 3E7
 *	416-504-9876
 *
 */

#include <parameter.ds>

{
    name	"inttovec"
    script	"inttovec"
    label	"inttovec"

    outercode {
	INCLUDE_VOPLIB
    }

    code {
	"$vec = set((float) $int1, (float) $int2, (float) $int3);"
    }

    output	vector	vec	"Output Vector"

    VOP_INT_INPUT_R(int1, "Component 1", 0, 0, 1)
    VOP_INT_INPUT_R(int2, "Component 2", 0, 0, 1)
    VOP_INT_INPUT_R(int3, "Component 3", 0, 0, 1)
}
INDX              DialogScript      5R//*
 * PROPRIETARY INFORMATION.  This software is proprietary to
 * Side Effects Software Inc., and is not to be reproduced,
 * transmitted, or disclosed in any way without written permission.
 *
 * Produced by:
 *	Side Effects Software Inc
 *	477 Richmond Street West
 *	Toronto, Ontario
 *	Canada   M5V 3E7
 *	416-504-9876
 *
 */

#include <parameter.ds>

{
    name	"fit"
    script	"fit"
    label	"fit"

    outercode {
	INCLUDE_VOPLIB
    }

    code {
	"$shift = vop_fit($val, $srcmin, $srcmax, $destmin, $destmax);"
    }

    input	float	val	"Input Value"
    input	float	srcmin	"Minimum Value In Source Range"
    input	float	srcmax	"Maximum Value In Source Range"
    input	float	destmin	"Minimum Value In Destination Range"
    input	float	destmax	"Maximum Value In Destination Range"
    output	float	shift	"Shifted Value"

    signature	"Float" 		default { }
    signature	"3D Vector" 		v	{ vector vector vector vector vector vector }
    signature	"3D Point"		p	{ point point point point point point }
    signature	"3D Normal"		n	{ normal normal normal normal normal normal }
    signature	"RGB Color"		c	{ color color color color color color }
    signature	"4D Vector"		v4	{ vector4 vector4 vector4 vector4 vector4 vector4 }

    signature	"Uniform Float"		uf	{ ufloat ufloat ufloat ufloat ufloat ufloat }
    signature	"Uniform 3D Vector"	uv	{ uvector uvector uvector uvector uvector uvector }
    signature	"Uniform 3D Point"	up	{ upoint upoint upoint upoint upoint upoint }
    signature	"Uniform 3D Normal"	un	{ unormal unormal unormal unormal unormal unormal }
    signature	"Uniform RGB Color"	uc	{ ucolor ucolor ucolor ucolor ucolor ucolor }

    VOP_FLT_PARM(srcmin,	"Source Min", 0)
    VOP_FLT_PARM(srcmax,	"Source Max", 1)
    VOP_FLT_PARM(destmin,	"Destination Min", 0)
    VOP_FLT_PARM(destmax,	"Destination Max", 1)

    VOP_VEC_PARM(srcmin_v,	"Source Min", 0, 0, 0)
    VOP_VEC_PARM(srcmax_v,	"Source Max", 1, 1, 1)
    VOP_VEC_PARM(destmin_v,	"Destination Min", 0, 0, 0)
    VOP_VEC_PARM(destmax_v,	"Destination Max", 1, 1, 1)

    VOP_VEC_PARM(srcmin_p,	"Source Min", 0, 0, 0)
    VOP_VEC_PARM(srcmax_p,	"Source Max", 1, 1, 1)
    VOP_VEC_PARM(destmin_p,	"Destination Min", 0, 0, 0)
    VOP_VEC_PARM(destmax_p,	"Destination Max", 1, 1, 1)

    VOP_VEC_PARM(srcmin_n,	"Source Min", 0, 0, 0)
    VOP_VEC_PARM(srcmax_n,	"Source Max", 1, 1, 1)
    VOP_VEC_PARM(destmin_n,	"Destination Min", 0, 0, 0)
    VOP_VEC_PARM(destmax_n,	"Destination Max", 1, 1, 1)

    VOP_CLR_PARM(srcmin_c,	"Source Min", 0, 0, 0)
    VOP_CLR_PARM(srcmax_c,	"Source Max", 1, 1, 1)
    VOP_CLR_PARM(destmin_c,	"Destination Min", 0, 0, 0)
    VOP_CLR_PARM(destmax_c,	"Destination Max", 1, 1, 1)

    VOP_VEC4_PARM(srcmin_v4, "Source Min", 0, 0, 0, 0)
    VOP_VEC4_PARM(srcmax_v4, "Source Max", 1, 1, 1, 1)
    VOP_VEC4_PARM(destmin_v4, "Destination Min", 0, 0, 0, 0)
    VOP_VEC4_PARM(destmax_v4, "Destination Max", 1, 1, 1, 1)

    VOP_FLT_PARM(srcmin_uf,	"Source Min", 0)
    VOP_FLT_PARM(srcmax_uf,	"Source Max", 1)
    VOP_FLT_PARM(destmin_uf, "Destination Min", 0)
    VOP_FLT_PARM(destmax_uf, "Destination Max", 1)

    VOP_VEC_PARM(srcmin_uv,	"Source Min", 0, 0, 0)
    VOP_VEC_PARM(srcmax_uv,	"Source Max", 1, 1, 1)
    VOP_VEC_PARM(destmin_uv, "Destination Min", 0, 0, 0)
    VOP_VEC_PARM(destmax_uv, "Destination Max", 1, 1, 1)

    VOP_VEC_PARM(srcmin_up,	"Source Min", 0, 0, 0)
    VOP_VEC_PARM(srcmax_up,	"Source Max", 1, 1, 1)
    VOP_VEC_PARM(destmin_up, "Destination Min", 0, 0, 0)
    VOP_VEC_PARM(destmax_up, "Destination Max", 1, 1, 1)

    VOP_VEC_PARM(srcmin_un,	"Source Min", 0, 0, 0)
    VOP_VEC_PARM(srcmax_un,	"Source Max", 1, 1, 1)
    VOP_VEC_PARM(destmin_un, "Destination Min", 0, 0, 0)
    VOP_VEC_PARM(destmax_un, "Destination Max", 1, 1, 1)

    VOP_CLR_PARM(srcmin_uc,	"Source Min", 0, 0, 0)
    VOP_CLR_PARM(srcmax_uc,	"Source Max", 1, 1, 1)
    VOP_CLR_PARM(destmin_uc, "Destination Min", 0, 0, 0)
    VOP_CLR_PARM(destmax_uc, "Destination Max", 1, 1, 1)

    group { name "gs" obsolete 12.0 }
    group { name "gv" obsolete 12.0 }
    group { name "gv4" obsolete 12.0 }
    group { name "gu" obsolete 12.0 }
}
INDX              DialogScript      R//*
 * PROPRIETARY INFORMATION.  This software is proprietary to
 * Side Effects Software Inc., and is not to be reproduced,
 * transmitted, or disclosed in any way without written permission.
 *
 * Produced by:
 *	Side Effects Software Inc
 *	477 Richmond Street West
 *	Toronto, Ontario
 *	Canada   M5V 3E7
 *	416-504-9876
 *
 */

{
    name	"invert"
    script	"invert"
    label	"invert"


    code {
	"#if !strcmp($signature, \"f\")"
	"  $inverse = 1.0 / $val;"
	"#else"
	"  $inverse = invert($val);"
	"#endif"
    }

    input	matrix	val	"Input Value"
    output	matrix	inverse	"Inverted Value"
    signature	"4x4 Matrix"	default	{ }
    signature	"3x3 Matrix"	m3	{ matrix3 matrix3 }
    signature	"Float"		f	{ float float }

    parm {
	name	val
	label	"Value"
	type	float
	size	16
	default	{ 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 }
    }
    parm {
	name	val_m3
	label	"Value"
	type	float
	size	9
	default	{ 1 0 0 0 1 0 0 0 1 }
    }
    parm {
	name	val_f
	label	"Value"
	type	float
	size	1
	default	{ 1 }
    }
}
INDX              DialogScript      R//*
 * PROPRIETARY INFORMATION.  This software is proprietary to
 * Side Effects Software Inc., and is not to be reproduced,
 * transmitted, or disclosed in any way without written permission.
 *
 * Produced by:
 *	Side Effects Software Inc
 *	477 Richmond Street West
 *	Toronto, Ontario
 *	Canada   M5V 3E7
 *	416-504-9876
 *
 */

#include <parameter.ds>

{
    name	"floattovec"
    script	"floattovec"
    label	"floattovec"

    outercode {
	INCLUDE_VOPLIB
    }

    code {
	"$vec = vop_floattovec($fval1, $fval2, $fval3);"
    }

    input	float	fval1	"Component 1"
    input	float	fval2	"Component 2"
    input	float	fval3	"Component 3"
    output	vector	vec	"Output Vector"

    VOP_FLT_PARM(fval1, "Component 1", 0)
    VOP_FLT_PARM(fval2, "Component 2", 0)
    VOP_FLT_PARM(fval3, "Component 3", 0)

    VOP_FLT_PARM(fval1_uv, "Component 1", 0)
    VOP_FLT_PARM(fval2_uv, "Component 2", 0)
    VOP_FLT_PARM(fval3_uv, "Component 3", 0)

    signature	"3D Vector"	default { }
    signature	"3D Point"	p { float float float point }
    signature	"3D Normal"	n { float float float normal }
    signature	"RGB Color"	c { float float float color }

    signature	"Uniform 3D Vector"	uv { ufloat ufloat ufloat uvector }
    signature	"Uniform 3D Point"	up { ufloat ufloat ufloat upoint }
    signature	"Uniform 3D Normal"	un { ufloat ufloat ufloat unormal }
    signature	"Uniform RGB Color"	uc { ufloat ufloat ufloat ucolor }
}
INDX              DialogScript      R//*
 * PROPRIETARY INFORMATION.  This software is proprietary to
 * Side Effects Software Inc., and is not to be reproduced,
 * transmitted, or disclosed in any way without written permission.
 *
 * Produced by:
 *	Side Effects Software Inc
 *	477 Richmond Street West
 *	Toronto, Ontario
 *	Canada   M5V 3E7
 *	416-504-9876
 *
 */

#include <parameter.ds>

{
    name	"cross"
    script	"cross"
    label	"cross"

    outercode {
	INCLUDE_VOPLIB
    }

    code {
	"$crossprod = vop_cross($vec1, $vec2);"
    }

    output	vector	crossprod	"Cross Product"

    VOP_VEC_INPUT(vec1, "Vector 1", 1, 0, 0)
    VOP_VEC_INPUT(vec2, "Vector 2", 0, 1, 0)

    signature	"3D Vector"		default	{ }
    signature	"3D Vector/Normal"	vn	{ vector normal vector }
    signature	"3D Normal/Vector"	nv	{ normal vector vector }
    signature	"3D Normal/Normal"	nn	{ normal normal vector }

    signature	"Uniform 3D Vector"	   uv	{ uvector uvector uvector }
    signature	"Uniform 3D Vector/Normal" vn	{ uvector unormal uvector }
    signature	"Uniform 3D Normal/Vector" nv	{ unormal uvector uvector }
    signature	"Uniform 3D Normal/Normal" nn	{ unormal unormal uvector }
}
INDX              DialogScript      R//*
 * PROPRIETARY INFORMATION.  This software is proprietary to
 * Side Effects Software Inc., and is not to be reproduced,
 * transmitted, or disclosed in any way without written permission.
 *
 * Produced by:
 *	Side Effects Software Inc
 *	477 Richmond Street West
 *	Toronto, Ontario
 *	Canada   M5V 3E7
 *	416-504-9876
 *
 */

#include <parameter.ds>

{
    name	"normalize"
    script	"normalize"
    label	"normalize"


    code {
	"$nvec = normalize($vec);"
    }

    input	normal	vec	"Input Vector"
    output	normal	nvec	"Normalized Vector"

    signature	"3D Normal"		default { }
    signature	"3D Point"		p  { point point }
    signature	"3D Vector"		v  { vector vector }
    signature	"4D Vector"		v4  { vector4 vector4 }
    signature	"Uniform 3D Normal"	un { unormal unormal }
    signature	"Uniform 3D Point"	up { upoint upoint }
    signature	"Uniform 3D Vector"	uv { uvector uvector }

    VOP_VEC_PARM(vec,   "Normal",	1, 0, 0)
    VOP_VEC_PARM(vec_p, "Normal",	1, 0, 0)
    VOP_VEC_PARM(vec_v, "Normal",	1, 0, 0)
    VOP_VEC4_PARM(vec_v4, "Quaternion",	0, 0, 0, 1)
    VOP_VEC_PARM(vec_un, "Normal",	1, 0, 0)
    VOP_VEC_PARM(vec_up, "Normal",	1, 0, 0)
    VOP_VEC_PARM(vec_uv, "Normal",	1, 0, 0)
    
    group { name "g0" obsolete 12.0 }
    group { name "g1" obsolete 12.0 }
}
INDX              DialogScript      	qR//*
 * PROPRIETARY INFORMATION.  This software is proprietary to
 * Side Effects Software Inc., and is not to be reproduced,
 * transmitted, or disclosed in any way without written permission.
 *
 * Produced by:
 *	Side Effects Software Inc
 *	477 Richmond Street West
 *	Toronto, Ontario
 *	Canada   M5V 3E7
 *	416-504-9876
 *
 */

#include <parameter.ds>

{
    name	"clamp"
    script	"clamp"
    label	"clamp"


    code {
	"$clamp = clamp($val, $min, $max);"
    }

    input	float	val	"Input Value"
    input	float	min	"Minimum Value"
    input	float	max	"Maximum Value"
    output	float	clamp	"Clamped Value"

    signature	"Float"			default	{ }
    signature	"Integer"		i  { int int int int }
    signature	"3D Vector"		v  { vector vector vector vector }
    signature	"3D Point"		p  { point point point point }
    signature	"3D Normal"		n  { normal normal normal normal }
    signature	"RGB Color"		c  { color color color color }
    signature	"4D Vector"		v4 { vector4 vector4 vector4 vector4 }
    
    signature	"Uniform Float"		uf { ufloat ufloat ufloat ufloat }
    signature	"Uniform 3D Vector"	uv { uvector uvector uvector uvector }
    signature	"Uniform 3D Point"	up { upoint upoint upoint upoint }
    signature	"Uniform 3D Normal"	un { unormal unormal unormal unormal }
    signature	"Uniform RGB Color"	uc { ucolor ucolor ucolor ucolor }

    VOP_FLT_PARM(min, "Min", 0)
    VOP_FLT_PARM(max, "Max", 1)
    VOP_INT_PARM(min_i, "Min", 0)
    VOP_INT_PARM(max_i, "Max", 1)
    VOP_VEC_PARM(min_v, "Min", 0, 0, 0)
    VOP_VEC_PARM(max_v, "Max", 1, 1, 1)
    VOP_VEC_PARM(min_p, "Min", 0, 0, 0)
    VOP_VEC_PARM(max_p, "Max", 1, 1, 1)
    VOP_VEC_PARM(min_n, "Min", 0, 0, 0)
    VOP_VEC_PARM(max_n, "Max", 1, 1, 1)
    VOP_CLR_PARM(min_c, "Min", 0, 0, 0)
    VOP_CLR_PARM(max_c, "Max", 1, 1, 1)
    VOP_CLR4_PARM(min_v4, "Min", 0, 0, 0, 0)
    VOP_CLR4_PARM(max_v4, "Max", 1, 1, 1, 1)
    VOP_FLT_PARM(min_uf, "Min", 0)
    VOP_FLT_PARM(max_uf, "Max", 1)
    VOP_VEC_PARM(min_uv, "Min", 0, 0, 0)
    VOP_VEC_PARM(max_uv, "Max", 1, 1, 1)
    VOP_VEC_PARM(min_up, "Min", 0, 0, 0)
    VOP_VEC_PARM(max_up, "Max", 1, 1, 1)
    VOP_VEC_PARM(min_un, "Min", 0, 0, 0)
    VOP_VEC_PARM(max_un, "Max", 1, 1, 1)
    VOP_CLR_PARM(min_uc, "Min", 0, 0, 0)
    VOP_CLR_PARM(max_uc, "Max", 1, 1, 1)

    group { name "gs" obsolete 12.0 }
    group { name "gv" obsolete 12.0 }
    group { name "gu" obsolete 12.0 }
}
INDX              DialogScript      R//*
 * PROPRIETARY INFORMATION.  This software is proprietary to
 * Side Effects Software Inc., and is not to be reproduced,
 * transmitted, or disclosed in any way without written permission.
 *
 * Produced by:
 *	Side Effects Software Inc
 *	477 Richmond Street West
 *	Toronto, Ontario
 *	Canada   M5V 3E7
 *	416-504-9876
 *
 */

#include <parameter.ds>

{
    name	"align"
    script	"align"
    label	"align"


    code {
	"$matx = dihedral($from, $to);"
    }

    output	matrix3	matx	"Rotation Matrix"

    VOP_VEC_INPUT(from,	"Vector To Rotate From", 1, 0, 0)
    VOP_VEC_INPUT(to,	"Vector To Rotate To",   0, 1, 0)

    signature	"Matrix 3"		default	{ }
    signature	"Angle Axis"		v	{ vector vector vector4 }

}
INDX              DialogScript      R//*
 * PROPRIETARY INFORMATION.  This software is proprietary to
 * Side Effects Software Inc., and is not to be reproduced,
 * transmitted, or disclosed in any way without written permission.
 *
 * Produced by:
 *	Side Effects Software Inc
 *	477 Richmond Street West
 *	Toronto, Ontario
 *	Canada   M5V 3E7
 *	416-504-9876
 *
 */

#include <parameter.ds>
{
    name	"smooth"
    script	"smooth"
    label	"smooth"

    outercode {
	INCLUDE_VOPLIB
    }

    code {
	"$val = vop_smooth($min, $max, $amount, $rolloff);"
    }

    input	float	min	"Range Bottom"
    input	float	max	"Range Top"
    input	float	amount	"Amount"
    input	float	rolloff	"Rolloff"
    output	float	val	"Number Between 0 And 1"

    signature	"Float"	default	{ }
    signature	"Uniform Float"	uf	{ ufloat ufloat ufloat ufloat ufloat }

    VOP_FLT_PARM(min,	  "Range Bottom", 0)
    VOP_FLT_PARM(max,	  "Range Top",	  1)
    VOP_FLT_PARM(amount,  "Amount",	  0.5)
    VOP_FLT_PARM(rolloff, "Rolloff",	  1)

    VOP_FLT_PARM(min_uf,     "Range Bottom", 0)
    VOP_FLT_PARM(max_uf,     "Range Top",  1)
    VOP_FLT_PARM(amount_uf,  "Amount",	  0.5)
    VOP_FLT_PARM(rolloff_uf, "Rolloff",	  1)
}
INDX              DialogScript      R//*
 * PROPRIETARY INFORMATION.  This software is proprietary to
 * Side Effects Software Inc., and is not to be reproduced,
 * transmitted, or disclosed in any way without written permission.
 *
 * Produced by:
 *	Side Effects Software Inc
 *	477 Richmond Street West
 *	Toronto, Ontario
 *	Canada   M5V 3E7
 *	416-504-9876
 *
 */

{
    name	"addconst"
    script	"addconst"
    label	"addconst"


    code {
	"$added = $val + $addconst;"
    }

    input	int	val		"Input Value"
    output	int	added		"Input Value + Constant"
    signature	"Integer"		default	{ }
    signature	"Float"			f	{ float float }
    signature	"3D Vector"		v	{ vector vector }
    signature	"3D Point"		p	{ point point }
    signature	"3D Normal"		n	{ normal normal }
    signature	"4D Vector"		v4	{ vector4 vector4 }
    signature	"RGB Color"		c	{ color color }
    signature	"Uniform Float"		uf	{ ufloat ufloat }
    signature	"Uniform 3D Vector"	uv	{ uvector uvector }
    signature	"Uniform 3D Point"	up	{ upoint upoint }
    signature	"Uniform 3D Normal"	un	{ unormal unormal }
    signature	"Uniform RGB Color"	uc	{ ucolor ucolor }

    parm {
	name	addconst
	label	"Add"
	type	float
	size	1
	default	{ 1.0 }
    }
}
INDX              DialogScript      
kR//*
 * PROPRIETARY INFORMATION.  This software is proprietary to
 * Side Effects Software Inc., and is not to be reproduced,
 * transmitted, or disclosed in any way without written permission.
 *
 * Produced by:
 *	Side Effects Software Inc
 *	477 Richmond Street West
 *	Toronto, Ontario
 *	Canada   M5V 3E7
 *	416-504-9876
 *
 */

#include <parameter.ds>

{
    name	"aaflownoise"
    script	"aaflownoise"
    label	"aaflownoise"


    outercode {
	INCLUDE_VOPLIB
    }

    code {
	"#ifndef __vex"
	"   #error \"Flow noise is VEX only\""
	"#else"
	"  #if !strcmp($signature, \"default\")"
	"   $noise = vop_fbmFlowNoiseFV($pos * $freq - $offset, $rough, $maxoctave, $flow, $flowrate, $advect);"
	"  #elif !strcmp($signature, \"fp\")"
	"   $noise = vop_fbmFlowNoiseFP($pos * $freq - $offset, $rough, $maxoctave, $flow, $flowrate, $advect);"
	"  #elif !strcmp($signature, \"vv\")"
	"   $noise = vop_fbmFlowNoiseVV($pos * $freq - $offset, $rough, $maxoctave, $flow, $flowrate, $advect);"
	"  #else"
	"   $noise = vop_fbmFlowNoiseVP($pos * $freq - $offset, $rough, $maxoctave, $flow, $flowrate, $advect);"
	"  #endif"
	"#endif"
	"$noise *= $amp;"
    }

    input	point	pos		"Position"
    input	vector	freq		"Frequency"
    input	point	offset		"Offset"
    input	float	amp		"Amplitude"
    input	float	rough		"Roughness"
    input	int	maxoctave	"Max Octaves"
    input	float	flow		"Flow"
    input	float	flowrate	"Flow Rate"
    input	float	advect		"Self-Advection"
    output	float	noise		"Anti-Aliased Noise"

    signature	"3D Input, 1D Noise"	default	{ point  vector  point  float float int float float float float }
    signature	"4D Input, 1D Noise"	fp	{ vector4 vector4 vector4 float float int float float float float }
    signature	"3D Input, 3D Noise"	vv	{ point   vector  point  float float int float float float vector }
    signature	"4D Input, 3D Noise"	vp	{ vector4 vector4 vector4 float float int float float float vector }

    VOP_FLT_PARM	(pos_ff,	"1D Position", 0)
    VOP_VEC_PARM	(pos,		"3D Position", 0, 0, 0)
    VOP_VEC4_PARM	(pos_fp,	"4D Position", 0, 0, 0, 0)

    VOP_FLT_PARM	(freq_ff,	"1D Frequency", 1)
    VOP_VEC_PARM	(freq,		"3D Frequency", 1, 1, 1)
    VOP_VEC4_PARM	(freq_fp,	"4D Frequency", 1, 1, 1, 1)

    VOP_FLT_PARM	(offset_ff,	"1D Offset", 0)
    VOP_VEC_PARM	(offset,	"3D Offset", 0, 0, 0)
    VOP_VEC4_PARM	(offset_fp,	"4D Offset", 0, 0, 0, 0)

    VOP_FLT_PARM_R	(amp,		"Amplitude", 1, -1, 1)
    VOP_FLT_PARM	(rough,		"Roughness", 0.5)
    VOP_INT_PARM_R	(maxoctave,	"Max Octaves", 8, 1, 32)
    VOP_FLT_PARM	(flow,		"Flow", 0)
    VOP_FLT_PARM	(flowrate,	"Flow Rate", 1)
    VOP_FLT_PARM	(advect,	"Self-Advection", 0)
}
INDX              DialogScript      R//*
 * PROPRIETARY INFORMATION.  This software is proprietary to
 * Side Effects Software Inc., and is not to be reproduced,
 * transmitted, or disclosed in any way without written permission.
 *
 * Produced by:
 *	Side Effects Software Inc
 *	477 Richmond Street West
 *	Toronto, Ontario
 *	Canada   M5V 3E7
 *	416-504-9876
 *
 */

#include <parameter.ds>

{
    name	"complement"
    script	"complement"
    label	"complement"

    code {
	"$complem = -$val;"
	"$complem += 1;"
    }

    input	float	val	"Input Value"
    output	float	complem	"Complement: 1 - Input Value"

    signature	"Float"			default	{ }
    signature	"Integer"		i	{ int int }
    signature	"3D Vector"		v	{ vector vector }
    signature	"3D Point"		p	{ point point }
    signature	"3D Normal"		n	{ normal normal }
    signature	"RGB Color"		c	{ color color }
    signature	"4D Vector"		v4	{ vector4 vector4 }

    signature	"Uniform Float"		uf	{ ufloat ufloat }
    signature	"Uniform 3D Vector"	uv	{ uvector uvector }
    signature	"Uniform 3D Point"	up	{ upoint upoint }
    signature	"Uniform 3D Normal"	un	{ unormal unormal }
    signature	"Uniform RGB Color"	uc	{ ucolor ucolor }

    VOP_FLT_PARM(val,   "Value", 1)
    VOP_INT_PARM(val_i, "Value", 1)
    VOP_VEC_PARM(val_v, "Value", 1, 1, 1)
    VOP_VEC_PARM(val_p, "Value", 1, 1, 1)
    VOP_VEC_PARM(val_n, "Value", 1, 1, 1)
    VOP_CLR_PARM(val_c, "Value", 1, 1, 1)
    VOP_VEC4_PARM(val_v4,"Value", 1, 1, 1, 1)
    VOP_FLT_PARM(val_uf, "Value", 1)
    VOP_VEC_PARM(val_uv, "Value", 1, 1, 1)
    VOP_VEC_PARM(val_up, "Value", 1, 1, 1)
    VOP_VEC_PARM(val_un, "Value", 1, 1, 1)
    VOP_CLR_PARM(val_uc, "Value", 1, 1, 1)

    group { name "gv" obsolete 12.0 }
    group { name "gu" obsolete 12.0 }
}
0707070000010000000006660000000000000000010000001237543420600001500000000000.OPlibraries 0707070000010000000006660000000000000000010000001237543420600001700000000000.OPpreferences 0707070000010000000006660000000000000000010000001237543420600001500000030442.OPfallbacks Vop/vectohvec /Library/Frameworks/Houdini.framework/Versions/13.0.476/Resources/houdini/otls/OPlibScripted.otl
Vop/vectohvec otls/OPlibScripted.otl
Vop/dualaarampparm /Library/Frameworks/Houdini.framework/Versions/13.0.476/Resources/houdini/otls/OPlibVop.otl
Vop/dualaarampparm otls/OPlibVop.otl
Vop/volumevopglobal /Library/Frameworks/Houdini.framework/Versions/13.0.476/Resources/houdini/otls/OPlibVop.otl
Vop/volumevopglobal otls/OPlibVop.otl
Vop/aarampparm /Library/Frameworks/Houdini.framework/Versions/13.0.476/Resources/houdini/otls/OPlibVop.otl
Vop/aarampparm otls/OPlibVop.otl
Dop/sourcevolume /Library/Frameworks/Houdini.framework/Versions/13.0.476/Resources/houdini/otls/OPlibDop.otl
Dop/sourcevolume otls/OPlibDop.otl
Vop/dualrest /Library/Frameworks/Houdini.framework/Versions/13.0.476/Resources/houdini/otls/OPlibVop.otl
Vop/dualrest otls/OPlibVop.otl
Vop/pow /Library/Frameworks/Houdini.framework/Versions/13.0.476/Resources/houdini/otls/OPlibScripted.otl
Vop/pow otls/OPlibScripted.otl
Sop/fluidsource /Library/Frameworks/Houdini.framework/Versions/13.0.476/Resources/houdini/otls/OPlibSop.otl
Sop/fluidsource otls/OPlibSop.otl
Dop/gasvortexconfinement /Library/Frameworks/Houdini.framework/Versions/13.0.476/Resources/houdini/otls/OPlibDop.otl
Dop/gasvortexconfinement otls/OPlibDop.otl
Vop/normalize /Library/Frameworks/Houdini.framework/Versions/13.0.476/Resources/houdini/otls/OPlibScripted.otl
Vop/normalize otls/OPlibScripted.otl
Vop/limits /Library/Frameworks/Houdini.framework/Versions/13.0.476/Resources/houdini/otls/OPlibVop.otl
Vop/limits otls/OPlibVop.otl
Vop/curlnoise /Library/Frameworks/Houdini.framework/Versions/13.0.476/Resources/houdini/otls/OPlibScripted.otl
Vop/curlnoise otls/OPlibScripted.otl
Vop/pyroNoiseSpace /Library/Frameworks/Houdini.framework/Versions/13.0.476/Resources/houdini/otls/OPlibVop.otl
Vop/pyroNoiseSpace otls/OPlibVop.otl
Vop/pyroDisplace /Library/Frameworks/Houdini.framework/Versions/13.0.476/Resources/houdini/otls/OPlibVop.otl
Vop/pyroDisplace otls/OPlibVop.otl
Vop/pyroField /Library/Frameworks/Houdini.framework/Versions/13.0.476/Resources/houdini/otls/OPlibVop.otl
Vop/pyroField otls/OPlibVop.otl
Vop/align /Library/Frameworks/Houdini.framework/Versions/13.0.476/Resources/houdini/otls/OPlibScripted.otl
Vop/align otls/OPlibScripted.otl
Vop/pyroDensityVolume /Library/Frameworks/Houdini.framework/Versions/13.0.476/Resources/houdini/otls/OPlibVop.otl
Vop/pyroDensityVolume otls/OPlibVop.otl
Vop/floattovec /Library/Frameworks/Houdini.framework/Versions/13.0.476/Resources/houdini/otls/OPlibScripted.otl
Vop/floattovec otls/OPlibScripted.otl
Vop/negate /Library/Frameworks/Houdini.framework/Versions/13.0.476/Resources/houdini/otls/OPlibScripted.otl
Vop/negate otls/OPlibScripted.otl
Vop/clamp /Library/Frameworks/Houdini.framework/Versions/13.0.476/Resources/houdini/otls/OPlibScripted.otl
Vop/clamp otls/OPlibScripted.otl
Vop/pyroShade /Library/Frameworks/Houdini.framework/Versions/13.0.476/Resources/houdini/otls/OPlibVop.otl
Vop/pyroShade otls/OPlibVop.otl
Vop/random /Library/Frameworks/Houdini.framework/Versions/13.0.476/Resources/houdini/otls/OPlibScripted.otl
Vop/random otls/OPlibScripted.otl
Sop/pointwrangle /Library/Frameworks/Houdini.framework/Versions/13.0.476/Resources/houdini/otls/OPlibSop.otl
Sop/pointwrangle otls/OPlibSop.otl
Vop/not /Library/Frameworks/Houdini.framework/Versions/13.0.476/Resources/houdini/otls/OPlibScripted.otl
Vop/not otls/OPlibScripted.otl
Shop/pyro::2.0 /Library/Frameworks/Houdini.framework/Versions/13.0.476/Resources/houdini/otls/OPlibShop.otl
Shop/pyro::2.0 otls/OPlibShop.otl
Dop/gasshred /Library/Frameworks/Houdini.framework/Versions/13.0.476/Resources/houdini/otls/OPlibDop.otl
Dop/gasshred otls/OPlibDop.otl
Vop/pyroNoise /Library/Frameworks/Houdini.framework/Versions/13.0.476/Resources/houdini/otls/OPlibVop.otl
Vop/pyroNoise otls/OPlibVop.otl
Vop/complement /Library/Frameworks/Houdini.framework/Versions/13.0.476/Resources/houdini/otls/OPlibScripted.otl
Vop/complement otls/OPlibScripted.otl
Dop/gaslocalsharpen /Library/Frameworks/Houdini.framework/Versions/13.0.476/Resources/houdini/otls/OPlibDop.otl
Dop/gaslocalsharpen otls/OPlibDop.otl
Vop/cross /Library/Frameworks/Houdini.framework/Versions/13.0.476/Resources/houdini/otls/OPlibScripted.otl
Vop/cross otls/OPlibScripted.otl
Vop/ttwswitch /Library/Frameworks/Houdini.framework/Versions/13.0.476/Resources/houdini/otls/OPlibVop.otl
Vop/ttwswitch otls/OPlibVop.otl
Vop/vectofloat /Library/Frameworks/Houdini.framework/Versions/13.0.476/Resources/houdini/otls/OPlibScripted.otl
Vop/vectofloat otls/OPlibScripted.otl
Vop/geometryvopglobal /Library/Frameworks/Houdini.framework/Versions/13.0.476/Resources/houdini/otls/OPlibVop.otl
Vop/geometryvopglobal otls/OPlibVop.otl
Vop/pyroFieldNoiseOp /Library/Frameworks/Houdini.framework/Versions/13.0.476/Resources/houdini/otls/OPlibVop.otl
Vop/pyroFieldNoiseOp otls/OPlibVop.otl
Dop/smokeconfigureobject /Library/Frameworks/Houdini.framework/Versions/13.0.476/Resources/houdini/otls/OPlibDop.otl
Dop/smokeconfigureobject otls/OPlibDop.otl
Vop/dualrestsolver /Library/Frameworks/Houdini.framework/Versions/13.0.476/Resources/houdini/otls/OPlibVop.otl
Vop/dualrestsolver otls/OPlibVop.otl
Dop/gascombustion /Library/Frameworks/Houdini.framework/Versions/13.0.476/Resources/houdini/otls/OPlibDop.otl
Dop/gascombustion otls/OPlibDop.otl
Vop/pyroColorModel /Library/Frameworks/Houdini.framework/Versions/13.0.476/Resources/houdini/otls/OPlibVop.otl
Vop/pyroColorModel otls/OPlibVop.otl
Vop/inttofloat /Library/Frameworks/Houdini.framework/Versions/13.0.476/Resources/houdini/otls/OPlibScripted.otl
Vop/inttofloat otls/OPlibScripted.otl
Vop/typeconvertimpl /Library/Frameworks/Houdini.framework/Versions/13.0.476/Resources/houdini/otls/OPlibVop.otl
Vop/typeconvertimpl otls/OPlibVop.otl
Vop/mulconst /Library/Frameworks/Houdini.framework/Versions/13.0.476/Resources/houdini/otls/OPlibScripted.otl
Vop/mulconst otls/OPlibScripted.otl
Shop/scalarvolumenoise /Library/Frameworks/Houdini.framework/Versions/13.0.476/Resources/houdini/otls/OPlibShop.otl
Shop/scalarvolumenoise otls/OPlibShop.otl
Dop/null /Library/Frameworks/Houdini.framework/Versions/13.0.476/Resources/houdini/otls/OPlibDop.otl
Dop/null otls/OPlibDop.otl
Vop/invert /Library/Frameworks/Houdini.framework/Versions/13.0.476/Resources/houdini/otls/OPlibScripted.otl
Vop/invert otls/OPlibScripted.otl
Vop/modulo /Library/Frameworks/Houdini.framework/Versions/13.0.476/Resources/houdini/otls/OPlibScripted.otl
Vop/modulo otls/OPlibScripted.otl
Dop/smokesolver::2.0 /Library/Frameworks/Houdini.framework/Versions/13.0.476/Resources/houdini/otls/OPlibDop.otl
Dop/smokesolver::2.0 otls/OPlibDop.otl
Sop/dopimportfield /Library/Frameworks/Houdini.framework/Versions/13.0.476/Resources/houdini/otls/OPlibSop.otl
Sop/dopimportfield otls/OPlibSop.otl
Vop/fieldname /Library/Frameworks/Houdini.framework/Versions/13.0.476/Resources/houdini/otls/OPlibVop.otl
Vop/fieldname otls/OPlibVop.otl
Vop/typeconvert /Library/Frameworks/Houdini.framework/Versions/13.0.476/Resources/houdini/otls/OPlibVop.otl
Vop/typeconvert otls/OPlibVop.otl
Vop/importattrib /Library/Frameworks/Houdini.framework/Versions/13.0.476/Resources/houdini/otls/OPlibScripted.otl
Vop/importattrib otls/OPlibScripted.otl
Vop/pyroColorCorrect /Library/Frameworks/Houdini.framework/Versions/13.0.476/Resources/houdini/otls/OPlibVop.otl
Vop/pyroColorCorrect otls/OPlibVop.otl
Sop/pointjitter /Library/Frameworks/Houdini.framework/Versions/13.0.476/Resources/houdini/otls/OPlibSop.otl
Sop/pointjitter otls/OPlibSop.otl
Vop/smooth /Library/Frameworks/Houdini.framework/Versions/13.0.476/Resources/houdini/otls/OPlibScripted.otl
Vop/smooth otls/OPlibScripted.otl
Dop/pyrosolver::2.0 /Library/Frameworks/Houdini.framework/Versions/13.0.476/Resources/houdini/otls/OPlibDop.otl
Dop/pyrosolver::2.0 otls/OPlibDop.otl
Sop/attribwrangle /Library/Frameworks/Houdini.framework/Versions/13.0.476/Resources/houdini/otls/OPlibSop.otl
Sop/attribwrangle otls/OPlibSop.otl
Vop/ttwswitchimpl /Library/Frameworks/Houdini.framework/Versions/13.0.476/Resources/houdini/otls/OPlibVop.otl
Vop/ttwswitchimpl otls/OPlibVop.otl
Vop/efit /Library/Frameworks/Houdini.framework/Versions/13.0.476/Resources/houdini/otls/OPlibVop.otl
Vop/efit otls/OPlibVop.otl
Sop/platonic /Library/Frameworks/Houdini.framework/Versions/13.0.476/Resources/houdini/otls/OPlibSop.otl
Sop/platonic otls/OPlibSop.otl
Dop/gasadvectfield /Library/Frameworks/Houdini.framework/Versions/13.0.476/Resources/houdini/otls/OPlibDop.otl
Dop/gasadvectfield otls/OPlibDop.otl
Vop/length /Library/Frameworks/Houdini.framework/Versions/13.0.476/Resources/houdini/otls/OPlibScripted.otl
Vop/length otls/OPlibScripted.otl
Sop/matchaxis /Library/Frameworks/Houdini.framework/Versions/13.0.476/Resources/houdini/otls/OPlibSop.otl
Sop/matchaxis otls/OPlibSop.otl
Dop/gasresizefluiddynamic /Library/Frameworks/Houdini.framework/Versions/13.0.476/Resources/houdini/otls/OPlibDop.otl
Dop/gasresizefluiddynamic otls/OPlibDop.otl
Vop/fieldparm /Library/Frameworks/Houdini.framework/Versions/13.0.476/Resources/houdini/otls/OPlibVop.otl
Vop/fieldparm otls/OPlibVop.otl
Sop/attribfade /Library/Frameworks/Houdini.framework/Versions/13.0.476/Resources/houdini/otls/OPlibSop.otl
Sop/attribfade otls/OPlibSop.otl
Vop/inttovec /Library/Frameworks/Houdini.framework/Versions/13.0.476/Resources/houdini/otls/OPlibScripted.otl
Vop/inttovec otls/OPlibScripted.otl
Vop/contour /Library/Frameworks/Houdini.framework/Versions/13.0.476/Resources/houdini/otls/OPlibVop.otl
Vop/contour otls/OPlibVop.otl
Vop/unifiednoise /Library/Frameworks/Houdini.framework/Versions/13.0.476/Resources/houdini/otls/OPlibVop.otl
Vop/unifiednoise otls/OPlibVop.otl
Vop/volumevopoutput /Library/Frameworks/Houdini.framework/Versions/13.0.476/Resources/houdini/otls/OPlibVop.otl
Vop/volumevopoutput otls/OPlibVop.otl
Vop/twoway /Library/Frameworks/Houdini.framework/Versions/13.0.476/Resources/houdini/otls/OPlibScripted.otl
Vop/twoway otls/OPlibScripted.otl
Vop/fit /Library/Frameworks/Houdini.framework/Versions/13.0.476/Resources/houdini/otls/OPlibScripted.otl
Vop/fit otls/OPlibScripted.otl
Vop/pyroColorVolume /Library/Frameworks/Houdini.framework/Versions/13.0.476/Resources/houdini/otls/OPlibVop.otl
Vop/pyroColorVolume otls/OPlibVop.otl
Vop/addconst /Library/Frameworks/Houdini.framework/Versions/13.0.476/Resources/houdini/otls/OPlibScripted.otl
Vop/addconst otls/OPlibScripted.otl
Sop/dopio /Library/Frameworks/Houdini.framework/Versions/13.0.476/Resources/houdini/otls/OPlibSop.otl
Sop/dopio otls/OPlibSop.otl
Vop/aaflownoise /Library/Frameworks/Houdini.framework/Versions/13.0.476/Resources/houdini/otls/OPlibScripted.otl
Vop/aaflownoise otls/OPlibScripted.otl
Dop/gasturbulence /Library/Frameworks/Houdini.framework/Versions/13.0.476/Resources/houdini/otls/OPlibDop.otl
Dop/gasturbulence otls/OPlibDop.otl
Vop/rampfilter /Library/Frameworks/Houdini.framework/Versions/13.0.476/Resources/houdini/otls/OPlibVop.otl
Vop/rampfilter otls/OPlibVop.otl
Dop/linktosourceobject /Library/Frameworks/Houdini.framework/Versions/13.0.476/Resources/houdini/otls/OPlibDop.otl
Dop/linktosourceobject otls/OPlibDop.otl
Dop/smokeobject /Library/Frameworks/Houdini.framework/Versions/13.0.476/Resources/houdini/otls/OPlibDop.otl
Dop/smokeobject otls/OPlibDop.otl
Vop/pcfilter /Library/Frameworks/Houdini.framework/Versions/13.0.476/Resources/houdini/otls/OPlibScripted.otl
Vop/pcfilter otls/OPlibScripted.otl
Sop/pointsfromvolume /Library/Frameworks/Houdini.framework/Versions/13.0.476/Resources/houdini/otls/OPlibSop.otl
Sop/pointsfromvolume otls/OPlibSop.otl
Sop/volumevelocity /Library/Frameworks/Houdini.framework/Versions/13.0.476/Resources/houdini/otls/OPlibSop.otl
Sop/volumevelocity otls/OPlibSop.otl
Vop/distance /Library/Frameworks/Houdini.framework/Versions/13.0.476/Resources/houdini/otls/OPlibScripted.otl
Vop/distance otls/OPlibScripted.otl
Vop/addattrib /Library/Frameworks/Houdini.framework/Versions/13.0.476/Resources/houdini/otls/OPlibScripted.otl
Vop/addattrib otls/OPlibScripted.otl
Vop/softclip /Library/Frameworks/Houdini.framework/Versions/13.0.476/Resources/houdini/otls/OPlibVop.otl
Vop/softclip otls/OPlibVop.otl
Vop/pcopen /Library/Frameworks/Houdini.framework/Versions/13.0.476/Resources/houdini/otls/OPlibScripted.otl
Vop/pcopen otls/OPlibScripted.otl
Dop/gasdisturb /Library/Frameworks/Houdini.framework/Versions/13.0.476/Resources/houdini/otls/OPlibDop.otl
Dop/gasdisturb otls/OPlibDop.otl
Vop/pyroBlackbody /Library/Frameworks/Houdini.framework/Versions/13.0.476/Resources/houdini/otls/OPlibVop.otl
Vop/pyroBlackbody otls/OPlibVop.otl
0707070000010000000006660000000000000000010000001237543420600001500004107224.OPdummydefs INDX           X   INDEX_SECTION      1sS8   Vop/vectohvec  1s  S7   Vop/dualaarampparm  4  #rS7   Vop/volumevopglobal  W  S7   Vop/aarampparm  ^<  $yS7   Dop/sourcevolume    $2S7   Vop/dualrest    #S7   Vop/pow    ZS7   Sop/fluidsource    |S7   Dop/gasvortexconfinement N  S7   Vop/normalize i  AS5   
Vop/limits o  *XS7   Vop/curlnoise [  S7   Vop/pyroNoiseSpace *  S7   Vop/pyroDisplace   S7   Vop/pyroField   ES7   	Vop/align K  S7   Vop/pyroDensityVolume H  S7   Vop/floattovec =  S0   
Vop/negate   sS7   	Vop/clamp t  	S1   Vop/pyroShade   *OS7   
Vop/random `  mS7   Sop/pointwrangle   S7   Vop/not   S0   Shop/pyro::2.0  S7   Dop/gasshred rZ  !S7   Vop/pyroNoise   AlS7   Vop/complement z  S7   Dop/gaslocalsharpen m  QS7   	Vop/cross   S7   Vop/ttwswitch o  S7   Vop/vectofloat {  0S7   Vop/geometryvopglobal   S7   Vop/pyroFieldNoiseOp   ,S7   Dop/smokeconfigureobject  ~=S7   Vop/dualrestsolver 	6  xS7   Dop/gascombustion 	Pd  'S7   Vop/pyroColorModel 	^  :S7   Vop/inttofloat 	  S7   Vop/typeconvertimpl 	  S7   Vop/mulconst 	  uS7   Shop/scalarvolumenoise 	k  S7   Dop/null 	I  S7   
Vop/invert 	  $S7   
Vop/modulo 	  S7   Dop/smokesolver::2.0 	Е  ;S7   Sop/dopimportfield 
]  S7   Vop/fieldname 
%=  bS7   Vop/typeconvert 
-  oS7   Vop/importattrib 
6  S0   Vop/pyroColorCorrect 
;  'S7   Sop/pointjitter 
Y  S7   
Vop/smooth 
_  S7   Dop/pyrosolver::2.0 
d  S7   Sop/attribwrangle 6  S7   Vop/ttwswitchimpl E1  S7   Vop/efit 	O  {S7   Sop/platonic $  lS7   Dop/gasadvectfield )6  
S7   
Vop/length 4'  S1   Sop/matchaxis 9  wS7   Dop/gasresizefluiddynamic =  oS7   Vop/fieldparm S  S7   Sop/attribfade k  S0   Vop/inttovec x  S7   Vop/contour {  S7   Vop/unifiednoise   KS7   Vop/volumevopoutput ڍ  cS7   
Vop/twoway   S0   Vop/fit   aS1O   Vop/pyroColorVolume   S7   Vop/addconst   S7   	Sop/dopio   7	S7   Vop/aaflownoise   
S1    Dop/gasturbulence v  oS7   Vop/rampfilter &  'S7   Dop/linktosourceobject N  S7   Dop/smokeobject S S7   Vop/pcfilter   kS7   Sop/pointsfromvolume   S7   Sop/volumevelocity _  %<S7   Vop/distance <  S7   Vop/addattrib @  S0   Vop/softclip I  |S7   
Vop/pcopen [  S7   Dop/gasdisturb `  S7   Vop/pyroBlackbody r  TS7   W      	vectohvec   Vector To Vector4   "oplib:/Vop/vectohvec?Vop/vectohvec   VOP_vectohvec           Vop   vop   VOPall                S8        dualaarampparm    Dual Anti-Aliased Ramp Parameter   ,oplib:/Vop/dualaarampparm?Vop/dualaarampparm   VOP_dualaarampparm           Vop                       S8       volumevopglobal   Volume VOP Global Parameters   .oplib:/Vop/volumevopglobal?Vop/volumevopglobal   VOP_volumevexglobal           Vop               cvex        S8       
aarampparm   Anti-Aliased Ramp Parameter   $oplib:/Vop/aarampparm?Vop/aarampparm   VOP_aarampparm           Vop                       S8       sourcevolume   Source Volume   (oplib:/Dop/sourcevolume?Dop/sourcevolume   
SOP_volume           Dop                       S8       dualrest   	Dual Rest    oplib:/Vop/dualrest?Vop/dualrest   VOP_dualrest           Vop                       S8       pow   Power   oplib:/Vop/pow?Vop/pow   VOP_pow           Vop   vop   VOPall       *        S8        fluidsource   Fluid Source   &oplib:/Sop/fluidsource?Sop/fluidsource   
SOP_volume           Sop                      S8       gasvortexconfinement   Gas Vortex Confinement   8oplib:/Dop/gasvortexconfinement?Dop/gasvortexconfinement   DOP_gas           Dop                        S8       	normalize   	Normalize   "oplib:/Vop/normalize?Vop/normalize   VOP_normalize           Vop   vop   VOPall       *        S8        limits   Limits   oplib:/Vop/limits?Vop/limits   
VOP_limits           Vop                       S8        	curlnoise   
Curl Noise   "oplib:/Vop/curlnoise?Vop/curlnoise   VOP_curlnoise           Vop   vop   VOPall                S8        pyroNoiseSpace   Pyro Noise Space   ,oplib:/Vop/pyroNoiseSpace?Vop/pyroNoiseSpace   VOP_pyroNoiseSpace           Vop                       S8        pyroDisplace   Pyro Displace   (oplib:/Vop/pyroDisplace?Vop/pyroDisplace   VOP_pyroShade           Vop                       S8        	pyroField   
Pyro Field   "oplib:/Vop/pyroField?Vop/pyroField   VOP_pyroField           Vop                       S8       align   Align   oplib:/Vop/align?Vop/align   	VOP_align           Vop   vop   VOPall                S8        pyroDensityVolume   Pyro Density Volume   2oplib:/Vop/pyroDensityVolume?Vop/pyroDensityVolume   VOP_pyroDensityVolume           Vop                       2S8       
floattovec   Float To Vector   $oplib:/Vop/floattovec?Vop/floattovec   VOP_floattovec           Vop   vop   VOPall       *        S8        negate   Negate   oplib:/Vop/negate?Vop/negate   
VOP_negate           Vop   vop   VOPall       *        S8        clamp   Clamp   oplib:/Vop/clamp?Vop/clamp   	VOP_clamp           Vop   vop   VOPall       *        S8        	pyroShade   
Pyro Shade   "oplib:/Vop/pyroShade?Vop/pyroShade   VOP_pyroShade           Vop                       S8        random   Random   oplib:/Vop/random?Vop/random   
VOP_random           Vop   vop   VOPall       *        S8        pointwrangle   Point Wrangle   (oplib:/Sop/pointwrangle?Sop/pointwrangle   SOP_pointwrangle           Sop                       S8       not   Not   oplib:/Vop/not?Vop/not   VOP_not           Vop   vop   VOPall       *        S8        	pyro::2.0   Pyro   $oplib:/Shop/pyro::2.0?Shop/pyro::2.0   	SHOP_pyro           Shop               >subtype=vopnet shadertype=vopmaterial rendermask='VMantra OGL'        S8        gasshred   	Gas Shred    oplib:/Dop/gasshred?Dop/gasshred   DOP_gas           Dop                        S8       	pyroNoise   
Pyro Noise   "oplib:/Vop/pyroNoise?Vop/pyroNoise   VOP_pyroNoise           Vop                       #S8       
complement   
Complement   $oplib:/Vop/complement?Vop/complement   VOP_complement           Vop   vop   VOPall       *        S8        gaslocalsharpen   Gas Local Sharpen   .oplib:/Dop/gaslocalsharpen?Dop/gaslocalsharpen   DOP_gas           Dop                        S8       cross   Cross Product   oplib:/Vop/cross?Vop/cross   	VOP_cross           Vop   vop   VOPall       *        S8        	ttwswitch   Typed Two Way Switch   "oplib:/Vop/ttwswitch?Vop/ttwswitch   VOP_ttwswitch           Vop                       S8       
vectofloat   Vector To Float   $oplib:/Vop/vectofloat?Vop/vectofloat   VOP_vectofloat           Vop   vop   VOPall       *        S8        geometryvopglobal   Geometry VOP Global Parameters   2oplib:/Vop/geometryvopglobal?Vop/geometryvopglobal   VOP_geometryvopglobal           Vop               cvex        S8       pyroFieldNoiseOp   Pyro Field-Noise Op   0oplib:/Vop/pyroFieldNoiseOp?Vop/pyroFieldNoiseOp   VOP_pyroSigNoiseOp           Vop                       S8        smokeconfigureobject   Smoke Configure Object   8oplib:/Dop/smokeconfigureobject?Dop/smokeconfigureobject   DOP_smokeobject           Dop                      S8       dualrestsolver   Dual Rest Solver   ,oplib:/Vop/dualrestsolver?Vop/dualrestsolver   VOP_dualrestsolver           Vop                       	S8        gascombustion   Gas Combustion   *oplib:/Dop/gascombustion?Dop/gascombustion   DOP_gascombustion           Dop                        S8       pyroColorModel   Pyro Color Model   ,oplib:/Vop/pyroColorModel?Vop/pyroColorModel   VOP_pyroColorModel           Vop                        S8       
inttofloat   Integer To Float   $oplib:/Vop/inttofloat?Vop/inttofloat   VOP_inttofloat           Vop   vop   VOPall                S8        typeconvertimpl   Type Convert Implementation   .oplib:/Vop/typeconvertimpl?Vop/typeconvertimpl   VOP_typepromote           Vop                       S8        mulconst   Multiply Constant    oplib:/Vop/mulconst?Vop/mulconst   VOP_mulconst           Vop   vop   VOPall       *        S8        scalarvolumenoise   System Scalar Volume Noise   4oplib:/Shop/scalarvolumenoise?Shop/scalarvolumenoise   SHOP_generic           Shop               cvex        S8        null   Null   oplib:/Dop/null?Dop/null   DOP_null           Dop                       S8       invert   Invert   oplib:/Vop/invert?Vop/invert   
VOP_invert           Vop   vop   VOPall                S8        modulo   Modulo   oplib:/Vop/modulo?Vop/modulo   
VOP_modulo           Vop   vop   VOPall       *        S8        smokesolver::2.0   Smoke Solver   0oplib:/Dop/smokesolver::2.0?Dop/smokesolver::2.0   DOP_smokesolver           Dop                      S8       dopimportfield   Dop Import Fields   ,oplib:/Sop/dopimportfield?Sop/dopimportfield   SOP_dopimport           Sop                        S8       	fieldname   
Field Name   "oplib:/Vop/fieldname?Vop/fieldname   VOP_fieldname           Vop                       S8        typeconvert   Type Convert   &oplib:/Vop/typeconvert?Vop/typeconvert   VOP_typeconvert           Vop                       S8       importattrib   Import Attribute   (oplib:/Vop/importattrib?Vop/importattrib   VOP_importattrib           Vop   vop   VOPall       sop pop        S8        pyroColorCorrect   Pyro Color Correct   0oplib:/Vop/pyroColorCorrect?Vop/pyroColorCorrect   VOP_colorcorrect           Vop                       S8        pointjitter   PointJitter   &oplib:/Sop/pointjitter?Sop/pointjitter   SOP_pointjitter           Sop                      S8       smooth   Smooth   oplib:/Vop/smooth?Vop/smooth   
VOP_smooth           Vop   vop   VOPall       *        S8        pyrosolver::2.0   Pyro Solver   .oplib:/Dop/pyrosolver::2.0?Dop/pyrosolver::2.0   DOP_pyrosolver           Dop                      S8       attribwrangle   AttribWrangle   *oplib:/Sop/attribwrangle?Sop/attribwrangle   SOP_attribwrangle           Sop                      S8       ttwswitchimpl   Typed Two Way Switch Impl   *oplib:/Vop/ttwswitchimpl?Vop/ttwswitchimpl   VOP_arrayswitch           Vop                       S8        efit   Fit Range Unclamped   oplib:/Vop/efit?Vop/efit   VOP_efit           Vop                       S8        platonic   Platonic Solids    oplib:/Sop/platonic?Sop/platonic   SOP_platonic           Sop   subnet   SUBsop                S8       gasadvectfield   Gas Advect Field   ,oplib:/Dop/gasadvectfield?Dop/gasadvectfield   DOP_gas           Dop                        S8       length   Length   oplib:/Vop/length?Vop/length   
VOP_length           Vop   vop   VOPall       *        S8        	matchaxis   
Match Axis   "oplib:/Sop/matchaxis?Sop/matchaxis   SOP_matchaxis           Sop                      S8       gasresizefluiddynamic   Gas Resize Fluid Dynamic   :oplib:/Dop/gasresizefluiddynamic?Dop/gasresizefluiddynamic   DOP_resizefluid           Dop                        S8       	fieldparm   Field Parameter   "oplib:/Vop/fieldparm?Vop/fieldparm   
VOP_vfield           Vop                       S8       
attribfade   
AttribFade   $oplib:/Sop/attribfade?Sop/attribfade   SOP_attribfade           Sop                      S8       inttovec   Integer To Vector    oplib:/Vop/inttovec?Vop/inttovec   VOP_inttovec           Vop   vop   VOPall                S8        contour   Contour   oplib:/Vop/contour?Vop/contour   VOP_contour           Vop                       S8        unifiednoise   Unified Noise   (oplib:/Vop/unifiednoise?Vop/unifiednoise   VOP_unifiednoise           Vop                       !S8        volumevopoutput   Volume VOP Output   .oplib:/Vop/volumevopoutput?Vop/volumevopoutput   VOP_volumevexoutput           Vop               cvex       S8       twoway   Two Way Switch   oplib:/Vop/twoway?Vop/twoway   
VOP_twoway           Vop   vop   VOPall       *        S8        fit   	Fit Range   oplib:/Vop/fit?Vop/fit   VOP_fit           Vop   vop   VOPall       *        S8        pyroColorVolume   Pyro Color Volume   .oplib:/Vop/pyroColorVolume?Vop/pyroColorVolume   VOP_pyroColorVolume           Vop                       OS8       addconst   Add Constant    oplib:/Vop/addconst?Vop/addconst   VOP_addconst           Vop   vop   VOPall       *        S8        dopio   Dop I/O   oplib:/Sop/dopio?Sop/dopio   SOP_dopimport           Sop                        S8       aaflownoise   Anti-Aliased Flow Noise   &oplib:/Vop/aaflownoise?Vop/aaflownoise   VOP_aaflownoise           Vop   vop   VOPall                S8        gasturbulence   Gas Turbulence   *oplib:/Dop/gasturbulence?Dop/gasturbulence   DOP_gasfieldvop           Dop                        S8       
rampfilter   Ramp Filter   $oplib:/Vop/rampfilter?Vop/rampfilter   
VOP_aaramp           Vop                       S8        linktosourceobject   Link To Source Object   4oplib:/Dop/linktosourceobject?Dop/linktosourceobject   DOP_linktosourceobject           Dop                       S8       smokeobject   Smoke Object   &oplib:/Dop/smokeobject?Dop/smokeobject   DOP_smokeobject           Dop                        S8       pcfilter   Point Cloud Filter    oplib:/Vop/pcfilter?Vop/pcfilter   VOP_pcfilter           Vop   vop   VOPall                S8        pointsfromvolume   Points from Volume   0oplib:/Sop/pointsfromvolume?Sop/pointsfromvolume   SOP_pointsfromvolume           Sop               guide=./FINAL_VOLUME       S8       volumevelocity   Volume Velocity   ,oplib:/Sop/volumevelocity?Sop/volumevelocity   SOP_volumevelocity           Sop                      S8       distance   Distance    oplib:/Vop/distance?Vop/distance   VOP_distance           Vop   vop   VOPall       *        S8        	addattrib   Add Attribute   "oplib:/Vop/addattrib?Vop/addattrib   VOP_addattrib           Vop   vop   VOPall       sop pop        S8        softclip   	Soft Clip    oplib:/Vop/softclip?Vop/softclip   VOP_contour           Vop                       S8        pcopen   Point Cloud Open   oplib:/Vop/pcopen?Vop/pcopen   
VOP_pcopen           Vop   vop   VOPall                S8        
gasdisturb   Gas Disturbance   $oplib:/Dop/gasdisturb?Dop/gasdisturb   DOP_gas           Dop                        S8       pyroBlackbody   Pyro Blackbody   *oplib:/Vop/pyroBlackbody?Vop/pyroBlackbody   VOP_pyroBlackbody           Vop                       S8  INDX              DialogScript      zR//*
 * PROPRIETARY INFORMATION.  This software is proprietary to
 * Side Effects Software Inc., and is not to be reproduced,
 * transmitted, or disclosed in any way without written permission.
 *
 * Produced by:
 *	Side Effects Software Inc
 *	477 Richmond Street West
 *	Toronto, Ontario
 *	Canada   M5V 3E7
 *	416-504-9876
 *
 */

#include <parameter.ds>

{
    name	"vectohvec"
    script	"vectohvec"
    label	"vectohvec"


    code {
	"$hvec = $vec;"
	"setcomp($hvec, $fval4, 3);"
    }

    VOP_VEC_INPUT(	vec,	"Input Vector", 0, 0, 0)
    VOP_FLT_INPUT(	fval4,	"Fourth Component", 0)
    output	vector4	hvec	"Output Vector4"
}

INDX              Contents       WS7   DialogScript   W  "OE!50707070000010000000006660000000000000000010000001237543365700001300000000000TRAILER!!! # Dialog script for dualaarampparm automatically generated 02/22/12 12:09:09

{
    name	dualaarampparm
    script	rampparmx
    label	"Dual Anti-Aliased Ramp Parameter"

    outercode {
	""
    }

    input	float	pos	"Ramp Lookup Position"
    input	float	rangemin	"Range Min"
    input	float	rangemax	"Range Max"
    input	string	spacename	"Name Of Color Space (rgb,hsl,hsv,Lab,XYZ)"
    input	string	gammaname	"Name Of Gamma Space (linear,srgb,custom)"
    input	float	gammaval	"Custom Gamma Value"
    input	float	fw	"Filter Width Override"
    input	float	fscale	"Filter Scale"
    output	float	ramp	ramp
    inputflags	pos	0
    inputflags	rangemin	0
    inputflags	rangemax	0
    inputflags	spacename	0
    inputflags	gammaname	0
    inputflags	gammaval	0
    inputflags	fw	0
    inputflags	fscale	0
    signature	"1D Lookup"	default	{ float float float string string float float float float }
    signature	"3D Lookup"	v	{ vector float float string string float float float vector }
    signature	"4D Lookup"	p	{ vector4 float float string string float float float vector }

    outputoverrides	default
    {
	___begin	auto
			(0)
    }
    outputoverrides	v
    {
	___begin	auto
			(0,0,0)
    }
    outputoverrides	p
    {
	___begin	auto
			(0,0,0)
    }

    help {
	""
    }

    parm {
	name	"signature"
	baseparm
	export	none
    }
    parm {
	name	"spacer"
	label	"spacer"
	type	label
	nolabel
	default	{ "" }
	range	{ 0 1 }
	export	none
    }
    parm {
	name	"makeui"
	label	"Promote Interface"
	type	button
	nolabel
	default	{ "0" }
	menu	{
	    [ "import pyro2" ]
	    [ "return pyro2.makeuimenu()" ]
	    language	python
	}
	range	{ 0 1 }
	export	none
	parmtag	{ "script_callback_language" "python" }
	parmtag	{ "script_callback" "hou.phm().uiCreate(kwargs)" }
    }
    group {
	name	"folder0"
	label	"VOP Parameters"

	parm {
	    name	"active"
	    label	"Active"
	    type	toggle
	    default	{ "on" }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"rampparm"
	    label	"Unique Ramp Name"
	    type	string
	    default	{ "uniquerampname" }
	    disablewhen	"{ active == 0 }"
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"disablewhen"
	    label	"Disable When"
	    type	string
	    default	{ [ "ch('ui_dwhen') + ' ' + '{ %s%s%s 0 }'%(ch('ui_prefix'),ch('ui_activename'),ch('ui_postfix'))" python ] }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"callback"
	    label	"Callback Script"
	    type	string
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"help"
	    label	"Help"
	    type	string
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"spacer2"
	    label	"spacer"
	    type	label
	    nolabel
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"ramptype"
	    label	"Ramp Type"
	    type	ordinal
	    default	{ "0" }
	    disablewhen	"{ active == 0 }"
	    menu	{
		"flt"	"Float Spline"
		"rgb"	"Color Ramp"
	    }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "script_callback_language" "python" }
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"spacename"
	    label	"Color Space"
	    type	string
	    default	{ "rgb" }
	    disablewhen	"{ active == 0 } { ramptype == flt }"
	    menu	{
		"rgb"	"RGB"
		"hsv"	"HSV"
		"Lab"	"LAB"
		"hsl"	"HSL"
		"XYZ"	"XYZ"
	    }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"gammaname"
	    label	"Color Space Gamma"
	    type	string
	    joinnext
	    default	{ "linear" }
	    disablewhen	"{ active == 0 }"
	    menu	{
		"linear"	"Linear"
		"srgb"	"sRGB"
		"custom"	"Custom"
	    }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"gammaval"
	    label	"Gamma Value"
	    type	float
	    nolabel
	    default	{ "2.2" }
	    disablewhen	"{ active == 0 } { gammaname != custom }"
	    range	{ 0.0001! 4 }
	    export	none
	}
	parm {
	    name	"rangemin"
	    label	"Ramp Interval"
	    type	float
	    joinnext
	    default	{ "0" }
	    disablewhen	"{ active == 0 }"
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"rangemax"
	    label	"Max"
	    type	float
	    nolabel
	    default	{ "1" }
	    disablewhen	"{ active == 0 }"
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"lbt"
	    label	"Ramp boundaries"
	    type	string
	    joinnext
	    default	{ "hold" }
	    disablewhen	"{ active == 0 }"
	    menu	{
		"hold"	"Hold"
		"cycle"	"Cycle"
		"accum"	"Cycle-Accumulate"
		"mirror"	"Mirror"
		"slope"	"Slope"
	    }
	    range	{ 0 1 }
	    export	none
	    unquoted
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"rbt"
	    label	"Right"
	    type	string
	    nolabel
	    default	{ "hold" }
	    disablewhen	"{ active == 0 }"
	    menu	{
		"hold"	"Hold"
		"cycle"	"Cycle"
		"accum"	"Cycle-Accumulate"
		"mirror"	"Mirror"
		"slope"	"Slope"
	    }
	    range	{ 0 1 }
	    export	none
	    unquoted
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"ftype"
	    label	"Type"
	    type	string
	    joinnext
	    default	{ "point" }
	    disablewhen	"{ active == 0 }"
	    menu	{
		"point"	"Point"
		"box"	"Box"
		"gauss"	"Gaussian"
	    }
	    range	{ 0 1 }
	    export	none
	    unquoted
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"fscale"
	    label	"Filter Scale"
	    type	float
	    default	{ "1" }
	    disablewhen	"{ active == 0 } { ftype == point }"
	    range	{ 0 2 }
	    export	none
	}
    }

    group {
	name	"folder0_1"
	label	"UI Promotion"

	parm {
	    name	"ui_prefix"
	    label	"Parameter Prefix"
	    type	string
	    joinnext
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"ui_postfix"
	    label	"Postfix"
	    type	string
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"ui_infolder"
	    label	"ui_infolder"
	    type	toggle
	    nolabel
	    joinnext
	    default	{ "0" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"ui_foldername"
	    label	"Create In Folder"
	    type	string
	    default	{ [ "node('.').creator().relativePathTo(node('.')).replace('/','_')" python ] }
	    disablewhen	"{ ui_infolder == 0 }"
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"spacer3"
	    label	"spacer"
	    type	label
	    nolabel
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"ui_withactive"
	    label	"Add Active Toggle"
	    type	toggle
	    joinnext
	    default	{ "1" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"leftalign"
	    label	"spacer"
	    type	label
	    nolabel
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"ui_activename"
	    label	"Active Name"
	    type	string
	    default	{ "active" }
	    disablewhen	"{ ui_withactive == 0 }"
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"ui_activelabel"
	    label	"Active Label"
	    type	string
	    default	{ "Enable Ramp" }
	    disablewhen	"{ ui_withactive == 0 }"
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"ui_initactive"
	    label	"Initial Active State"
	    type	toggle
	    default	{ "0" }
	    disablewhen	"{ ui_withactive == 0 }"
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"spacer4"
	    label	"spacer"
	    type	label
	    nolabel
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"ui_initcspace"
	    label	"Default Color Space"
	    type	string
	    default	{ [ "chs(spacename)" hscript-expr ] }
	    menu	{
		"rgb"	"RGB"
		"hsv"	"HSV"
		"lab"	"LAB"
		"hsl"	"HSL"
		"xyz"	"XYZ"
	    }
	    range	{ 0 1 }
	    export	none
	    unquoted
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"ui_initgammatype"
	    label	"Default Gamma Type"
	    type	string
	    joinnext
	    default	{ [ "chs(gammaname)" hscript-expr ] }
	    menu	{
		"linear"	"Linear"
		"srgb"	"sRGB"
		"custom"	"Custom"
	    }
	    range	{ 0 1 }
	    export	none
	    unquoted
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"ui_initgammaval"
	    label	"Value"
	    type	float
	    default	{ [ "ch(gammaval)" hscript-expr ] }
	    disablewhen	"{ ui_initgammatype != custom }"
	    range	{ 0.0001! 4 }
	    export	none
	    parmtag	{ "script_unquoted" "1" }
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"leftalign3"
	    label	"spacer"
	    type	label
	    nolabel
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"ui_dwhen"
	    label	"Extra Disable When"
	    type	string
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	}
    }

}
INDX              Contents       WS7   DialogScript   W  QGO0707070000010000000006660000000000000000010000001237543365600001300000000000TRAILER!!! # Dialog script for volumevopglobal automatically generated 03/18/13 13:32:00

{
    name	volumevopglobal
    script	volumevexglobal
    label	"Volume VOP Global Parameters"

    output	vector	P	P
    output	float	density	density
    output	int	ix	ix
    output	int	iy	iy
    output	int	iz	iz
    output	int	resx	resx
    output	int	resy	resy
    output	int	resz	resz
    output	vector	center	center
    output	vector	orig	orig
    output	vector	size	size
    output	vector	dPdx	dPdx
    output	vector	dPdy	dPdy
    output	vector	dPdz	dPdz
    output	vector	BB	BB
    output	float	Time	Time
    output	float	Timeinc	Timeinc
    output	float	Frame	Frame
    output	string	OpInput1	OpInput1
    output	string	OpInput2	OpInput2
    output	string	OpInput3	OpInput3
    output	string	OpInput4	OpInput4
    signature	"Default Inputs"	default	{ vector float int int int int int int vector vector vector vector vector vector vector float float float string string string string }

    outputoverrides	default
    {
	___begin	auto
			(0,0,0)
	___begin	auto
			(0)
	___begin	auto
			(0)
	___begin	auto
			(0)
	___begin	auto
			(0)
	___begin	auto
			(0)
	___begin	auto
			(0)
	___begin	auto
			(0)
	___begin	auto
			(0,0,0)
	___begin	auto
			(0,0,0)
	___begin	auto
			(0,0,0)
	___begin	auto
			(0,0,0)
	___begin	auto
			(0,0,0)
	___begin	auto
			(0,0,0)
	___begin	auto
			(0,0,0)
	___begin	auto
			(0)
	___begin	auto
			(0)
	___begin	auto
			(0)
	___begin	auto
			("")
	___begin	auto
			("")
	___begin	auto
			("")
	___begin	auto
			("")
    }

    help {
	""
    }

}
INDX              Contents       WS7   DialogScript   W  #OE 0707070000010000000006660000000000000000010000001237543365700001300000000000TRAILER!!! # Dialog script for aarampparm automatically generated 02/22/12 12:07:18

{
    name	aarampparm
    script	rampparmx
    label	"Anti-Aliased Ramp Parameter"

    outercode {
	""
    }

    code {
	""
    }

    input	float	pos	"Ramp Lookup Position"
    input	float	rangemin	"Range Min"
    input	float	rangemax	"Range Max"
    input	string	spacename	"Name Of Color Space (rgb,hsl,hsv,Lab,XYZ)"
    input	string	gammaname	"Name Of Gamma Space (linear,srgb,custom)"
    input	float	gammaval	"Custom Gamma Value"
    input	float	fw	"Filter Width Override"
    input	float	fscale	"Filter Scale"
    output	vector	ramp	ramp
    inputflags	pos	0
    inputflags	rangemin	0
    inputflags	rangemax	0
    inputflags	spacename	0
    inputflags	gammaname	0
    inputflags	gammaval	0
    inputflags	fw	0
    inputflags	fscale	0
    signature	"1D Lookup, 1D Ramp"	default	{ float float float string string float float float vector }
    signature	"3D Lookup, 1D Ramp"	vf	{ vector float float string string float float float vector }
    signature	"4D Lookup, 1D Ramp"	pf	{ vector4 float float string string float float float vector }
    signature	"1D Lookup, 3D Ramp"	fv	{ vector float float string string float float float vector }
    signature	"3D Lookup, 3D Ramp"	vv	{ vector float float string string float float float float }
    signature	"4D Lookup, 3D Ramp"	pv	{ float float float string string float float float float }

    outputoverrides	default
    {
	___begin	auto
			(0,0,0)
    }
    outputoverrides	vf
    {
	___begin	auto
			(0,0,0)
    }
    outputoverrides	pf
    {
	___begin	auto
			(0,0,0)
    }
    outputoverrides	fv
    {
	___begin	auto
			(0,0,0)
    }
    outputoverrides	vv
    {
	___begin	auto
			(0)
    }
    outputoverrides	pv
    {
	___begin	auto
			(0)
    }

    help {
	""
    }

    parm {
	name	"signature"
	baseparm
	invisible
	export	none
    }
    parm {
	name	"spacer2"
	label	"spacer"
	type	label
	nolabel
	default	{ "" }
	range	{ 0 1 }
	export	none
    }
    parm {
	name	"makeui"
	label	"Promote Interface"
	type	button
	nolabel
	default	{ "0" }
	menu	{
	    [ "import pyro2" ]
	    [ "return pyro2.makeuimenu()" ]
	    language	python
	}
	range	{ 0 1 }
	export	none
	parmtag	{ "script_callback_language" "python" }
	parmtag	{ "script_callback" "hou.phm().uiCreate(kwargs)" }
    }
    group {
	name	"folder0"
	label	"VOP Parameters"

	parm {
	    name	"active"
	    label	"Active"
	    type	toggle
	    default	{ "on" }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"rampparm"
	    label	"Unique Ramp Name"
	    type	string
	    default	{ "rampparm" }
	    disablewhen	"{ active == 0 }"
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"parmlabel"
	    label	"Label"
	    type	string
	    default	{ "Lookup Ramp" }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"disablewhen"
	    label	"Disable When"
	    type	string
	    default	{ [ "'{ %sactive%s 0 }'%(ch('ui_prefix'),ch('ui_postfix'))" python ] }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"hidewhen"
	    label	"Hide When"
	    type	string
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"callback"
	    label	"Callback Script"
	    type	string
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"help"
	    label	"Help"
	    type	string
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"spacer3"
	    label	"spacer"
	    type	label
	    nolabel
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"ramptype"
	    label	"Ramp Type"
	    type	ordinal
	    joinnext
	    default	{ "0" }
	    disablewhen	"{ active == 0 }"
	    menu	{
		"rgb"	"Color Ramp"
		"flt"	"Float Spline"
	    }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "script_callback_language" "python" }
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"spacename"
	    label	"Space"
	    type	string
	    default	{ "rgb" }
	    disablewhen	"{ active == 0 }"
	    menu	{
		"rgb"	"RGB"
		"hsv"	"HSV"
		"Lab"	"LAB"
		"hsl"	"HSL"
		"XYZ"	"XYZ"
	    }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"gammaname"
	    label	"Gamma"
	    type	string
	    joinnext
	    default	{ "linear" }
	    disablewhen	"{ active == 0 }"
	    menu	{
		"linear"	"Linear"
		"srgb"	"sRGB"
		"custom"	"Custom"
	    }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"gammaval"
	    label	"Gamma Value"
	    type	float
	    nolabel
	    default	{ "2.2" }
	    disablewhen	"{ active == 0 } { gammaname != custom }"
	    range	{ 0.0001! 4 }
	    export	none
	    parmtag	{ "script_unquoted" "1" }
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"rangemin"
	    label	"Ramp Interval"
	    type	float
	    joinnext
	    default	{ "0" }
	    disablewhen	"{ active == 0 }"
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"rangemax"
	    label	"Max"
	    type	float
	    nolabel
	    default	{ "1" }
	    disablewhen	"{ active == 0 }"
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"lbt"
	    label	"Ramp boundaries"
	    type	string
	    joinnext
	    default	{ "hold" }
	    disablewhen	"{ active == 0 }"
	    menu	{
		"hold"	"Hold"
		"cycle"	"Cycle"
		"accum"	"Cycle-Accumulate"
		"mirror"	"Mirror"
		"slope"	"Slope"
	    }
	    range	{ 0 1 }
	    export	none
	    unquoted
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"rbt"
	    label	"Right"
	    type	string
	    nolabel
	    default	{ "hold" }
	    disablewhen	"{ active == 0 }"
	    menu	{
		"hold"	"Hold"
		"cycle"	"Cycle"
		"accum"	"Cycle-Accumulate"
		"mirror"	"Mirror"
		"slope"	"Slope"
	    }
	    range	{ 0 1 }
	    export	none
	    unquoted
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"ftype"
	    label	"Filter"
	    type	string
	    joinnext
	    default	{ "point" }
	    disablewhen	"{ active == 0 }"
	    menu	{
		"point"	"Point"
		"box"	"Box"
		"gauss"	"Gaussian"
	    }
	    range	{ 0 1 }
	    export	none
	    unquoted
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"fscale"
	    label	"Scale"
	    type	float
	    default	{ "1" }
	    disablewhen	"{ active == 0 } { ftype == point }"
	    range	{ 0 2 }
	    export	none
	}
    }

    group {
	name	"folder0_1"
	label	"UI Promotion"

	parm {
	    name	"ui_prefix"
	    label	"Parameter Prefix"
	    type	string
	    joinnext
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"ui_postfix"
	    label	"Postfix"
	    type	string
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"ui_infolder"
	    label	"ui_infolder"
	    type	toggle
	    nolabel
	    joinnext
	    default	{ "0" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"ui_foldername"
	    label	"Create In Folder"
	    type	string
	    default	{ [ "node('.').creator().relativePathTo(node('.')).replace('/','_')" python ] }
	    disablewhen	"{ ui_infolder == 0 }"
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"spacer"
	    label	"spacer"
	    type	label
	    nolabel
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"ui_withactive"
	    label	"Include Enable Switch"
	    type	toggle
	    joinnext
	    default	{ "1" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"leftalign"
	    label	"spacer"
	    type	label
	    nolabel
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"ui_style"
	    label	"Promoted Ramp Type"
	    type	ordinal
	    default	{ [ "ch(ramptype)" hscript-expr ] }
	    menu	{
		"rgb"	"Color Ramp"
		"flt"	"Float Ramp"
	    }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "script_callback_language" "python" }
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"ui_initcspace"
	    label	"Default Color Space"
	    type	string
	    default	{ [ "chs(spacename)" hscript-expr ] }
	    menu	{
		"rgb"	"RGB"
		"hsv"	"HSV"
		"lab"	"LAB"
		"hsl"	"HSL"
		"xyz"	"XYZ"
	    }
	    range	{ 0 1 }
	    export	none
	    unquoted
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"ui_initgammatype"
	    label	"Default Gamma Type"
	    type	string
	    joinnext
	    default	{ [ "chs(gammaname)" hscript-expr ] }
	    menu	{
		"linear"	"Linear"
		"srgb"	"sRGB"
		"custom"	"Custom"
	    }
	    range	{ 0 1 }
	    export	none
	    unquoted
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"ui_initgammaval"
	    label	"Value"
	    type	float
	    default	{ [ "ch(gammaval)" hscript-expr ] }
	    disablewhen	"{ ui_initgammatype != custom }"
	    range	{ 0.0001! 4 }
	    export	none
	    parmtag	{ "script_unquoted" "1" }
	    parmtag	{ "autoscope" "0000000000000000" }
	}
    }

}
INDX              Contents       WS7   DialogScript   W  #R`0707070000010000000006660000000000000000010000001237543366300001300000000000TRAILER!!! # Dialog script for sourcevolume automatically generated 10/17/13 11:48:34

{
    name	sourcevolume
    script	fluidsource
    label	"Source Volume"


    help {
	""
    }

    inputlabel	1	Pre-Solve
    inputlabel	2	"Input 2"
    inputlabel	3	"Input 3"
    inputlabel	4	"Input 4"

    parm {
	name	"initialize"
	label	"Initialize"
	type	ordinal
	default	{ "0" }
	menu	{
	    "sourcing"	"Source Smoke"
	    "sourcefluid"	"Source Fluid"
	    "sink"	"Sink"
	    "collision"	"Collision"
	    "pump"	"Pump"
	    "expand"	"Expand"
	    "sourcefuel"	"Source Fuel"
	    "sourceflip"	"Source FLIP"
	    "sinkfluid"	"Sink Fluid"
	    "sinkflip"	"Sink FLIP"
	    "sourceoceanlayer"	"Source Ocean Layer"
	}
	range	{ 0 1 }
	export	none
	parmtag	{ "script_callback" "hou.node(\".\").hdaModule().set()" }
	parmtag	{ "script_callback_language" "python" }
    }
    parm {
	name	"source_path"
	label	"Volume Path"
	type	oppath
	default	{ "" }
	range	{ 0 1 }
	export	none
	parmtag	{ "autoscope" "0000000000000000" }
	parmtag	{ "opfilter" "!!SOP!!" }
	parmtag	{ "oprelative" "." }
    }
    parm {
	name	"activation"
	label	"Activation"
	type	float
	default	{ "1" }
	range	{ 0 1 }
	export	none
    }
    parm {
	name	"scale_source"
	label	"Scale Source Volume"
	type	float
	default	{ "1" }
	range	{ 0 10 }
	export	none
    }
    parm {
	name	"scale_temperature"
	label	"Scale Temperature"
	type	float
	default	{ "1" }
	range	{ 0 10 }
	export	none
    }
    parm {
	name	"scale_velocity"
	label	"Scale Velocity"
	type	float
	default	{ "1" }
	range	{ 0 10 }
	export	none
    }
    parm {
	name	"use_object_transform"
	label	"Use Object Transform"
	type	toggle
	default	{ "1" }
	range	{ 0 1 }
	export	none
    }
    group {
	name	"operation"
	label	"Volume Operation"

	parm {
	    name	"source_merge"
	    label	"Source Volume"
	    type	ordinal
	    joinnext
	    default	{ "add" }
	    menu	{
		"copy"	"Copy"
		"add"	"Add"
		"sub"	"Clamp Sub    "
		"mul"	"Multiply"
		"div"	"Divide"
		"max"	"Maximum"
		"min"	"Minimum"
		"average"	"Average             "
		"none"	"None"
	    }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"normalizesource"
	    label	"Normalize"
	    type	toggle
	    default	{ "1" }
	    disablewhen	"{ source_merge == none }"
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"temperature_merge"
	    label	"Temperature"
	    type	ordinal
	    joinnext
	    default	{ "add" }
	    menu	{
		"copy"	"Copy"
		"add"	"Add"
		"sub"	"Subtract"
		"mul"	"Multiply"
		"div"	"Divide"
		"max"	"Maximum"
		"min"	"Minimum"
		"average"	"Average             "
		"none"	"None"
	    }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"normalizetemp"
	    label	"Normalize"
	    type	toggle
	    default	{ "1" }
	    disablewhen	"{ temperature_merge == none }"
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"velocity_merge"
	    label	"Velocity"
	    type	ordinal
	    joinnext
	    default	{ "weighted_average" }
	    menu	{
		"copy"	"Copy"
		"add"	"Add"
		"sub"	"Subtract"
		"mul"	"Multiply"
		"div"	"Divide"
		"max"	"Maximum"
		"min"	"Minimum"
		"blended_average"	"Blended Average "
		"none"	"None"
	    }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"normalizevel"
	    label	"Normalize"
	    type	toggle
	    default	{ "1" }
	    disablewhen	"{ velocity_merge == none }"
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"tspeed"
	    label	"Target Speed"
	    type	float
	    default	{ "2" }
	    disablewhen	"{ velocity_merge != blended_average }"
	    range	{ 0 10 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	    parmtag	{ "parmvop" "1" }
	}
	parm {
	    name	"iscale"
	    label	"Target Influence"
	    type	float
	    default	{ "0.5" }
	    disablewhen	"{ velocity_merge != blended_average }"
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	    parmtag	{ "parmvop" "1" }
	}
	parm {
	    name	"maccel"
	    label	"Max Acceleration"
	    type	float
	    default	{ "1" }
	    disablewhen	"{ velocity_merge != blended_average }"
	    range	{ 0 10 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	    parmtag	{ "parmvop" "1" }
	}
    }

    group {
	name	"operation_1"
	label	"Particle Operation"

	parm {
	    name	"sourceparticles"
	    label	"Source Particles"
	    type	toggle
	    default	{ "0" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"ptgroup"
	    label	"Source Group"
	    type	string
	    default	{ "particles" }
	    disablewhen	"{ sourceparticles == 0 }"
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"particlefluidobjectname"
	    label	"Particle Fluid Object"
	    type	oppath
	    default	{ "" }
	    disablewhen	"{ sourceparticles == 0 }"
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "opfilter" "!!DOP!!" }
	    parmtag	{ "oprelative" "." }
	}
	parm {
	    name	"offsetscale"
	    label	"Time Offset Scale"
	    type	float
	    default	{ "1" }
	    disablewhen	"{ sourceparticles == 0 }"
	    range	{ 0 10 }
	    export	none
	}
	parm {
	    name	"offsetseed"
	    label	"Time Offset Seed"
	    type	float
	    default	{ "0" }
	    disablewhen	"{ sourceparticles == 0 }"
	    range	{ 0 10 }
	    export	none
	}
	parm {
	    name	"dolife"
	    label	"Life Expectancy"
	    type	toggle
	    nolabel
	    joinnext
	    default	{ "0" }
	    disablewhen	"{ sourceparticles == 0 }"
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"life"
	    label	"Life Expectancy"
	    type	float
	    default	{ "100" }
	    disablewhen	"{ sourceparticles == 0 } { dolife == 0 }"
	    range	{ 0 100 }
	    export	none
	}
	parm {
	    name	"lifevar"
	    label	"Life Variance"
	    type	float
	    default	{ "0" }
	    disablewhen	"{ sourceparticles == 0 } { dolife == 0 }"
	    range	{ 0 5 }
	    export	none
	}
	parm {
	    name	"killinside"
	    label	"Kill Inside"
	    type	toggle
	    nolabel
	    joinnext
	    default	{ "0" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"killinsidesource"
	    label	"Kill Inside"
	    type	string
	    default	{ "" }
	    disablewhen	"{ killinside == 0 }"
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"streamname"
	    label	"Stream Name"
	    type	string
	    default	{ "$OS" }
	    disablewhen	"{ sourceparticles == 0 }"
	    range	{ 0 1 }
	    export	none
	}
    }

    group {
	name	"operation_2"
	label	"Masks"

	parm {
	    name	"masklabel"
	    label	"Volume"
	    type	label
	    nolabel
	    default	{ "DOP Field To Use As Mask" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"source_mask"
	    label	"Source Volume"
	    type	string
	    joinnext
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"source_abs"
	    label	"Absolute"
	    type	toggle
	    default	{ "0" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"temperature_mask"
	    label	"Temperature Volume"
	    type	string
	    joinnext
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"temp_abs"
	    label	"Absolute"
	    type	toggle
	    default	{ "0" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"vel_mask"
	    label	"Velocity Volume"
	    type	string
	    joinnext
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"vel_abs"
	    label	"Absolute"
	    type	toggle
	    default	{ "0" }
	    range	{ 0 1 }
	    export	none
	}
    }

    group {
	name	"operation_3"
	label	"SOP To DOP Bindings"

	parm {
	    name	"source_name"
	    label	"Source Volume"
	    type	string
	    joinnext
	    default	{ "density" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"vol_sourcedest"
	    label	"Add To Field"
	    type	string
	    default	{ "density" }
	    menureplace	{
		"density"	"density"
		"fuel"	"fuel"
	    }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"temp_name"
	    label	"Temperature Volume"
	    type	string
	    joinnext
	    default	{ "temperature" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"vol_tempdest"
	    label	"Add To Field"
	    type	string
	    default	{ "temperature" }
	    menureplace	{
		"temperature"	"temperature"
	    }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"vel_name"
	    label	"Velocity Volume"
	    type	string
	    joinnext
	    default	{ "vel" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"vol_veldest"
	    label	"Add To Field"
	    type	string
	    default	{ "vel" }
	    menureplace	{
		"vel"	"vel"
	    }
	    range	{ 0 1 }
	    export	none
	}
    }

    group {
	name	"operation_4"
	label	"Instancing"

	parm {
	    name	"instancing"
	    label	"Instancing"
	    type	ordinal
	    default	{ "0" }
	    menu	{
		"auto"	"Auto Detect"
		"off"	"Off"
		"on"	"On"
	    }
	    range	{ 0 1 }
	    export	none
	}
    }

    group {
	name	"operation_5"
	label	"Clear"

	parm {
	    name	"fields_to_clear"
	    label	"Fields To Clear"
	    type	string
	    default	{ "tempvel source sourcelength" }
	    range	{ 0 1 }
	    export	none
	}
    }

}
INDX              Contents       WS7   DialogScript   W  #AR0707070000010000000006660000000000000000010000001237543365700001300000000000TRAILER!!! # Dialog script for dualrest automatically generated 11/13/13 14:15:51

{
    name	dualrest
    script	dualrest
    label	"Dual Rest"

    outercode {
	""
    }

    code {
	""
    }

    input	int	restinterp	"Rest Ratio Interpolation"
    output	vector	Prest	Prest
    output	float	Prest_ratio	Prest_ratio
    output	vector	Prest2	Prest2
    output	float	Prest2_ratio	Prest2_ratio
    inputflags	restinterp	0
    signature	"Default Inputs"	default	{ int vector float vector float }

    outputoverrides	default
    {
	___begin	auto
			(0,0,0)
	___begin	auto
			(0)
	___begin	auto
			(0,0,0)
	___begin	auto
			(0)
    }

    help {
	""
    }

    parm {
	name	"makeui"
	label	"Promote Interface"
	type	button
	nolabel
	default	{ "0" }
	menu	{
	    [ "import pyro2" ]
	    [ "return pyro2.makeuimenu()" ]
	    language	python
	}
	range	{ 0 1 }
	export	none
	parmtag	{ "autoscope" "0000000000000000" }
	parmtag	{ "script_callback" "hou.phm().uiCreate(kwargs)" }
	parmtag	{ "script_callback_language" "python" }
    }
    group {
	name	"folder1"
	label	"VOP Parameters"

	group {
	    name	"folder0"
	    label	"Rest Fields"

	    parm {
		name	"spacer"
		label	"spacer"
		type	label
		nolabel
		default	{ "" }
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"restinterp"
		label	"Ratio Interpolation"
		type	ordinal
		default	{ "0" }
		menu	{
		    "0"	"Unmodified (Linear)"
		    "1"	"Cubic"
		    "2"	"Cosine"
		}
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"spacer2"
		label	"spacer"
		type	label
		nolabel
		default	{ "" }
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"rest_name"
		label	"Rest Position 1"
		type	string
		joinnext
		default	{ "rest" }
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"rest_intype"
		label	"Type"
		type	string
		default	{ "vector" }
		disablewhen	"{ rest_name == \"\" }"
		menu	{
		    "float"	"Float"
		    "vector"	"Vector"
		    "vector4"	"Vector4"
		}
		range	{ 0 1 }
		export	none
		unquoted
		parmtag	{ "script_callback" "if not kwargs['node'].isInsideLockedHDA():kwargs['node'].parm('rest_method').set('assign')" }
		parmtag	{ "script_callback_language" "python" }
	    }
	    parm {
		name	"rest_method"
		label	"Conversion to Vector"
		type	string
		joinnext
		default	{ "assign" }
		disablewhen	"{ rest_name == \"\" } { rest_intype == vector }"
		menu	{
		    [ "hou.vopNodeTypeCategory().nodeTypes()['typeconvertimpl'].hdaModule().methodmenu(hou.evalParm('rest_intype'),'vector')" ]
		    language	python
		}
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"rest_padval"
		label	"Padding Constant"
		type	float
		nolabel
		default	{ "0" }
		disablewhen	"{ rest_name == \"\" } { promote == 0 } { rest_method != padc }"
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"rest_ratio_name"
		label	"Rest1 Ratio"
		type	string
		joinnext
		default	{ "rest_ratio" }
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"rest_ratio_intype"
		label	"Type"
		type	string
		default	{ "float" }
		disablewhen	"{ rest_ratio_name == \"\" }"
		menu	{
		    "float"	"Float"
		    "vector"	"Vector"
		    "vector4"	"Vector4"
		}
		range	{ 0 1 }
		export	none
		unquoted
		parmtag	{ "script_callback" "if not kwargs['node'].isInsideLockedHDA():kwargs['node'].parm('rest_ratio_method').set('assign')" }
		parmtag	{ "script_callback_language" "python" }
	    }
	    parm {
		name	"rest_ratio_method"
		label	"Conversion to Float"
		type	string
		default	{ "assign" }
		disablewhen	"{ rest_ratio_name == \"\" } { rest_ratio_intype == float }"
		menu	{
		    [ "hou.vopNodeTypeCategory().nodeTypes()['typeconvertimpl'].hdaModule().methodmenu(hou.evalParm('rest_ratio_intype'),'float')" ]
		    language	python
		}
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"rest2_name"
		label	"Rest Position 2"
		type	string
		joinnext
		default	{ "rest2" }
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"rest2_intype"
		label	"Type"
		type	string
		default	{ "vector" }
		disablewhen	"{ rest2_name == \"\" }"
		menu	{
		    "float"	"Float"
		    "vector"	"Vector"
		    "vector4"	"Vector4"
		}
		range	{ 0 1 }
		export	none
		unquoted
		parmtag	{ "script_callback" "if not kwargs['node'].isInsideLockedHDA():kwargs['node'].parm('rest2_method').set('assign')" }
		parmtag	{ "script_callback_language" "python" }
	    }
	    parm {
		name	"rest2_method"
		label	"Conversion to Vector"
		type	string
		joinnext
		default	{ "assign" }
		disablewhen	"{ rest2_name == \"\" } { rest2_intype == vector }"
		menu	{
		    [ "hou.vopNodeTypeCategory().nodeTypes()['typeconvertimpl'].hdaModule().methodmenu(hou.evalParm('rest2_intype'),'vector')" ]
		    language	python
		}
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"rest2_padval"
		label	"Padding Constant"
		type	float
		nolabel
		default	{ "0" }
		disablewhen	"{ rest2_name == \"\" } { promote == 0 } { rest2_method != padc }"
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"rest2_ratio_name"
		label	"Rest2 Ratio"
		type	string
		joinnext
		default	{ "rest2_ratio" }
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"rest2_ratio_intype"
		label	"Type"
		type	string
		default	{ "float" }
		disablewhen	"{ rest2_ratio_name == \"\" }"
		menu	{
		    "float"	"Float"
		    "vector"	"Vector"
		    "vector4"	"Vector4"
		}
		range	{ 0 1 }
		export	none
		unquoted
		parmtag	{ "script_callback" "if not kwargs['node'].isInsideLockedHDA():kwargs['node'].parm('rest2_ratio_method').set('assign')" }
		parmtag	{ "script_callback_language" "python" }
	    }
	    parm {
		name	"rest2_ratio_method"
		label	"Conversion to Float"
		type	string
		default	{ "assign" }
		disablewhen	"{ rest2_ratio_name == \"\" } { rest2_ratio_intype == float }"
		menu	{
		    [ "hou.vopNodeTypeCategory().nodeTypes()['typeconvertimpl'].hdaModule().methodmenu(hou.evalParm('rest2_ratio_intype'),'float')" ]
		    language	python
		}
		range	{ 0 1 }
		export	none
	    }
	}

	group {
	    name	"folder0_1"
	    label	"Fallbacks"

	    parm {
		name	"spacer3"
		label	"spacer"
		type	label
		nolabel
		default	{ "" }
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"fallback_label"
		label	"fallback_label"
		type	label
		nolabel
		default	{ "Fallback Rest Position Upon Failure (VEX):" }
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"spacer4"
		label	"spacer"
		type	label
		nolabel
		default	{ "" }
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"fail_shading"
		label	"SHADING Contexts"
		type	string
		default	{ "ptransform(\"space:object\",P)" }
		range	{ 0 1 }
		export	none
		unquoted
	    }
	    parm {
		name	"fail_cop"
		label	"COP|COP2 Contexts"
		type	string
		default	{ "set(X,Y,0)" }
		range	{ 0 1 }
		export	none
		unquoted
	    }
	    parm {
		name	"fail_sop"
		label	"SOP|POP Contexts"
		type	string
		default	{ "P" }
		range	{ 0 1 }
		export	none
		unquoted
	    }
	    parm {
		name	"fail_chop"
		label	"CHOP Context"
		type	string
		default	{ "set((float)I/SR,V,0)" }
		range	{ 0 1 }
		export	none
		unquoted
	    }
	    parm {
		name	"fail_cvex"
		label	"CVEX Context"
		type	string
		default	{ "0" }
		range	{ 0 1 }
		export	none
		unquoted
	    }
	    parm {
		name	"fail_fail"
		label	"Unknown Context"
		type	string
		default	{ "0" }
		range	{ 0 1 }
		export	none
		unquoted
	    }
	}

    }

    group {
	name	"folder1_1"
	label	"UI Promotion"

	parm {
	    name	"ui_prefix"
	    label	"Parameter Prefix"
	    type	string
	    joinnext
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"ui_postfix"
	    label	"Postfix"
	    type	string
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"ui_infolder"
	    label	"ui_infolder"
	    type	toggle
	    nolabel
	    joinnext
	    default	{ "0" }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"ui_foldername"
	    label	"Create In Folder"
	    type	string
	    default	{ [ "node('.').creator().relativePathTo(node('.')).replace('/','_')" python ] }
	    disablewhen	"{ ui_infolder == 0 }"
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"ui_withinterp"
	    label	"Include Interpolation Menu"
	    type	toggle
	    joinnext
	    default	{ "1" }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"labelparm9"
	    label	"leftalign"
	    type	label
	    nolabel
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"ui_withfail"
	    label	"Include Fallback Folder"
	    type	toggle
	    joinnext
	    default	{ "0" }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"labelparm10"
	    label	"leftalign"
	    type	label
	    nolabel
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
    }

}
INDX              DialogScript      .R//*
 * PROPRIETARY INFORMATION.  This software is proprietary to
 * Side Effects Software Inc., and is not to be reproduced,
 * transmitted, or disclosed in any way without written permission.
 *
 * Produced by:
 *	Side Effects Software Inc
 *	477 Richmond Street West
 *	Toronto, Ontario
 *	Canada   M5V 3E7
 *	416-504-9876
 *
 */

#include <parameter.ds>

{
    name	"pow"
    script	"pow"
    label	"pow"

    outercode {
	INCLUDE_VOPLIB
    }

    code {
	"$pow = vop_pow($val, $exp);"
    }

    input	float	val	"Input Value"
    input	float	exp	"Exponent"
    output	float	pow	"Output Value"

    signature	"Float"			default	{ }
    signature	"3D Vector"		v	{ vector float vector }
    signature	"3D Point"		p	{ point float point }
    signature	"3D Normal"		n	{ normal float normal }
    signature	"RGB Color"		c	{ color float color }
    signature	"4D Vector"		v4	{ vector4 float vector4 }

    signature	"Uniform Float"		uf	{ ufloat ufloat ufloat }
    signature	"Uniform 3D Vector"	uv	{ uvector ufloat uvector }
    signature	"Uniform 3D Point"	up	{ upoint ufloat upoint }
    signature	"Uniform 3D Normal"	un	{ unormal ufloat unormal }
    signature	"Uniform RGB Color"	uc	{ ucolor ufloat ucolor }

    VOP_FLT_PARM(val,   "Value", 1)
    VOP_VEC_PARM(val_v, "Value", 1, 1, 1)
    VOP_VEC_PARM(val_p, "Value", 1, 1, 1)
    VOP_VEC_PARM(val_n, "Value", 1, 1, 1)
    VOP_CLR_PARM(val_c, "Value", 1, 1, 1)
    VOP_VEC4_PARM(val_v4,"Value", 1, 1, 1, 1)
    VOP_FLT_PARM(val_uf, "Value", 1)
    VOP_VEC_PARM(val_uv, "Value", 1, 1, 1)
    VOP_VEC_PARM(val_up, "Value", 1, 1, 1)
    VOP_VEC_PARM(val_un, "Value", 1, 1, 1)
    VOP_CLR_PARM(val_uc, "Value", 1, 1, 1)
    
    parm {
	name	exp
	label	"Exponent"
	type	float
	size	1
	default	{ 1.0 }
    }
    
    group { name "gv" obsolete 12.0 }
    group { name "gu" obsolete 12.0 }
}
INDX              Contents       WS7   DialogScript   W  |GSV0707070000010000000006660000000000000000010000001237543366200001300000000000TRAILER!!! # Dialog script for fluidsource automatically generated 04/22/14 13:27:54

{
    name	fluidsource
    script	fluidsource
    label	"Fluid Source"

    help {
	""
    }

    inputlabel	1	"Sub-Network Input #1"
    inputlabel	2	rest
    inputlabel	3	fuel
    inputlabel	4	velocity

    group {
	name	"container_settings_1"
	label	"Scalar Volumes"

	parm {
	    name	"method"
	    label	"Method"
	    type	ordinal
	    joinnext
	    default	{ "0" }
	    menu	{
		"0"	"Build SDF From Geometry"
		"1"	"Stamp Points"
		"2"	"Sample Volumes"
	    }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"make_sdf"
	    label	"Output SDF"
	    type	toggle
	    default	{ "0" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"source_attribute"
	    label	"Source Attribute"
	    type	string
	    default	{ "density" }
	    range	{ 0 1 }
	    export	none
	}
	multiparm {
	    name	"number_of_volumes"
	    label	"Number of Volumes"
	    default	1

	    parm {
		name	"visibility#"
		label	"Visibility"
		type	toggle
		nolabel
		joinnext
		default	{ "1" }
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"volvis#"
		label	"Visualize"
		type	ordinal
		default	{ "smoke" }
		disablewhen	"{ visibility# == 0 }"
		menu	{
		    "smoke"	"Smoke"
		    "iso"	"Isosurface"
		    "slice"	"Slice"
		}
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"name#"
		label	"Name"
		type	string
		joinnext
		default	{ "density" }
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"volumescale#"
		label	"Scale"
		type	float
		default	{ "1" }
		range	{ 0 1 }
		export	none
	    }
	}

	group {
	    name	"settings"
	    label	"Settings"

	    parm {
		name	"invert_sign"
		label	"Invert"
		type	toggle
		default	{ "off" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"divsize"
		label	"Division Size"
		type	float
		default	{ "0.1" }
		range	{ 0! 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "units" "m1" }
	    }
	    parm {
		name	"volborderval"
		label	"Border Value"
		type	float
		default	{ "0" }
		range	{ -1 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	}

	group {
	    name	"settings_1"
	    label	"Visualization"

	    parm {
		name	"slice_plane"
		label	"Slice Plane"
		type	ordinal
		default	{ "xy" }
		menu	{
		    "xy"	"XY plane      "
		    "yz"	"YZ plane"
		    "zx"	"ZX plane"
		}
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"slice_type"
		label	"Slice Type"
		type	ordinal
		default	{ "false" }
		menu	{
		    "none"	"No Mapping "
		    "false"	"Infra-Red"
		    "pink"	"White to Red "
		    "mono"	"Grayscale"
		    "blackbody"	"Black Body"
		    "bipartite"	"Two-Tone"
		}
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"slice_method"
		label	"Slice Method"
		type	ordinal
		default	{ "mesh" }
		menu	{
		    "volume"	"Volume        "
		    "mesh"	"Mesh  "
		    "points"	"Points"
		}
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"slice_planeoffset"
		label	"Plane Offset"
		type	float
		default	{ "0" }
		range	{ -1! 1! }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"slice_iso_offset"
		label	"Iso Offset"
		type	float
		default	{ "0.025" }
		range	{ -1 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"slice_range"
		label	"Slice Range"
		type	float
		size	2
		default	{ "0" "1" }
		range	{ 0 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	}

	group {
	    name	"settings_2"
	    label	"SDF From Geometry"

	    parm {
		name	"minimum_distance"
		label	"Minimum Distance"
		type	toggle
		default	{ "1" }
		disablewhen	"{ method == 1 } { method == 2 }"
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"scale_by_source_attribute"
		label	"Scale By Source Attribute"
		type	toggle
		default	{ "0" }
		disablewhen	"{ method == 1 } { method == 2 }"
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"e_interior"
		label	"Empty Interior"
		type	toggle
		default	{ "on" }
		disablewhen	"{ minimum_distance == 1 } { method == 1 } { method == 2 } { make_sdf == 1 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "parmvop" "1" }
	    }
	    parm {
		name	"eloc"
		label	"Edge Location"
		type	float
		default	{ "0" }
		disablewhen	"{ method == 1 } { method == 2 }"
		range	{ -1 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "parmvop" "1" }
		parmtag	{ "units" "m1" }
	    }
	    parm {
		name	"size"
		label	"Out Feather Length"
		type	float
		default	{ "0.2" }
		disablewhen	"{ method == 1 } { method == 2 } { make_sdf == 1 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "parmvop" "1" }
		parmtag	{ "units" "m1" }
	    }
	    parm {
		name	"edge_thickness"
		label	"Edge Thickness"
		type	float
		default	{ "0.1" }
		disablewhen	"{ e_interior == 0 } { minimum_distance == 1 } { method == 1 } { method == 2 } { make_sdf == 1 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "parmvop" "1" }
		parmtag	{ "units" "m1" }
	    }
	    parm {
		name	"in_feather_length"
		label	"In Feather Length"
		type	float
		default	{ "0.1" }
		disablewhen	"{ e_interior == 0 } { minimum_distance == 1 } { method == 1 } { method == 2 } { make_sdf == 1 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "parmvop" "1" }
		parmtag	{ "units" "m1" }
	    }
	    group {
		name	"folder1"
		label	"Feather In"

		parm {
		    name	"remap_feather_in"
		    label	"Remap Feather In"
		    type	toggle
		    default	{ "off" }
		    disablewhen	"{ e_interior == 0 } { minimum_distance == 1 } { method == 1 } { method == 2 } { make_sdf == 1 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		    parmtag	{ "parmvop" "1" }
		}
		parm {
		    name	"feather_in_ramp"
		    label	"Feather In Ramp"
		    type	ramp_flt
		    default	{ "2" }
		    disablewhen	"{ e_interior == 0 } { remap_feather_in == 0 } { minimum_distance == 1 } { method == 1 } { method == 2 } { make_sdf == 1 }"
		    range	{ 1! 10 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "rampbasis_var" "feather_in_ramp_the_basis_strings" }
		    parmtag	{ "rampbasisdefault" "linear" }
		    parmtag	{ "rampfloatdefault" "1pos ( 0 ) 1value ( 0 ) 1interp ( linear ) 2pos ( 1 ) 2value ( 1 ) 2interp ( linear )" }
		    parmtag	{ "rampkeys_var" "feather_in_ramp_the_key_positions" }
		    parmtag	{ "rampshowcontrolsdefault" "0" }
		    parmtag	{ "rampvalues_var" "feather_in_ramp_the_key_values" }
		}
	    }

	    group {
		name	"folder1_1"
		label	"Feather Out"

		parm {
		    name	"remap_feather_out"
		    label	"Remap Feather Out"
		    type	toggle
		    default	{ "off" }
		    disablewhen	"{ method == 1 } { method == 2 } { make_sdf == 1 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		    parmtag	{ "parmvop" "1" }
		}
		parm {
		    name	"feather_out_ramp"
		    label	"Feather Out Ramp"
		    type	ramp_flt
		    default	{ "2" }
		    disablewhen	"{ remap_feather_out == 0 } { method == 1 } { method == 2 } { make_sdf == 1 }"
		    range	{ 1! 10 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "rampbasis_var" "feather_out_ramp_the_basis_strings" }
		    parmtag	{ "rampbasisdefault" "linear" }
		    parmtag	{ "rampfloatdefault" "1pos ( 0 ) 1value ( 0 ) 1interp ( linear ) 2pos ( 1 ) 2value ( 1 ) 2interp ( linear )" }
		    parmtag	{ "rampkeys_var" "feather_out_ramp_the_key_positions" }
		    parmtag	{ "rampshowcontrolsdefault" "0" }
		    parmtag	{ "rampvalues_var" "feather_out_ramp_the_key_values" }
		}
	    }

	}

	group {
	    name	"settings_3"
	    label	"Stamp Points"

	    parm {
		name	"generate_particle_sdf"
		label	"Generate Volume From SDF"
		type	toggle
		default	{ "0" }
		disablewhen	"{ method == 0 } { method == 2 } { make_sdf == 1 }"
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"scale_particle_sdf"
		label	"Scale By Source Attribute"
		type	toggle
		default	{ "0" }
		disablewhen	"{ generate_particle_sdf == 0 } { method == 0 } { method == 2 }"
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"bandwidth"
		label	"Sample Distance"
		type	float
		default	{ "0.2" }
		disablewhen	"{ method == 0 scale_by_source_attribute == 0 } { method == 2 scale_by_source_attribute == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "units" "m1" }
	    }
	    parm {
		name	"smoothness2"
		label	"Point Sample Threshold"
		type	float
		default	{ "8" }
		disablewhen	"{ method == 0 scale_by_source_attribute == 0 } { method == 2 scale_by_source_attribute == 0 } { make_sdf == 1 } { generate_particle_sdf == 1 scale_particle_sdf == 0 }"
		range	{ 0 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"feather"
		label	"Feather"
		type	float
		default	{ "0.05" }
		disablewhen	"{ generate_particle_sdf == 0 } { method == 0 } { method == 2 } { make_sdf == 1 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "parmvop" "1" }
		parmtag	{ "units" "m1" }
	    }
	    parm {
		name	"pointsdf_edge_location"
		label	"Edge Location"
		type	float
		default	{ "0.5" }
		disablewhen	"{ method == 0 } { method == 2 } { generate_particle_sdf == 0 make_sdf == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "parmvop" "1" }
	    }
	}

	group {
	    name	"settings_4"
	    label	"Noise"

	    parm {
		name	"use_noise"
		label	"Use Noise"
		type	toggle
		default	{ "0" }
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"animate_noise"
		label	"Animated"
		type	toggle
		default	{ "1" }
		disablewhen	"{ use_noise == 0 }"
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"destmin"
		label	"Turbulence Influence"
		type	float
		default	{ "1" }
		disablewhen	"{ use_noise == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "parmvop" "1" }
	    }
	    parm {
		name	"voronoi_influence"
		label	"Cell Influence"
		type	float
		default	{ "0" }
		disablewhen	"{ use_noise == 0 } { type == 1 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "parmvop" "1" }
	    }
	    parm {
		name	"pulse_duration"
		label	"Pulse Duration"
		type	float
		default	{ "1" }
		disablewhen	"{ use_noise == 0 } { animate_noise == 0 }"
		range	{ 0 10 }
		export	none
		parmtag	{ "units" "s1" }
	    }
	    group {
		name	"turbulent"
		label	"Turbulence Settings"

		parm {
		    name	"noise_mode"
		    label	"Mode"
		    type	ordinal
		    default	{ "0" }
		    disablewhen	"{ use_noise == 0 }"
		    menu	{
			"0"	"Additive"
			"1"	"Multiplicative"
		    }
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"sharpness"
		    label	"Sharpness"
		    type	float
		    default	{ "0.5" }
		    disablewhen	"{ use_noise == 0 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		    parmtag	{ "parmvop" "1" }
		}
		parm {
		    name	"amp"
		    label	"Amplitude"
		    type	float
		    default	{ "1" }
		    disablewhen	"{ use_noise == 0 }"
		    range	{ -1 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		    parmtag	{ "parmvop" "1" }
		}
		parm {
		    name	"grain"
		    label	"Grain"
		    type	float
		    default	{ "0.1" }
		    disablewhen	"{ use_noise == 0 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		    parmtag	{ "parmvop" "1" }
		}
		parm {
		    name	"turb"
		    label	"Turbulence"
		    type	integer
		    default	{ "2" }
		    disablewhen	"{ use_noise == 0 }"
		    range	{ 0 10 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		    parmtag	{ "parmvop" "1" }
		}
		parm {
		    name	"offset"
		    label	"Offset"
		    type	float
		    default	{ "0" }
		    disablewhen	"{ use_noise == 0 }"
		    range	{ 0 10 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		    parmtag	{ "parmvop" "1" }
		}
		parm {
		    name	"element_size"
		    label	"Element Size"
		    type	float
		    default	{ "1" }
		    disablewhen	"{ use_noise == 0 }"
		    range	{ 0 10 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "units" "m1" }
		}
		parm {
		    name	"element_scale"
		    label	"Element Scale"
		    type	float
		    size	3
		    default	{ "1" "1" "1" }
		    disablewhen	"{ use_noise == 0 }"
		    range	{ 0 10 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		}
	    }

	    group {
		name	"turbulent_1"
		label	"Cell Settings"

		parm {
		    name	"cell_mode"
		    label	"Mode"
		    type	ordinal
		    default	{ "0" }
		    disablewhen	"{ use_noise == 0 }"
		    menu	{
			"0"	"Additive"
			"1"	"Multiplicative"
		    }
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"invert_cells"
		    label	"Invert Cells"
		    type	toggle
		    default	{ "off" }
		    disablewhen	"{ use_noise == 0 } { type == 1 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		    parmtag	{ "parmvop" "1" }
		}
		parm {
		    name	"adaptive_cells"
		    label	"Adaptive Cells"
		    type	toggle
		    default	{ "on" }
		    disablewhen	"{ use_noise == 0 } { type == 1 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		    parmtag	{ "parmvop" "1" }
		}
		parm {
		    name	"cell_thresh"
		    label	"Split Distance"
		    type	float
		    default	{ "0.25" }
		    disablewhen	"{ use_noise == 0 } { type == 1 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		    parmtag	{ "parmvop" "1" }
		}
		parm {
		    name	"cell_offset"
		    label	"Offset"
		    type	float
		    default	{ "0" }
		    disablewhen	"{ use_noise == 0 } { type == 1 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		    parmtag	{ "parmvop" "1" }
		}
		parm {
		    name	"cell_harshness"
		    label	"Harshness"
		    type	float
		    default	{ "0.5" }
		    disablewhen	"{ use_noise == 0 } { type == 1 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		    parmtag	{ "parmvop" "1" }
		}
		parm {
		    name	"cell_min"
		    label	"Minimum Distance"
		    type	float
		    default	{ "0.2" }
		    disablewhen	"{ use_noise == 0 } { type == 1 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		    parmtag	{ "parmvop" "1" }
		}
		parm {
		    name	"cell_max"
		    label	"Maximum Distance"
		    type	float
		    default	{ "1" }
		    disablewhen	"{ use_noise == 0 } { type == 1 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		    parmtag	{ "parmvop" "1" }
		}
		parm {
		    name	"cell_size"
		    label	"Cell Size"
		    type	float
		    default	{ "0.5" }
		    disablewhen	"{ use_noise == 0 } { type == 1 }"
		    range	{ 0 10 }
		    export	none
		    parmtag	{ "units" "m1" }
		}
		parm {
		    name	"cell_scale"
		    label	"Cell Scale"
		    type	float
		    size	3
		    default	{ "1" "1" "1" }
		    disablewhen	"{ use_noise == 0 } { type == 1 }"
		    range	{ 0 10 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		}
	    }

	}

	group {
	    name	"settings_5"
	    label	"Motion Blur"

	    parm {
		name	"frames_to_blur"
		label	"Frames to Blur"
		type	float
		default	{ "1" }
		range	{ 0 10 }
		export	none
	    }
	    parm {
		name	"geometry_samples"
		label	"Geometry Samples"
		type	integer
		default	{ "1" }
		range	{ 1! 10 }
		export	none
	    }
	    parm {
		name	"blur_offset"
		label	"Blur Offset"
		type	float
		default	{ "0" }
		range	{ -1 1 }
		export	none
	    }
	}

	group {
	    name	"settings_6"
	    label	"SDF Sampling"

	    parm {
		name	"laserscan"
		label	"Laser Scan"
		type	toggle
		default	{ "on" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"fixsigns"
		label	"Fix Signs"
		type	toggle
		default	{ "on" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"forcebounds"
		label	"Force Bounds"
		type	toggle
		default	{ "on" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"sweepalpha"
		label	"Sign Sweep Threshold"
		type	float
		default	{ "2" }
		range	{ 0! 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"sweepcount"
		label	"Max Sign Sweep Count"
		type	integer
		default	{ "8" }
		range	{ 0! 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	}

    }

    group {
	name	"container_settings_1_1"
	label	"Velocity Volumes"

	parm {
	    name	"vel_method"
	    label	"Method"
	    type	ordinal
	    default	{ "0" }
	    menu	{
		"0"	"Stamp Points   "
	    }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"vel_source_attribute"
	    label	"Source Attribute"
	    type	string
	    default	{ "v" }
	    range	{ 0 1 }
	    export	none
	}
	multiparm {
	    name	"vel_number_of_volumes"
	    label	"Number of Volumes"
	    default	1

	    parm {
		name	"vel_visibility#"
		label	"Visualize"
		type	toggle
		nolabel
		joinnext
		default	{ "1" }
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"vel_volvis#"
		label	"Visualize"
		type	ordinal
		default	{ "1" }
		disablewhen	"{ vel_visibility# == 0 }"
		menu	{
		    "smoke"	"Smoke"
		    "streamers"	"Streamers"
		}
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"vel_name#"
		label	"Name"
		type	string
		joinnext
		default	{ "vel" }
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"vel_volumescale#"
		label	"Scale"
		type	float
		default	{ "1" }
		range	{ 0 1 }
		export	none
	    }
	}

	parm {
	    name	"vel_add_uniform"
	    label	"Add Uniform Velocity"
	    type	toggle
	    nolabel
	    joinnext
	    default	{ "off" }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	    parmtag	{ "parmvop" "1" }
	}
	parm {
	    name	"vel_uniformvel"
	    label	"Add Velocity"
	    type	vector
	    size	3
	    default	{ "0" "1" "0" }
	    disablewhen	"{ vel_add_uniform == 0 }"
	    range	{ -1 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	    parmtag	{ "units" "m1" }
	}
	group {
	    name	"vel_settings"
	    label	"Settings"

	    parm {
		name	"vel_invert_sign"
		label	"Invert"
		type	toggle
		default	{ "off" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"vel_divsize"
		label	"Division Size"
		type	float
		default	{ "ch('./divsize')" }
		range	{ 0! 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "units" "m1" }
	    }
	    parm {
		name	"vel_volborderval"
		label	"Border Value"
		type	float
		default	{ "0" }
		range	{ -1 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	}

	group {
	    name	"vel_settings_1"
	    label	"Visualization"

	    parm {
		name	"vel_stream_use_plane"
		label	"Use Streamer Plane"
		type	toggle
		nolabel
		joinnext
		default	{ "1" }
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"vel_stream_plane_orient"
		label	"Use Plane"
		type	ordinal
		default	{ "xy" }
		disablewhen	"{ vel_stream_use_plane == 0 }"
		menu	{
		    "xy"	"XY plane"
		    "yz"	"YZ plane"
		    "zx"	"ZX plane"
		}
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"vel_stream_plane_pos"
		label	"Plane Position"
		type	float
		default	{ "0" }
		disablewhen	"{ vel_stream_use_plane == 0 }"
		range	{ -1 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"vel_stream_length"
		label	"Streamer Length"
		type	float
		default	{ "1" }
		range	{ 0 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "units" "s1" }
	    }
	    parm {
		name	"vel_stream_separation"
		label	"Streamer Separation"
		type	float
		default	{ "1" }
		range	{ 0 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "units" "" }
	    }
	    parm {
		name	"vel_stream_max"
		label	"Streamer Max"
		type	float
		default	{ "1" }
		range	{ 0 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	}

	group {
	    name	"vel_settings_2"
	    label	"Stamp Points"

	    parm {
		name	"vel_pointextrapdist"
		label	"Sample Distance"
		type	float
		default	{ "0.2" }
		range	{ 0 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "units" "m1" }
	    }
	}

	group {
	    name	"vel_settings_3"
	    label	"Curl Noise"

	    parm {
		name	"vel_add_curl_noise"
		label	"Add Curl Noise"
		type	toggle
		default	{ "off" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"vel_turbtimedep"
		label	"Animated"
		type	toggle
		default	{ "on" }
		disablewhen	"{ vel_add_curl_noise == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"vel_turbscale"
		label	"Scale"
		type	float
		default	{ "1" }
		disablewhen	"{ vel_add_curl_noise == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "parmvop" "1" }
	    }
	    parm {
		name	"vel_turbswirl"
		label	"Swirl Size"
		type	float
		default	{ "1" }
		disablewhen	"{ vel_add_curl_noise == 0 }"
		range	{ 0 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "parmvop" "1" }
		parmtag	{ "units" "m1" }
	    }
	    parm {
		name	"vel_turbrough"
		label	"Grain"
		type	float
		default	{ "0.5" }
		disablewhen	"{ vel_add_curl_noise == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "parmvop" "1" }
	    }
	    parm {
		name	"vel_turboffset"
		label	"Offset"
		type	float
		default	{ "1" }
		disablewhen	"{ vel_add_curl_noise == 0 }"
		range	{ 0 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "parmvop" "1" }
	    }
	    parm {
		name	"vel_turbatten"
		label	"Attenuation"
		type	float
		default	{ "1" }
		disablewhen	"{ vel_add_curl_noise == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "parmvop" "1" }
	    }
	    parm {
		name	"vel_turboctaves"
		label	"Turbulence"
		type	integer
		default	{ "3" }
		disablewhen	"{ vel_add_curl_noise == 0 }"
		range	{ 1 12 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "parmvop" "1" }
	    }
	    parm {
		name	"vel_turbpulselength"
		label	"Pulse Length"
		type	float
		default	{ "1" }
		disablewhen	"{ vel_add_curl_noise == 0 }"
		range	{ 0 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "units" "s1" }
	    }
	    parm {
		name	"vel_turbframeoffset"
		label	"Frame Offset"
		type	float
		default	{ "0" }
		disablewhen	"{ vel_add_curl_noise == 0 }"
		range	{ -10 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	}

	group {
	    name	"vel_settings_4"
	    label	"Vortex"

	    parm {
		name	"vel_add_vortex"
		label	"Add Vortex"
		type	toggle
		default	{ "0" }
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"vel_vortexpivot"
		label	"Center"
		type	vector
		size	3
		default	{ "0" "0" "0" }
		disablewhen	"{ vel_add_vortex == 0 }"
		range	{ -1 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "units" "m1" }
	    }
	    parm {
		name	"vel_vortexdir"
		label	"Direction"
		type	vector
		size	3
		default	{ "0" "1" "0" }
		disablewhen	"{ vel_add_vortex == 0 }"
		range	{ -1 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"vel_vortexspeed"
		label	"Angular Velocity"
		type	float
		default	{ "0" }
		disablewhen	"{ vel_add_vortex == 0 }"
		range	{ 0 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "units" "s-1" }
	    }
	    parm {
		name	"vel_limitvortex"
		label	"Limit Vortex"
		type	toggle
		joinnext
		default	{ "off" }
		disablewhen	"{ vel_add_vortex == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "parmvop" "1" }
	    }
	    parm {
		name	"vel_vortexradius"
		label	"Vortex Radius"
		type	float
		default	{ "0.14" }
		disablewhen	"{ vel_limitvortex == 0 } { vel_add_vortex == 0 }"
		range	{ 0 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "parmvop" "1" }
		parmtag	{ "units" "m1" }
	    }
	    parm {
		name	"vel_vortexramp"
		label	"Vortex Ramp"
		type	ramp_flt
		default	{ "3" }
		disablewhen	"{ vel_limitvortex == 0 } { vel_add_vortex == 0 }"
		range	{ 1! 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "parmvop" "1" }
		parmtag	{ "rampbasis_var" "vortexramp_the_basis_strings" }
		parmtag	{ "rampbasisdefault" "catmull-rom" }
		parmtag	{ "rampfloatdefault" "1pos ( 0 ) 1value ( 0 ) 1interp ( catmull-rom ) 2pos ( 0.5 ) 2value ( 1 ) 2interp ( catmull-rom ) 3pos ( 1 ) 3value ( 0 ) 3interp ( catmull-rom )" }
		parmtag	{ "rampkeys_var" "vortexramp_the_key_positions" }
		parmtag	{ "rampshowcontrolsdefault" "0" }
		parmtag	{ "rampvalues_var" "vortexramp_the_key_values" }
	    }
	}

	group {
	    name	"vel_settings_5"
	    label	"Object"

	    parm {
		name	"vel_objapply"
		label	"Add Object Motion"
		type	toggle
		default	{ "off" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"vel_objpath"
		label	"Object Path"
		type	oppath
		default	{ ".." }
		disablewhen	"{ vel_objapply == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "oprelative" "." }
	    }
	    parm {
		name	"vel_objscale"
		label	"Scale"
		type	float
		default	{ "1" }
		disablewhen	"{ vel_objapply == 0 }"
		range	{ 0 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"vel_objframe"
		label	"Frame"
		type	float
		default	{ [ "$FF-0.5" hscript-expr ] }
		disablewhen	"{ vel_objapply == 0 }"
		range	{ 0 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"vel_objsample"
		label	"Frame Sample"
		type	float
		default	{ "1" }
		disablewhen	"{ vel_objapply == 0 }"
		range	{ 0 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	}

    }

    group {
	name	"container_settings_1_2"
	label	"Particles"

	parm {
	    name	"createparticles"
	    label	"Create Particles"
	    type	toggle
	    default	{ "0" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"particlesource"
	    label	"Particle Source"
	    type	string
	    default	{ "" }
	    disablewhen	"{ createparticles == 0 }"
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"particlesep"
	    label	"Particle Separation"
	    type	float
	    default	{ "0.1" }
	    disablewhen	"{ createparticles == 0 }"
	    range	{ 0 10 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	    parmtag	{ "units" "m1" }
	}
	parm {
	    name	"jitterseed"
	    label	"Jitter Seed"
	    type	float
	    default	{ "0" }
	    disablewhen	"{ createparticles == 0 }"
	    range	{ 0 10 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"jitterscale"
	    label	"Jitter Scale"
	    type	float
	    default	{ "0" }
	    disablewhen	"{ createparticles == 0 }"
	    range	{ 0 10 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"doscatter"
	    label	"doshell"
	    type	toggle
	    nolabel
	    joinnext
	    default	{ "off" }
	    disablewhen	"{ createparticles == 0 }"
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"scatter"
	    label	"Scatter Density"
	    type	float
	    default	{ "1" }
	    disablewhen	"{ createparticles == 0 } { doscatter == 0 }"
	    range	{ 0 10 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"dooversampling"
	    label	"dooversampling"
	    type	toggle
	    nolabel
	    joinnext
	    default	{ "off" }
	    disablewhen	"{ createparticles == 0 }"
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"oversampling"
	    label	"Oversampling"
	    type	float
	    default	{ "2" }
	    disablewhen	"{ createparticles == 0 } { dooversampling == 0 }"
	    range	{ 1 10 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"oversamplingbandwidth"
	    label	"Oversampling Bandwidth"
	    type	float
	    default	{ "1" }
	    disablewhen	"{ createparticles == 0 } { dooversampling == 0 }"
	    range	{ 0 10 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"addpartviscosity"
	    label	"Viscosity"
	    type	toggle
	    nolabel
	    joinnext
	    default	{ "off" }
	    disablewhen	"{ createparticles == 0 }"
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"partviscosity"
	    label	"Viscosity"
	    type	float
	    default	{ "1" }
	    disablewhen	"{ addpartviscosity == 0 } { createparticles == 0 }"
	    range	{ 0! 10 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"addpartdensity"
	    label	"Density"
	    type	toggle
	    nolabel
	    joinnext
	    default	{ "off" }
	    disablewhen	"{ createparticles == 0 }"
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"partdensity"
	    label	"Density"
	    type	float
	    default	{ "1" }
	    disablewhen	"{ addpartdensity == 0 } { createparticles == 0 }"
	    range	{ 0! 10 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
    }

    group {
	name	"container_settings_1_3"
	label	"Container Settings"

	parm {
	    name	"initialize"
	    label	"Initialize"
	    type	ordinal
	    default	{ "0" }
	    menu	{
		"source"	"Source Smoke"
		"sourcefuel"	"Source Fuel"
		"sourcefluid"	"Source Fluid"
		"sourceflip"	"Source FLIP"
		"sink"	"Sink"
		"sinkfluid"	"Sink Fluid"
		"collision"	"Collision"
		"pump"	"Pump"
		"velocity"	"Velocity"
		"expand"	"Expand"
	    }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "script_callback" "hou.node(\".\").hdaModule().set()" }
	    parmtag	{ "script_callback_language" "python" }
	}
	parm {
	    name	"bound_expansion"
	    label	"Padding"
	    type	float
	    joinnext
	    default	{ "0.05" }
	    range	{ 0 10 }
	    export	none
	    parmtag	{ "units" "m1" }
	}
	parm {
	    name	"auto_bounds"
	    label	"Auto Bounds"
	    type	toggle
	    default	{ "1" }
	    range	{ 0 1 }
	    export	none
	}
    }

    group {
	name	"container_settings_1_4"
	label	"Partitioning"

	parm {
	    name	"enable_partitioning"
	    label	"Enable Partitioning"
	    type	toggle
	    nolabel
	    joinnext
	    default	{ "0" }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "script_callback_language" "python" }
	}
	parm {
	    name	"partrition_type"
	    label	"Partitioning"
	    type	ordinal
	    default	{ "points" }
	    disablewhen	"{ enable_partitioning == 0 }"
	    menu	{
		"primitives"	"Primitives"
		"points"	"Points"
	    }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"partition_attribute"
	    label	"Partition Attribute"
	    type	string
	    default	{ "cluster" }
	    disablewhen	"{ enable_partitioning == 0 }"
	    range	{ 0 1 }
	    export	none
	}
    }

}
INDX              Contents       WS7   DialogScript   W  (O10707070000010000000006660000000000000000010000001237543365600001300000000000TRAILER!!! # Dialog script for gasvortexconfinement automatically generated 01/16/12 17:14:09

{
    name	gasvortexconfinement
    script	gasvortexconfinement
    label	"Gas Vortex Confinement"


    help {
	""
    }

    inputlabel	1	"Input 1"
    inputlabel	2	"Input 2"
    inputlabel	3	"Input 3"
    inputlabel	4	"Input 4"

    parm {
	name	"confinementscale"
	label	"Confinement Scale"
	type	float
	default	{ "0.1" }
	range	{ 0 10 }
	export	none
    }
    group {
	name	"control_settings"
	label	"Control Settings"

	parm {
	    name	"use_control_field"
	    label	"Use Control Field"
	    type	toggle
	    nolabel
	    joinnext
	    default	{ "1" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"control_field"
	    label	"Control Field"
	    type	string
	    default	{ "confinement" }
	    disablewhen	"{ use_control_field == 0 }"
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"remap_control_field"
	    label	"Remap Control Field"
	    type	toggle
	    default	{ "off" }
	    disablewhen	"{ use_control_field == 0 }"
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "parmvop" "1" }
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"control_min"
	    label	"Control Min"
	    type	float
	    default	{ "0" }
	    disablewhen	"{ use_control_field == 0 } { remap_control_field == 0 }"
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "parmvop" "1" }
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"control_max"
	    label	"Control Max"
	    type	float
	    default	{ "1" }
	    disablewhen	"{ use_control_field == 0 } { remap_control_field == 0 }"
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "parmvop" "1" }
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"control_influence"
	    label	"Control Influence"
	    type	float
	    default	{ "0.5" }
	    disablewhen	"{ use_control_field == 0 } { remap_control_field == 0 }"
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "parmvop" "1" }
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"control_field_ramp"
	    label	"Control Field Ramp"
	    type	ramp_flt
	    default	{ "2" }
	    disablewhen	"{ use_control_field == 0 } { remap_control_field == 0 }"
	    range	{ 1! 10 }
	    export	none
	    parmtag	{ "rampvalues_var" "control_field_ramp_the_key_values" }
	    parmtag	{ "rampkeys_var" "control_field_ramp_the_key_positions" }
	    parmtag	{ "rampbasis_var" "control_field_ramp_the_basis_strings" }
	    parmtag	{ "autoscope" "0000000000000000" }
	    parmtag	{ "rampfloatdefault" "1pos ( 0 ) 1value ( 0 ) 1interp ( linear ) 2pos ( 1 ) 2value ( 1 ) 2interp ( linear )" }
	    parmtag	{ "rampshowcontrolsdefault" "0" }
	    parmtag	{ "parmvop" "1" }
	    parmtag	{ "rampbasisdefault" "linear" }
	}
    }

    group {
	name	"control_settings_1"
	label	"Visualization"

	parm {
	    name	"visualize_confinement"
	    label	"Visualize Confinement"
	    type	toggle
	    default	{ "0" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"guideplane"
	    label	"Plane Orientation"
	    type	ordinal
	    default	{ "xy" }
	    disablewhen	"{ visualize_confinement == 0 }"
	    menu	{
		"xy"	"XY plane     "
		"yz"	"YZ plane"
		"zx"	"ZX plane"
	    }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"guidevistype"
	    label	"Visualization Type"
	    type	ordinal
	    default	{ "speed" }
	    disablewhen	"{ visualize_confinement == 0 }"
	    menu	{
		"none"	"None"
		"distance"	"Distance     "
		"speed"	"Speed"
		"origin"	"Origin"
		"dir"	"Direction"
		"value"	"Value"
	    }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"guidevismode"
	    label	"Visualization Mode"
	    type	ordinal
	    default	{ "false" }
	    disablewhen	"{ visualize_confinement == 0 }"
	    menu	{
		"false"	"Infra-Red"
		"pink"	"White to Red"
		"mono"	"Grayscale"
		"blackbody"	"Black Body"
		"bipartite"	"Two-Tone"
	    }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"guidevisscale"
	    label	"Visualization Scale"
	    type	float
	    default	{ "1" }
	    disablewhen	"{ visualize_confinement == 0 }"
	    range	{ 0 10 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"guideplaneval"
	    label	"Plane Position"
	    type	float
	    default	{ "0" }
	    disablewhen	"{ visualize_confinement == 0 }"
	    range	{ -1! 1! }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"guidestreamerlen"
	    label	"Streamer Length"
	    type	float
	    default	{ "1" }
	    disablewhen	"{ visualize_confinement == 0 }"
	    range	{ 0 10 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"guidestreamerminspeed"
	    label	"Streamer Minimum Speed"
	    type	float
	    default	{ "0.001" }
	    disablewhen	"{ visualize_confinement == 0 }"
	    range	{ 0 10 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"guiderange"
	    label	"Visualization Range"
	    type	float
	    size	2
	    default	{ "0" "1" }
	    disablewhen	"{ visualize_confinement == 0 }"
	    range	{ 0 10 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
    }

    group {
	name	"control_settings_2"
	label	"Temporary Fields"

	parm {
	    name	"cleartemp"
	    label	"Clear Temporary Fields"
	    type	toggle
	    default	{ "1" }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "script_callback" "1" }
	}
	parm {
	    name	"curl"
	    label	"Curl"
	    type	string
	    default	{ "curl" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"curlmag"
	    label	"Curl Magnitude"
	    type	string
	    default	{ "curlmag" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"vortexdir"
	    label	"Vortex Direction"
	    type	string
	    default	{ "vortexdir" }
	    range	{ 0 1 }
	    export	none
	}
    }

    group {
	name	"control_settings_3"
	label	"Bindings"

	parm {
	    name	"vel"
	    label	"Velocity Field"
	    type	string
	    default	{ "vel" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"confinement"
	    label	"Confinement Field"
	    type	string
	    default	{ "confinement" }
	    range	{ 0 1 }
	    export	none
	}
    }

    group {
	name	"control_settings_4"
	label	"Advanced"

	parm {
	    name	"timescale"
	    label	"Time Scale"
	    type	float
	    default	{ "1" }
	    range	{ 0 10 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"opencl"
	    label	"Use Open CL"
	    type	toggle
	    default	{ "0" }
	    range	{ 0 1 }
	    export	none
	}
    }

}
INDX              DialogScript      R//*
 * PROPRIETARY INFORMATION.  This software is proprietary to
 * Side Effects Software Inc., and is not to be reproduced,
 * transmitted, or disclosed in any way without written permission.
 *
 * Produced by:
 *	Side Effects Software Inc
 *	477 Richmond Street West
 *	Toronto, Ontario
 *	Canada   M5V 3E7
 *	416-504-9876
 *
 */

#include <parameter.ds>

{
    name	"normalize"
    script	"normalize"
    label	"normalize"


    code {
	"$nvec = normalize($vec);"
    }

    input	normal	vec	"Input Vector"
    output	normal	nvec	"Normalized Vector"

    signature	"3D Normal"		default { }
    signature	"3D Point"		p  { point point }
    signature	"3D Vector"		v  { vector vector }
    signature	"4D Vector"		v4  { vector4 vector4 }
    signature	"Uniform 3D Normal"	un { unormal unormal }
    signature	"Uniform 3D Point"	up { upoint upoint }
    signature	"Uniform 3D Vector"	uv { uvector uvector }

    VOP_VEC_PARM(vec,   "Normal",	1, 0, 0)
    VOP_VEC_PARM(vec_p, "Normal",	1, 0, 0)
    VOP_VEC_PARM(vec_v, "Normal",	1, 0, 0)
    VOP_VEC4_PARM(vec_v4, "Quaternion",	0, 0, 0, 1)
    VOP_VEC_PARM(vec_un, "Normal",	1, 0, 0)
    VOP_VEC_PARM(vec_up, "Normal",	1, 0, 0)
    VOP_VEC_PARM(vec_uv, "Normal",	1, 0, 0)
    
    group { name "g0" obsolete 12.0 }
    group { name "g1" obsolete 12.0 }
}
INDX              DialogScript      *,OE## Dialog script for limits automatically generated 02/22/12 12:19:28

{
    name	limits
    script	limits
    label	Limits

    outercode {
	"#include <pyro_math.h>"
    }

    code {
	"$clamped = $value;"
	"#if $active"
	"   if($domin) $clamped = max($clamped,$min);"
	"   if($domax) $clamped = min($clamped,$max);"
	"#endif"
    }

    input	int	value	Value
    input	int	domin	"Enable Minimum Limit"
    input	int	min	"Lower Limit"
    input	int	domax	"Enable Maximum Limit"
    input	int	max	"Upper Limit"
    output	int	clamped	"Clamped Value"
    inputflags	value	0
    inputflags	domin	0
    inputflags	min	0
    inputflags	domax	0
    inputflags	max	0
    signature	Int	default	{ int int int int int int }
    signature	Float	f_f_f	{ float int float int float float }
    signature	Vector	v_v_v	{ vector int vector int vector vector }
    signature	"Vector Float Vector"	v_f_v	{ vector int float int vector vector }
    signature	"Vector Vector Float"	v_v_f	{ vector int vector int float vector }
    signature	Point	p_p_p	{ vector4 int vector4 int vector4 vector4 }
    signature	"Point Float Point"	p_f_p	{ vector4 int float int vector4 vector4 }
    signature	"Point Point Float"	p_p_f	{ vector4 int vector4 int float vector4 }
    signature	"IntA Int Int"	ia_i_i	{ inta int int int int inta }
    signature	"IntA IntA Int"	ia_ia_i	{ inta int inta int int inta }
    signature	"IntA IntA IntA"	ia_ia_ia	{ inta int inta int inta inta }
    signature	"IntA Int IntA"	ia_i_ia	{ inta int int int inta inta }
    signature	"FloatA Float Float"	fa_f_f	{ floata int float int float floata }
    signature	"FloatA FloatA Float"	fa_fa_f	{ floata int floata int float floata }
    signature	"FloatA FloatA FloatA"	fa_fa_fa	{ floata int floata int floata floata }
    signature	"FloatA Float FloatA"	fa_f_fa	{ floata int float int floata floata }
    signature	"VectorA Vector Vector"	va_v_v	{ vectora int vector int vector vectora }
    signature	"VectorA VectorA Vector"	va_va_v	{ vectora int vectora int vector vectora }
    signature	"VectorA VectorA VectorA"	va_va_va	{ vectora int vectora int vectora vectora }
    signature	"VectorA VectorA Float"	va_va_f	{ vectora int vectora int float vectora }
    signature	"VectorA Vector VectorA"	va_v_va	{ vectora int vector int vectora vectora }
    signature	"VectorA Vector Float"	va_v_f	{ vectora int vector int float vectora }
    signature	"VectorA Float VectorA"	va_f_va	{ vectora int float int vectora vectora }
    signature	"VectorA Float Vector"	va_f_v	{ vectora int float int vector vectora }
    signature	"VectorA Float Float"	va_f_f	{ vectora int float int float vectora }
    signature	"PointA Point Point"	pa_p_p	{ vector4a int vector4 int vector4 vector4a }
    signature	"PointA PointA Point"	pa_pa_p	{ vector4a int vector4a int vector4 vector4a }
    signature	"PointA PointA PointA"	pa_pa_pa	{ vector4a int vector4a int vector4a vector4a }
    signature	"PointA PointA Float"	pa_pa_f	{ vector4a int vector4a int float vector4a }
    signature	"PointA Point PointA"	pa_p_pa	{ vector4a int vector4 int vector4a vector4a }
    signature	"PointA Point Float"	pa_p_f	{ vector4a int vector4 int float vector4a }
    signature	"PointA Float PointA"	pa_f_pa	{ vector4a int float int vector4a vector4a }
    signature	"PointA Float Point"	pa_f_p	{ vector4a int float int vector4 vector4a }
    signature	"PointA Float Float"	pa_f_f	{ vector4a int float int float vector4a }
    signature	"Vector Float float"	v_f_f	{ vector int float int float vector }
    signature	"Point Float Float"	p_f_f	{ vector4 int float int float vector4 }

    outputoverrides	default
    {
	___begin	auto
			(0)
    }
    outputoverrides	f_f_f
    {
	___begin	auto
			(0)
    }
    outputoverrides	v_v_v
    {
	___begin	auto
			(0,0,0)
    }
    outputoverrides	v_f_v
    {
	___begin	auto
			(0,0,0)
    }
    outputoverrides	v_v_f
    {
	___begin	auto
			(0,0,0)
    }
    outputoverrides	p_p_p
    {
	___begin	auto
			(0,0,0,0)
    }
    outputoverrides	p_f_p
    {
	___begin	auto
			(0,0,0,0)
    }
    outputoverrides	p_p_f
    {
	___begin	auto
			(0,0,0,0)
    }
    outputoverrides	ia_i_i
    {
	___begin	auto
			(0)
    }
    outputoverrides	ia_ia_i
    {
	___begin	auto
			(0)
    }
    outputoverrides	ia_ia_ia
    {
	___begin	auto
			(0)
    }
    outputoverrides	ia_i_ia
    {
	___begin	auto
			(0)
    }
    outputoverrides	fa_f_f
    {
	___begin	auto
			(0)
    }
    outputoverrides	fa_fa_f
    {
	___begin	auto
			(0)
    }
    outputoverrides	fa_fa_fa
    {
	___begin	auto
			(0)
    }
    outputoverrides	fa_f_fa
    {
	___begin	auto
			(0)
    }
    outputoverrides	va_v_v
    {
	___begin	auto
			(0)
    }
    outputoverrides	va_va_v
    {
	___begin	auto
			(0)
    }
    outputoverrides	va_va_va
    {
	___begin	auto
			(0)
    }
    outputoverrides	va_va_f
    {
	___begin	auto
			(0)
    }
    outputoverrides	va_v_va
    {
	___begin	auto
			(0)
    }
    outputoverrides	va_v_f
    {
	___begin	auto
			(0)
    }
    outputoverrides	va_f_va
    {
	___begin	auto
			(0)
    }
    outputoverrides	va_f_v
    {
	___begin	auto
			(0)
    }
    outputoverrides	va_f_f
    {
	___begin	auto
			(0)
    }
    outputoverrides	pa_p_p
    {
	___begin	auto
			(0)
    }
    outputoverrides	pa_pa_p
    {
	___begin	auto
			(0)
    }
    outputoverrides	pa_pa_pa
    {
	___begin	auto
			(0)
    }
    outputoverrides	pa_pa_f
    {
	___begin	auto
			(0)
    }
    outputoverrides	pa_p_pa
    {
	___begin	auto
			(0)
    }
    outputoverrides	pa_p_f
    {
	___begin	auto
			(0)
    }
    outputoverrides	pa_f_pa
    {
	___begin	auto
			(0)
    }
    outputoverrides	pa_f_p
    {
	___begin	auto
			(0)
    }
    outputoverrides	pa_f_f
    {
	___begin	auto
			(0)
    }
    outputoverrides	v_f_f
    {
	___begin	auto
			(0,0,0)
    }
    outputoverrides	p_f_f
    {
	___begin	auto
			(0,0,0,0)
    }

    help {
	""
    }

    parm {
	name	"signature"
	baseparm
	invisible
	export	none
    }
    parm {
	name	"spacer3"
	label	"spacer"
	type	label
	nolabel
	default	{ "" }
	range	{ 0 1 }
	export	none
    }
    parm {
	name	"makeui"
	label	"Promote Interface"
	type	button
	nolabel
	default	{ "0" }
	menu	{
	    [ "import pyro2" ]
	    [ "return pyro2.makeuimenu()" ]
	    language	python
	}
	range	{ 0 1 }
	export	none
	parmtag	{ "script_callback_language" "python" }
	parmtag	{ "script_callback" "hou.phm().uiCreate(kwargs)" }
	parmtag	{ "export_disable" "1" }
    }
    group {
	name	"opsettings"
	label	"VOP Parameters"

	parm {
	    name	"active"
	    label	"Active"
	    type	toggle
	    default	{ "1" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"domin"
	    label	"Lower Limit"
	    type	toggle
	    joinnext
	    default	{ "1" }
	    disablewhen	"{ active == 0 }"
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"spacer"
	    label	"spacer"
	    type	label
	    nolabel
	    default	{ "" }
	    disablewhen	"{ active == 0 } { domin == 0 }"
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"min"
	    label	"Integer"
	    type	integer
	    default	{ "0" }
	    disablewhen	"{ active == 0 } { domin == 0 }"
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"min_f_f_f"
	    label	"Float"
	    type	float
	    default	{ "0" }
	    disablewhen	"{ active == 0 } { domin == 0 }"
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"min_v_v_v"
	    label	"Vector"
	    type	vector
	    size	3
	    default	{ "0" "0" "0" }
	    disablewhen	"{ active == 0 } { domin == 0 }"
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"min_p_p_p"
	    label	"Vector4"
	    type	vector4
	    size	4
	    default	{ "0" "0" "0" "0" }
	    disablewhen	"{ active == 0 } { domin == 0 }"
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"domax"
	    label	"Upper Limit"
	    type	toggle
	    joinnext
	    default	{ "1" }
	    disablewhen	"{ active == 0 }"
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"spacer2"
	    label	"spacer"
	    type	label
	    nolabel
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"max"
	    label	"Integer"
	    type	integer
	    default	{ "1" }
	    disablewhen	"{ active == 0 } { domax == 0 }"
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"max_f_f_f"
	    label	"Float"
	    type	float
	    default	{ "1" }
	    disablewhen	"{ active == 0 } { domax == 0 }"
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"max_v_v_v"
	    label	"Vector"
	    type	vector
	    size	3
	    default	{ "1" "1" "1" }
	    disablewhen	"{ active == 0 } { domax == 0 }"
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"max_p_p_p"
	    label	"Vector4"
	    type	vector4
	    size	4
	    default	{ "1" "1" "1" "1" }
	    disablewhen	"{ active == 0 } { domax == 0 }"
	    range	{ 0 1 }
	    export	none
	}
    }

    group {
	name	"opsettings_1"
	label	"UI Promotion"

	parm {
	    name	"ui_prefix"
	    label	"Parameter Prefix"
	    type	string
	    joinnext
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"ui_postfix"
	    label	"Postfix"
	    type	string
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"ui_infolder"
	    label	"ui_infolder"
	    type	toggle
	    nolabel
	    joinnext
	    default	{ "0" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"ui_foldername"
	    label	"Create In Folder"
	    type	string
	    default	{ [ "node('.').creator().relativePathTo(node('.')).replace('/','_')" python ] }
	    disablewhen	"{ ui_infolder == 0 }"
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"leftalign3"
	    label	"spacer"
	    type	label
	    nolabel
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"ui_withactive"
	    label	"Add Global Active Toggle"
	    type	toggle
	    joinnext
	    default	{ "0" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"leftalign"
	    label	"spacer"
	    type	label
	    nolabel
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"ui_activename"
	    label	"Active Name"
	    type	string
	    default	{ "active" }
	    disablewhen	"{ ui_withactive == 0 }"
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"ui_activelabel"
	    label	"Active Label"
	    type	string
	    default	{ "Enable Limits" }
	    disablewhen	"{ ui_withactive == 0 }"
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"ui_initactive"
	    label	"Initial State"
	    type	toggle
	    default	{ "1" }
	    disablewhen	"{ ui_withactive == 0 }"
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"leftalign4"
	    label	"spacer"
	    type	label
	    nolabel
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"ui_dwhen"
	    label	"Extra Disable When"
	    type	string
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	}
    }

}
INDX              DialogScript      R//*
 * PROPRIETARY INFORMATION.  This software is proprietary to
 * Side Effects Software Inc., and is not to be reproduced,
 * transmitted, or disclosed in any way without written permission.
 *
 * Produced by:
 *      Side Effects Software Inc
 *      477 Richmond Street West
 *      Toronto, Ontario
 *      Canada   M5V 3E7
 *      416-504-9876
 *
 */

#include <parameter.ds>

{
    name	"curlnoise"
    script	"curlnoise"
    label	"curlnoise"

    outercode {
	"#include <voplib.h>"
    }

    code {
	"#if !strcmp($signature, \"default\")"
	"  $noise = vop_curlNoiseVV($pos, $freq, $offset, $normal, $type, $sdf, $turb, $bounce, $amp, $rough, $atten, $dist, $radius, $h);"
	"#else"
	"  $noise = vop_curlNoiseVP($pos, $freq, $offset, $normal, $type, $sdf, $turb, $bounce, $amp, $rough, $atten, $dist, $radius, $h);"
	"#endif"
    }
   
    input	string	type	"Noise Type"

    input	point	pos	"Position"
    input	vector	freq	"Frequency"
    input	point	offset	"Offset"
    input	float	amp	"Amplitude"
    input	float	rough	"Roughness"
    input	float	atten	"Attenuation"
    input	int	turb	"Turbulence"
    input	float	h	"Step Size"
    input	float	radius	"Surface Effect Radius"
    input	float	dist	"Distance to Surface"
    input	vector	normal	"Surface Normal"
    input	string	sdf	"Collision SDF"
    input	int	bounce	"Enable Bouncing"
    output	vector	noise	"Noise"

    signature	"3D Noise"	default	{ string point vector point float float float int float float float vector string int vector }
    signature	"4D Noise"	vp	{ string vector4 vector4 vector4 float float float int float float float vector string int vector }

    parm {
	name type
	label "Noise Type"
	type string
	menu	{
	    "pnoise"	"Perlin Noise"
	    "onoise"	"Original Perlin Noise"
	    "snoise"	"Sparse Convolution Noise"
	    "anoise"	"Alligator Noise"
	    "xnoise"	"Simplex Noise"
	    "exact_pnoise"	"Analytic Perlin Noise"
	    "exact_xnoise"	"Analytic Simplex Noise"
	}
	default { "pnoise" }
    }

    VOP_VEC_PARM	(pos,		"Position", 0, 0, 0)
    VOP_VEC4_PARM	(pos_vp,	"Position", 0, 0, 0, 0)

    VOP_VEC_PARM	(freq,		"Frequency", 1, 1, 1)
    VOP_VEC4_PARM	(freq_vp,	"Frequency", 1, 1, 1, 1)

    VOP_VEC_PARM	(offset,	"Offset", 0, 0, 0)
    VOP_VEC4_PARM	(offset_vp,	"Offset", 0, 0, 0, 0)

    VOP_FLT_PARM_R	(amp,		"Amplitude",	1, -1, 1)
    VOP_FLT_PARM	(rough,		"Roughness",	0.5)
    VOP_FLT_PARM	(atten,		"Attenuation",	1)
    VOP_INT_PARM_R	(turb,		"Turbulence",	3, 1, 12)

    parm {
	name	h
	label	"Step Size"
	size	1
	type	float
	default	{ 0.0001 }
	disablewhen "{ type == \"exact_pnoise\" } { type == \"exact_xnoise\" } "
    }

    parm {
	name	radius
	label	"Surface Effect Radius"
	size	1
	type	float
	default	{ 1 }
	range	{ 0 10 }
	disablewhen "{ type == \"exact_pnoise\" } { type == \"exact_xnoise\" } "
    }

    parm {
	name	dist
	label	"Distance to Surface"
	size	1
	type	float
	default	{ 1 }
	disablewhen "{ type == \"exact_pnoise\" } { type == \"exact_xnoise\" } "
    }

    parm {
	name	normal
	label	"Surface Normal"
	size	3
	type	float
	default	{ 0 0 0 }
	disablewhen "{ type == \"exact_pnoise\" } { type == \"exact_xnoise\" } "
    }

    parm {
	name	sdf
	label	"Collision SDF"
	size	1
	type	string
	default	{ "" }
	disablewhen "{ type == \"exact_pnoise\" } { type == \"exact_xnoise\" } "
    }

    parm {
	name	bounce
	label	"Enable Bouncing SDF"
	size	1
	type	toggle
	default	{ 0 }
	disablewhen "{ type == \"exact_pnoise\" } { type == \"exact_xnoise\" } "
    }
}

INDX              DialogScript      {OE$N# Dialog script for pyroNoiseSpace automatically generated 02/22/12 12:22:22

{
    name	pyroNoiseSpace
    script	pyroNoiseSpace
    label	"Pyro Noise Space"

    code {
	"#if $dim4"
	"   $newpos  = set($pos.x,$pos.y,$pos.z,$time);"
	"   $newpos2 = set($pos2.x,$pos2.y,$pos2.z,$time);"
	"#else"
	"   $newpos  = $pos;"
	"   $newpos2 = $pos2;"
	"#endif"
    }

    input	vector	pos	"Primary Sample Position"
    input	vector	pos2	"Secondary Sample Position (for dual-rest)"
    input	float	time	"Position in the Fourth Dimension"
    output	vector	newpos	"Primary Sample Position"
    output	vector	newpos2	"Secondary Sample Position (for dual-rest)"
    inputflags	pos	0
    inputflags	pos2	0
    inputflags	time	0
    signature	"3-Dimensional Noise"	default	{ vector vector float vector vector }
    signature	"4-Dimensional Noise"	d4	{ vector vector float vector4 vector4 }

    outputoverrides	default
    {
	___begin	auto
			(0,0,0)
	___begin	auto
			(0,0,0)
    }
    outputoverrides	d4
    {
	___begin	auto
			(0,0,0,0)
	___begin	auto
			(0,0,0,0)
    }

    help {
	""
    }

    parm {
	name	"signature"
	baseparm
	export	none
    }
    parm {
	name	"dim4"
	label	"4-Dimensional Noise"
	type	toggle
	default	{ "0" }
	range	{ 0 1 }
	export	none
    }
    parm {
	name	"time"
	label	"Fourth Dimension"
	type	float
	default	{ "0" }
	disablewhen	"{ dim4 == 0 }"
	range	{ 0 10 }
	export	none
    }
}
INDX              DialogScript      OE$# Dialog script for pyroDisplace automatically generated 02/22/12 12:21:26

{
    name	pyroDisplace
    script	pyroShade
    label	"Pyro Displace"

    outercode {
	"#include <pyro_math.h>"
    }

    code {
	""
	"$Pdisp = P;"
	"$Ndisp = N;"
	""
	"vector $amp = $dispamp * $dispscale;"
	"if($dispactive && !equalzero($amp)) {"
	"   vector $dir = $dispnorm ? normalize($dispdir) : $dispdir;"
	"   $Pdisp -= $amp*$dir;"
	"   //$Ndisp = computenormal($Pdisp);"
	"}"
    }

    input	vector	dispdir	"Displacement Direction"
    input	float	dispamp	"Displacement Amplitude"
    input	int	dispactive	"Enable Displacements"
    input	int	dispnorm	"Normalize Displacement Direction"
    input	float	dispscale	"Displacement Scale"
    output	vector	Pdisp	"Displaced P"
    output	vector	Ndisp	"Displaced N"
    inputflags	dispdir	0
    inputflags	dispamp	0
    inputflags	dispactive	0
    inputflags	dispnorm	0
    inputflags	dispscale	0
    signature	"Float Amp"	default	{ vector float int int float vector vector }
    signature	"Vector Amp"	vamp	{ vector vector int int float vector vector }

    outputoverrides	default
    {
	___begin	auto
			(0,0,0)
	___begin	auto
			(0,0,0)
    }
    outputoverrides	vamp
    {
	___begin	auto
			(0,0,0)
	___begin	auto
			(0,0,0)
    }

    help {
	""
    }

    parm {
	name	"signature"
	baseparm
	invisible
	export	none
    }
    parm {
	name	"makeui"
	label	"Promote Interface"
	type	button
	nolabel
	default	{ "0" }
	menu	{
	    [ "import pyro2" ]
	    [ "return pyro2.makeuimenu()" ]
	    language	python
	}
	range	{ 0 1 }
	export	none
	parmtag	{ "script_callback_language" "python" }
	parmtag	{ "script_callback" "hou.phm().uiCreate(kwargs)" }
	parmtag	{ "export_disable" "1" }
    }
    group {
	name	"folder0"
	label	"VOP Parameters"

	group {
	    name	"folder1"
	    label	"Main"

	    parm {
		name	"dispactive"
		label	"Enable Displacements"
		type	toggle
		default	{ "1" }
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"dispnorm"
		label	"Normalize Displacement Direction"
		type	toggle
		default	{ "1" }
		disablewhen	"{ dispactive == 0 }"
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"dispscale"
		label	"Displacement Scale"
		type	float
		default	{ "1" }
		disablewhen	"{ dispactive == 0 }"
		range	{ -1 1 }
		export	none
	    }
	}

	group {
	    name	"folder1_1"
	    label	"Input Defaults"

	    parm {
		name	"dispdir"
		label	"Direction"
		type	vector
		size	3
		default	{ "0" "1" "0" }
		range	{ -1 1 }
		export	none
	    }
	    parm {
		name	"dispamp"
		label	"Amplitude"
		type	float
		default	{ "0" }
		range	{ 0 10 }
		export	none
	    }
	    parm {
		name	"dispamp_vamp"
		label	"Vector Amplitude"
		type	vector
		size	3
		default	{ "0" "0" "0" }
		range	{ 0 10 }
		export	none
	    }
	}

    }

    group {
	name	"folder0_1"
	label	"UI Promotion"

	parm {
	    name	"ui_prefix"
	    label	"Parameter Prefix"
	    type	string
	    joinnext
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"ui_postfix"
	    label	"Postfix"
	    type	string
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"ui_infolder"
	    label	"ui_infolder"
	    type	toggle
	    nolabel
	    joinnext
	    default	{ "0" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"ui_foldername"
	    label	"Create In Folder"
	    type	string
	    default	{ [ "node('.').creator().relativePathTo(node('.')).replace('/','_')" python ] }
	    disablewhen	"{ ui_infolder == 0 }"
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"leftalign4"
	    label	"spacer"
	    type	label
	    nolabel
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"ui_activelabel"
	    label	"Active Label"
	    type	string
	    default	{ "Enable Displacements" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"ui_initactive"
	    label	"Initial Active State"
	    type	toggle
	    default	{ "0" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"leftalign3"
	    label	"spacer"
	    type	label
	    nolabel
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"ui_dwhen"
	    label	"Extra Disable When"
	    type	string
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	}
    }

}
INDX              Contents       WS7   DialogScript   W  ER0707070000010000000006660000000000000000010000001237543365700001300000000000TRAILER!!! # Dialog script for pyroField automatically generated 11/13/13 15:24:01

{
    name	pyroField
    script	pyroField
    label	"Pyro Field"

    input	vector4	dfltval	"Default Field Value"
    input	float	fit_srcmin	"Fit: Source Min"
    input	float	fit_srcmax	"Fit: Source Max"
    input	float	fit_tgtmin	"Fit: Target Min"
    input	float	fit_tgtmax	"Fit: Target Max"
    input	float	ramp_rngmin	"Ramp: Range Min"
    input	float	ramp_rngmax	"Ramp: Range Max"
    input	string	spacename	"Ramp: Name Of Color Space (rgb,hsl,hsv,Lab,XYZ)"
    input	string	gammaname	"Ramp: Name Of Gamma Space (linear,srgb,custom)"
    input	float	gammaval	"Ramp: Custom Gamma Value"
    input	float	lowlimit	"Lower Limit"
    input	float	highlimit	"Upper Limit"
    input	float	contour_width	"Contour: Width"
    input	float	contour_sharp	"Contour: Sharpness"
    input	float	sclip_start	"SoftClip: Start Value"
    input	float	sclip_suppress	"SoftClip: Suppression"
    input	float	amp	"Final Amplitude"
    input	float	padval	"Promotion Padding Value"
    input	float	fw	"Override Filter Width"
    input	float	fscale	"Filter Scale"
    output	float	field_shaped	field_shaped
    output	float	field_raw	field_raw
    inputflags	dfltval	0
    inputflags	fit_srcmin	0
    inputflags	fit_srcmax	0
    inputflags	fit_tgtmin	0
    inputflags	fit_tgtmax	0
    inputflags	ramp_rngmin	0
    inputflags	ramp_rngmax	0
    inputflags	spacename	0
    inputflags	gammaname	0
    inputflags	gammaval	0
    inputflags	lowlimit	0
    inputflags	highlimit	0
    inputflags	contour_width	0
    inputflags	contour_sharp	0
    inputflags	sclip_start	0
    inputflags	sclip_suppress	0
    inputflags	amp	0
    inputflags	padval	0
    inputflags	fw	0
    inputflags	fscale	0
    signature	Default	default	{ vector4 float float float float float float string string float float float float float float float float float float float float float }

    outputoverrides	default
    {
	___begin	auto
			(0)
	___begin	auto
			(0)
    }

    help {
	""
    }

    parm {
	name	"makeui"
	label	"Promote Interface"
	type	button
	nolabel
	default	{ "0" }
	menu	{
	    [ "import pyro2" ]
	    [ "return pyro2.makeuimenu()" ]
	    language	python
	}
	range	{ 0 1 }
	export	none
	parmtag	{ "export_disable" "1" }
	parmtag	{ "script_callback" "hou.phm().uiCreate(kwargs)" }
	parmtag	{ "script_callback_language" "python" }
    }
    group {
	name	"folder0"
	label	"VOP Parameters"

	parm {
	    name	"name"
	    label	"Field Name"
	    type	string
	    joinnext
	    default	{ "density" }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"intype"
	    label	"Field Type"
	    type	string
	    default	{ "float" }
	    disablewhen	"{ name == \"\" }"
	    menu	{
		"float"	"Float"
		"vector"	"Vector"
		"vector4"	"Vector4"
	    }
	    range	{ 0 1 }
	    export	none
	    unquoted
	    parmtag	{ "autoscope" "0000000000000000" }
	    parmtag	{ "script_callback" "hou.phm().updatemethod(kwargs,False)" }
	    parmtag	{ "script_callback_language" "python" }
	}
	parm {
	    name	"promote"
	    label	"Promote"
	    type	toggle
	    nolabel
	    joinnext
	    default	{ "0" }
	    disablewhen	"{ name == \"\" }"
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	    parmtag	{ "script_callback" "#hou.#phm().cookme(kwargs)" }
	    parmtag	{ "script_callback_language" "python" }
	}
	parm {
	    name	"outtype"
	    label	"Promote To Type"
	    type	string
	    joinnext
	    default	{ "float" }
	    disablewhen	"{ name == \"\" } { promote == 0 }"
	    menu	{
		"float"	"Float"
		"vector"	"Vector"
		"vector4"	"Vector4"
	    }
	    range	{ 0 1 }
	    export	none
	    unquoted
	    parmtag	{ "autoscope" "0000000000000000" }
	    parmtag	{ "script_callback" "hou.phm().updatemethod(kwargs,False)" }
	    parmtag	{ "script_callback_language" "python" }
	}
	parm {
	    name	"method"
	    label	"Method"
	    type	string
	    nolabel
	    joinnext
	    default	{ "assign" }
	    disablewhen	"{ name == \"\" } { promote == 0 } { doconvert == 0 }"
	    menu	{
		[ "hou.nodeType(hou.vopNodeTypeCategory(),'typeconvertimpl').hdaModule().methodmenu(hou.evalParm('intype'),hou.evalParm('outtype'))" ]
		language	python
	    }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"padval"
	    label	"Constant"
	    type	float
	    nolabel
	    default	{ "0" }
	    disablewhen	"{ name == \"\" } { promote == 0 } { method != padc }"
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"dfltval"
	    label	"Default Field Value"
	    type	vector4
	    size	4
	    default	{ "0" "0" "0" "0" }
	    disablewhen	"{ name != \"\" }"
	    range	{ -1 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"doconvert"
	    label	"doconvert"
	    type	integer
	    invisible
	    default	{ [ "evalParm('promote') and evalParm('intype')!=evalParm('outtype')" python ] }
	    range	{ 0 10 }
	    export	none
	}
	parm {
	    name	"spacer"
	    label	"spacer"
	    type	label
	    nolabel
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"dofit"
	    label	"Fit to Range (Unclamped)"
	    type	toggle
	    joinnext
	    default	{ "off" }
	    disablewhen	"{ name == \"\" }"
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"labelparm2"
	    label	"forceleft"
	    type	label
	    nolabel
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"fit_srcmin"
	    label	"Source Range"
	    type	float
	    joinnext
	    default	{ "0" }
	    disablewhen	"{ name == \"\" } { dofit == 0 }"
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"fit_srcmax"
	    label	"Source Max"
	    type	float
	    nolabel
	    default	{ "1" }
	    disablewhen	"{ name == \"\" } { dofit == 0 }"
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"fit_tgtmin"
	    label	"Target Range"
	    type	float
	    joinnext
	    default	{ "0" }
	    disablewhen	"{ name == \"\" } { dofit == 0 }"
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"fit_tgtmax"
	    label	"Target Max"
	    type	float
	    nolabel
	    default	{ "1" }
	    disablewhen	"{ name == \"\" } { dofit == 0 }"
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"spacer2"
	    label	"spacer"
	    type	label
	    invisible
	    nolabel
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"doramp"
	    label	"Use Lookup Ramp"
	    type	toggle
	    joinnext
	    default	{ "off" }
	    disablewhen	"{ name == \"\" }"
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	    parmtag	{ "script_callback" "hou.phm().cookme(kwargs)" }
	    parmtag	{ "script_callback_language" "python" }
	}
	parm {
	    name	"labelparm"
	    label	"forceleft"
	    type	label
	    nolabel
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"rampparm"
	    label	"Unique Ramp Name"
	    type	string
	    default	{ "uniqueparmname" }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"disablewhen"
	    label	"Disable When"
	    type	string
	    default	{ [ "'{ %sname%s \"\" } { %sdoramp%s 0 }'%(ch('ui_prefix'),ch('ui_postfix'),ch('ui_prefix'),ch('ui_postfix'))" python ] }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"callback"
	    label	"Callback Script"
	    type	string
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"help"
	    label	"Help"
	    type	string
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"spacer9"
	    label	"spacer"
	    type	label
	    nolabel
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"ramptype"
	    label	"Ramp Type"
	    type	ordinal
	    default	{ "flt" }
	    disablewhen	"{ name == \"\" } { doramp == 0 }"
	    menu	{
		"flt"	"Float Spline"
		"rgb"	"Color Ramp"
	    }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	    parmtag	{ "script_callback" "hou.phm().cookme(kwargs)" }
	    parmtag	{ "script_callback_language" "python" }
	}
	parm {
	    name	"spacename"
	    label	"Color Space"
	    type	string
	    joinnext
	    default	{ "rgb" }
	    disablewhen	"{ name == \"\" } { doramp == 0 } { ramptype == flt }"
	    menu	{
		"rgb"	"RGB"
		"hsv"	"HSV"
		"lab"	"LAB"
		"hsl"	"HSL"
		"xyz"	"XYZ"
	    }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"gammaname"
	    label	"Gamma"
	    type	string
	    joinnext
	    default	{ "linear" }
	    disablewhen	"{ name == \"\" } { doramp == 0 }"
	    menu	{
		"linear"	"Linear"
		"srgb"	"sRGB"
		"custom"	"Custom"
	    }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"gammaval"
	    label	"Gamma Value"
	    type	float
	    nolabel
	    default	{ "2.2" }
	    disablewhen	"{ name == \"\" } { doramp == 0 } { gammaname != custom }"
	    range	{ 0.0001! 4 }
	    export	none
	}
	parm {
	    name	"ramp_rngmin"
	    label	"Ramp Interval"
	    type	float
	    joinnext
	    default	{ "0" }
	    disablewhen	"{ name == \"\" } { active == 0 } { doramp == 0 }"
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"ramp_rngmax"
	    label	"Ramp Interval Max"
	    type	float
	    nolabel
	    default	{ "1" }
	    disablewhen	"{ name == \"\" } { doramp == 0 }"
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"lbt"
	    label	"Ramp Boundaries"
	    type	string
	    joinnext
	    default	{ "hold" }
	    disablewhen	"{ name == \"\" } { doramp == 0 }"
	    menu	{
		"hold"	"Hold"
		"cycle"	"Cycle"
		"accum"	"Cycle-Accumulate"
		"mirror"	"Mirror"
		"slope"	"Slope"
	    }
	    range	{ 0 1 }
	    export	none
	    unquoted
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"rbt"
	    label	"Right"
	    type	string
	    nolabel
	    default	{ "hold" }
	    disablewhen	"{ name == \"\" } { doramp == 0 }"
	    menu	{
		"hold"	"Hold"
		"cycle"	"Cycle"
		"accum"	"Cycle-Accumulate"
		"mirror"	"Mirror"
		"slope"	"Slope"
	    }
	    range	{ 0 1 }
	    export	none
	    unquoted
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"spacer6"
	    label	"spacer"
	    type	label
	    nolabel
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"docontour"
	    label	"Contour"
	    type	toggle
	    nolabel
	    joinnext
	    default	{ "off" }
	    disablewhen	"{ name == \"\" }"
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"contour_width"
	    label	"Contour Width"
	    type	float
	    joinnext
	    default	{ "0.02" }
	    disablewhen	"{ name == \"\" } { docontour == 0 }"
	    range	{ 0! 0.1 }
	    export	none
	}
	parm {
	    name	"contour_sharp"
	    label	"Sharpness"
	    type	float
	    default	{ "4" }
	    disablewhen	"{ name == \"\" } { docontour == 0 }"
	    range	{ 0! 10 }
	    export	none
	}
	parm {
	    name	"dosclip"
	    label	"Soft Clip"
	    type	toggle
	    nolabel
	    joinnext
	    default	{ "off" }
	    disablewhen	"{ name == \"\" }"
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"sclip_start"
	    label	"Soft Clip Start"
	    type	float
	    joinnext
	    default	{ "0.8" }
	    disablewhen	"{ name == \"\" } { dosclip == 0 }"
	    range	{ 0! 1 }
	    export	none
	}
	parm {
	    name	"sclip_suppress"
	    label	"  Suppress"
	    type	float
	    default	{ "1" }
	    disablewhen	"{ name == \"\" } { dosclip == 0 }"
	    range	{ 0! 10 }
	    export	none
	}
	parm {
	    name	"spacer5"
	    label	"spacer"
	    type	label
	    nolabel
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"dolowlimit"
	    label	"Clamp at Lower Limit"
	    type	toggle
	    nolabel
	    joinnext
	    default	{ "off" }
	    disablewhen	"{ name == \"\" }"
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"lowlimit"
	    label	"Clamp To Min"
	    type	float
	    default	{ "0" }
	    disablewhen	"{ name == \"\" } { dolowlimit == 0 }"
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"dohighlimit"
	    label	"Clamp at Upper Limit"
	    type	toggle
	    nolabel
	    joinnext
	    default	{ "off" }
	    disablewhen	"{ name == \"\" }"
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"highlimit"
	    label	"Clamp To Max"
	    type	float
	    default	{ "1" }
	    disablewhen	"{ name == \"\" } { dohighlimit == 0 }"
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"spacer4"
	    label	"spacer"
	    type	label
	    nolabel
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"amp"
	    label	"Final Amplitude"
	    type	float
	    default	{ "1" }
	    disablewhen	"{ name == \"\" }"
	    range	{ 0 2 }
	    export	none
	}
	parm {
	    name	"spacer7"
	    label	"spacer"
	    type	label
	    nolabel
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"ftype"
	    label	"Filter"
	    type	string
	    joinnext
	    default	{ "point" }
	    disablewhen	"{ name == \"\" }"
	    menu	{
		"point"	"Point"
		"box"	"Box"
		"gauss"	"Gaussian"
	    }
	    range	{ 0 1 }
	    export	none
	    unquoted
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"fscale"
	    label	"Scale"
	    type	float
	    default	{ "1" }
	    disablewhen	"{ name == \"\" } { ftype == point }"
	    range	{ 0 2 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
    }

    group {
	name	"folder0_1"
	label	"UI Promotion"

	parm {
	    name	"ui_prefix"
	    label	"Parameter Prefix"
	    type	string
	    joinnext
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"ui_postfix"
	    label	"Postfix"
	    type	string
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"ui_infolder"
	    label	"ui_infolder"
	    type	toggle
	    nolabel
	    joinnext
	    default	{ "1" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"ui_foldername"
	    label	"Create In Folder"
	    type	string
	    default	{ [ "node('.').creator().relativePathTo(node('.')).replace('/','_')" python ] }
	    disablewhen	"{ ui_infolder == 0 }"
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"spacer3"
	    label	"spacer"
	    type	label
	    nolabel
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"labelparm3"
	    label	"Field:"
	    type	label
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"sepparm"
	    label	"Separator"
	    type	separator
	    default	{ }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"ui_initfieldlabel"
	    label	"Field Label"
	    type	string
	    default	{ "Field Name" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"ui_initfieldname"
	    label	"Default Field Name"
	    type	string
	    joinnext
	    default	{ [ "chs(name)" hscript-expr ] }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"ui_forcefieldname"
	    label	"Disallow Empty String"
	    type	toggle
	    default	{ "0" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"ui_initfieldtype"
	    label	"Default Field Type"
	    type	string
	    default	{ [ "chs(intype)" hscript-expr ] }
	    menu	{
		"float"	"Float"
		"vector"	"Vector"
		"vector4"	"Vector4"
	    }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	    parmtag	{ "script_callback" "" }
	    parmtag	{ "script_callback_language" "python" }
	}
	parm {
	    name	"ui_forceouttype"
	    label	"Forced Output Type"
	    type	string
	    default	{ "none" }
	    menu	{
		"none"	"None"
		"float"	"Float"
		"vector"	"Vector"
		"vector4"	"Vector4"
	    }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	    parmtag	{ "script_callback_language" "hscript" }
	}
	parm {
	    name	"spacer8"
	    label	"spacer"
	    type	label
	    nolabel
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"labelparm4"
	    label	"Ramp:"
	    type	label
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"sepparm2"
	    label	"Separator"
	    type	separator
	    default	{ }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"ui_initcspace"
	    label	"Default Color Space"
	    type	string
	    default	{ [ "chs(spacename)" hscript-expr ] }
	    menu	{
		"rgb"	"RGB"
		"hsv"	"HSV"
		"lab"	"LAB"
		"hsl"	"HSL"
		"xyz"	"XYZ"
	    }
	    range	{ 0 1 }
	    export	none
	    unquoted
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"ui_initgammatype"
	    label	"Default Gamma Type"
	    type	string
	    joinnext
	    default	{ [ "chs(gammaname)" hscript-expr ] }
	    menu	{
		"linear"	"Linear"
		"srgb"	"sRGB"
		"custom"	"Custom"
	    }
	    range	{ 0 1 }
	    export	none
	    unquoted
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"ui_initgammaval"
	    label	"Value"
	    type	float
	    default	{ [ "ch(gammaval)" hscript-expr ] }
	    disablewhen	"{ ui_initgammatype != custom }"
	    range	{ 0.0001! 4 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	    parmtag	{ "script_unquoted" "1" }
	}
    }

}
INDX              DialogScript      R//*
 * PROPRIETARY INFORMATION.  This software is proprietary to
 * Side Effects Software Inc., and is not to be reproduced,
 * transmitted, or disclosed in any way without written permission.
 *
 * Produced by:
 *	Side Effects Software Inc
 *	477 Richmond Street West
 *	Toronto, Ontario
 *	Canada   M5V 3E7
 *	416-504-9876
 *
 */

#include <parameter.ds>

{
    name	"align"
    script	"align"
    label	"align"


    code {
	"$matx = dihedral($from, $to);"
    }

    output	matrix3	matx	"Rotation Matrix"

    VOP_VEC_INPUT(from,	"Vector To Rotate From", 1, 0, 0)
    VOP_VEC_INPUT(to,	"Vector To Rotate To",   0, 1, 0)

    signature	"Matrix 3"		default	{ }
    signature	"Angle Axis"		v	{ vector vector vector4 }

}
INDX              Contents       WS7   DialogScript   W  ZOE$0707070000010000000006660000000000000000010000001237543365700001300000000000TRAILER!!! # Dialog script for pyroDensityVolume automatically generated 02/22/12 12:21:11

{
    name	pyroDensityVolume
    script	pyroDensityVolume
    label	"Pyro Density Volume"

    input	vector4	dfltval	"FIELD: Default Value"
    input	float	fit_srcmin	"FIELD: Fit: Source Min"
    input	float	fit_srcmax	"FIELD: Fit: Source Max"
    input	float	fit_tgtmin	"FIELD: Fit: Target Min"
    input	float	fit_tgtmax	"FIELD: Fit: Target Max"
    input	float	ramp_rngmin	"FIELD: Ramp: Range Min"
    input	float	ramp_rngmax	"FIELD: Ramp: Range Max"
    input	string	spacename	"Field: Ramp: Name Of Color Space (rgb,hsl,hsv,Lab,XYZ)"
    input	string	gammaname	"Field: Ramp: Name Of Gamma Space (linear,srgb,custom)"
    input	float	gammaval	"Field: Ramp: Custom Gamma Value"
    input	float	lowlimit	"FIELD: Lower Limit"
    input	float	highlimit	"FIELD: Upper Limit"
    input	float	contour_width	"FIELD: Contour: Width"
    input	float	contour_sharp	"FIELD: Contour: Sharpness"
    input	float	sclip_start	"FIELD: SoftClip: Start Value"
    input	float	sclip_suppress	"FIELD: SoftClip: Suppression"
    input	float	amp	"FIELD: Final Amplitude"
    input	float	padval	"FIELD: Padding Value"
    input	int	restinterp	"NOISE: Rest Interpolation"
    input	float	time	"NOISE: Time (P[3])"
    input	vector4	freq	"NOISE: Frequency"
    input	vector4	offset	"NOISE: Offset"
    input	vector4	period	"NOISE: Period"
    input	int	inv	"NOISE: Complement"
    input	int	fold	"NOISE: Fold"
    input	float	expon	"NOISE: Exponent"
    input	int	dolwarp	"NOISE: Enable Lattice Warp"
    input	float	disp	"NOISE: Lattice Warp"
    input	float	dispfreq	"NOISE: Lattice Warp Freq"
    input	int	dogwarp	"NOISE: Enable Gradient Warp"
    input	float	gflow	"NOISE: Gradient Warp"
    input	float	flowrot	"NOISE: Flow Rotation"
    input	int	accuml	"NOISE: Accumulate Lattice Warp"
    input	int	accumg	"NOISE: Accumulate Gradient Warp"
    input	float	oct	"NOISE: Max Octaves"
    input	float	lac	"NOISE: Lacunarity"
    input	float	rough	"NOISE: Roughness"
    input	int	docc	"NOISE: Output Correction"
    input	int	cc_dobias	"NOISE: Do Bias"
    input	vector	cc_bias	"NOISE: Bias"
    input	int	cc_dogain	"NOISE: Do Gain"
    input	vector	cc_gain	"NOISE: Gain"
    input	int	cc_inv	"NOISE: Complement"
    input	int	cc_dorng	"NOISE: Remap Range"
    input	vector	cc_rnglo	"NOISE: Range Min"
    input	vector	cc_rnghi	"NOISE: Range Max"
    input	vector	cc_amp	"NOISE: Final Amplitude"
    input	float	fw	"SHARED: Override Filter Width"
    input	float	fscale_tx	"Filter Scale For Textures"
    input	float	fscale_noise	"Filter Scale For Noise"
    output	float	field_final	field_final
    output	float	field_raw	field_raw
    output	float	noise	noise
    output	float	noise_average	noise_average
    output	float	noise_octaves	noise_octaves
    output	float	noise_offset	noise_offset
    inputflags	dfltval	0
    inputflags	fit_srcmin	0
    inputflags	fit_srcmax	0
    inputflags	fit_tgtmin	0
    inputflags	fit_tgtmax	0
    inputflags	ramp_rngmin	0
    inputflags	ramp_rngmax	0
    inputflags	spacename	0
    inputflags	gammaname	0
    inputflags	gammaval	0
    inputflags	lowlimit	0
    inputflags	highlimit	0
    inputflags	contour_width	0
    inputflags	contour_sharp	0
    inputflags	sclip_start	0
    inputflags	sclip_suppress	0
    inputflags	amp	0
    inputflags	padval	0
    inputflags	restinterp	0
    inputflags	time	0
    inputflags	freq	0
    inputflags	offset	0
    inputflags	period	0
    inputflags	inv	0
    inputflags	fold	0
    inputflags	expon	0
    inputflags	dolwarp	0
    inputflags	disp	0
    inputflags	dispfreq	0
    inputflags	dogwarp	0
    inputflags	gflow	0
    inputflags	flowrot	0
    inputflags	accuml	0
    inputflags	accumg	0
    inputflags	oct	0
    inputflags	lac	0
    inputflags	rough	0
    inputflags	docc	0
    inputflags	cc_dobias	0
    inputflags	cc_bias	0
    inputflags	cc_dogain	0
    inputflags	cc_gain	0
    inputflags	cc_inv	0
    inputflags	cc_dorng	0
    inputflags	cc_rnglo	0
    inputflags	cc_rnghi	0
    inputflags	cc_amp	0
    inputflags	fw	0
    inputflags	fscale_tx	0
    inputflags	fscale_noise	0
    signature	"Default Inputs"	default	{ vector4 float float float float float float string string float float float float float float float float float int float vector4 vector4 vector4 int int float int float float int float float int int float float float int int vector int vector int int vector vector vector float float float float float float float float float }

    outputoverrides	default
    {
	___begin	auto
			(0)
	___begin	auto
			(0)
	___begin	auto
			(0)
	___begin	auto
			(0)
	___begin	auto
			(0)
	___begin	auto
			(0)
    }

    help {
	""
    }

    parm {
	name	"makeui"
	label	"Promote Interface"
	type	button
	nolabel
	default	{ "0" }
	menu	{
	    [ "import pyro2" ]
	    [ "return pyro2.makeuimenu()" ]
	    language	python
	}
	range	{ 0 1 }
	export	none
	parmtag	{ "script_callback_language" "python" }
	parmtag	{ "script_callback" "hou.phm().uiCreate(kwargs)" }
	parmtag	{ "autoscope" "0000000000000000" }
    }
    group {
	name	"folder1"
	label	"VOP Parameters"

	parm {
	    name	"name"
	    label	"Field Name"
	    type	string
	    joinnext
	    default	{ "density" }
	    range	{ 0 1 }
	    export	none
	    unquoted
	    parmtag	{ "script_callback_language" "python" }
	    parmtag	{ "script_callback" "#__import__('pyro2').validateDensityField(kwargs)" }
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"intype"
	    label	"Field Type"
	    type	string
	    default	{ "float" }
	    disablewhen	"{ name == \"\" }"
	    menu	{
		"float"	"Float"
		"vector"	"Vector"
		"vector4"	"Vector4"
	    }
	    range	{ 0 1 }
	    export	none
	    unquoted
	    parmtag	{ "script_callback_language" "python" }
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"promote"
	    label	"Promote"
	    type	toggle
	    nolabel
	    joinnext
	    default	{ "0" }
	    disablewhen	"{ name == \"\" }"
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "script_callback_language" "python" }
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"outtype"
	    label	"Promote To Type"
	    type	string
	    joinnext
	    default	{ "float" }
	    disablewhen	"{ name == \"\" } { promote == 0 }"
	    menu	{
		"float"	"Float"
		"vector"	"Vector"
		"vector4"	"Vector4"
	    }
	    range	{ 0 1 }
	    export	none
	    unquoted
	    parmtag	{ "script_callback_language" "python" }
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"method"
	    label	"Method"
	    type	string
	    nolabel
	    joinnext
	    default	{ "assign" }
	    disablewhen	"{ name == \"\" } { promote == 0 } { doconvert == 0 }"
	    menu	{
		[ "hou.nodeType(hou.vopNodeTypeCategory(),'typeconvertimpl').hdaModule().methodmenu(hou.evalParm('intype'),hou.evalParm('outtype'))" ]
		language	python
	    }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"const"
	    label	"Constant"
	    type	float
	    nolabel
	    default	{ "0" }
	    disablewhen	"{ name == \"\" } { promote == 0 } { method != padc }"
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"doconvert"
	    label	"doconvert"
	    type	integer
	    invisible
	    default	{ "0" }
	    range	{ 0 10 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"dfltval"
	    label	"Default Field Value"
	    type	vector4
	    size	4
	    default	{ "0" "0" "0" "0" }
	    disablewhen	"{ name != \"\" }"
	    range	{ -1 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	group {
	    name	"FieldShape"
	    label	"Field Shape"

	    parm {
		name	"dofit"
		label	"Fit to Range (Unclamped)"
		type	toggle
		joinnext
		default	{ "0" }
		disablewhen	"{ name == \"\" }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"labelparm2"
		label	"forceleft"
		type	label
		nolabel
		default	{ "" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"fit_srcmin"
		label	"Source Range"
		type	float
		joinnext
		default	{ "0" }
		disablewhen	"{ name == \"\" } { dofit == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"fit_srcmax"
		label	"Source Max"
		type	float
		nolabel
		default	{ "1" }
		disablewhen	"{ name == \"\" } { dofit == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"fit_tgtmin"
		label	"Target Range"
		type	float
		joinnext
		default	{ "0" }
		disablewhen	"{ name == \"\" } { dofit == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"fit_tgtmax"
		label	"Target Max"
		type	float
		nolabel
		default	{ "1" }
		disablewhen	"{ name == \"\" } { dofit == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"labelparm3"
		label	"spacer"
		type	label
		invisible
		nolabel
		default	{ "" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"doramp"
		label	"Use Lookup Ramp"
		type	toggle
		joinnext
		default	{ "0" }
		disablewhen	"{ name == \"\" }"
		range	{ 0 1 }
		export	none
		parmtag	{ "script_callback_language" "python" }
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"labelparm4"
		label	"forceleft"
		type	label
		nolabel
		default	{ "" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"rampparm"
		label	"Unique Ramp Name"
		type	string
		default	{ "rampname" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"disablewhen"
		label	"Disable When"
		type	string
		default	{ [ "'{ %sname%s \"\" } { %sdoramp%s 0 }'%(ch('ui_prefix'),ch('ui_postfix'),ch('ui_prefix'),ch('ui_postfix'))" python ] }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"callback"
		label	"Callback Script"
		type	string
		default	{ "" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"help"
		label	"Help"
		type	string
		default	{ "" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"labelparm10"
		label	"spacer"
		type	label
		nolabel
		default	{ "" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"ramptype"
		label	"Ramp Type"
		type	ordinal
		joinnext
		default	{ "0" }
		disablewhen	"{ name == \"\" } { doramp == 0 }"
		menu	{
		    "flt"	"Float Spline"
		    "rgb"	"Color Ramp"
		}
		range	{ 0 1 }
		export	none
		parmtag	{ "script_callback_language" "python" }
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"spacename"
		label	"Space"
		type	string
		nolabel
		default	{ "rgb" }
		disablewhen	"{ name == \"\" } { doramp == 0 } { ramptype == flt }"
		menu	{
		    "rgb"	"RGB"
		    "hsv"	"HSV"
		    "Lab"	"LAB"
		    "hsl"	"HSL"
		    "XYZ"	"XYZ"
		}
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"gammaname"
		label	"Gamma"
		type	string
		joinnext
		default	{ "linear" }
		disablewhen	"{ active == 0 }"
		menu	{
		    "linear"	"Linear"
		    "srgb"	"sRGB"
		    "custom"	"Custom"
		}
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"gammaval"
		label	"Gamma Value"
		type	float
		nolabel
		default	{ "2.2" }
		disablewhen	"{ active == 0 } { gammaname != custom }"
		range	{ 0.0001! 4 }
		export	none
		parmtag	{ "script_unquoted" "1" }
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"ramp_rngmin"
		label	"Ramp Interval"
		type	float
		joinnext
		default	{ "0" }
		disablewhen	"{ name == \"\" } { doramp == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"ramp_rngmax"
		label	"Ramp Interval Max"
		type	float
		nolabel
		default	{ "1" }
		disablewhen	"{ name == \"\" } { doramp == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"lbt"
		label	"Ramp Boundaries"
		type	string
		joinnext
		default	{ "hold" }
		disablewhen	"{ name == \"\" } { doramp == 0 }"
		menu	{
		    "hold"	"Hold"
		    "cycle"	"Cycle"
		    "accum"	"Cycle-Accumulate"
		    "mirror"	"Mirror"
		    "slope"	"Slope"
		}
		range	{ 0 1 }
		export	none
		unquoted
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"rbt"
		label	"Right"
		type	string
		nolabel
		default	{ "hold" }
		disablewhen	"{ name == \"\" } { doramp == 0 }"
		menu	{
		    "hold"	"Hold"
		    "cycle"	"Cycle"
		    "accum"	"Cycle-Accumulate"
		    "mirror"	"Mirror"
		    "slope"	"Slope"
		}
		range	{ 0 1 }
		export	none
		unquoted
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"labelparm5"
		label	"spacer"
		type	label
		invisible
		nolabel
		default	{ "" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"labelparm6"
		label	"spacer"
		type	label
		nolabel
		default	{ "" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"docontour"
		label	"Contour"
		type	toggle
		nolabel
		joinnext
		default	{ "0" }
		disablewhen	"{ name == \"\" }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"contour_width"
		label	"Contour Width"
		type	float
		joinnext
		default	{ "0.02" }
		disablewhen	"{ name == \"\" } { docontour == 0 }"
		range	{ 0! 0.1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"contour_sharp"
		label	"Sharpness"
		type	float
		default	{ "4" }
		disablewhen	"{ name == \"\" } { docontour == 0 }"
		range	{ 0! 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"dosclip"
		label	"Soft Clip"
		type	toggle
		nolabel
		joinnext
		default	{ "0" }
		disablewhen	"{ name == \"\" }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"sclip_start"
		label	"Soft Clip Start"
		type	float
		joinnext
		default	{ "0.8" }
		disablewhen	"{ name == \"\" } { dosclip == 0 }"
		range	{ 0! 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"sclip_suppress"
		label	"  Suppress"
		type	float
		default	{ "1" }
		disablewhen	"{ name == \"\" } { dosclip == 0 }"
		range	{ 0! 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"labelparm7"
		label	"spacer"
		type	label
		nolabel
		default	{ "" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"dolowlimit"
		label	"Clamp at Lower Limit"
		type	toggle
		nolabel
		joinnext
		default	{ "0" }
		disablewhen	"{ name == \"\" }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"lowlimit"
		label	"Clamp To Min"
		type	float
		default	{ "0" }
		disablewhen	"{ name == \"\" } { dolowlimit == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"dohighlimit"
		label	"Clamp at Upper Limit"
		type	toggle
		nolabel
		joinnext
		default	{ "0" }
		disablewhen	"{ name == \"\" }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"highlimit"
		label	"Clamp To Max"
		type	float
		default	{ "1" }
		disablewhen	"{ name == \"\" } { dohighlimit == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"labelparm8"
		label	"spacer"
		type	label
		nolabel
		default	{ "" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"amp"
		label	"Final Amplitude"
		type	float
		default	{ "1" }
		disablewhen	"{ name == \"\" }"
		range	{ 0 2 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	}

	group {
	    name	"FieldShape_1"
	    label	"Field Noise"

	    parm {
		name	"active"
		label	"Active"
		type	toggle
		default	{ "0" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"ntype"
		label	"Noise Output Type"
		type	ordinal
		joinnext
		default	{ "0" }
		disablewhen	"{ active == 0 }"
		menu	{
		    [ "opmenu -l Noise ntype" ]
		}
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"dim4"
		label	"Space"
		type	ordinal
		joinnext
		default	{ "0" }
		disablewhen	"{ active == 0 }"
		menu	{
		    "0"	"3D"
		    "1"	"4D"
		}
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"time"
		label	"Time"
		type	float
		default	{ "0" }
		disablewhen	"{ active == 0 } { dim4 == 0 }"
		range	{ 0 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"fieldop"
		label	"Field Operation"
		type	string
		default	{ "add" }
		disablewhen	"{ active == 0 }"
		menu	{
		    "add"	"Offset (Field + Noise)"
		    "mult"	"Scale (Field * Noise)"
		}
		range	{ 0 1 }
		export	none
		unquoted
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"freq"
		label	"Frequency"
		type	vector4
		size	4
		default	{ "1" "1" "1" "1" }
		disablewhen	"{ active == 0 }"
		range	{ -1 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"offset"
		label	"Offset"
		type	vector4
		size	4
		default	{ "0" "0" "0" "0" }
		disablewhen	"{ active == 0 }"
		range	{ -1 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"period"
		label	"Period"
		type	vector4
		size	4
		default	{ "1" "1" "1" "1" }
		disablewhen	"{ active == 0 } { basis != pperlin basis != pflow }"
		range	{ 0! 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    group {
		name	"folder0"
		label	"Construction"

		parm {
		    name	"basis"
		    label	"Noise Type"
		    type	string
		    default	{ "simplex" }
		    disablewhen	"{ active == 0 }"
		    menu	{
			"sine"	"Sinusoid"
			"perlin"	"Perlin"
			"pperlin"	"Periodic Perlin"
			"simplex"	"Simplex (Improved Perlin)"
			"sparse"	"Sparse Convolution"
			"flow"	"Flow"
			"pflow"	"Periodic Flow"
			"worleyFA"	"Worley (cellular) F1"
			"worleyFB"	"Worley (cellular) F2-F1"
			"alligator"	"Alligator"
		    }
		    range	{ 0 1 }
		    export	none
		    unquoted
		    parmtag	{ "autoscope" "0000000000000000" }
		}
		parm {
		    name	"inv"
		    label	"Complement"
		    type	toggle
		    default	{ "0" }
		    disablewhen	"{ active == 0 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		}
		parm {
		    name	"fold"
		    label	"Fold"
		    type	toggle
		    default	{ "0" }
		    disablewhen	"{ active == 0 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		}
		parm {
		    name	"expon"
		    label	"Exponent"
		    type	float
		    default	{ "1" }
		    disablewhen	"{ active == 0 }"
		    range	{ 0! 2 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		}
		parm {
		    name	"dolwarp"
		    label	"Enable Lattice Warp"
		    type	toggle
		    nolabel
		    joinnext
		    default	{ "0" }
		    range	{ 0 10 }
		    export	none
		}
		parm {
		    name	"disp"
		    label	"Lattice Warp"
		    type	float
		    joinnext
		    default	{ "0" }
		    disablewhen	"{ active == 0 } { dolwarp == 0 }"
		    range	{ -0.5 0.5 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		}
		parm {
		    name	"dispfreq"
		    label	"Freq"
		    type	float
		    default	{ "1" }
		    disablewhen	"{ active == 0 } { dolwarp == 0 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		}
		parm {
		    name	"dogwarp"
		    label	"Enable Gradient Warp"
		    type	toggle
		    nolabel
		    joinnext
		    default	{ "0" }
		    range	{ 0 10 }
		    export	none
		}
		parm {
		    name	"gflow"
		    label	"Gradient Warp"
		    type	float
		    default	{ "0" }
		    disablewhen	"{ active == 0 }"
		    range	{ -0.5 0.5 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		}
		parm {
		    name	"flowrot"
		    label	"Flow Rotation"
		    type	float
		    default	{ "0" }
		    disablewhen	"{ active == 0 } { basis != flowrot basis != pflow }"
		    range	{ 0 10 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		}
		parm {
		    name	"fractal"
		    label	"Fractal Type"
		    type	string
		    default	{ "none" }
		    disablewhen	"{ active == 0 }"
		    menu	{
			"none"	"None"
			"fBm"	"Standard (fBm)"
			"mfT"	"Terrain"
			"hmfT"	"Hybrid Terrain"
		    }
		    range	{ 0 1 }
		    export	none
		    unquoted
		    parmtag	{ "autoscope" "0000000000000000" }
		}
		parm {
		    name	"accuml"
		    label	"Accumulate Lattice Warp"
		    type	toggle
		    default	{ "0" }
		    disablewhen	"{ active == 0 } { fractal == none }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		}
		parm {
		    name	"accumg"
		    label	"Accumulate Gradient Warp"
		    type	toggle
		    default	{ "0" }
		    disablewhen	"{ active == 0 } { fractal == none }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		}
		parm {
		    name	"oct"
		    label	"Max Octaves"
		    type	float
		    default	{ "8" }
		    disablewhen	"{ active == 0 } { fractal == none }"
		    range	{ 0! 16 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		}
		parm {
		    name	"lac"
		    label	"Lacunarity"
		    type	float
		    default	{ "2.01234" }
		    disablewhen	"{ active == 0 } { fractal == none }"
		    range	{ 0 4 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		}
		parm {
		    name	"rough"
		    label	"Roughness"
		    type	float
		    default	{ "0.5" }
		    disablewhen	"{ active == 0 } { fractal == none }"
		    range	{ 0! 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		}
	    }

	    group {
		name	"folder0_1"
		label	"Output"

		parm {
		    name	"docc"
		    label	"Output Correction"
		    type	toggle
		    default	{ "0" }
		    disablewhen	"{ active == 0 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		}
		parm {
		    name	"labelparm14"
		    label	"spacer"
		    type	label
		    nolabel
		    default	{ "" }
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		}
		parm {
		    name	"cc_dobias"
		    label	"Do Bias"
		    type	toggle
		    nolabel
		    joinnext
		    default	{ "0" }
		    disablewhen	"{ active == 0 } { docc == 0 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		}
		parm {
		    name	"cc_bias"
		    label	"Bias"
		    type	vector
		    size	3
		    default	{ "0.5" "0.5" "0.5" }
		    disablewhen	"{ active == 0 } { docc == 0 } { cc_dobias == 0 }"
		    range	{ 0! 1! }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		}
		parm {
		    name	"cc_dogain"
		    label	"Do Gain"
		    type	toggle
		    nolabel
		    joinnext
		    default	{ "0" }
		    disablewhen	"{ active == 0 } { docc == 0 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		}
		parm {
		    name	"cc_gain"
		    label	"Gain"
		    type	vector
		    size	3
		    default	{ "0.5" "0.5" "0.5" }
		    disablewhen	"{ active == 0 } { docc == 0 } { cc_dogain == 0 }"
		    range	{ 0! 1! }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		}
		parm {
		    name	"cc_inv"
		    label	"Complement"
		    type	toggle
		    default	{ "0" }
		    disablewhen	"{ active == 0 } { docc == 0 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		}
		parm {
		    name	"labelparm12"
		    label	"spacer"
		    type	label
		    nolabel
		    default	{ "" }
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		}
		parm {
		    name	"cc_dorng"
		    label	"Output Range (Clamped)"
		    type	toggle
		    default	{ "0" }
		    disablewhen	"{ active == 0 } { docc == 0 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		}
		parm {
		    name	"cc_rnglo"
		    label	"New Minimum"
		    type	vector
		    size	3
		    default	{ "0" "0" "0" }
		    disablewhen	"{ active == 0 } { docc == 0 } { cc_dorng == 0 }"
		    range	{ -1 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		}
		parm {
		    name	"cc_rnghi"
		    label	"New Maximum"
		    type	vector
		    size	3
		    default	{ "1" "1" "1" }
		    disablewhen	"{ active == 0 } { docc == 0 } { cc_dorng == 0 }"
		    range	{ 0 2 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		}
		parm {
		    name	"labelparm13"
		    label	"spacer"
		    type	label
		    nolabel
		    default	{ "" }
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		}
		parm {
		    name	"cc_amp"
		    label	"Final Amplitude"
		    type	vector
		    size	3
		    default	{ "1" "1" "1" }
		    disablewhen	"{ active == 0 } { docc == 0 }"
		    range	{ 0 2 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		}
	    }

	    group {
		name	"folder0_2"
		label	"Rest Position"

		group {
		    name	"folder5"
		    label	"Fields"

		    parm {
			name	"spacer2"
			label	"spacer"
			type	label
			nolabel
			default	{ "" }
			range	{ 0 1 }
			export	none
		    }
		    parm {
			name	"restinterp"
			label	"Ratio Interpolation"
			type	ordinal
			default	{ "0" }
			menu	{
			    "0"	"Unmodified (Linear)"
			    "1"	"Cubic"
			    "2"	"Cosine"
			}
			range	{ 0 1 }
			export	none
		    }
		    parm {
			name	"spacer3"
			label	"spacer2"
			type	label
			nolabel
			default	{ "" }
			range	{ 0 1 }
			export	none
		    }
		    parm {
			name	"rest_name"
			label	"Rest Position 1"
			type	string
			joinnext
			default	{ "rest" }
			range	{ 0 1 }
			export	none
		    }
		    parm {
			name	"rest_intype"
			label	"Type"
			type	string
			default	{ "vector" }
			disablewhen	"{ rest_name == \"\" }"
			menu	{
			    "float"	"Float"
			    "vector"	"Vector"
			    "vector4"	"Vector4"
			}
			range	{ 0 1 }
			export	none
			unquoted
			parmtag	{ "script_callback_language" "python" }
			parmtag	{ "script_callback" "if not kwargs['node'].isInsideLockedHDA():kwargs['node'].parm('rest_method').set('assign')" }
		    }
		    parm {
			name	"rest_method"
			label	"Conversion to Vector"
			type	string
			joinnext
			default	{ "assign" }
			disablewhen	"{ rest_name == \"\" } { rest_intype == vector }"
			menu	{
			    [ "hou.vopNodeTypeCategory().nodeTypes()['typeconvertimpl'].hdaModule().methodmenu(hou.evalParm('rest_intype'),'vector')" ]
			    language	python
			}
			range	{ 0 1 }
			export	none
		    }
		    parm {
			name	"rest_padval"
			label	"Padding Constant"
			type	float
			nolabel
			default	{ "0" }
			disablewhen	"{ rest_name == \"\" } { rest_promote == 0 } { rest_method != padc }"
			range	{ 0 1 }
			export	none
		    }
		    parm {
			name	"rest_ratio_name"
			label	"Rest1 Ratio"
			type	string
			joinnext
			default	{ "rest_ratio" }
			range	{ 0 1 }
			export	none
		    }
		    parm {
			name	"rest_ratio_intype"
			label	"Type"
			type	string
			default	{ "float" }
			disablewhen	"{ rest_ratio_name == \"\" }"
			menu	{
			    "float"	"Float"
			    "vector"	"Vector"
			    "vector4"	"Vector4"
			}
			range	{ 0 1 }
			export	none
			unquoted
			parmtag	{ "script_callback_language" "python" }
			parmtag	{ "script_callback" "if not kwargs['node'].isInsideLockedHDA():kwargs['node'].parm('rest_ratio_method').set('assign')" }
		    }
		    parm {
			name	"rest_ratio_method"
			label	"Conversion to Float"
			type	string
			default	{ "assign" }
			disablewhen	"{ rest_ratio_name == \"\" } { rest_ratio_intype == float }"
			menu	{
			    [ "hou.vopNodeTypeCategory().nodeTypes()['typeconvertimpl'].hdaModule().methodmenu(hou.evalParm('rest_ratio_intype'),'float')" ]
			    language	python
			}
			range	{ 0 1 }
			export	none
		    }
		    parm {
			name	"rest2_name"
			label	"Rest Position 2"
			type	string
			joinnext
			default	{ "rest2" }
			range	{ 0 1 }
			export	none
		    }
		    parm {
			name	"rest2_intype"
			label	"Type"
			type	string
			default	{ "vector" }
			disablewhen	"{ rest2_name == \"\" }"
			menu	{
			    "float"	"Float"
			    "vector"	"Vector"
			    "vector4"	"Vector4"
			}
			range	{ 0 1 }
			export	none
			unquoted
			parmtag	{ "script_callback_language" "python" }
			parmtag	{ "script_callback" "if not kwargs['node'].isInsideLockedHDA():kwargs['node'].parm('rest2_method').set('assign')" }
		    }
		    parm {
			name	"rest2_method"
			label	"Conversion to Vector"
			type	string
			joinnext
			default	{ "assign" }
			disablewhen	"{ rest2_name == \"\" } { rest2_intype == vector }"
			menu	{
			    [ "hou.vopNodeTypeCategory().nodeTypes()['typeconvertimpl'].hdaModule().methodmenu(hou.evalParm('rest2_intype'),'vector')" ]
			    language	python
			}
			range	{ 0 1 }
			export	none
		    }
		    parm {
			name	"rest2_padval"
			label	"Padding Constant"
			type	float
			nolabel
			default	{ "0" }
			disablewhen	"{ rest2_name == \"\" } { rest2_promote == 0 } { rest2_method != padc }"
			range	{ 0 1 }
			export	none
		    }
		    parm {
			name	"rest2_ratio_name"
			label	"Rest2 Ratio"
			type	string
			joinnext
			default	{ "rest2_ratio" }
			range	{ 0 1 }
			export	none
		    }
		    parm {
			name	"rest2_ratio_intype"
			label	"Type"
			type	string
			default	{ "float" }
			disablewhen	"{ rest2_ratio_name == \"\" }"
			menu	{
			    "float"	"Float"
			    "vector"	"Vector"
			    "vector4"	"Vector4"
			}
			range	{ 0 1 }
			export	none
			unquoted
			parmtag	{ "script_callback_language" "python" }
			parmtag	{ "script_callback" "if not kwargs['node'].isInsideLockedHDA():kwargs['node'].parm('rest2_ratio_method').set('assign')" }
		    }
		    parm {
			name	"rest2_ratio_method"
			label	"Conversion to Float"
			type	string
			default	{ "assign" }
			disablewhen	"{ rest2_ratio_name == \"\" } { rest2_ratio_intype == float }"
			menu	{
			    [ "hou.vopNodeTypeCategory().nodeTypes()['typeconvertimpl'].hdaModule().methodmenu(hou.evalParm('rest2_ratio_intype'),'float')" ]
			    language	python
			}
			range	{ 0 1 }
			export	none
		    }
		}

		group {
		    name	"folder5_1"
		    label	"Fallback"

		    parm {
			name	"spacer4"
			label	"spacer3"
			type	label
			nolabel
			default	{ "" }
			range	{ 0 1 }
			export	none
		    }
		    parm {
			name	"fallback_label"
			label	"fallback_label"
			type	label
			nolabel
			default	{ "Fallback Rest Position Upon Failure (VEX):" }
			range	{ 0 1 }
			export	none
		    }
		    parm {
			name	"spacer"
			label	"spacer"
			type	label
			nolabel
			default	{ "" }
			range	{ 0 1 }
			export	none
		    }
		    parm {
			name	"fail_shading"
			label	"SHADING Contexts"
			type	string
			default	{ "ptransform(\"space:object\",P)" }
			range	{ 0 1 }
			export	none
			unquoted
		    }
		    parm {
			name	"fail_cop"
			label	"COP|COP2 Contexts"
			type	string
			default	{ "set(X,Y,0)" }
			range	{ 0 1 }
			export	none
			unquoted
		    }
		    parm {
			name	"fail_sop"
			label	"SOP|POP Contexts"
			type	string
			default	{ "P" }
			range	{ 0 1 }
			export	none
			unquoted
		    }
		    parm {
			name	"fail_chop"
			label	"CHOP Context"
			type	string
			default	{ "set((float)I/SR,V,0)" }
			range	{ 0 1 }
			export	none
			unquoted
		    }
		    parm {
			name	"fail_cvex"
			label	"CVEX Context"
			type	string
			default	{ "0" }
			range	{ 0 1 }
			export	none
			unquoted
		    }
		    parm {
			name	"fail_fail"
			label	"Unknown Context"
			type	string
			default	{ "0" }
			range	{ 0 1 }
			export	none
			unquoted
		    }
		}

	    }

	}

	group {
	    name	"FieldShape_2"
	    label	"Filter"

	    parm {
		name	"labelparm15"
		label	"Texture Filter"
		type	label
		default	{ "" }
		disablewhen	"{ pn_active == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"sepparm6"
		label	"Separator"
		type	separator
		default	{ }
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"ftype"
		label	"Filter Type"
		type	string
		joinnext
		default	{ "point" }
		menu	{
		    "point"	"Point"
		    "box"	"Box"
		    "gauss"	"Gaussian"
		}
		range	{ 0 1 }
		export	none
		unquoted
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"fscale_tx"
		label	"Scale"
		type	float
		default	{ "1" }
		disablewhen	"{ ftype == point }"
		range	{ 0 2 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"labelparm18"
		label	"Noise Filter"
		type	label
		default	{ "" }
		disablewhen	"{ pn_active == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"sepparm7"
		label	"Separator"
		type	separator
		default	{ }
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"fscale_noise"
		label	"Filter Scale"
		type	float
		default	{ "1" }
		range	{ 0 2 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	}

    }

    group {
	name	"folder1_1"
	label	"UI Promotion"

	parm {
	    name	"ui_prefix"
	    label	"Parameter Prefix"
	    type	string
	    joinnext
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"ui_postfix"
	    label	"Postfix"
	    type	string
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"ui_infolder"
	    label	"ui_infolder"
	    type	toggle
	    nolabel
	    joinnext
	    default	{ "1" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"ui_foldername"
	    label	"Create In Folder"
	    type	string
	    default	{ [ "node('.').creator().relativePathTo(node('.')).replace('/','_')" python ] }
	    disablewhen	"{ ui_infolder == 0 }"
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"spacer8"
	    label	"spacer"
	    type	label
	    nolabel
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"title"
	    label	"Field Settings"
	    type	label
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"sepparm"
	    label	"sepparm"
	    type	separator
	    default	{ }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"uif_forcefieldname"
	    label	"Disallow Empty String in Field Name"
	    type	toggle
	    joinnext
	    default	{ "0" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"lalign4"
	    label	"lalign"
	    type	label
	    nolabel
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"spacer9"
	    label	"spacer"
	    type	label
	    nolabel
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"title2"
	    label	"Noise Settings"
	    type	label
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"sepparm2"
	    label	"sepparm2"
	    type	separator
	    default	{ }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"uin_initactive"
	    label	"Default Active State"
	    type	toggle
	    joinnext
	    default	{ "0" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"leftalign4"
	    label	"leftalign"
	    type	label
	    nolabel
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"uin_initsigned"
	    label	"Initialize As Signed Noise"
	    type	toggle
	    joinnext
	    default	{ "1" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"leftalign3"
	    label	"leftalign"
	    type	label
	    nolabel
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	}
    }

}
INDX              DialogScript      R//*
 * PROPRIETARY INFORMATION.  This software is proprietary to
 * Side Effects Software Inc., and is not to be reproduced,
 * transmitted, or disclosed in any way without written permission.
 *
 * Produced by:
 *	Side Effects Software Inc
 *	477 Richmond Street West
 *	Toronto, Ontario
 *	Canada   M5V 3E7
 *	416-504-9876
 *
 */

#include <parameter.ds>

{
    name	"floattovec"
    script	"floattovec"
    label	"floattovec"

    outercode {
	INCLUDE_VOPLIB
    }

    code {
	"$vec = vop_floattovec($fval1, $fval2, $fval3);"
    }

    input	float	fval1	"Component 1"
    input	float	fval2	"Component 2"
    input	float	fval3	"Component 3"
    output	vector	vec	"Output Vector"

    VOP_FLT_PARM(fval1, "Component 1", 0)
    VOP_FLT_PARM(fval2, "Component 2", 0)
    VOP_FLT_PARM(fval3, "Component 3", 0)

    VOP_FLT_PARM(fval1_uv, "Component 1", 0)
    VOP_FLT_PARM(fval2_uv, "Component 2", 0)
    VOP_FLT_PARM(fval3_uv, "Component 3", 0)

    signature	"3D Vector"	default { }
    signature	"3D Point"	p { float float float point }
    signature	"3D Normal"	n { float float float normal }
    signature	"RGB Color"	c { float float float color }

    signature	"Uniform 3D Vector"	uv { ufloat ufloat ufloat uvector }
    signature	"Uniform 3D Point"	up { ufloat ufloat ufloat upoint }
    signature	"Uniform 3D Normal"	un { ufloat ufloat ufloat unormal }
    signature	"Uniform RGB Color"	uc { ufloat ufloat ufloat ucolor }
}
INDX              DialogScript      GR//*
 * PROPRIETARY INFORMATION.  This software is proprietary to
 * Side Effects Software Inc., and is not to be reproduced,
 * transmitted, or disclosed in any way without written permission.
 *
 * Produced by:
 *	Side Effects Software Inc
 *	477 Richmond Street West
 *	Toronto, Ontario
 *	Canada   M5V 3E7
 *	416-504-9876
 *
 */

{
    name	"negate"
    script	"negate"
    label	"negate"


    code {
	"$negated = -$val;"
    }

    input	int	val		"Input Value"
    output	int	negated		"Negated Value"
    signature	"Integer"		default	{ }
    signature	"Float"			f	{ float float }
    signature	"3D Vector"		v	{ vector vector }
    signature	"3D Point"		p	{ point point }
    signature	"3D Normal"		n	{ normal normal }
    signature	"RGB Color"		c	{ color color }
    signature	"4D Vector"		v4	{ vector4 vector4 }

    signature	"Uniform Float"		uf	{ ufloat ufloat }
    signature	"Uniform 3D Vector"	uv	{ uvector uvector }
    signature	"Uniform 3D Point"	up	{ upoint upoint }
    signature	"Uniform 3D Normal"	un	{ unormal unormal }
    signature	"Uniform RGB Color"	uc	{ ucolor ucolor }
}
INDX              DialogScript      	qR//*
 * PROPRIETARY INFORMATION.  This software is proprietary to
 * Side Effects Software Inc., and is not to be reproduced,
 * transmitted, or disclosed in any way without written permission.
 *
 * Produced by:
 *	Side Effects Software Inc
 *	477 Richmond Street West
 *	Toronto, Ontario
 *	Canada   M5V 3E7
 *	416-504-9876
 *
 */

#include <parameter.ds>

{
    name	"clamp"
    script	"clamp"
    label	"clamp"


    code {
	"$clamp = clamp($val, $min, $max);"
    }

    input	float	val	"Input Value"
    input	float	min	"Minimum Value"
    input	float	max	"Maximum Value"
    output	float	clamp	"Clamped Value"

    signature	"Float"			default	{ }
    signature	"Integer"		i  { int int int int }
    signature	"3D Vector"		v  { vector vector vector vector }
    signature	"3D Point"		p  { point point point point }
    signature	"3D Normal"		n  { normal normal normal normal }
    signature	"RGB Color"		c  { color color color color }
    signature	"4D Vector"		v4 { vector4 vector4 vector4 vector4 }
    
    signature	"Uniform Float"		uf { ufloat ufloat ufloat ufloat }
    signature	"Uniform 3D Vector"	uv { uvector uvector uvector uvector }
    signature	"Uniform 3D Point"	up { upoint upoint upoint upoint }
    signature	"Uniform 3D Normal"	un { unormal unormal unormal unormal }
    signature	"Uniform RGB Color"	uc { ucolor ucolor ucolor ucolor }

    VOP_FLT_PARM(min, "Min", 0)
    VOP_FLT_PARM(max, "Max", 1)
    VOP_INT_PARM(min_i, "Min", 0)
    VOP_INT_PARM(max_i, "Max", 1)
    VOP_VEC_PARM(min_v, "Min", 0, 0, 0)
    VOP_VEC_PARM(max_v, "Max", 1, 1, 1)
    VOP_VEC_PARM(min_p, "Min", 0, 0, 0)
    VOP_VEC_PARM(max_p, "Max", 1, 1, 1)
    VOP_VEC_PARM(min_n, "Min", 0, 0, 0)
    VOP_VEC_PARM(max_n, "Max", 1, 1, 1)
    VOP_CLR_PARM(min_c, "Min", 0, 0, 0)
    VOP_CLR_PARM(max_c, "Max", 1, 1, 1)
    VOP_CLR4_PARM(min_v4, "Min", 0, 0, 0, 0)
    VOP_CLR4_PARM(max_v4, "Max", 1, 1, 1, 1)
    VOP_FLT_PARM(min_uf, "Min", 0)
    VOP_FLT_PARM(max_uf, "Max", 1)
    VOP_VEC_PARM(min_uv, "Min", 0, 0, 0)
    VOP_VEC_PARM(max_uv, "Max", 1, 1, 1)
    VOP_VEC_PARM(min_up, "Min", 0, 0, 0)
    VOP_VEC_PARM(max_up, "Max", 1, 1, 1)
    VOP_VEC_PARM(min_un, "Min", 0, 0, 0)
    VOP_VEC_PARM(max_un, "Max", 1, 1, 1)
    VOP_CLR_PARM(min_uc, "Min", 0, 0, 0)
    VOP_CLR_PARM(max_uc, "Max", 1, 1, 1)

    group { name "gs" obsolete 12.0 }
    group { name "gv" obsolete 12.0 }
    group { name "gu" obsolete 12.0 }
}
INDX              DialogScript      *#QZ# Dialog script for pyroShade automatically generated 07/08/13 12:56:58

{
    name	pyroShade
    script	pyroShade
    label	"Pyro Shade"

    outercode {
	"#include <pyro_color.h>"
    }

    code {
	"$out_opacity  = 0;"
	"$out_color    = 0;"
	"$out_F        = bsdf();"
	"$out_emission = 0;"
	""
	"#if defined(VOP_SHADING) && defined(__vex)"
	""
	"#if $isconnected_draw"
	"if(max($draw)>0)"
	"{"
	"#endif"
	"   vector $wo = normalize(Eye-P);"
	"   vector $sopac = 0;"
	"   vector $srefl = 0;"
	"   vector $femit = 0;"
	""
	"   float  $fw;"
	""
	"   // Initialize reflectance to match Mantra"
	"   float  $ss = 1; // final scattering scale"
	"   "
	"   vector $den = $dsmoke;"
	"   #if !strcmp($signature,\"vden\") || !strcmp($signature,\"vall\")"
	"      $den = colortoopacity($den);"
	"   #endif"
	"   #if $isconnected_draw"
	"      float $dmask = pyro_fieldmask($draw, 0.00125);"
	"      $den *= $dmask;"
	"      $ss  *= $dmask;"
	"   #endif"
	"   "
	"   // shadow color"
	"   vector $cshad = colortoopacity($kshadow*$cshadow);"
	"   "
	"   // base density"
	"   if (isshadowray())"
	"   {"
	"       $den *= $cshad;"
	"       $den = max($den,0);"
	"   }"
	""
	"   // base emission"
	"   vector $de = $demit;"
	"   $de = max(0,$de); // should it be allowed to go negative?"
	""
	"   // modulate density according to the chosen model"
	"   #if !strcmp($dmodel,\"pyro1\") && $isconnected_fireexist"
	"      $den = lerp($den,$de,clamp(max($fireexist),0,1));"
	"      $out_emission = dPdz * $kemit * $cemit;"
	"   #else"
	"      $out_emission = $de * dPdz * $kemit * $cemit;"
	"   #endif"
	"   "
	"   // base opacity"
	"   $sopac = VONE - exp(-dPdz*$den);"
	"   $out_opacity = $sopac;"
	""
	"   // extra exports"
	"   float $emitluma = luma($out_emission);"
	"   float $emask = pyro_fieldmask($emitluma, 0.01);"
	"   $out_firemask  = $emask*dPdz;"
	"   $out_smokemask = luma($sopac * (1.0 - $emask));"
	"   "
	"   if(!isshadowray()) {"
	"         // OGL renders are 2x brighter than Mantra "
	"         if($kmodel==\"ogl\") $ss *= 2;"
	"         $ss *= $ksmoke;"
	""
	"         // engine"
	"         string $engine = \"micropoly\"; renderstate(\"renderer:renderengine\", $engine );"
	"         int    $ispbr  = ( ( $engine == \"pbrraytrace\") || "
	"                            ( $engine == \"pbrmicropoly\") );"
	""
	"         // phase bsdf"
	"         bsdf   $Fhg;"
	"         if($phase!=0) $Fhg = henyeygreenstein(clamp($phase,-0.999,0.999));"
	"            else $Fhg = isotropic();"
	""
	"         $srefl = 0;"
	"         vector $noshad = 0;"
	"         illuminance(P,{0,0,-1},C_PI,\"density\",1.0)"
	"         {"
	"            $noshad += Cl;"
	"            if($doshadows) shadow(Cl);"
	"            $srefl += Cl*eval_bsdf($Fhg,$wo,normalize(L));"
	"         }"
	"         vector $shad = $srefl/$noshad;"
	"         "
	"         $out_color    = $sopac * $srefl * $csmoke * $ss;"
	""
	"         // Check whether emission should be added to illumination for"
	"         // non-PBR engines (it's optimized out internally for PBR)"
	"         int emitillum = 1;"
	"         renderstate(\"object:emitillum\", emitillum);"
	"         emitillum |= getraylevel() == 0;"
	""
	"         // MP engines don't use Ce, so we add emission to the color out"
	"         if(!$ispbr && emitillum) $out_color += $out_emission;"
	""
	"         $out_F = $Fhg * $csmoke * $ss;"
	"   }"
	""
	""
	"#if $isconnected_draw"
	"}"
	"#endif"
	""
	"#endif"
    }

    input	float	dsmoke	"Smoke Density"
    input	float	draw	"Raw Density field"
    input	vector	csmoke	"Smoke Color"
    input	float	demit	"Emit Density"
    input	vector	cemit	"Emit Color"
    input	float	fireexist	"Fire Existence Field"
    input	float	ksmoke	"Smoke Brightness"
    input	float	phase	"Scattering Phase"
    input	int	doshadows	"Include Shadow Calculation"
    input	vector	cshadow	"Shadow Color"
    input	float	kshadow	"Shadow Scale"
    input	float	kemit	"Emit Scale"
    output	vector	out_color	"Illuminated Smoke Color"
    output	vector	out_opacity	"Final Opacity"
    output	bsdf	out_F	BSDF
    output	vector	out_emission	"Emitted Color"
    output	float	out_smokemask	"Smoke Mask"
    output	float	out_firemask	"Fire Mask"
    inputflags	dsmoke	0
    inputflags	draw	0
    inputflags	csmoke	0
    inputflags	demit	0
    inputflags	cemit	0
    inputflags	fireexist	0
    inputflags	ksmoke	0
    inputflags	phase	0
    inputflags	doshadows	0
    inputflags	cshadow	0
    inputflags	kshadow	0
    inputflags	kemit	0
    signature	"Default Inputs"	default	{ float float vector float vector float float float int vector float float vector vector bsdf vector float float }
    signature	"Vector Smoke Density"	vsd	{ vector vector vector float vector float float float int vector float float vector vector bsdf vector float float }
    signature	"Vector Emit Density"	ved	{ float float vector vector vector float float float int vector float float vector vector bsdf vector float float }
    signature	"Vector Fire Existence"	vfe	{ float float vector float vector vector float float int vector float float vector vector bsdf vector float float }
    signature	"Vector All Densities"	vall	{ vector vector vector vector vector vector float float int vector float float vector vector bsdf vector float float }

    outputoverrides	default
    {
	___begin	auto
			(0,0,0)
	___begin	auto
			(0,0,0)
	___begin	auto
			(0)
	___begin	auto
			(0,0,0)
	___begin	auto
			(0)
	___begin	auto
			(0)
    }
    outputoverrides	vsd
    {
	___begin	auto
			(0,0,0)
	___begin	auto
			(0,0,0)
	___begin	auto
			(0)
	___begin	auto
			(0,0,0)
	___begin	auto
			(0)
	___begin	auto
			(0)
    }
    outputoverrides	ved
    {
	___begin	auto
			(0,0,0)
	___begin	auto
			(0,0,0)
	___begin	auto
			(0)
	___begin	auto
			(0,0,0)
	___begin	auto
			(0)
	___begin	auto
			(0)
    }
    outputoverrides	vfe
    {
	___begin	auto
			(0,0,0)
	___begin	auto
			(0,0,0)
	___begin	auto
			(0)
	___begin	auto
			(0,0,0)
	___begin	auto
			(0)
	___begin	auto
			(0)
    }
    outputoverrides	vall
    {
	___begin	auto
			(0,0,0)
	___begin	auto
			(0,0,0)
	___begin	auto
			(0)
	___begin	auto
			(0,0,0)
	___begin	auto
			(0)
	___begin	auto
			(0)
    }

    help {
	""
    }

    parm {
	name	"signature"
	baseparm
	invisible
	export	none
    }
    parm {
	name	"makeui"
	label	"Promote Interface"
	type	button
	nolabel
	default	{ "0" }
	menu	{
	    [ "import pyro2" ]
	    [ "return pyro2.makeuimenu()" ]
	    language	python
	}
	range	{ 0 1 }
	export	none
	parmtag	{ "export_disable" "1" }
	parmtag	{ "script_callback" "hou.phm().uiCreate(kwargs)" }
	parmtag	{ "script_callback_language" "python" }
    }
    group {
	name	"folder0"
	label	"VOP Parameters"

	parm {
	    name	"mode"
	    label	"Shading Mode"
	    type	string
	    default	{ "normal" }
	    menu	{
		"normal"	"Normal Shading"
	    }
	    range	{ 0 1 }
	    export	none
	}
	group {
	    name	"folder1"
	    label	"Standard Shading"

	    parm {
		name	"kmodel"
		label	"Brightness Model"
		type	string
		default	{ "ogl" }
		menu	{
		    "ogl"	"Match Visualization"
		    "pbr"	"Match Mantra"
		}
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"dmodel"
		label	"Density Model"
		type	string
		default	{ "ogl" }
		menu	{
		    "ogl"	"Match Visualization (Fire Density As Intensity)"
		    "pyro1"	"Fire Density As Actual Density (Pyro1)"
		}
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"sepparm"
		label	"Separator"
		type	separator
		default	{ }
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"kemit"
		label	"Emit Brightness"
		type	float
		default	{ "1" }
		range	{ 0 2 }
		export	none
	    }
	    parm {
		name	"ksmoke"
		label	"Smoke Brightness"
		type	float
		default	{ "1" }
		range	{ 0 2 }
		export	none
	    }
	    parm {
		name	"phase"
		label	"Scattering Phase"
		type	float
		default	{ "0" }
		range	{ -1! 1! }
		export	none
	    }
	    parm {
		name	"doshadows"
		label	"Calculate Shadows"
		type	toggle
		default	{ "1" }
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"cshadow"
		label	"Shadow Color"
		type	color
		size	3
		default	{ "1" "1" "1" }
		disablewhen	"{ doshadows == 0 }"
		range	{ 0 2 }
		export	none
	    }
	    parm {
		name	"kshadow"
		label	"Shadow Density"
		type	float
		default	{ "1" }
		disablewhen	"{ doshadows == 0 }"
		range	{ 0 2 }
		export	none
	    }
	}

	group {
	    name	"folder1_1"
	    label	"Input Defaults"

	    parm {
		name	"dsmoke"
		label	"Smoke Density"
		type	float
		default	{ "1" }
		range	{ 0 10 }
		export	none
	    }
	    parm {
		name	"dsmoke_vsd"
		label	"Vector Smoke Density"
		type	vector
		size	3
		default	{ "1" "1" "1" }
		range	{ -1 1 }
		export	none
	    }
	    parm {
		name	"csmoke"
		label	"Smoke Color"
		type	color
		size	3
		default	{ "1" "1" "1" }
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"demit"
		label	"Emit Density"
		type	float
		default	{ "0" }
		range	{ 0 10 }
		export	none
	    }
	    parm {
		name	"demit_ved"
		label	"Vector Emit Density"
		type	vector
		size	3
		default	{ "0" "0" "0" }
		range	{ -1 1 }
		export	none
	    }
	    parm {
		name	"cemit"
		label	"Emit Color"
		type	color
		size	3
		default	{ "1" "1" "1" }
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"fireexist"
		label	"Fire Existence Field"
		type	float
		default	{ "1" }
		range	{ 0 10 }
		export	none
	    }
	    parm {
		name	"fireexist_vfe"
		label	"Vector Fire Existence Field"
		type	vector
		size	3
		default	{ "1" "1" "1" }
		range	{ -1 1 }
		export	none
	    }
	    parm {
		name	"draw"
		label	"Raw Density Field"
		type	float
		default	{ "1" }
		range	{ 0 10 }
		export	none
	    }
	    parm {
		name	"draw_vsd"
		label	"Vector Raw Density Field"
		type	vector
		size	3
		default	{ "1" "1" "1" }
		range	{ -1 1 }
		export	none
	    }
	}

    }

    group {
	name	"folder0_1"
	label	"UI Promotion"

	parm {
	    name	"ui_prefix"
	    label	"Parameter Prefix"
	    type	string
	    joinnext
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"ui_postfix"
	    label	"Postfix"
	    type	string
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"ui_infolder"
	    label	"ui_infolder"
	    type	toggle
	    nolabel
	    joinnext
	    default	{ "0" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"ui_foldername"
	    label	"Create In Folder"
	    type	string
	    default	{ [ "node('.').creator().relativePathTo(node('.')).replace('/','_')" python ] }
	    disablewhen	"{ ui_infolder == 0 }"
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"leftalign3"
	    label	"spacer"
	    type	label
	    nolabel
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"ui_dwhen"
	    label	"Extra Disable When"
	    type	string
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	}
    }

}
INDX              DialogScript      AR//*
 * PROPRIETARY INFORMATION.  This software is proprietary to
 * Side Effects Software Inc., and is not to be reproduced,
 * transmitted, or disclosed in any way without written permission.
 *
 * Produced by:
 *	Side Effects Software Inc
 *	477 Richmond Street West
 *	Toronto, Ontario
 *	Canada   M5V 3E7
 *	416-504-9876
 *
 */

#include <parameter.ds>

{
    name	"random"
    script	"random"
    label	"random"


    code {
	"#ifdef __vex"
	"    if ($roundtoint)"
	"    	$rand = random($pos);"
	"    else"
	"       $rand = rand($pos);"
	"#else"
	"    $rand = cellnoise($pos);"
	"#endif"
    }

    input	float	pos	"Position"
    output	float	rand	"Random Number"

    signature	"1D Float Input, 1D Output"	default	{ }
    signature	"1D Float Input, 3D Vector" 	fv	{ float vector  }
    signature	"1D Float Input, 3D Point"  	fp	{ float point  }
    signature	"1D Float Input, 3D Normal" 	fn	{ float normal  }
    signature	"1D Float Input, 3D Color" 	fc	{ float color  }
    signature	"1D Float Input, 4D Output"	f4d	{ float vector4 }

    signature	"1D Integer Input, 1D Output"	i1d	{ int float   }
    signature	"1D Integer Input, 3D Vector" 	iv	{ int vector  }
    signature	"1D Integer Input, 3D Point"  	ip	{ int point  }
    signature	"1D Integer Input, 3D Normal" 	in	{ int normal  }
    signature	"1D Integer Input, 3D Color" 	ic	{ int color  }
    signature	"1D Integer Input, 4D Output"	i4d	{ int vector4 }

    signature	"3D Vector Input, 1D Output"	v1d	{ vector  float   }
    signature	"3D Vector Input, 3D Vector" 	vv	{ vector vector  }
    signature	"3D Vector Input, 3D Point"  	vp	{ vector point  }
    signature	"3D Vector Input, 3D Normal" 	vn	{ vector normal  }
    signature	"3D Vector Input, 3D Color" 	vc	{ vector color  }
    signature	"3D Vector, 4D Output"		v4d	{ vector  vector4 }

    signature	"3D Point Input, 1D Output"	p1d	{ point  float   }
    signature	"3D Point Input, 3D Vector" 	pv	{ point vector  }
    signature	"3D Point Input, 3D Point"  	pp	{ point point  }
    signature	"3D Point Input, 3D Normal" 	pn	{ point normal  }
    signature	"3D Point Input, 3D Color" 	pc	{ point color  }

    signature	"3D Normal Input, 1D Output"	n1d	{ normal  float   }
    signature	"3D Normal Input, 3D Vector" 	nv	{ normal vector  }
    signature	"3D Normal Input, 3D Point"  	np	{ normal point  }
    signature	"3D Normal Input, 3D Normal" 	nn	{ normal normal  }
    signature	"3D Normal Input, 3D Color" 	nc	{ normal color  }

    signature	"3D Color Input, 1D Output"	c1d	{ color  float   }
    signature	"3D Color Input, 3D Vector" 	cv	{ color vector  }
    signature	"3D Color Input, 3D Point"  	cp	{ color point  }
    signature	"3D Color Input, 3D Normal" 	cn	{ color normal  }
    signature	"3D Color Input, 3D Color" 	cc	{ color color  }

    signature	"4D Input, 1D Output"		v41d	{ vector4 float   }
    signature	"4D Input, 3D Output"		v43d	{ vector4 vector  }
    signature	"4D Input, 4D Output"		v44d	{ vector4 vector4 }

    signature	"1D Uniform Float, 1D Output"	uuf	{ ufloat ufloat }
    signature	"1D Uniform Float, 3D Vector" 	ufv	{ ufloat uvector  }
    signature	"1D Uniform Float, 3D Point"  	ufp	{ ufloat upoint  }
    signature	"1D Uniform Float, 3D Normal" 	ufn	{ ufloat unormal  }
    signature	"1D Uniform Float, 3D Color" 	ufc	{ ufloat ucolor  }

    signature	"3D Uniform Vector, 1D Output"	uv1d	{ uvector ufloat   }
    signature	"3D Uniform Vector, 3D Vector" 	uvv	{ uvector uvector  }
    signature	"3D Uniform Vector, 3D Point"  	uvp	{ uvector upoint  }
    signature	"3D Uniform Vector, 3D Normal" 	uvn	{ uvector unormal  }
    signature	"3D Uniform Vector, 3D Color" 	uvc	{ uvector ucolor  }

    signature	"3D Uniform Point, 1D Output"	up1d	{ upoint ufloat   }
    signature	"3D Uniform Point, 3D Vector" 	upv	{ upoint uvector  }
    signature	"3D Uniform Point, 3D Point"  	upp	{ upoint upoint  }
    signature	"3D Uniform Point, 3D Normal" 	upn	{ upoint unormal  }
    signature	"3D Uniform Point, 3D Color" 	upc	{ upoint ucolor  }

    signature	"3D Uniform Normal, 1D Output"	un1d	{ unormal ufloat   }
    signature	"3D Uniform Normal, 3D Vector" 	unv	{ unormal uvector  }
    signature	"3D Uniform Normal, 3D Point"  	unp	{ unormal upoint  }
    signature	"3D Uniform Normal, 3D Normal" 	unn	{ unormal unormal  }
    signature	"3D Uniform Normal, 3D Color" 	unc	{ unormal ucolor  }

    signature	"3D Uniform Color, 1D Output"	uc1d	{ ucolor ufloat   }
    signature	"3D Uniform Color, 3D Vector" 	ucv	{ ucolor uvector  }
    signature	"3D Uniform Color, 3D Point"  	ucp	{ ucolor upoint  }
    signature	"3D Uniform Color, 3D Normal" 	ucn	{ ucolor unormal  }
    signature	"3D Uniform Color, 3D Color" 	ucc	{ ucolor ucolor  }

    VOP_FLT_PARM(pos,     "Position", 0)
    VOP_INT_PARM(pos_i,   "Position", 0)
    VOP_VEC_PARM(pos_v1d, "Position", 0, 0, 0)
    VOP_VEC_PARM(pos_p1d, "Position", 0, 0, 0)
    VOP_VEC_PARM(pos_n1d, "Position", 0, 0, 0)
    VOP_CLR_PARM(pos_c1d, "Position", 0, 0, 0)
    VOP_VEC4_PARM(pos_v41d, "Position", 0, 0, 0, 0)
    VOP_FLT_PARM(pos_uf1d, "Position", 0)
    VOP_VEC_PARM(pos_uv1d, "Position", 0, 0, 0)
    VOP_VEC_PARM(pos_up1d, "Position", 0, 0, 0)
    VOP_VEC_PARM(pos_un1d, "Position", 0, 0, 0)
    VOP_CLR_PARM(pos_uc1d, "Position", 0, 0, 0)

    parm {
	name	roundtoint
	label	"Clamp Position to Integer"
	type	toggle
	size	1
	default	{ 1 }
    }

    group { name "gv" obsolete 12.0 }
    group { name "gu" obsolete 12.0 }
}
INDX              Contents       WS7   DialogScript   W  <Rs0707070000010000000006660000000000000000010000001237543366300001300000000000TRAILER!!! # Dialog script for pointwrangle automatically generated 11/01/13 09:51:32

{
    name	pointwrangle
    script	pointwrangle
    label	"Point Wrangle"

    help {
	""
    }

    inputlabel	1	Source
    inputlabel	2	"Auxillary 1"
    inputlabel	3	"Auxillary 2"
    inputlabel	4	"Auxillary 3"

    parm {
	name	"group"
	label	"Point Group"
	type	string
	default	{ "" }
	menutoggle	{
	    [ "opmenu -l vopsop1 vex_group" ]
	}
	range	{ 0 1 }
	export	none
	parmtag	{ "autoscope" "0000000000000000" }
    }
    parm {
	name	"snippet"
	label	"VEXpression"
	type	string
	default	{ "" }
	menureplace	{
	    [ "import vexpressionmenu" ]
	    [ "" ]
	    [ "return vexpressionmenu.buildSnippetMenu('pointwrangle/snippet')" ]
	    language	python
	}
	range	{ 0 1 }
	export	all
	parmtag	{ "autoscope" "0000000000000000" }
	parmtag	{ "editor" "1" }
	parmtag	{ "editorlang" "vex" }
	parmtag	{ "editorlines" "10" }
    }
    parm {
	name	"exportlist"
	label	"Attributes to Create"
	type	string
	default	{ "* ^OpInput*" }
	range	{ 0 1 }
	export	none
	parmtag	{ "autoscope" "0000000000000000" }
    }
}
INDX              DialogScript      R//*
 * PROPRIETARY INFORMATION.  This software is proprietary to
 * Side Effects Software Inc., and is not to be reproduced,
 * transmitted, or disclosed in any way without written permission.
 *
 * Produced by:
 *	Side Effects Software Inc
 *	477 Richmond Street West
 *	Toronto, Ontario
 *	Canada   M5V 3E7
 *	416-504-9876
 *
 */

{
    name	"not"
    script	"not"
    label	"not"


    code {
	"#ifdef __vex"
	"    if ($bitwise)"
	"        $not = ~$input;"
	"    else"
	"        $not = !$input;"
	"#else"
	"    $not = ($input == 0) ? 1 : 0;"
	"#endif"
    }

    input	int	input	"Input Value"
    output	int	not	"\"Not\" Input"

    parm {
	name	bitwise
	label	"Bitwise Operation"
	type	toggle
	size	1
	default	{ 0 }
    }

}

INDX              Contents       WS7   DialogScript   W Rzm0707070000010000000006660000000000000000010000001237543365700001300000000000TRAILER!!! # Dialog script for pyro::2.0 automatically generated 03/02/13 17:11:14

{
    name	pyro::2.0
    script	pyro2
    label	Pyro

    rendermask	"VMantra OGL"

    help {
	""
    }

    parm {
	name	"vop_compiler"
	label	"VEX Compiler"
	type	string
	default	{ "vcc -r -q -I$JOB/include $VOP_INCLUDEPATH -o $VOP_OBJECTFILE -e $VOP_ERRORFILE $VOP_SOURCEFILE" }
	help	"None"
	menureplace	{
	    [ "'vop/vopcompilermenu.cmd'" ]
	}
	range	{ 0 1 }
	export	none
    }
    parm {
	name	"forcecompile"
	label	"Force Compile"
	type	button
	default	{ "0" }
	help	"A callback button to force compiling of the VOP network."
	range	{ 0 1 }
	export	none
	parmtag	{ "script_callback" "vopforcecompile ." }
	parmtag	{ "spare_category" "Compiler" }
    }
    parm {
	name	"spacer4"
	label	"spacer"
	type	label
	nolabel
	default	{ "" }
	range	{ 0 1 }
	export	none
    }
    group {
	name	"folder6"
	label	"Smoke"

	group {
	    name	"sd_folder8"
	    label	"Density"

	    parm {
		name	"sd_name"
		label	"Field Name"
		type	string
		joinnext
		default	{ "density" }
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"sd_intype"
		label	"Type"
		type	string
		default	{ "float" }
		menu	{
		    "float"	"Float"
		    "vector"	"Vector"
		    "vector4"	"Vector4"
		}
		range	{ 0 1 }
		export	none
		unquoted
		parmtag	{ "script_callback" "__import__('pyro2').updateField(kwargs,'sd_intype','sd_promote','sd_method','sd_outtype','SmokeDensity_flt')" }
		parmtag	{ "script_callback_language" "python" }
	    }
	    parm {
		name	"sd_promote"
		label	"Promote"
		type	toggle
		joinnext
		default	{ "0" }
		disablewhen	"{ sd_name == \"\" }"
		range	{ 0 1 }
		export	none
		parmtag	{ "script_callback" "__import__('pyro2').updateField(kwargs,'sd_intype','sd_promote','sd_method','sd_outtype','SmokeDensity_flt')" }
		parmtag	{ "script_callback_language" "python" }
	    }
	    parm {
		name	"sd_outtype"
		label	"To Type"
		type	string
		joinnext
		default	{ "float" }
		disablewhen	"{ sd_name == \"\" } { sd_promote == 0 }"
		menu	{
		    "float"	"Float"
		    "vector"	"Vector"
		    "vector4"	"Vector4"
		}
		range	{ 0 1 }
		export	none
		unquoted
		parmtag	{ "script_callback" "__import__('pyro2').updateField(kwargs,'sd_intype','sd_promote','sd_method','sd_outtype','SmokeDensity_flt')" }
		parmtag	{ "script_callback_language" "python" }
	    }
	    parm {
		name	"sd_method"
		label	"Method"
		type	string
		nolabel
		joinnext
		default	{ "assign" }
		disablewhen	"{ sd_name == \"\" } { sd_doconvert == 0 }"
		menu	{
		    [ "hou.vopNodeTypeCategory().nodeTypes()['typeconvertimpl'].hdaModule().methodmenu(hou.evalParm('sd_intype'),hou.evalParm('sd_outtype'))" ]
		    language	python
		}
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"sd_padval"
		label	"Padding Constant"
		type	float
		nolabel
		default	{ "0" }
		disablewhen	"{ sd_name == \"\" } { sd_promote == 0 } { sd_method != padc }"
		range	{ 0 1 }
		export	none
		parmtag	{ "parmvop" "1" }
		parmtag	{ "shaderparmcontexts" "surface" }
	    }
	    parm {
		name	"sd_dfltval"
		label	"Default Field Value"
		type	float
		size	4
		default	{ "0" "0" "0" "0" }
		disablewhen	"{ sd_name != \"\" }"
		range	{ 0 10 }
		export	none
		parmtag	{ "parmvop" "1" }
		parmtag	{ "shaderparmcontexts" "surface" }
	    }
	    parm {
		name	"sd_doconvert"
		label	"doconvert"
		type	integer
		invisible
		default	{ "0" }
		range	{ 0 10 }
		export	none
		parmtag	{ "pyro_expression" "evalParm('sd_promote') and evalParm('sd_intype') != evalParm('sd_outtype')" }
		parmtag	{ "pyro_expression_language" "python" }
	    }
	    parm {
		name	"sd_spacer"
		label	"spacer"
		type	label
		nolabel
		default	{ "" }
		range	{ 0 1 }
		export	none
	    }
	    group {
		name	"sd_folder10"
		label	"Field Shape"

		parm {
		    name	"sd_dofit"
		    label	"Fit to Range (Unclamped)"
		    type	toggle
		    joinnext
		    default	{ "0" }
		    disablewhen	"{ sd_name == \"\" }"
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"sd_spacer2"
		    label	"sd_spacer"
		    type	label
		    nolabel
		    default	{ "" }
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"sd_fit_srcmin"
		    label	"Source Range"
		    type	float
		    joinnext
		    default	{ "0" }
		    disablewhen	"{ sd_name == \"\" } { sd_dofit == 0 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "surface" }
		}
		parm {
		    name	"sd_fit_srcmax"
		    label	"Max"
		    type	float
		    nolabel
		    default	{ "1" }
		    disablewhen	"{ sd_name == \"\" } { sd_dofit == 0 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "surface" }
		}
		parm {
		    name	"sd_fit_tgtmin"
		    label	"Target Range"
		    type	float
		    joinnext
		    default	{ "0" }
		    disablewhen	"{ sd_name == \"\" } { sd_dofit == 0 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "surface" }
		}
		parm {
		    name	"sd_fit_tgtmax"
		    label	"Max"
		    type	float
		    nolabel
		    default	{ "1" }
		    disablewhen	"{ sd_name == \"\" } { sd_dofit == 0 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "surface" }
		}
		parm {
		    name	"sd_spacer3"
		    label	"sd_spacer2"
		    type	label
		    nolabel
		    default	{ "" }
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"sd_doramp"
		    label	"Ramp"
		    type	toggle
		    joinnext
		    default	{ "0" }
		    disablewhen	"{ sd_name == \"\" }"
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"sd_presets"
		    label	"Presets"
		    type	ordinal
		    nolabel
		    joinnext
		    default	{ "0" }
		    disablewhen	"{ sd_name == \"\" } { sd_doramp == 0 }"
		    menu	{
			[ "__import__('pyro2').rampPresetMenu(kwargs,'SmokeDensity',True)" ]
			language	python
		    }
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "script_callback" "__import__('pyro2').rampPresetCB(kwargs,'SmokeDensity',True)" }
		    parmtag	{ "script_callback_language" "python" }
		}
		parm {
		    name	"sd_spacename"
		    label	" Space"
		    type	string
		    nolabel
		    joinnext
		    default	{ "rgb" }
		    disablewhen	"{ sd_name == \"\" } { sd_doramp == 0 } { rampswitcher1 == 0 }"
		    menu	{
			"rgb"	"RGB"
			"hsv"	"HSV"
			"Lab"	"LAB"
			"hsl"	"HSL"
			"XYZ"	"XYZ"
		    }
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "surface" }
		}
		parm {
		    name	"sd_gammaname"
		    label	"Gamma Type"
		    type	string
		    nolabel
		    joinnext
		    default	{ "linear" }
		    disablewhen	"{ sd_name == \"\" } { sd_doramp == 0 }"
		    menu	{
			"linear"	"Linear"
			"srgb"	"sRGB"
			"custom"	"Custom"
		    }
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "surface" }
		}
		parm {
		    name	"sd_gammaval"
		    label	"Gamma Value"
		    type	float
		    nolabel
		    default	{ "2.2" }
		    disablewhen	"{ sd_name == \"\" } { sd_doramp == 0 } { sd_gammaname != custom }"
		    range	{ 0.0001 4 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "surface" }
		}
		groupradio {
		    name	"sd_rampswitcher8"
		    label	"Float"

		    parm {
			name	"SmokeDensity_flt"
			label	"Lookup Ramp"
			type	ramp_flt
			default	{ "2" }
			disablewhen	"{ sd_name == \"\" } { sd_doramp == 0 }"
			range	{ 1! 10 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "rampbasis_var" "SmokeDensity_flt_the_basis_strings" }
			parmtag	{ "rampbasisdefault" "linear" }
			parmtag	{ "rampkeys_var" "SmokeDensity_flt_the_key_positions" }
			parmtag	{ "rampshowcontrolsdefault" "0" }
			parmtag	{ "rampvalues_var" "SmokeDensity_flt_the_key_values" }
			parmtag	{ "shaderparmcontexts" "surface" }
		    }
		}

		groupradio {
		    name	"sd_rampswitcher8_1"
		    label	"Color"

		    parm {
			name	"SmokeDensity_rgb"
			label	"Lookup Ramp"
			type	ramp_rgb
			default	{ "2" }
			disablewhen	"{ sd_name == \"\" } { sd_doramp == 0 }"
			range	{ 1! 10 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "rampbasis_var" "SmokeDensity_rgb_the_basis_strings" }
			parmtag	{ "rampbasisdefault" "linear" }
			parmtag	{ "rampcolortype" "rgb" }
			parmtag	{ "rampkeys_var" "SmokeDensity_rgb_the_key_positions" }
			parmtag	{ "rampshowcontrolsdefault" "0" }
			parmtag	{ "rampvalues_var" "SmokeDensity_rgb_the_key_values" }
			parmtag	{ "shaderparmcontexts" "surface" }
		    }
		}

		parm {
		    name	"sd_ramp_rngmin"
		    label	"Ramp Interval"
		    type	float
		    joinnext
		    default	{ "0" }
		    disablewhen	"{ sd_name == \"\" } { sd_doramp == 0 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "surface" }
		}
		parm {
		    name	"sd_ramp_rngmax"
		    label	"Ramp: Range Max"
		    type	float
		    nolabel
		    default	{ "1" }
		    disablewhen	"{ sd_name == \"\" } { sd_doramp == 0 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "surface" }
		}
		parm {
		    name	"sd_lbt"
		    label	"Ramp Boundaries"
		    type	string
		    joinnext
		    default	{ "hold" }
		    disablewhen	"{ sd_name == \"\" } { sd_doramp == 0 }"
		    menu	{
			"hold"	"Hold"
			"cycle"	"Cycle"
			"accum"	"Cycle-Accumulate"
			"mirror"	"Mirror"
			"slope"	"Slope"
		    }
		    range	{ 0 1 }
		    export	none
		    unquoted
		}
		parm {
		    name	"sd_rbt"
		    label	"Right"
		    type	string
		    nolabel
		    default	{ "hold" }
		    disablewhen	"{ sd_name == \"\" } { sd_doramp == 0 }"
		    menu	{
			"hold"	"Hold"
			"cycle"	"Cycle"
			"accum"	"Cycle-Accumulate"
			"mirror"	"Mirror"
			"slope"	"Slope"
		    }
		    range	{ 0 1 }
		    export	none
		    unquoted
		}
		parm {
		    name	"sd_spacer4"
		    label	"sd_spacer3"
		    type	label
		    nolabel
		    default	{ "" }
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"sd_docontour"
		    label	"Enable Contour"
		    type	toggle
		    nolabel
		    joinnext
		    default	{ "0" }
		    disablewhen	"{ sd_name == \"\" }"
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"sd_contour_width"
		    label	"Contour: Width"
		    type	float
		    joinnext
		    default	{ "0.02" }
		    disablewhen	"{ sd_name == \"\" } { sd_docontour == 0 }"
		    range	{ 0 0.1 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "surface" }
		}
		parm {
		    name	"sd_contour_sharp"
		    label	"Sharpness"
		    type	float
		    default	{ "4" }
		    disablewhen	"{ sd_name == \"\" } { sd_docontour == 0 }"
		    range	{ 0 10 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "surface" }
		}
		parm {
		    name	"sd_dosclip"
		    label	"Enable Soft Clip"
		    type	toggle
		    nolabel
		    joinnext
		    default	{ "0" }
		    disablewhen	"{ sd_name == \"\" }"
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"sd_sclip_start"
		    label	"SoftClip: Start"
		    type	float
		    joinnext
		    default	{ "0.8" }
		    disablewhen	"{ sd_name == \"\" } { sd_dosclip == 0 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "surface" }
		}
		parm {
		    name	"sd_sclip_suppress"
		    label	"  Suppress"
		    type	float
		    default	{ "1" }
		    disablewhen	"{ sd_name == \"\" } { sd_dosclip == 0 }"
		    range	{ 0 10 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "surface" }
		}
		parm {
		    name	"sd_spacer5"
		    label	"sd_spacer4"
		    type	label
		    nolabel
		    default	{ "" }
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"sd_dolowlimit"
		    label	"Enable Lower Limit"
		    type	toggle
		    nolabel
		    joinnext
		    default	{ "0" }
		    disablewhen	"{ sd_name == \"\" }"
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"sd_lowlimit"
		    label	"Clamp to Min"
		    type	float
		    default	{ "0" }
		    disablewhen	"{ sd_name == \"\" } { sd_dolowlimit == 0 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "surface" }
		}
		parm {
		    name	"sd_dohighlimit"
		    label	"Enable Upper Limit"
		    type	toggle
		    nolabel
		    joinnext
		    default	{ "0" }
		    disablewhen	"{ sd_name == \"\" }"
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"sd_highlimit"
		    label	"Clamp to Max"
		    type	float
		    default	{ "1" }
		    disablewhen	"{ sd_name == \"\" } { sd_dohighlimit == 0 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "surface" }
		}
		parm {
		    name	"sd_spacer6"
		    label	"sd_spacer5"
		    type	label
		    nolabel
		    default	{ "" }
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"sd_amp"
		    label	"Final Amplitude"
		    type	float
		    default	{ "1" }
		    range	{ 0 2 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "surface" }
		}
	    }

	    group {
		name	"sd_folder10_1"
		label	"Field Noise"

		parm {
		    name	"sd_active"
		    label	"Active"
		    type	toggle
		    default	{ "0" }
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"sd_ntype"
		    label	"Noise Output Type"
		    type	ordinal
		    joinnext
		    default	{ "0" }
		    disablewhen	"{ sd_active == 0 }"
		    menu	{
			[ "d3 = (\"default\", \"Float\", \"v3\", \"Vector\")" ]
			[ "d4 = (\"f4\", \"Float\", \"v4\", \"Vector\")" ]
			[ "return (d3,d4)[kwargs[\"node\"].evalParm(\"sd_dim4\")]" ]
			language	python
		    }
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"sd_dim4"
		    label	"Space"
		    type	ordinal
		    joinnext
		    default	{ "0" }
		    disablewhen	"{ sd_active == 0 }"
		    menu	{
			"0"	"3D"
			"1"	"4D"
		    }
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"sd_time"
		    label	"Time"
		    type	float
		    default	{ "0" }
		    disablewhen	"{ sd_active == 0 } { sd_dim4 == 0 }"
		    range	{ 0 10 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "surface" }
		}
		parm {
		    name	"sd_fieldop"
		    label	"Field Operation"
		    type	string
		    default	{ "add" }
		    disablewhen	"{ sd_active == 0 }"
		    menu	{
			"add"	"Offset (Field + Noise)"
			"mult"	"Scale (Field * Noise)"
		    }
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"sd_spacer7"
		    label	"sd_spacer6"
		    type	label
		    nolabel
		    default	{ "" }
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"sd_freq"
		    label	"Frequency"
		    type	float
		    size	4
		    default	{ "1" "1" "1" "1" }
		    disablewhen	"{ sd_active == 0 }"
		    range	{ 0 10 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "surface" }
		}
		parm {
		    name	"sd_offset"
		    label	"Offset"
		    type	float
		    size	4
		    default	{ "0" "0" "0" "0" }
		    disablewhen	"{ sd_active == 0 }"
		    range	{ 0 10 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "surface" }
		}
		parm {
		    name	"sd_period"
		    label	"Period"
		    type	float
		    size	4
		    default	{ "1" "1" "1" "1" }
		    disablewhen	"{ sd_active == 0 } { sd_basis != pperlin sd_basis != pflow }"
		    range	{ 0 10 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "surface" }
		}
		parm {
		    name	"sd_spacer8"
		    label	"sd_spacer7"
		    type	label
		    nolabel
		    default	{ "" }
		    range	{ 0 1 }
		    export	none
		}
		group {
		    name	"sd_folder12"
		    label	"Construction"

		    parm {
			name	"sd_basis"
			label	"Noise Type"
			type	string
			default	{ "simplex" }
			disablewhen	"{ sd_active == 0 }"
			menu	{
			    "sine"	"Sinusoid"
			    "perlin"	"Perlin"
			    "pperlin"	"Periodic Perlin"
			    "simplex"	"Simplex (Improved Perlin)"
			    "sparse"	"Sparse Convolution"
			    "flow"	"Flow"
			    "pflow"	"Periodic Flow"
			    "worleyFA"	"Worley (cellular) F1"
			    "worleyFB"	"Worley (cellular) F2-F1"
			    "alligator"	"Alligator"
			}
			range	{ 0 1 }
			export	none
			unquoted
		    }
		    parm {
			name	"sd_inv"
			label	"Complement"
			type	toggle
			default	{ "off" }
			disablewhen	"{ sd_active == 0 }"
			range	{ 0 1 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "surface" }
		    }
		    parm {
			name	"sd_fold"
			label	"Fold"
			type	toggle
			default	{ "off" }
			disablewhen	"{ sd_active == 0 }"
			range	{ 0 1 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "surface" }
		    }
		    parm {
			name	"sd_expon"
			label	"Exponent"
			type	float
			default	{ "1" }
			disablewhen	"{ sd_active == 0 }"
			range	{ 0 2 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "surface" }
		    }
		    parm {
			name	"sd_dolwarp"
			label	"Enable Lattice Warp"
			type	toggle
			nolabel
			joinnext
			default	{ "off" }
			disablewhen	"{ sd_active == 0 }"
			range	{ 0 1 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "surface" }
		    }
		    parm {
			name	"sd_disp"
			label	"Lattice Warp"
			type	float
			joinnext
			default	{ "0" }
			disablewhen	"{ sd_active == 0 } { sd_dolwarp == 0 }"
			range	{ -0.5 0.5 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "surface" }
		    }
		    parm {
			name	"sd_dispfreq"
			label	"Freq"
			type	float
			default	{ "1" }
			disablewhen	"{ sd_active == 0 } { sd_dolwarp == 0 }"
			range	{ 0 1 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "surface" }
		    }
		    parm {
			name	"sd_dogwarp"
			label	"Enable Gradient Warp"
			type	toggle
			nolabel
			joinnext
			default	{ "off" }
			disablewhen	"{ sd_active == 0 }"
			range	{ 0 1 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "surface" }
		    }
		    parm {
			name	"sd_gflow"
			label	"Gradient Warp"
			type	float
			default	{ "0" }
			disablewhen	"{ sd_active == 0 } { sd_dogwarp == 0 }"
			range	{ -0.5 0.5 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "surface" }
		    }
		    parm {
			name	"sd_flowrot"
			label	"Flow Rotation"
			type	float
			default	{ "0" }
			disablewhen	"{ sd_active == 0 } { sd_basis != flow sd_basis != pflow }"
			range	{ 0 10 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "surface" }
		    }
		    parm {
			name	"sd_spacer9"
			label	"sd_spacer8"
			type	label
			nolabel
			default	{ "" }
			range	{ 0 1 }
			export	none
		    }
		    parm {
			name	"sd_fractal"
			label	"Fractal Type"
			type	string
			default	{ "none" }
			disablewhen	"{ sd_active == 0 }"
			menu	{
			    "none"	"None"
			    "fBm"	"Standard (fBm)"
			    "mfT"	"Terrain"
			    "hmfT"	"Hybrid Terrain"
			}
			range	{ 0 1 }
			export	none
			unquoted
		    }
		    parm {
			name	"sd_accuml"
			label	"Accumulate Lattice Warp"
			type	toggle
			default	{ "off" }
			disablewhen	"{ sd_active == 0 } { sd_fractal == none }"
			range	{ 0 1 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "surface" }
		    }
		    parm {
			name	"sd_accumg"
			label	"Accumulate Gradient Warp"
			type	toggle
			default	{ "off" }
			disablewhen	"{ sd_active == 0 } { sd_fractal == none }"
			range	{ 0 1 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "surface" }
		    }
		    parm {
			name	"sd_oct"
			label	"Max Octaves"
			type	float
			default	{ "8" }
			disablewhen	"{ sd_active == 0 } { sd_fractal == none }"
			range	{ 0 16 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "surface" }
		    }
		    parm {
			name	"sd_lac"
			label	"Lacunarity"
			type	float
			default	{ "2.01234" }
			disablewhen	"{ sd_active == 0 } { sd_fractal == none }"
			range	{ 0 4 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "surface" }
		    }
		    parm {
			name	"sd_rough"
			label	"Roughness"
			type	float
			default	{ "0.5" }
			disablewhen	"{ sd_active == 0 } { sd_fractal == none }"
			range	{ 0 1 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "surface" }
		    }
		}

		group {
		    name	"sd_folder12_1"
		    label	"Output"

		    parm {
			name	"sd_docc"
			label	"Enable Output Correction"
			type	toggle
			default	{ "on" }
			disablewhen	"{ sd_active == 0 }"
			range	{ 0 1 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "surface" }
		    }
		    parm {
			name	"sd_spacer10"
			label	"sd_spacer9"
			type	label
			nolabel
			default	{ "" }
			range	{ 0 1 }
			export	none
		    }
		    parm {
			name	"sd_cc_dobias"
			label	"Do Bias"
			type	toggle
			nolabel
			joinnext
			default	{ "off" }
			disablewhen	"{ sd_active == 0 } { sd_docc == 0 }"
			range	{ 0 1 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "surface" }
		    }
		    parm {
			name	"sd_cc_bias"
			label	"Bias"
			type	float
			size	3
			default	{ "0.5" "0.5" "0.5" }
			disablewhen	"{ sd_active == 0 } { sd_docc == 0 } { sd_cc_dobias == 0 }"
			range	{ 0 10 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "surface" }
		    }
		    parm {
			name	"sd_cc_dogain"
			label	"Do Gain"
			type	toggle
			nolabel
			joinnext
			default	{ "off" }
			disablewhen	"{ sd_active == 0 } { sd_docc == 0 }"
			range	{ 0 1 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "surface" }
		    }
		    parm {
			name	"sd_cc_gain"
			label	"Gain"
			type	float
			size	3
			default	{ "0.5" "0.5" "0.5" }
			disablewhen	"{ sd_active == 0 } { sd_docc == 0 } { sd_cc_dogain == 0 }"
			range	{ 0 10 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "surface" }
		    }
		    parm {
			name	"sd_spacer11"
			label	"sd_spacer10"
			type	label
			nolabel
			default	{ "" }
			range	{ 0 1 }
			export	none
		    }
		    parm {
			name	"sd_cc_inv"
			label	"Complement"
			type	toggle
			default	{ "off" }
			disablewhen	"{ sd_active == 0 } { sd_docc == 0 }"
			range	{ 0 1 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "surface" }
		    }
		    parm {
			name	"sd_spacer12"
			label	"sd_spacer11"
			type	label
			nolabel
			default	{ "" }
			range	{ 0 1 }
			export	none
		    }
		    parm {
			name	"sd_cc_dorng"
			label	"Output Range (Clamped)"
			type	toggle
			default	{ "on" }
			disablewhen	"{ sd_active == 0 } { sd_docc == 0 }"
			range	{ 0 1 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "surface" }
		    }
		    parm {
			name	"sd_cc_rnglo"
			label	"New Minimum"
			type	float
			size	3
			default	{ "-1" "-1" "-1" }
			disablewhen	"{ sd_active == 0 } { sd_docc == 0 } { sd_cc_dorng == 0 }"
			range	{ 0 10 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "surface" }
		    }
		    parm {
			name	"sd_cc_rnghi"
			label	"New Maximum"
			type	float
			size	3
			default	{ "1" "1" "1" }
			disablewhen	"{ sd_active == 0 } { sd_docc == 0 } { sd_cc_dorng == 0 }"
			range	{ 0 10 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "surface" }
		    }
		    parm {
			name	"sd_spacer13"
			label	"sd_spacer12"
			type	label
			nolabel
			default	{ "" }
			range	{ 0 1 }
			export	none
		    }
		    parm {
			name	"sd_cc_amp"
			label	"Final Amplitude"
			type	float
			size	3
			default	{ "1" "1" "1" }
			disablewhen	"{ sd_active == 0 } { sd_docc == 0 }"
			range	{ 0 10 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "surface" }
		    }
		}

		group {
		    name	"sd_folder12_2"
		    label	"Rest Position"

		    group {
			name	"sd_folder15"
			label	"Fields"

			parm {
			    name	"sd_spacer14"
			    label	"sd_spacer13"
			    type	label
			    nolabel
			    default	{ "" }
			    range	{ 0 1 }
			    export	none
			}
			parm {
			    name	"sd_restinterp"
			    label	"Ratio Interpolation"
			    type	integer
			    default	{ "0" }
			    menu	{
				"0"	"Unmodified (Linear)"
				"1"	"Cubic"
				"2"	"Cosine"
			    }
			    range	{ 0 10 }
			    export	none
			    parmtag	{ "parmvop" "1" }
			    parmtag	{ "shaderparmcontexts" "surface" }
			}
			parm {
			    name	"sd_spacer15"
			    label	"sd_spacer14"
			    type	label
			    nolabel
			    default	{ "" }
			    range	{ 0 1 }
			    export	none
			}
			parm {
			    name	"sd_rest_name"
			    label	"Rest Position 1"
			    type	string
			    joinnext
			    default	{ "rest" }
			    range	{ 0 1 }
			    export	none
			}
			parm {
			    name	"sd_rest_intype"
			    label	"Type"
			    type	string
			    default	{ "vector" }
			    disablewhen	"{ sd_rest_name == \"\" }"
			    menu	{
				"float"	"Float"
				"vector"	"Vector"
				"vector4"	"Vector4"
			    }
			    range	{ 0 1 }
			    export	none
			    unquoted
			    parmtag	{ "script_callback" "if not kwargs['node'].isInsideLockedHDA():kwargs['node'].parm('sd_rest_method').set('assign')" }
			    parmtag	{ "script_callback_language" "python" }
			}
			parm {
			    name	"sd_rest_method"
			    label	"Conversion to Vector"
			    type	string
			    joinnext
			    default	{ "assign" }
			    disablewhen	"{ sd_rest_name == \"\" } { sd_rest_intype == vector }"
			    menu	{
				[ "hou.vopNodeTypeCategory().nodeTypes()['typeconvertimpl'].hdaModule().methodmenu(hou.evalParm('sd_rest_intype'),'vector')" ]
				language	python
			    }
			    range	{ 0 1 }
			    export	none
			}
			parm {
			    name	"sd_rest_padval"
			    label	"Padding Constant"
			    type	float
			    nolabel
			    default	{ "0" }
			    disablewhen	"{ sd_rest_name == \"\" } { rest_promote == 0 } { sd_rest_method != padc }"
			    range	{ 0 1 }
			    export	none
			}
			parm {
			    name	"sd_rest_ratio_name"
			    label	"Rest1 Ratio"
			    type	string
			    joinnext
			    default	{ "rest_ratio" }
			    range	{ 0 1 }
			    export	none
			}
			parm {
			    name	"sd_rest_ratio_intype"
			    label	"Type"
			    type	string
			    default	{ "float" }
			    disablewhen	"{ sd_rest_ratio_name == \"\" }"
			    menu	{
				"float"	"Float"
				"vector"	"Vector"
				"vector4"	"Vector4"
			    }
			    range	{ 0 1 }
			    export	none
			    unquoted
			    parmtag	{ "script_callback" "if not kwargs['node'].isInsideLockedHDA():kwargs['node'].parm('sd_rest_ratio_method').set('assign')" }
			    parmtag	{ "script_callback_language" "python" }
			}
			parm {
			    name	"sd_rest_ratio_method"
			    label	"Conversion to Float"
			    type	string
			    default	{ "assign" }
			    disablewhen	"{ sd_rest_ratio_name == \"\" } { sd_rest_ratio_intype == float }"
			    menu	{
				[ "hou.vopNodeTypeCategory().nodeTypes()['typeconvertimpl'].hdaModule().methodmenu(hou.evalParm('sd_rest_ratio_intype'),'float')" ]
				language	python
			    }
			    range	{ 0 1 }
			    export	none
			}
			parm {
			    name	"sd_rest2_name"
			    label	"Rest Position 2"
			    type	string
			    joinnext
			    default	{ "rest2" }
			    range	{ 0 1 }
			    export	none
			}
			parm {
			    name	"sd_rest2_intype"
			    label	"Type"
			    type	string
			    default	{ "vector" }
			    disablewhen	"{ sd_rest2_name == \"\" }"
			    menu	{
				"float"	"Float"
				"vector"	"Vector"
				"vector4"	"Vector4"
			    }
			    range	{ 0 1 }
			    export	none
			    unquoted
			    parmtag	{ "script_callback" "if not kwargs['node'].isInsideLockedHDA():kwargs['node'].parm('sd_rest2_method').set('assign')" }
			    parmtag	{ "script_callback_language" "python" }
			}
			parm {
			    name	"sd_rest2_method"
			    label	"Conversion to Vector"
			    type	string
			    joinnext
			    default	{ "assign" }
			    disablewhen	"{ sd_rest2_name == \"\" } { sd_rest2_intype == vector }"
			    menu	{
				[ "hou.vopNodeTypeCategory().nodeTypes()['typeconvertimpl'].hdaModule().methodmenu(hou.evalParm('sd_rest2_intype'),'vector')" ]
				language	python
			    }
			    range	{ 0 1 }
			    export	none
			}
			parm {
			    name	"sd_rest2_padval"
			    label	"Padding Constant"
			    type	float
			    nolabel
			    default	{ "0" }
			    disablewhen	"{ sd_rest2_name == \"\" } { rest2_promote == 0 } { sd_rest2_method != padc }"
			    range	{ 0 1 }
			    export	none
			}
			parm {
			    name	"sd_rest2_ratio_name"
			    label	"Rest2 Ratio"
			    type	string
			    joinnext
			    default	{ "rest2_ratio" }
			    range	{ 0 1 }
			    export	none
			}
			parm {
			    name	"sd_rest2_ratio_intype"
			    label	"Type"
			    type	string
			    default	{ "float" }
			    disablewhen	"{ sd_rest2_ratio_name == \"\" }"
			    menu	{
				"float"	"Float"
				"vector"	"Vector"
				"vector4"	"Vector4"
			    }
			    range	{ 0 1 }
			    export	none
			    unquoted
			    parmtag	{ "script_callback" "if not kwargs['node'].isInsideLockedHDA():kwargs['node'].parm('sd_rest2_ratio_method').set('assign')" }
			    parmtag	{ "script_callback_language" "python" }
			}
			parm {
			    name	"sd_rest2_ratio_method"
			    label	"Conversion to Float"
			    type	string
			    default	{ "assign" }
			    disablewhen	"{ sd_rest2_ratio_name == \"\" } { sd_rest2_ratio_intype == float }"
			    menu	{
				[ "hou.vopNodeTypeCategory().nodeTypes()['typeconvertimpl'].hdaModule().methodmenu(hou.evalParm('sd_rest2_ratio_intype'),'float')" ]
				language	python
			    }
			    range	{ 0 1 }
			    export	none
			}
		    }

		    group {
			name	"sd_folder15_1"
			label	"Fallback"

			parm {
			    name	"sd_spacer16"
			    label	"sd_spacer15"
			    type	label
			    nolabel
			    default	{ "" }
			    range	{ 0 1 }
			    export	none
			}
			parm {
			    name	"sd_fallback_label"
			    label	"fallback_label"
			    type	label
			    nolabel
			    default	{ "Fallback Rest Position Upon Failure (VEX):" }
			    range	{ 0 1 }
			    export	none
			}
			parm {
			    name	"sd_spacer17"
			    label	"sd_spacer16"
			    type	label
			    nolabel
			    default	{ "" }
			    range	{ 0 1 }
			    export	none
			}
			parm {
			    name	"sd_fail_shading"
			    label	"SHADING Contexts"
			    type	string
			    default	{ "ptransform(\"space:object\",P)" }
			    range	{ 0 1 }
			    export	none
			    unquoted
			}
			parm {
			    name	"sd_fail_cop"
			    label	"COP|COP2 Contexts"
			    type	string
			    default	{ "set(X,Y,0)" }
			    range	{ 0 1 }
			    export	none
			    unquoted
			}
			parm {
			    name	"sd_fail_sop"
			    label	"SOP|POP Contexts"
			    type	string
			    default	{ "P" }
			    range	{ 0 1 }
			    export	none
			    unquoted
			}
			parm {
			    name	"sd_fail_chop"
			    label	"CHOP Context"
			    type	string
			    default	{ "set((float)I/SR,V,0)" }
			    range	{ 0 1 }
			    export	none
			    unquoted
			}
			parm {
			    name	"sd_fail_cvex"
			    label	"CVEX Context"
			    type	string
			    default	{ "0" }
			    range	{ 0 1 }
			    export	none
			    unquoted
			}
			parm {
			    name	"sd_fail_fail"
			    label	"Unknown Context"
			    type	string
			    default	{ "0" }
			    range	{ 0 1 }
			    export	none
			    unquoted
			}
		    }

		}

	    }

	}

	group {
	    name	"sd_folder8_1"
	    label	"Color"

	    parm {
		name	"sc_fld_name"
		label	"Field Name"
		type	string
		joinnext
		default	{ "" }
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"sc_fld_intype"
		label	"Type"
		type	string
		default	{ "float" }
		menu	{
		    "float"	"Float"
		    "vector"	"Vector"
		    "vector4"	"Vector4"
		}
		range	{ 0 1 }
		export	none
		unquoted
		parmtag	{ "script_callback" "__import__('pyro2').updateField(kwargs,'sc_fld_intype','sc_fld_promote','sc_fld_method','sc_fld_outtype','SmokeColor_Field_flt')" }
		parmtag	{ "script_callback_language" "python" }
	    }
	    parm {
		name	"sc_fld_promote"
		label	"Promote"
		type	toggle
		joinnext
		default	{ "0" }
		disablewhen	"{ sc_fld_name == \"\" }"
		range	{ 0 1 }
		export	none
		parmtag	{ "script_callback" "__import__('pyro2').updateField(kwargs,'sc_fld_intype','sc_fld_promote','sc_fld_method','sc_fld_outtype','SmokeColor_Field_flt')" }
		parmtag	{ "script_callback_language" "python" }
	    }
	    parm {
		name	"sc_fld_outtype"
		label	"To Type"
		type	string
		joinnext
		default	{ "float" }
		disablewhen	"{ sc_fld_name == \"\" } { sc_fld_promote == 0 }"
		menu	{
		    "float"	"Float"
		    "vector"	"Vector"
		    "vector4"	"Vector4"
		}
		range	{ 0 1 }
		export	none
		unquoted
		parmtag	{ "script_callback" "__import__('pyro2').updateField(kwargs,'sc_fld_intype','sc_fld_promote','sc_fld_method','sc_fld_outtype','SmokeColor_Field_flt')" }
		parmtag	{ "script_callback_language" "python" }
	    }
	    parm {
		name	"sc_fld_method"
		label	"Method"
		type	string
		nolabel
		joinnext
		default	{ "assign" }
		disablewhen	"{ sc_fld_name == \"\" } { sc_fld_doconvert == 0 }"
		menu	{
		    [ "hou.vopNodeTypeCategory().nodeTypes()['typeconvertimpl'].hdaModule().methodmenu(hou.evalParm('sc_fld_intype'),hou.evalParm('sc_fld_outtype'))" ]
		    language	python
		}
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"sc_fld_padval"
		label	"Padding Constant"
		type	float
		nolabel
		default	{ "0" }
		disablewhen	"{ sc_fld_name == \"\" } { sc_fld_promote == 0 } { sc_fld_method != padc }"
		range	{ 0 1 }
		export	none
		parmtag	{ "parmvop" "1" }
		parmtag	{ "shaderparmcontexts" "surface" }
	    }
	    parm {
		name	"sc_fld_dfltval"
		label	"Default Field Value"
		type	float
		size	4
		default	{ "1" "1" "1" "1" }
		disablewhen	"{ sc_fld_name != \"\" }"
		range	{ 0 10 }
		export	none
		parmtag	{ "parmvop" "1" }
		parmtag	{ "shaderparmcontexts" "surface" }
	    }
	    parm {
		name	"sc_fld_doconvert"
		label	"doconvert"
		type	integer
		invisible
		default	{ "0" }
		range	{ 0 10 }
		export	none
		parmtag	{ "pyro_expression" "evalParm('sc_fld_promote') and evalParm('sc_fld_intype') != evalParm('sc_fld_outtype')" }
		parmtag	{ "pyro_expression_language" "python" }
	    }
	    parm {
		name	"sc_spacer"
		label	"spacer"
		type	label
		nolabel
		default	{ "" }
		range	{ 0 1 }
		export	none
	    }
	    group {
		name	"sc_folder12"
		label	"Color"

		parm {
		    name	"sc_cm_usecd"
		    label	"Use Point Color (Tint With Cd)"
		    type	toggle
		    default	{ "on" }
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "surface" }
		}
		parm {
		    name	"sc_cm_cmodel"
		    label	"Color Model"
		    type	integer
		    invisible
		    default	{ "__import__('pyro2').uiGetRadioValue(node('.'),'sc_cm_constcol')" }
		    menu	{
			"0"	"Constant Color"
			"1"	"Ramp Lookup"
			"2"	"Blackbody"
		    }
		    range	{ 0 10 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "surface" }
		}
		groupradio {
		    name	"sc_cmodelswitcher9"
		    label	"Constant"

		    parm {
			name	"sc_spacer2"
			label	"sc_spacer"
			type	label
			nolabel
			default	{ "" }
			range	{ 0 1 }
			export	none
		    }
		    parm {
			name	"sc_cm_constcol"
			label	"Constant Color"
			type	color
			size	3
			default	{ "1" "1" "1" }
			disablewhen	"{ sc_cm_cmodel != 0 }"
			range	{ 0 1 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "surface" }
		    }
		    parm {
			name	"sc_spacer3"
			label	"sc_spacer2"
			type	label
			nolabel
			default	{ "" }
			range	{ 0 1 }
			export	none
		    }
		}

		groupradio {
		    name	"sc_cmodelswitcher9_1"
		    label	"Artistic"

		    parm {
			name	"sc_spacer4"
			label	"sc_spacer3"
			type	label
			nolabel
			default	{ "" }
			range	{ 0 1 }
			export	none
		    }
		    parm {
			name	"sc_cm_presets"
			label	"Presets"
			type	ordinal
			nolabel
			joinnext
			default	{ "0" }
			menu	{
			    [ "__import__('pyro2').rampPresetMenu(kwargs,'SmokeColor_Color',False)" ]
			    language	python
			}
			range	{ 0 1 }
			export	none
			parmtag	{ "script_callback" "__import__('pyro2').rampPresetCB(kwargs,'SmokeColor_Color',False)" }
			parmtag	{ "script_callback_language" "python" }
		    }
		    parm {
			name	"sc_cm_spacename"
			label	" Space"
			type	string
			nolabel
			joinnext
			default	{ "rgb" }
			menu	{
			    "rgb"	"RGB"
			    "hsv"	"HSV"
			    "lab"	"LAB"
			    "hsl"	"HSL"
			    "xyz"	"XYZ"
			}
			range	{ 0 1 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "surface" }
		    }
		    parm {
			name	"sc_cm_gammaname"
			label	"Gamma Type"
			type	string
			nolabel
			joinnext
			default	{ "linear" }
			menu	{
			    "linear"	"Linear"
			    "srgb"	"sRGB"
			    "custom"	"Custom"
			}
			range	{ 0 1 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "surface" }
		    }
		    parm {
			name	"sc_cm_gammaval"
			label	"Gamma Value"
			type	float
			nolabel
			default	{ "2.2" }
			disablewhen	"{ sc_cm_gammaname != custom }"
			range	{ 0.0001 4 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "surface" }
		    }
		    parm {
			name	"SmokeColor_Color"
			label	"Lookup Ramp"
			type	ramp_rgb
			default	{ "2" }
			range	{ 1! 10 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "rampbasis_var" "SmokeColor_Color_the_basis_strings" }
			parmtag	{ "rampbasisdefault" "linear" }
			parmtag	{ "rampcolortype" "rgb" }
			parmtag	{ "rampkeys_var" "SmokeColor_Color_the_key_positions" }
			parmtag	{ "rampshowcontrolsdefault" "0" }
			parmtag	{ "rampvalues_var" "SmokeColor_Color_the_key_values" }
			parmtag	{ "shaderparmcontexts" "surface" }
		    }
		    parm {
			name	"sc_cm_rangemin"
			label	"Ramp Interval"
			type	float
			joinnext
			default	{ "0" }
			range	{ 0 1 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "surface" }
		    }
		    parm {
			name	"sc_cm_rangemax"
			label	"Ramp: Range Max"
			type	float
			nolabel
			default	{ "1" }
			range	{ 0 1 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "surface" }
		    }
		    parm {
			name	"sc_cm_lbt"
			label	"Ramp Boundaries"
			type	string
			joinnext
			default	{ "hold" }
			menu	{
			    "hold"	"Hold"
			    "cycle"	"Cycle"
			    "accum"	"Cycle-Accumulate"
			    "mirror"	"Mirror"
			    "slope"	"Slope"
			}
			range	{ 0 1 }
			export	none
			unquoted
		    }
		    parm {
			name	"sc_cm_rbt"
			label	"Right"
			type	string
			nolabel
			default	{ "hold" }
			menu	{
			    "hold"	"Hold"
			    "cycle"	"Cycle"
			    "accum"	"Cycle-Accumulate"
			    "mirror"	"Mirror"
			    "slope"	"Slope"
			}
			range	{ 0 1 }
			export	none
			unquoted
		    }
		    parm {
			name	"sc_spacer5"
			label	"sc_spacer4"
			type	label
			nolabel
			default	{ "" }
			range	{ 0 1 }
			export	none
		    }
		}

		groupradio {
		    name	"sc_cmodelswitcher9_2"
		    label	"Physical"

		    group {
			name	"sc_folder15"
			label	"Definition"

			parm {
			    name	"sc_spacer6"
			    label	"sc_spacer5"
			    type	label
			    nolabel
			    default	{ "" }
			    range	{ 0 1 }
			    export	none
			}
			parm {
			    name	"sc_cm_temp"
			    label	"Temperature (K)"
			    type	float
			    default	{ "5000" }
			    range	{ 350 15000 }
			    export	none
			    parmtag	{ "parmvop" "1" }
			    parmtag	{ "shaderparmcontexts" "surface" }
			}
			parm {
			    name	"sc_spacer7"
			    label	"sc_spacer6"
			    type	label
			    nolabel
			    default	{ "" }
			    range	{ 0 1 }
			    export	none
			}
			parm {
			    name	"sc_cm_dotm"
			    label	"Tone Mapping:"
			    type	toggle
			    joinnext
			    default	{ "on" }
			    range	{ 0 1 }
			    export	none
			    parmtag	{ "parmvop" "1" }
			    parmtag	{ "shaderparmcontexts" "surface" }
			}
			parm {
			    name	"sc_spacer8"
			    label	"sc_spacer7"
			    type	label
			    nolabel
			    default	{ "" }
			    range	{ 0 1 }
			    export	none
			}
			parm {
			    name	"sc_cm_tm_adapt"
			    label	"Adaptation"
			    type	float
			    default	{ "0.18" }
			    disablewhen	"{ dotm == 0 }"
			    range	{ 0 1 }
			    export	none
			    parmtag	{ "parmvop" "1" }
			    parmtag	{ "shaderparmcontexts" "surface" }
			}
			parm {
			    name	"sc_cm_tm_burn"
			    label	"Burn"
			    type	float
			    default	{ "0" }
			    disablewhen	"{ dotm == 0 }"
			    range	{ -2 2 }
			    export	none
			    parmtag	{ "parmvop" "1" }
			    parmtag	{ "shaderparmcontexts" "surface" }
			}
			parm {
			    name	"sc_spacer9"
			    label	"sc_spacer8"
			    type	label
			    nolabel
			    default	{ "" }
			    range	{ 0 1 }
			    export	none
			}
		    }

		    group {
			name	"sc_folder15_1"
			label	"Export To Ramp(s)"

			parm {
			    name	"sc_cm_export"
			    label	"Export"
			    type	button
			    joinnext
			    default	{ "0" }
			    range	{ 0 1 }
			    export	none
			    parmtag	{ "script_callback" "__import__('pyro2').blackbodyRampsCB(kwargs,\"sc_cm_xpcol\",\"sc_cm_xpchr\",\"sc_cm_xpval\",\"sc_cm_xthresh\",\"sc_cm_xinterp\",\"sc_cm_xtemp1\",\"sc_cm_xtemp2\",\"sc_cm_dotm\",\"sc_cm_tm_adapt\",\"sc_cm_tm_burn\")" }
			    parmtag	{ "script_callback_language" "python" }
			}
			parm {
			    name	"sc_spacer10"
			    label	"sc_spacer9"
			    type	label
			    nolabel
			    default	{ "" }
			    range	{ 0 1 }
			    export	none
			}
			parm {
			    name	"sc_cm_xtemp1"
			    label	"Temperature Range"
			    type	float
			    joinnext
			    default	{ "0" }
			    range	{ 0! 1000 }
			    export	none
			}
			parm {
			    name	"sc_cm_xtemp2"
			    label	"Temperature End"
			    type	float
			    nolabel
			    default	{ "5000" }
			    range	{ 1000! 10000 }
			    export	none
			}
			parm {
			    name	"sc_cm_xthresh"
			    label	"Fitting Error"
			    type	float
			    default	{ "0.005" }
			    range	{ 1e-09! 0.1 }
			    export	none
			}
			parm {
			    name	"sc_cm_xinterp"
			    label	"Interpolation"
			    type	ordinal
			    default	{ "1" }
			    menu	{
				"constant"	"Constant"
				"linear"	"Linear"
				"catmull-rom"	"Catmull-Rom"
				"monotonecubic"	"Monotone Cubic"
			    }
			    range	{ 0 1 }
			    export	none
			}
			parm {
			    name	"sc_spacer11"
			    label	"sc_spacer10"
			    type	label
			    nolabel
			    default	{ "" }
			    range	{ 0 1 }
			    export	none
			}
			parm {
			    name	"sc_cm_xpcol"
			    label	"Final Color Ramp"
			    type	string
			    default	{ "SmokeColor_Color" }
			    range	{ 0 1 }
			    export	none
			}
			parm {
			    name	"sc_cm_xpchr"
			    label	"Chromaticity Ramp"
			    type	string
			    default	{ "" }
			    range	{ 0 1 }
			    export	none
			}
			parm {
			    name	"sc_cm_xpval"
			    label	"Intensity Ramp"
			    type	string
			    default	{ "" }
			    range	{ 0 1 }
			    export	none
			}
		    }

		}

		parm {
		    name	"sc_cm_cc_active"
		    label	"Color Correct"
		    type	toggle
		    default	{ "0" }
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "script_callback_language" "python" }
		}
		parm {
		    name	"sc_cm_cc_gamut"
		    label	"Gamut Mapping"
		    type	integer
		    default	{ "3" }
		    disablewhen	"{ sc_cm_cc_active == 0 }"
		    menu	{
			"0"	"None"
			"1"	"Clamp"
			"2"	"Absolute Colorimetry"
			"3"	"Relative Colorimetry"
		    }
		    range	{ 0 10 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "surface" }
		}
		parm {
		    name	"sc_cm_cc_dohrot"
		    label	"Do HRot"
		    type	toggle
		    nolabel
		    joinnext
		    default	{ "off" }
		    disablewhen	"{ sc_cm_cc_active == 0 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "surface" }
		}
		parm {
		    name	"sc_cm_cc_hrot"
		    label	"Hue Rotation"
		    type	float
		    default	{ "0" }
		    disablewhen	"{ sc_cm_cc_dohrot == 0 } { sc_cm_cc_active == 0 }"
		    range	{ -1 1 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "surface" }
		}
		parm {
		    name	"sc_cm_cc_dobias"
		    label	"Do Bias"
		    type	toggle
		    nolabel
		    joinnext
		    default	{ "off" }
		    disablewhen	"{ sc_cm_cc_active == 0 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "surface" }
		}
		parm {
		    name	"sc_cm_cc_bias"
		    label	"Bias"
		    type	float
		    size	3
		    default	{ "0.5" "0.5" "0.5" }
		    disablewhen	"{ sc_cm_cc_dobias == 0 } { sc_cm_cc_active == 0 }"
		    range	{ 0 10 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "surface" }
		}
		parm {
		    name	"sc_cm_cc_dogain"
		    label	"Do Gain"
		    type	toggle
		    nolabel
		    joinnext
		    default	{ "off" }
		    disablewhen	"{ sc_cm_cc_active == 0 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "surface" }
		}
		parm {
		    name	"sc_cm_cc_gain"
		    label	"Gain"
		    type	float
		    size	3
		    default	{ "0.5" "0.5" "0.5" }
		    disablewhen	"{ sc_cm_cc_dogain == 0 } { sc_cm_cc_active == 0 }"
		    range	{ 0 10 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "surface" }
		}
		parm {
		    name	"sc_cm_cc_dogamma"
		    label	"Do Gamma"
		    type	toggle
		    nolabel
		    joinnext
		    default	{ "off" }
		    disablewhen	"{ sc_cm_cc_active == 0 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "surface" }
		}
		parm {
		    name	"sc_cm_cc_gamma"
		    label	"Gamma"
		    type	float
		    size	3
		    default	{ "1" "1" "1" }
		    disablewhen	"{ sc_cm_cc_dogamma == 0 } { sc_cm_cc_active == 0 }"
		    range	{ 0 10 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "surface" }
		}
		parm {
		    name	"sc_cm_cc_docontrast"
		    label	"Do Contrast"
		    type	toggle
		    nolabel
		    joinnext
		    default	{ "off" }
		    disablewhen	"{ sc_cm_cc_active == 0 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "surface" }
		}
		parm {
		    name	"sc_cm_cc_contrast"
		    label	"Contrast"
		    type	float
		    size	3
		    default	{ "1" "1" "1" }
		    disablewhen	"{ sc_cm_cc_docontrast == 0 } { sc_cm_cc_active == 0 }"
		    range	{ 0 10 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "surface" }
		}
		parm {
		    name	"sc_cm_cc_dosat"
		    label	"Do Saturation"
		    type	toggle
		    nolabel
		    joinnext
		    default	{ "off" }
		    disablewhen	"{ sc_cm_cc_active == 0 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "surface" }
		}
		parm {
		    name	"sc_cm_cc_sat"
		    label	"Saturation"
		    type	float
		    default	{ "1" }
		    disablewhen	"{ sc_cm_cc_dosat == 0 } { sc_cm_cc_active == 0 }"
		    range	{ -2 2 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "surface" }
		}
		parm {
		    name	"sc_cm_cc_dovalue"
		    label	"Do Brightness"
		    type	toggle
		    nolabel
		    joinnext
		    default	{ "off" }
		    disablewhen	"{ sc_cm_cc_active == 0 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "surface" }
		}
		parm {
		    name	"sc_cm_cc_value"
		    label	"Brightness"
		    type	float
		    default	{ "1" }
		    disablewhen	"{ sc_cm_cc_dovalue == 0 } { sc_cm_cc_active == 0 }"
		    range	{ 0 2 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "surface" }
		}
		parm {
		    name	"sc_cm_cc_dotint"
		    label	"Do Tint"
		    type	toggle
		    nolabel
		    joinnext
		    default	{ "off" }
		    disablewhen	"{ sc_cm_cc_active == 0 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "surface" }
		}
		parm {
		    name	"sc_cm_cc_tint"
		    label	"Tint"
		    type	color
		    size	3
		    default	{ "1" "1" "1" }
		    disablewhen	"{ sc_cm_cc_dotint == 0 } { sc_cm_cc_active == 0 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "surface" }
		}
	    }

	    group {
		name	"sc_folder12_1"
		label	"Field Shape"

		parm {
		    name	"sc_fld_dofit"
		    label	"Fit to Range (Unclamped)"
		    type	toggle
		    joinnext
		    default	{ "0" }
		    disablewhen	"{ sc_fld_name == \"\" }"
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"sc_spacer12"
		    label	"sc_spacer11"
		    type	label
		    nolabel
		    default	{ "" }
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"sc_fld_fit_srcmin"
		    label	"Source Range"
		    type	float
		    joinnext
		    default	{ "0" }
		    disablewhen	"{ sc_fld_name == \"\" } { sc_fld_dofit == 0 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "surface" }
		}
		parm {
		    name	"sc_fld_fit_srcmax"
		    label	"Max"
		    type	float
		    nolabel
		    default	{ "1" }
		    disablewhen	"{ sc_fld_name == \"\" } { sc_fld_dofit == 0 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "surface" }
		}
		parm {
		    name	"sc_fld_fit_tgtmin"
		    label	"Target Range"
		    type	float
		    joinnext
		    default	{ "0" }
		    disablewhen	"{ sc_fld_name == \"\" } { sc_fld_dofit == 0 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "surface" }
		}
		parm {
		    name	"sc_fld_fit_tgtmax"
		    label	"Max"
		    type	float
		    nolabel
		    default	{ "1" }
		    disablewhen	"{ sc_fld_name == \"\" } { sc_fld_dofit == 0 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "surface" }
		}
		parm {
		    name	"sc_spacer13"
		    label	"sc_spacer12"
		    type	label
		    nolabel
		    default	{ "" }
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"sc_fld_doramp"
		    label	"Ramp"
		    type	toggle
		    joinnext
		    default	{ "0" }
		    disablewhen	"{ sc_fld_name == \"\" }"
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"sc_fld_presets"
		    label	"Presets"
		    type	ordinal
		    nolabel
		    joinnext
		    default	{ "0" }
		    disablewhen	"{ sc_fld_name == \"\" } { sc_fld_doramp == 0 }"
		    menu	{
			[ "__import__('pyro2').rampPresetMenu(kwargs,'SmokeColor_Field',True)" ]
			language	python
		    }
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "script_callback" "__import__('pyro2').rampPresetCB(kwargs,'SmokeColor_Field',True)" }
		    parmtag	{ "script_callback_language" "python" }
		}
		parm {
		    name	"sc_fld_spacename"
		    label	" Space"
		    type	string
		    nolabel
		    joinnext
		    default	{ "rgb" }
		    disablewhen	"{ sc_fld_name == \"\" } { sc_fld_doramp == 0 } { fld_rampswitcher1 == 0 }"
		    menu	{
			"rgb"	"RGB"
			"hsv"	"HSV"
			"lab"	"LAB"
			"hsl"	"HSL"
			"xyz"	"XYZ"
		    }
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "surface" }
		}
		parm {
		    name	"sc_fld_gammaname"
		    label	"Gamma Type"
		    type	string
		    nolabel
		    joinnext
		    default	{ "linear" }
		    disablewhen	"{ sc_fld_name == \"\" } { sc_fld_doramp == 0 }"
		    menu	{
			"linear"	"Linear"
			"srgb"	"sRGB"
			"custom"	"Custom"
		    }
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "surface" }
		}
		parm {
		    name	"sc_fld_gammaval"
		    label	"Gamma Value"
		    type	float
		    nolabel
		    default	{ "2.2" }
		    disablewhen	"{ sc_fld_name == \"\" } { sc_fld_doramp == 0 } { sc_fld_gammaname != custom }"
		    range	{ 0.0001 4 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "surface" }
		}
		groupradio {
		    name	"sc_fld_rampswitcher8"
		    label	"Float"

		    parm {
			name	"SmokeColor_Field_flt"
			label	"Lookup Ramp"
			type	ramp_flt
			default	{ "2" }
			disablewhen	"{ sc_fld_name == \"\" } { sc_fld_doramp == 0 }"
			range	{ 1! 10 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "rampbasis_var" "SmokeColor_Field_flt_the_basis_strings" }
			parmtag	{ "rampbasisdefault" "linear" }
			parmtag	{ "rampkeys_var" "SmokeColor_Field_flt_the_key_positions" }
			parmtag	{ "rampshowcontrolsdefault" "0" }
			parmtag	{ "rampvalues_var" "SmokeColor_Field_flt_the_key_values" }
			parmtag	{ "shaderparmcontexts" "surface" }
		    }
		}

		groupradio {
		    name	"sc_fld_rampswitcher8_1"
		    label	"Color"

		    parm {
			name	"SmokeColor_Field_rgb"
			label	"Lookup Ramp"
			type	ramp_rgb
			default	{ "2" }
			disablewhen	"{ sc_fld_name == \"\" } { sc_fld_doramp == 0 }"
			range	{ 1! 10 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "rampbasis_var" "SmokeColor_Field_rgb_the_basis_strings" }
			parmtag	{ "rampbasisdefault" "linear" }
			parmtag	{ "rampcolortype" "rgb" }
			parmtag	{ "rampkeys_var" "SmokeColor_Field_rgb_the_key_positions" }
			parmtag	{ "rampshowcontrolsdefault" "0" }
			parmtag	{ "rampvalues_var" "SmokeColor_Field_rgb_the_key_values" }
			parmtag	{ "shaderparmcontexts" "surface" }
		    }
		}

		parm {
		    name	"sc_fld_ramp_rngmin"
		    label	"Ramp Interval"
		    type	float
		    joinnext
		    default	{ "0" }
		    disablewhen	"{ sc_fld_name == \"\" } { sc_fld_doramp == 0 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "surface" }
		}
		parm {
		    name	"sc_fld_ramp_rngmax"
		    label	"Ramp: Range Max"
		    type	float
		    nolabel
		    default	{ "1" }
		    disablewhen	"{ sc_fld_name == \"\" } { sc_fld_doramp == 0 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "surface" }
		}
		parm {
		    name	"sc_fld_lbt"
		    label	"Ramp Boundaries"
		    type	string
		    joinnext
		    default	{ "hold" }
		    disablewhen	"{ sc_fld_name == \"\" } { sc_fld_doramp == 0 }"
		    menu	{
			"hold"	"Hold"
			"cycle"	"Cycle"
			"accum"	"Cycle-Accumulate"
			"mirror"	"Mirror"
			"slope"	"Slope"
		    }
		    range	{ 0 1 }
		    export	none
		    unquoted
		}
		parm {
		    name	"sc_fld_rbt"
		    label	"Right"
		    type	string
		    nolabel
		    default	{ "hold" }
		    disablewhen	"{ sc_fld_name == \"\" } { sc_fld_doramp == 0 }"
		    menu	{
			"hold"	"Hold"
			"cycle"	"Cycle"
			"accum"	"Cycle-Accumulate"
			"mirror"	"Mirror"
			"slope"	"Slope"
		    }
		    range	{ 0 1 }
		    export	none
		    unquoted
		}
		parm {
		    name	"sc_spacer14"
		    label	"sc_spacer13"
		    type	label
		    nolabel
		    default	{ "" }
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"sc_fld_docontour"
		    label	"Enable Contour"
		    type	toggle
		    nolabel
		    joinnext
		    default	{ "0" }
		    disablewhen	"{ sc_fld_name == \"\" }"
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"sc_fld_contour_width"
		    label	"Contour: Width"
		    type	float
		    joinnext
		    default	{ "0.02" }
		    disablewhen	"{ sc_fld_name == \"\" } { sc_fld_docontour == 0 }"
		    range	{ 0 0.1 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "surface" }
		}
		parm {
		    name	"sc_fld_contour_sharp"
		    label	"Sharpness"
		    type	float
		    default	{ "4" }
		    disablewhen	"{ sc_fld_name == \"\" } { sc_fld_docontour == 0 }"
		    range	{ 0 10 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "surface" }
		}
		parm {
		    name	"sc_fld_dosclip"
		    label	"Enable Soft Clip"
		    type	toggle
		    nolabel
		    joinnext
		    default	{ "0" }
		    disablewhen	"{ sc_fld_name == \"\" }"
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"sc_fld_sclip_start"
		    label	"SoftClip: Start"
		    type	float
		    joinnext
		    default	{ "0.8" }
		    disablewhen	"{ sc_fld_name == \"\" } { sc_fld_dosclip == 0 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "surface" }
		}
		parm {
		    name	"sc_fld_sclip_suppress"
		    label	"  Suppress"
		    type	float
		    default	{ "1" }
		    disablewhen	"{ sc_fld_name == \"\" } { sc_fld_dosclip == 0 }"
		    range	{ 0 10 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "surface" }
		}
		parm {
		    name	"sc_spacer15"
		    label	"sc_spacer14"
		    type	label
		    nolabel
		    default	{ "" }
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"sc_fld_dolowlimit"
		    label	"Enable Lower Limit"
		    type	toggle
		    nolabel
		    joinnext
		    default	{ "0" }
		    disablewhen	"{ sc_fld_name == \"\" }"
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"sc_fld_lowlimit"
		    label	"Clamp to Min"
		    type	float
		    default	{ "0" }
		    disablewhen	"{ sc_fld_name == \"\" } { sc_fld_dolowlimit == 0 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "surface" }
		}
		parm {
		    name	"sc_fld_dohighlimit"
		    label	"Enable Upper Limit"
		    type	toggle
		    nolabel
		    joinnext
		    default	{ "0" }
		    disablewhen	"{ sc_fld_name == \"\" }"
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"sc_fld_highlimit"
		    label	"Clamp to Max"
		    type	float
		    default	{ "1" }
		    disablewhen	"{ sc_fld_name == \"\" } { sc_fld_dohighlimit == 0 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "surface" }
		}
		parm {
		    name	"sc_spacer16"
		    label	"sc_spacer15"
		    type	label
		    nolabel
		    default	{ "" }
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"sc_fld_amp"
		    label	"Final Amplitude"
		    type	float
		    default	{ "1" }
		    range	{ 0 2 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "surface" }
		}
	    }

	    group {
		name	"sc_folder12_2"
		label	"Field Noise"

		parm {
		    name	"sc_pn_active"
		    label	"Active"
		    type	toggle
		    default	{ "0" }
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"sc_pn_ntype"
		    label	"Noise Output Type"
		    type	ordinal
		    joinnext
		    default	{ "0" }
		    disablewhen	"{ sc_pn_active == 0 }"
		    menu	{
			[ "d3 = (\"default\", \"Float\", \"v3\", \"Vector\")" ]
			[ "d4 = (\"f4\", \"Float\", \"v4\", \"Vector\")" ]
			[ "return (d3,d4)[kwargs[\"node\"].evalParm(\"sc_pn_dim4\")]" ]
			language	python
		    }
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"sc_pn_dim4"
		    label	"Space"
		    type	ordinal
		    joinnext
		    default	{ "0" }
		    disablewhen	"{ sc_pn_active == 0 }"
		    menu	{
			"0"	"3D"
			"1"	"4D"
		    }
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"sc_pn_time"
		    label	"Time"
		    type	float
		    default	{ "0" }
		    disablewhen	"{ sc_pn_active == 0 } { sc_pn_dim4 == 0 }"
		    range	{ 0 10 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "surface" }
		}
		parm {
		    name	"sc_pn_fieldop"
		    label	"Field Operation"
		    type	string
		    default	{ "add" }
		    disablewhen	"{ sc_pn_active == 0 }"
		    menu	{
			"add"	"Offset (Field + Noise)"
			"mult"	"Scale (Field * Noise)"
		    }
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"sc_spacer17"
		    label	"sc_spacer16"
		    type	label
		    nolabel
		    default	{ "" }
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"sc_pn_freq"
		    label	"Frequency"
		    type	float
		    size	4
		    default	{ "1" "1" "1" "1" }
		    disablewhen	"{ sc_pn_active == 0 }"
		    range	{ 0 10 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "surface" }
		}
		parm {
		    name	"sc_pn_offset"
		    label	"Offset"
		    type	float
		    size	4
		    default	{ "0" "0" "0" "0" }
		    disablewhen	"{ sc_pn_active == 0 }"
		    range	{ 0 10 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "surface" }
		}
		parm {
		    name	"sc_pn_period"
		    label	"Period"
		    type	float
		    size	4
		    default	{ "1" "1" "1" "1" }
		    disablewhen	"{ sc_pn_active == 0 } { sc_pn_basis != pperlin sc_pn_basis != pflow }"
		    range	{ 0 10 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "surface" }
		}
		parm {
		    name	"sc_spacer18"
		    label	"sc_spacer17"
		    type	label
		    nolabel
		    default	{ "" }
		    range	{ 0 1 }
		    export	none
		}
		group {
		    name	"sc_folder18"
		    label	"Construction"

		    parm {
			name	"sc_pn_basis"
			label	"Noise Type"
			type	string
			default	{ "simplex" }
			disablewhen	"{ sc_pn_active == 0 }"
			menu	{
			    "sine"	"Sinusoid"
			    "perlin"	"Perlin"
			    "pperlin"	"Periodic Perlin"
			    "simplex"	"Simplex (Improved Perlin)"
			    "sparse"	"Sparse Convolution"
			    "flow"	"Flow"
			    "pflow"	"Periodic Flow"
			    "worleyFA"	"Worley (cellular) F1"
			    "worleyFB"	"Worley (cellular) F2-F1"
			    "alligator"	"Alligator"
			}
			range	{ 0 1 }
			export	none
			unquoted
		    }
		    parm {
			name	"sc_pn_inv"
			label	"Complement"
			type	toggle
			default	{ "off" }
			disablewhen	"{ sc_pn_active == 0 }"
			range	{ 0 1 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "surface" }
		    }
		    parm {
			name	"sc_pn_fold"
			label	"Fold"
			type	toggle
			default	{ "off" }
			disablewhen	"{ sc_pn_active == 0 }"
			range	{ 0 1 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "surface" }
		    }
		    parm {
			name	"sc_pn_expon"
			label	"Exponent"
			type	float
			default	{ "1" }
			disablewhen	"{ sc_pn_active == 0 }"
			range	{ 0 2 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "surface" }
		    }
		    parm {
			name	"sc_pn_dolwarp"
			label	"Enable Lattice Warp"
			type	toggle
			nolabel
			joinnext
			default	{ "off" }
			disablewhen	"{ sc_pn_active == 0 }"
			range	{ 0 1 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "surface" }
		    }
		    parm {
			name	"sc_pn_disp"
			label	"Lattice Warp"
			type	float
			joinnext
			default	{ "0" }
			disablewhen	"{ sc_pn_active == 0 } { sc_pn_dolwarp == 0 }"
			range	{ -0.5 0.5 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "surface" }
		    }
		    parm {
			name	"sc_pn_dispfreq"
			label	"Freq"
			type	float
			default	{ "1" }
			disablewhen	"{ sc_pn_active == 0 } { sc_pn_dolwarp == 0 }"
			range	{ 0 1 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "surface" }
		    }
		    parm {
			name	"sc_pn_dogwarp"
			label	"Enable Gradient Warp"
			type	toggle
			nolabel
			joinnext
			default	{ "off" }
			disablewhen	"{ sc_pn_active == 0 }"
			range	{ 0 1 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "surface" }
		    }
		    parm {
			name	"sc_pn_gflow"
			label	"Gradient Warp"
			type	float
			default	{ "0" }
			disablewhen	"{ sc_pn_active == 0 } { sc_pn_dogwarp == 0 }"
			range	{ -0.5 0.5 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "surface" }
		    }
		    parm {
			name	"sc_pn_flowrot"
			label	"Flow Rotation"
			type	float
			default	{ "0" }
			disablewhen	"{ sc_pn_active == 0 } { sc_pn_basis != flow sc_pn_basis != pflow }"
			range	{ 0 1 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "surface" }
		    }
		    parm {
			name	"sc_spacer19"
			label	"sc_spacer18"
			type	label
			nolabel
			default	{ "" }
			range	{ 0 1 }
			export	none
		    }
		    parm {
			name	"sc_pn_fractal"
			label	"Fractal Type"
			type	string
			default	{ "none" }
			disablewhen	"{ sc_pn_active == 0 }"
			menu	{
			    "none"	"None"
			    "fBm"	"Standard (fBm)"
			    "mfT"	"Terrain"
			    "hmfT"	"Hybrid Terrain"
			}
			range	{ 0 1 }
			export	none
			unquoted
		    }
		    parm {
			name	"sc_pn_accuml"
			label	"Accumulate Lattice Warp"
			type	toggle
			default	{ "off" }
			disablewhen	"{ sc_pn_active == 0 } { sc_pn_fractal == none }"
			range	{ 0 1 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "surface" }
		    }
		    parm {
			name	"sc_pn_accumg"
			label	"Accumulate Gradient Warp"
			type	toggle
			default	{ "off" }
			disablewhen	"{ sc_pn_active == 0 } { sc_pn_fractal == none }"
			range	{ 0 1 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "surface" }
		    }
		    parm {
			name	"sc_pn_oct"
			label	"Max Octaves"
			type	float
			default	{ "8" }
			disablewhen	"{ sc_pn_active == 0 } { sc_pn_fractal == none }"
			range	{ 0 16 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "surface" }
		    }
		    parm {
			name	"sc_pn_lac"
			label	"Lacunarity"
			type	float
			default	{ "2.01234" }
			disablewhen	"{ sc_pn_active == 0 } { sc_pn_fractal == none }"
			range	{ 0 4 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "surface" }
		    }
		    parm {
			name	"sc_pn_rough"
			label	"Roughness"
			type	float
			default	{ "0.5" }
			disablewhen	"{ sc_pn_active == 0 } { sc_pn_fractal == none }"
			range	{ 0 1 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "surface" }
		    }
		}

		group {
		    name	"sc_folder18_1"
		    label	"Output"

		    parm {
			name	"sc_pn_docc"
			label	"Enable Output Correction"
			type	toggle
			default	{ "off" }
			disablewhen	"{ sc_pn_active == 0 }"
			range	{ 0 1 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "surface" }
		    }
		    parm {
			name	"sc_spacer20"
			label	"sc_spacer19"
			type	label
			nolabel
			default	{ "" }
			range	{ 0 1 }
			export	none
		    }
		    parm {
			name	"sc_pn_cc_dobias"
			label	"Do Bias"
			type	toggle
			nolabel
			joinnext
			default	{ "off" }
			disablewhen	"{ sc_pn_active == 0 } { sc_pn_docc == 0 }"
			range	{ 0 1 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "surface" }
		    }
		    parm {
			name	"sc_pn_cc_bias"
			label	"Bias"
			type	float
			size	3
			default	{ "0.5" "0.5" "0.5" }
			disablewhen	"{ sc_pn_active == 0 } { sc_pn_docc == 0 } { sc_pn_cc_dobias == 0 }"
			range	{ 0 10 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "surface" }
		    }
		    parm {
			name	"sc_pn_cc_dogain"
			label	"Do Gain"
			type	toggle
			nolabel
			joinnext
			default	{ "off" }
			disablewhen	"{ sc_pn_active == 0 } { sc_pn_docc == 0 }"
			range	{ 0 1 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "surface" }
		    }
		    parm {
			name	"sc_pn_cc_gain"
			label	"Gain"
			type	float
			size	3
			default	{ "0.5" "0.5" "0.5" }
			disablewhen	"{ sc_pn_active == 0 } { sc_pn_docc == 0 } { sc_pn_cc_dogain == 0 }"
			range	{ 0 10 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "surface" }
		    }
		    parm {
			name	"sc_spacer21"
			label	"sc_spacer20"
			type	label
			nolabel
			default	{ "" }
			range	{ 0 1 }
			export	none
		    }
		    parm {
			name	"sc_pn_cc_inv"
			label	"Complement"
			type	toggle
			default	{ "off" }
			disablewhen	"{ sc_pn_active == 0 } { sc_pn_docc == 0 }"
			range	{ 0 1 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "surface" }
		    }
		    parm {
			name	"sc_spacer22"
			label	"sc_spacer21"
			type	label
			nolabel
			default	{ "" }
			range	{ 0 1 }
			export	none
		    }
		    parm {
			name	"sc_pn_cc_dorng"
			label	"Output Range (Clamped)"
			type	toggle
			default	{ "off" }
			disablewhen	"{ sc_pn_active == 0 } { sc_pn_docc == 0 }"
			range	{ 0 1 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "surface" }
		    }
		    parm {
			name	"sc_pn_cc_rnglo"
			label	"New Minimum"
			type	float
			size	3
			default	{ "0" "0" "0" }
			disablewhen	"{ sc_pn_active == 0 } { sc_pn_docc == 0 } { sc_pn_cc_dorng == 0 }"
			range	{ 0 10 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "surface" }
		    }
		    parm {
			name	"sc_pn_cc_rnghi"
			label	"New Maximum"
			type	float
			size	3
			default	{ "1" "1" "1" }
			disablewhen	"{ sc_pn_active == 0 } { sc_pn_docc == 0 } { sc_pn_cc_dorng == 0 }"
			range	{ 0 10 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "surface" }
		    }
		    parm {
			name	"sc_spacer23"
			label	"sc_spacer22"
			type	label
			nolabel
			default	{ "" }
			range	{ 0 1 }
			export	none
		    }
		    parm {
			name	"sc_pn_cc_amp"
			label	"Final Amplitude"
			type	float
			size	3
			default	{ "1" "1" "1" }
			disablewhen	"{ sc_pn_active == 0 } { sc_pn_docc == 0 }"
			range	{ 0 10 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "surface" }
		    }
		}

		group {
		    name	"sc_folder18_2"
		    label	"Rest Position"

		    group {
			name	"sc_folder19"
			label	"Fields"

			parm {
			    name	"sc_spacer24"
			    label	"sc_spacer23"
			    type	label
			    nolabel
			    default	{ "" }
			    range	{ 0 1 }
			    export	none
			}
			parm {
			    name	"sc_dr_restinterp"
			    label	"Ratio Interpolation"
			    type	integer
			    default	{ "0" }
			    menu	{
				"0"	"Unmodified (Linear)"
				"1"	"Cubic"
				"2"	"Cosine"
			    }
			    range	{ 0 10 }
			    export	none
			    parmtag	{ "parmvop" "1" }
			    parmtag	{ "shaderparmcontexts" "surface" }
			}
			parm {
			    name	"sc_spacer25"
			    label	"sc_spacer24"
			    type	label
			    nolabel
			    default	{ "" }
			    range	{ 0 1 }
			    export	none
			}
			parm {
			    name	"sc_dr_rest_name"
			    label	"Rest Position 1"
			    type	string
			    joinnext
			    default	{ "rest" }
			    range	{ 0 1 }
			    export	none
			}
			parm {
			    name	"sc_dr_rest_intype"
			    label	"Type"
			    type	string
			    default	{ "vector" }
			    disablewhen	"{ sc_dr_rest_name == \"\" }"
			    menu	{
				"float"	"Float"
				"vector"	"Vector"
				"vector4"	"Vector4"
			    }
			    range	{ 0 1 }
			    export	none
			    unquoted
			    parmtag	{ "script_callback" "if not kwargs['node'].isInsideLockedHDA():kwargs['node'].parm('sc_dr_rest_method').set('assign')" }
			    parmtag	{ "script_callback_language" "python" }
			}
			parm {
			    name	"sc_dr_rest_method"
			    label	"Conversion to Vector"
			    type	string
			    joinnext
			    default	{ "assign" }
			    disablewhen	"{ sc_dr_rest_name == \"\" } { sc_dr_rest_intype == vector }"
			    menu	{
				[ "hou.vopNodeTypeCategory().nodeTypes()['typeconvertimpl'].hdaModule().methodmenu(hou.evalParm('sc_dr_rest_intype'),'vector')" ]
				language	python
			    }
			    range	{ 0 1 }
			    export	none
			}
			parm {
			    name	"sc_dr_rest_padval"
			    label	"Padding Constant"
			    type	float
			    nolabel
			    default	{ "0" }
			    disablewhen	"{ sc_dr_rest_name == \"\" } { dr_rest_promote == 0 } { sc_dr_rest_method != padc }"
			    range	{ 0 1 }
			    export	none
			}
			parm {
			    name	"sc_dr_rest_ratio_name"
			    label	"Rest1 Ratio"
			    type	string
			    joinnext
			    default	{ "rest_ratio" }
			    range	{ 0 1 }
			    export	none
			}
			parm {
			    name	"sc_dr_rest_ratio_intype"
			    label	"Type"
			    type	string
			    default	{ "float" }
			    disablewhen	"{ sc_dr_rest_ratio_name == \"\" }"
			    menu	{
				"float"	"Float"
				"vector"	"Vector"
				"vector4"	"Vector4"
			    }
			    range	{ 0 1 }
			    export	none
			    unquoted
			    parmtag	{ "script_callback" "if not kwargs['node'].isInsideLockedHDA():kwargs['node'].parm('sc_dr_rest_ratio_method').set('assign')" }
			    parmtag	{ "script_callback_language" "python" }
			}
			parm {
			    name	"sc_dr_rest_ratio_method"
			    label	"Conversion to Float"
			    type	string
			    default	{ "assign" }
			    disablewhen	"{ sc_dr_rest_ratio_name == \"\" } { sc_dr_rest_ratio_intype == float }"
			    menu	{
				[ "hou.vopNodeTypeCategory().nodeTypes()['typeconvertimpl'].hdaModule().methodmenu(hou.evalParm('sc_dr_rest_ratio_intype'),'float')" ]
				language	python
			    }
			    range	{ 0 1 }
			    export	none
			}
			parm {
			    name	"sc_dr_rest2_name"
			    label	"Rest Position 2"
			    type	string
			    joinnext
			    default	{ "rest2" }
			    range	{ 0 1 }
			    export	none
			}
			parm {
			    name	"sc_dr_rest2_intype"
			    label	"Type"
			    type	string
			    default	{ "vector" }
			    disablewhen	"{ sc_dr_rest2_name == \"\" }"
			    menu	{
				"float"	"Float"
				"vector"	"Vector"
				"vector4"	"Vector4"
			    }
			    range	{ 0 1 }
			    export	none
			    unquoted
			    parmtag	{ "script_callback" "if not kwargs['node'].isInsideLockedHDA():kwargs['node'].parm('sc_dr_rest2_method').set('assign')" }
			    parmtag	{ "script_callback_language" "python" }
			}
			parm {
			    name	"sc_dr_rest2_method"
			    label	"Conversion to Vector"
			    type	string
			    joinnext
			    default	{ "assign" }
			    disablewhen	"{ sc_dr_rest2_name == \"\" } { sc_dr_rest2_intype == vector }"
			    menu	{
				[ "hou.vopNodeTypeCategory().nodeTypes()['typeconvertimpl'].hdaModule().methodmenu(hou.evalParm('sc_dr_rest2_intype'),'vector')" ]
				language	python
			    }
			    range	{ 0 1 }
			    export	none
			}
			parm {
			    name	"sc_dr_rest2_padval"
			    label	"Padding Constant"
			    type	float
			    nolabel
			    default	{ "0" }
			    disablewhen	"{ sc_dr_rest2_name == \"\" } { dr_rest2_promote == 0 } { sc_dr_rest2_method != padc }"
			    range	{ 0 1 }
			    export	none
			}
			parm {
			    name	"sc_dr_rest2_ratio_name"
			    label	"Rest2 Ratio"
			    type	string
			    joinnext
			    default	{ "rest2_ratio" }
			    range	{ 0 1 }
			    export	none
			}
			parm {
			    name	"sc_dr_rest2_ratio_intype"
			    label	"Type"
			    type	string
			    default	{ "float" }
			    disablewhen	"{ sc_dr_rest2_ratio_name == \"\" }"
			    menu	{
				"float"	"Float"
				"vector"	"Vector"
				"vector4"	"Vector4"
			    }
			    range	{ 0 1 }
			    export	none
			    unquoted
			    parmtag	{ "script_callback" "if not kwargs['node'].isInsideLockedHDA():kwargs['node'].parm('sc_dr_rest2_ratio_method').set('assign')" }
			    parmtag	{ "script_callback_language" "python" }
			}
			parm {
			    name	"sc_dr_rest2_ratio_method"
			    label	"Conversion to Float"
			    type	string
			    default	{ "assign" }
			    disablewhen	"{ sc_dr_rest2_ratio_name == \"\" } { sc_dr_rest2_ratio_intype == float }"
			    menu	{
				[ "hou.vopNodeTypeCategory().nodeTypes()['typeconvertimpl'].hdaModule().methodmenu(hou.evalParm('sc_dr_rest2_ratio_intype'),'float')" ]
				language	python
			    }
			    range	{ 0 1 }
			    export	none
			}
		    }

		    group {
			name	"sc_folder19_1"
			label	"Fallback"
			tabbreak

			parm {
			    name	"sc_spacer26"
			    label	"sc_spacer25"
			    type	label
			    nolabel
			    default	{ "" }
			    range	{ 0 1 }
			    export	none
			}
			parm {
			    name	"sc_fallback_label"
			    label	"fallback_label"
			    type	label
			    nolabel
			    default	{ "Fallback Rest Position Upon Failure (VEX):" }
			    range	{ 0 1 }
			    export	none
			}
			parm {
			    name	"sc_spacer27"
			    label	"sc_spacer26"
			    type	label
			    nolabel
			    default	{ "" }
			    range	{ 0 1 }
			    export	none
			}
			parm {
			    name	"sc_dr_fail_shading"
			    label	"SHADING Contexts"
			    type	string
			    default	{ "ptransform(\"space:object\",P)" }
			    range	{ 0 1 }
			    export	none
			    unquoted
			}
			parm {
			    name	"sc_dr_fail_cop"
			    label	"COP|COP2 Contexts"
			    type	string
			    default	{ "set(X,Y,0)" }
			    range	{ 0 1 }
			    export	none
			    unquoted
			}
			parm {
			    name	"sc_dr_fail_sop"
			    label	"SOP|POP Contexts"
			    type	string
			    default	{ "P" }
			    range	{ 0 1 }
			    export	none
			    unquoted
			}
			parm {
			    name	"sc_dr_fail_chop"
			    label	"CHOP Context"
			    type	string
			    default	{ "set((float)I/SR,V,0)" }
			    range	{ 0 1 }
			    export	none
			    unquoted
			}
			parm {
			    name	"sc_dr_fail_cvex"
			    label	"CVEX Context"
			    type	string
			    default	{ "0" }
			    range	{ 0 1 }
			    export	none
			    unquoted
			}
			parm {
			    name	"sc_dr_fail_fail"
			    label	"Unknown Context"
			    type	string
			    default	{ "0" }
			    range	{ 0 1 }
			    export	none
			    unquoted
			}
		    }

		}

	    }

	}

    }

    group {
	name	"folder6_1"
	label	"Fire"

	group {
	    name	"folder0_8"
	    label	"Density"

	    parm {
		name	"ed_name"
		label	"Field Name"
		type	string
		joinnext
		default	{ "" }
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"ed_intype"
		label	"Type"
		type	string
		default	{ "float" }
		menu	{
		    "float"	"Float"
		    "vector"	"Vector"
		    "vector4"	"Vector4"
		}
		range	{ 0 1 }
		export	none
		unquoted
		parmtag	{ "script_callback" "__import__('pyro2').updateField(kwargs,'ed_intype','ed_promote','ed_method','ed_outtype','EmitDensity_flt')" }
		parmtag	{ "script_callback_language" "python" }
	    }
	    parm {
		name	"ed_promote"
		label	"Promote"
		type	toggle
		joinnext
		default	{ "0" }
		disablewhen	"{ ed_name == \"\" }"
		range	{ 0 1 }
		export	none
		parmtag	{ "script_callback" "__import__('pyro2').updateField(kwargs,'ed_intype','ed_promote','ed_method','ed_outtype','EmitDensity_flt')" }
		parmtag	{ "script_callback_language" "python" }
	    }
	    parm {
		name	"ed_outtype"
		label	"To Type"
		type	string
		joinnext
		default	{ "float" }
		disablewhen	"{ ed_name == \"\" } { ed_promote == 0 }"
		menu	{
		    "float"	"Float"
		    "vector"	"Vector"
		    "vector4"	"Vector4"
		}
		range	{ 0 1 }
		export	none
		unquoted
		parmtag	{ "script_callback" "__import__('pyro2').updateField(kwargs,'ed_intype','ed_promote','ed_method','ed_outtype','EmitDensity_flt')" }
		parmtag	{ "script_callback_language" "python" }
	    }
	    parm {
		name	"ed_method"
		label	"Method"
		type	string
		nolabel
		joinnext
		default	{ "assign" }
		disablewhen	"{ ed_name == \"\" } { ed_doconvert == 0 }"
		menu	{
		    [ "hou.vopNodeTypeCategory().nodeTypes()['typeconvertimpl'].hdaModule().methodmenu(hou.evalParm('ed_intype'),hou.evalParm('ed_outtype'))" ]
		    language	python
		}
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"ed_padval"
		label	"Padding Constant"
		type	float
		nolabel
		default	{ "0" }
		disablewhen	"{ ed_name == \"\" } { ed_promote == 0 } { ed_method != padc }"
		range	{ 0 1 }
		export	none
		parmtag	{ "parmvop" "1" }
		parmtag	{ "shaderparmcontexts" "surface" }
	    }
	    parm {
		name	"ed_dfltval"
		label	"Default Field Value"
		type	float
		size	4
		default	{ "0" "0" "0" "0" }
		disablewhen	"{ ed_name != \"\" }"
		range	{ 0 10 }
		export	none
		parmtag	{ "parmvop" "1" }
		parmtag	{ "shaderparmcontexts" "surface" }
	    }
	    parm {
		name	"ed_doconvert"
		label	"doconvert"
		type	integer
		invisible
		default	{ "0" }
		range	{ 0 10 }
		export	none
		parmtag	{ "pyro_expression" "evalParm('ed_promote') and evalParm('ed_intype') != evalParm('ed_outtype')" }
		parmtag	{ "pyro_expression_language" "python" }
	    }
	    parm {
		name	"ed_spacer"
		label	"spacer"
		type	label
		nolabel
		default	{ "" }
		range	{ 0 1 }
		export	none
	    }
	    group {
		name	"ed_folder8"
		label	"Field Shape"

		parm {
		    name	"ed_dofit"
		    label	"Fit to Range (Unclamped)"
		    type	toggle
		    joinnext
		    default	{ "0" }
		    disablewhen	"{ ed_name == \"\" }"
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"ed_spacer2"
		    label	"ed_spacer"
		    type	label
		    nolabel
		    default	{ "" }
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"ed_fit_srcmin"
		    label	"Source Range"
		    type	float
		    joinnext
		    default	{ "0" }
		    disablewhen	"{ ed_name == \"\" } { ed_dofit == 0 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "surface" }
		}
		parm {
		    name	"ed_fit_srcmax"
		    label	"Max"
		    type	float
		    nolabel
		    default	{ "1" }
		    disablewhen	"{ ed_name == \"\" } { ed_dofit == 0 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "surface" }
		}
		parm {
		    name	"ed_fit_tgtmin"
		    label	"Target Range"
		    type	float
		    joinnext
		    default	{ "0" }
		    disablewhen	"{ ed_name == \"\" } { ed_dofit == 0 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "surface" }
		}
		parm {
		    name	"ed_fit_tgtmax"
		    label	"Max"
		    type	float
		    nolabel
		    default	{ "1" }
		    disablewhen	"{ ed_name == \"\" } { ed_dofit == 0 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "surface" }
		}
		parm {
		    name	"ed_spacer3"
		    label	"ed_spacer2"
		    type	label
		    nolabel
		    default	{ "" }
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"ed_doramp"
		    label	"Ramp"
		    type	toggle
		    joinnext
		    default	{ "0" }
		    disablewhen	"{ ed_name == \"\" }"
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"ed_presets"
		    label	"Presets"
		    type	ordinal
		    nolabel
		    joinnext
		    default	{ "0" }
		    disablewhen	"{ ed_name == \"\" } { ed_doramp == 0 }"
		    menu	{
			[ "__import__('pyro2').rampPresetMenu(kwargs,'EmitDensity',True)" ]
			language	python
		    }
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "script_callback" "__import__('pyro2').rampPresetCB(kwargs,'EmitDensity',True)" }
		    parmtag	{ "script_callback_language" "python" }
		}
		parm {
		    name	"ed_spacename"
		    label	" Space"
		    type	string
		    nolabel
		    joinnext
		    default	{ "rgb" }
		    disablewhen	"{ ed_name == \"\" } { ed_doramp == 0 } { rampswitcher1 == 0 }"
		    menu	{
			"rgb"	"RGB"
			"hsv"	"HSV"
			"Lab"	"LAB"
			"hsl"	"HSL"
			"XYZ"	"XYZ"
		    }
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "surface" }
		}
		parm {
		    name	"ed_gammaname"
		    label	"Gamma Type"
		    type	string
		    nolabel
		    joinnext
		    default	{ "linear" }
		    disablewhen	"{ ed_name == \"\" } { ed_doramp == 0 }"
		    menu	{
			"linear"	"Linear"
			"srgb"	"sRGB"
			"custom"	"Custom"
		    }
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "surface" }
		}
		parm {
		    name	"ed_gammaval"
		    label	"Gamma Value"
		    type	float
		    nolabel
		    default	{ "2.2" }
		    disablewhen	"{ ed_name == \"\" } { ed_doramp == 0 } { ed_gammaname != custom }"
		    range	{ 0.0001 4 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "surface" }
		}
		groupradio {
		    name	"ed_rampswitcher8"
		    label	"Float"

		    parm {
			name	"EmitDensity_flt"
			label	"Lookup Ramp"
			type	ramp_flt
			default	{ "2" }
			disablewhen	"{ ed_name == \"\" } { ed_doramp == 0 }"
			range	{ 1! 10 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "rampbasis_var" "EmitDensity_flt_the_basis_strings" }
			parmtag	{ "rampbasisdefault" "linear" }
			parmtag	{ "rampkeys_var" "EmitDensity_flt_the_key_positions" }
			parmtag	{ "rampshowcontrolsdefault" "0" }
			parmtag	{ "rampvalues_var" "EmitDensity_flt_the_key_values" }
			parmtag	{ "shaderparmcontexts" "surface" }
		    }
		}

		groupradio {
		    name	"ed_rampswitcher8_1"
		    label	"Color"

		    parm {
			name	"EmitDensity_rgb"
			label	"Lookup Ramp"
			type	ramp_rgb
			default	{ "2" }
			disablewhen	"{ ed_name == \"\" } { ed_doramp == 0 }"
			range	{ 1! 10 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "rampbasis_var" "EmitDensity_rgb_the_basis_strings" }
			parmtag	{ "rampbasisdefault" "linear" }
			parmtag	{ "rampcolortype" "rgb" }
			parmtag	{ "rampkeys_var" "EmitDensity_rgb_the_key_positions" }
			parmtag	{ "rampshowcontrolsdefault" "0" }
			parmtag	{ "rampvalues_var" "EmitDensity_rgb_the_key_values" }
			parmtag	{ "shaderparmcontexts" "surface" }
		    }
		}

		parm {
		    name	"ed_ramp_rngmin"
		    label	"Ramp Interval"
		    type	float
		    joinnext
		    default	{ "0" }
		    disablewhen	"{ ed_name == \"\" } { ed_doramp == 0 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "surface" }
		}
		parm {
		    name	"ed_ramp_rngmax"
		    label	"Ramp: Range Max"
		    type	float
		    nolabel
		    default	{ "1" }
		    disablewhen	"{ ed_name == \"\" } { ed_doramp == 0 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "surface" }
		}
		parm {
		    name	"ed_lbt"
		    label	"Ramp Boundaries"
		    type	string
		    joinnext
		    default	{ "hold" }
		    disablewhen	"{ ed_name == \"\" } { ed_doramp == 0 }"
		    menu	{
			"hold"	"Hold"
			"cycle"	"Cycle"
			"accum"	"Cycle-Accumulate"
			"mirror"	"Mirror"
			"slope"	"Slope"
		    }
		    range	{ 0 1 }
		    export	none
		    unquoted
		}
		parm {
		    name	"ed_rbt"
		    label	"Right"
		    type	string
		    nolabel
		    default	{ "hold" }
		    disablewhen	"{ ed_name == \"\" } { ed_doramp == 0 }"
		    menu	{
			"hold"	"Hold"
			"cycle"	"Cycle"
			"accum"	"Cycle-Accumulate"
			"mirror"	"Mirror"
			"slope"	"Slope"
		    }
		    range	{ 0 1 }
		    export	none
		    unquoted
		}
		parm {
		    name	"ed_spacer4"
		    label	"ed_spacer3"
		    type	label
		    nolabel
		    default	{ "" }
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"ed_docontour"
		    label	"Enable Contour"
		    type	toggle
		    nolabel
		    joinnext
		    default	{ "0" }
		    disablewhen	"{ ed_name == \"\" }"
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"ed_contour_width"
		    label	"Contour: Width"
		    type	float
		    joinnext
		    default	{ "0.02" }
		    disablewhen	"{ ed_name == \"\" } { ed_docontour == 0 }"
		    range	{ 0 0.1 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "surface" }
		}
		parm {
		    name	"ed_contour_sharp"
		    label	"Sharpness"
		    type	float
		    default	{ "4" }
		    disablewhen	"{ ed_name == \"\" } { ed_docontour == 0 }"
		    range	{ 0 10 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "surface" }
		}
		parm {
		    name	"ed_dosclip"
		    label	"Enable Soft Clip"
		    type	toggle
		    nolabel
		    joinnext
		    default	{ "0" }
		    disablewhen	"{ ed_name == \"\" }"
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"ed_sclip_start"
		    label	"SoftClip: Start"
		    type	float
		    joinnext
		    default	{ "0.8" }
		    disablewhen	"{ ed_name == \"\" } { ed_dosclip == 0 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "surface" }
		}
		parm {
		    name	"ed_sclip_suppress"
		    label	"  Suppress"
		    type	float
		    default	{ "1" }
		    disablewhen	"{ ed_name == \"\" } { ed_dosclip == 0 }"
		    range	{ 0 10 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "surface" }
		}
		parm {
		    name	"ed_spacer5"
		    label	"ed_spacer4"
		    type	label
		    nolabel
		    default	{ "" }
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"ed_dolowlimit"
		    label	"Enable Lower Limit"
		    type	toggle
		    nolabel
		    joinnext
		    default	{ "0" }
		    disablewhen	"{ ed_name == \"\" }"
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"ed_lowlimit"
		    label	"Clamp to Min"
		    type	float
		    default	{ "0" }
		    disablewhen	"{ ed_name == \"\" } { ed_dolowlimit == 0 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "surface" }
		}
		parm {
		    name	"ed_dohighlimit"
		    label	"Enable Upper Limit"
		    type	toggle
		    nolabel
		    joinnext
		    default	{ "0" }
		    disablewhen	"{ ed_name == \"\" }"
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"ed_highlimit"
		    label	"Clamp to Max"
		    type	float
		    default	{ "1" }
		    disablewhen	"{ ed_name == \"\" } { ed_dohighlimit == 0 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "surface" }
		}
		parm {
		    name	"ed_spacer6"
		    label	"ed_spacer5"
		    type	label
		    nolabel
		    default	{ "" }
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"ed_amp"
		    label	"Final Amplitude"
		    type	float
		    default	{ "1" }
		    range	{ 0 2 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "surface" }
		}
	    }

	    group {
		name	"ed_folder8_1"
		label	"Field Noise"

		parm {
		    name	"ed_active"
		    label	"Active"
		    type	toggle
		    default	{ "0" }
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"ed_ntype"
		    label	"Noise Output Type"
		    type	ordinal
		    joinnext
		    default	{ "0" }
		    disablewhen	"{ ed_active == 0 }"
		    menu	{
			[ "d3 = (\"default\", \"Float\", \"v3\", \"Vector\")" ]
			[ "d4 = (\"f4\", \"Float\", \"v4\", \"Vector\")" ]
			[ "return (d3,d4)[kwargs[\"node\"].evalParm(\"ed_dim4\")]" ]
			language	python
		    }
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"ed_dim4"
		    label	"Space"
		    type	ordinal
		    joinnext
		    default	{ "0" }
		    disablewhen	"{ ed_active == 0 }"
		    menu	{
			"0"	"3D"
			"1"	"4D"
		    }
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"ed_time"
		    label	"Time"
		    type	float
		    default	{ "0" }
		    disablewhen	"{ ed_active == 0 } { ed_dim4 == 0 }"
		    range	{ 0 10 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "surface" }
		}
		parm {
		    name	"ed_fieldop"
		    label	"Field Operation"
		    type	string
		    default	{ "add" }
		    disablewhen	"{ ed_active == 0 }"
		    menu	{
			"add"	"Offset (Field + Noise)"
			"mult"	"Scale (Field * Noise)"
		    }
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"ed_spacer7"
		    label	"ed_spacer6"
		    type	label
		    nolabel
		    default	{ "" }
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"ed_freq"
		    label	"Frequency"
		    type	float
		    size	4
		    default	{ "1" "1" "1" "1" }
		    disablewhen	"{ ed_active == 0 }"
		    range	{ 0 10 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "surface" }
		}
		parm {
		    name	"ed_offset"
		    label	"Offset"
		    type	float
		    size	4
		    default	{ "0" "0" "0" "0" }
		    disablewhen	"{ ed_active == 0 }"
		    range	{ 0 10 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "surface" }
		}
		parm {
		    name	"ed_period"
		    label	"Period"
		    type	float
		    size	4
		    default	{ "1" "1" "1" "1" }
		    disablewhen	"{ ed_active == 0 } { ed_basis != pperlin ed_basis != pflow }"
		    range	{ 0 10 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "surface" }
		}
		parm {
		    name	"ed_spacer8"
		    label	"ed_spacer7"
		    type	label
		    nolabel
		    default	{ "" }
		    range	{ 0 1 }
		    export	none
		}
		group {
		    name	"ed_folder10"
		    label	"Construction"

		    parm {
			name	"ed_basis"
			label	"Noise Type"
			type	string
			default	{ "simplex" }
			disablewhen	"{ ed_active == 0 }"
			menu	{
			    "sine"	"Sinusoid"
			    "perlin"	"Perlin"
			    "pperlin"	"Periodic Perlin"
			    "simplex"	"Simplex (Improved Perlin)"
			    "sparse"	"Sparse Convolution"
			    "flow"	"Flow"
			    "pflow"	"Periodic Flow"
			    "worleyFA"	"Worley (cellular) F1"
			    "worleyFB"	"Worley (cellular) F2-F1"
			    "alligator"	"Alligator"
			}
			range	{ 0 1 }
			export	none
			unquoted
		    }
		    parm {
			name	"ed_inv"
			label	"Complement"
			type	toggle
			default	{ "off" }
			disablewhen	"{ ed_active == 0 }"
			range	{ 0 1 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "surface" }
		    }
		    parm {
			name	"ed_fold"
			label	"Fold"
			type	toggle
			default	{ "off" }
			disablewhen	"{ ed_active == 0 }"
			range	{ 0 1 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "surface" }
		    }
		    parm {
			name	"ed_expon"
			label	"Exponent"
			type	float
			default	{ "1" }
			disablewhen	"{ ed_active == 0 }"
			range	{ 0 2 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "surface" }
		    }
		    parm {
			name	"ed_dolwarp"
			label	"Enable Lattice Warp"
			type	toggle
			nolabel
			joinnext
			default	{ "off" }
			disablewhen	"{ ed_active == 0 }"
			range	{ 0 1 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "surface" }
		    }
		    parm {
			name	"ed_disp"
			label	"Lattice Warp"
			type	float
			joinnext
			default	{ "0" }
			disablewhen	"{ ed_active == 0 } { ed_dolwarp == 0 }"
			range	{ -0.5 0.5 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "surface" }
		    }
		    parm {
			name	"ed_dispfreq"
			label	"Freq"
			type	float
			default	{ "1" }
			disablewhen	"{ ed_active == 0 } { ed_dolwarp == 0 }"
			range	{ 0 1 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "surface" }
		    }
		    parm {
			name	"ed_dogwarp"
			label	"Enable Gradient Warp"
			type	toggle
			nolabel
			joinnext
			default	{ "off" }
			disablewhen	"{ ed_active == 0 }"
			range	{ 0 1 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "surface" }
		    }
		    parm {
			name	"ed_gflow"
			label	"Gradient Warp"
			type	float
			default	{ "0" }
			disablewhen	"{ ed_active == 0 } { ed_dogwarp == 0 }"
			range	{ -0.5 0.5 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "surface" }
		    }
		    parm {
			name	"ed_flowrot"
			label	"Flow Rotation"
			type	float
			default	{ "0" }
			disablewhen	"{ ed_active == 0 } { ed_basis != flow ed_basis != pflow }"
			range	{ 0 10 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "surface" }
		    }
		    parm {
			name	"ed_spacer9"
			label	"ed_spacer8"
			type	label
			nolabel
			default	{ "" }
			range	{ 0 1 }
			export	none
		    }
		    parm {
			name	"ed_fractal"
			label	"Fractal Type"
			type	string
			default	{ "none" }
			disablewhen	"{ ed_active == 0 }"
			menu	{
			    "none"	"None"
			    "fBm"	"Standard (fBm)"
			    "mfT"	"Terrain"
			    "hmfT"	"Hybrid Terrain"
			}
			range	{ 0 1 }
			export	none
			unquoted
		    }
		    parm {
			name	"ed_accuml"
			label	"Accumulate Lattice Warp"
			type	toggle
			default	{ "off" }
			disablewhen	"{ ed_active == 0 } { ed_fractal == none }"
			range	{ 0 1 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "surface" }
		    }
		    parm {
			name	"ed_accumg"
			label	"Accumulate Gradient Warp"
			type	toggle
			default	{ "off" }
			disablewhen	"{ ed_active == 0 } { ed_fractal == none }"
			range	{ 0 1 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "surface" }
		    }
		    parm {
			name	"ed_oct"
			label	"Max Octaves"
			type	float
			default	{ "8" }
			disablewhen	"{ ed_active == 0 } { ed_fractal == none }"
			range	{ 0 16 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "surface" }
		    }
		    parm {
			name	"ed_lac"
			label	"Lacunarity"
			type	float
			default	{ "2.01234" }
			disablewhen	"{ ed_active == 0 } { ed_fractal == none }"
			range	{ 0 4 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "surface" }
		    }
		    parm {
			name	"ed_rough"
			label	"Roughness"
			type	float
			default	{ "0.5" }
			disablewhen	"{ ed_active == 0 } { ed_fractal == none }"
			range	{ 0 1 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "surface" }
		    }
		}

		group {
		    name	"ed_folder10_1"
		    label	"Output"

		    parm {
			name	"ed_docc"
			label	"Enable Output Correction"
			type	toggle
			default	{ "on" }
			disablewhen	"{ ed_active == 0 }"
			range	{ 0 1 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "surface" }
		    }
		    parm {
			name	"ed_spacer10"
			label	"ed_spacer9"
			type	label
			nolabel
			default	{ "" }
			range	{ 0 1 }
			export	none
		    }
		    parm {
			name	"ed_cc_dobias"
			label	"Do Bias"
			type	toggle
			nolabel
			joinnext
			default	{ "off" }
			disablewhen	"{ ed_active == 0 } { ed_docc == 0 }"
			range	{ 0 1 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "surface" }
		    }
		    parm {
			name	"ed_cc_bias"
			label	"Bias"
			type	float
			size	3
			default	{ "0.5" "0.5" "0.5" }
			disablewhen	"{ ed_active == 0 } { ed_docc == 0 } { ed_cc_dobias == 0 }"
			range	{ 0 10 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "surface" }
		    }
		    parm {
			name	"ed_cc_dogain"
			label	"Do Gain"
			type	toggle
			nolabel
			joinnext
			default	{ "off" }
			disablewhen	"{ ed_active == 0 } { ed_docc == 0 }"
			range	{ 0 1 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "surface" }
		    }
		    parm {
			name	"ed_cc_gain"
			label	"Gain"
			type	float
			size	3
			default	{ "0.5" "0.5" "0.5" }
			disablewhen	"{ ed_active == 0 } { ed_docc == 0 } { ed_cc_dogain == 0 }"
			range	{ 0 10 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "surface" }
		    }
		    parm {
			name	"ed_spacer11"
			label	"ed_spacer10"
			type	label
			nolabel
			default	{ "" }
			range	{ 0 1 }
			export	none
		    }
		    parm {
			name	"ed_cc_inv"
			label	"Complement"
			type	toggle
			default	{ "off" }
			disablewhen	"{ ed_active == 0 } { ed_docc == 0 }"
			range	{ 0 1 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "surface" }
		    }
		    parm {
			name	"ed_spacer12"
			label	"ed_spacer11"
			type	label
			nolabel
			default	{ "" }
			range	{ 0 1 }
			export	none
		    }
		    parm {
			name	"ed_cc_dorng"
			label	"Output Range (Clamped)"
			type	toggle
			default	{ "on" }
			disablewhen	"{ ed_active == 0 } { ed_docc == 0 }"
			range	{ 0 1 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "surface" }
		    }
		    parm {
			name	"ed_cc_rnglo"
			label	"New Minimum"
			type	float
			size	3
			default	{ "-1" "-1" "-1" }
			disablewhen	"{ ed_active == 0 } { ed_docc == 0 } { ed_cc_dorng == 0 }"
			range	{ 0 10 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "surface" }
		    }
		    parm {
			name	"ed_cc_rnghi"
			label	"New Maximum"
			type	float
			size	3
			default	{ "1" "1" "1" }
			disablewhen	"{ ed_active == 0 } { ed_docc == 0 } { ed_cc_dorng == 0 }"
			range	{ 0 10 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "surface" }
		    }
		    parm {
			name	"ed_spacer13"
			label	"ed_spacer12"
			type	label
			nolabel
			default	{ "" }
			range	{ 0 1 }
			export	none
		    }
		    parm {
			name	"ed_cc_amp"
			label	"Final Amplitude"
			type	float
			size	3
			default	{ "1" "1" "1" }
			disablewhen	"{ ed_active == 0 } { ed_docc == 0 }"
			range	{ 0 10 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "surface" }
		    }
		}

		group {
		    name	"ed_folder10_2"
		    label	"Rest Position"

		    group {
			name	"ed_folder13"
			label	"Fields"

			parm {
			    name	"ed_spacer14"
			    label	"ed_spacer13"
			    type	label
			    nolabel
			    default	{ "" }
			    range	{ 0 1 }
			    export	none
			}
			parm {
			    name	"ed_restinterp"
			    label	"Ratio Interpolation"
			    type	integer
			    default	{ "0" }
			    menu	{
				"0"	"Unmodified (Linear)"
				"1"	"Cubic"
				"2"	"Cosine"
			    }
			    range	{ 0 10 }
			    export	none
			    parmtag	{ "parmvop" "1" }
			    parmtag	{ "shaderparmcontexts" "surface" }
			}
			parm {
			    name	"ed_spacer15"
			    label	"ed_spacer14"
			    type	label
			    nolabel
			    default	{ "" }
			    range	{ 0 1 }
			    export	none
			}
			parm {
			    name	"ed_rest_name"
			    label	"Rest Position 1"
			    type	string
			    joinnext
			    default	{ "rest" }
			    range	{ 0 1 }
			    export	none
			}
			parm {
			    name	"ed_rest_intype"
			    label	"Type"
			    type	string
			    default	{ "vector" }
			    disablewhen	"{ ed_rest_name == \"\" }"
			    menu	{
				"float"	"Float"
				"vector"	"Vector"
				"vector4"	"Vector4"
			    }
			    range	{ 0 1 }
			    export	none
			    unquoted
			    parmtag	{ "script_callback" "if not kwargs['node'].isInsideLockedHDA():kwargs['node'].parm('ed_rest_method').set('assign')" }
			    parmtag	{ "script_callback_language" "python" }
			}
			parm {
			    name	"ed_rest_method"
			    label	"Conversion to Vector"
			    type	string
			    joinnext
			    default	{ "assign" }
			    disablewhen	"{ ed_rest_name == \"\" } { ed_rest_intype == vector }"
			    menu	{
				[ "hou.vopNodeTypeCategory().nodeTypes()['typeconvertimpl'].hdaModule().methodmenu(hou.evalParm('ed_rest_intype'),'vector')" ]
				language	python
			    }
			    range	{ 0 1 }
			    export	none
			}
			parm {
			    name	"ed_rest_padval"
			    label	"Padding Constant"
			    type	float
			    nolabel
			    default	{ "0" }
			    disablewhen	"{ ed_rest_name == \"\" } { rest_promote == 0 } { ed_rest_method != padc }"
			    range	{ 0 1 }
			    export	none
			}
			parm {
			    name	"ed_rest_ratio_name"
			    label	"Rest1 Ratio"
			    type	string
			    joinnext
			    default	{ "rest_ratio" }
			    range	{ 0 1 }
			    export	none
			}
			parm {
			    name	"ed_rest_ratio_intype"
			    label	"Type"
			    type	string
			    default	{ "float" }
			    disablewhen	"{ ed_rest_ratio_name == \"\" }"
			    menu	{
				"float"	"Float"
				"vector"	"Vector"
				"vector4"	"Vector4"
			    }
			    range	{ 0 1 }
			    export	none
			    unquoted
			    parmtag	{ "script_callback" "if not kwargs['node'].isInsideLockedHDA():kwargs['node'].parm('ed_rest_ratio_method').set('assign')" }
			    parmtag	{ "script_callback_language" "python" }
			}
			parm {
			    name	"ed_rest_ratio_method"
			    label	"Conversion to Float"
			    type	string
			    default	{ "assign" }
			    disablewhen	"{ ed_rest_ratio_name == \"\" } { ed_rest_ratio_intype == float }"
			    menu	{
				[ "hou.vopNodeTypeCategory().nodeTypes()['typeconvertimpl'].hdaModule().methodmenu(hou.evalParm('ed_rest_ratio_intype'),'float')" ]
				language	python
			    }
			    range	{ 0 1 }
			    export	none
			}
			parm {
			    name	"ed_rest2_name"
			    label	"Rest Position 2"
			    type	string
			    joinnext
			    default	{ "rest2" }
			    range	{ 0 1 }
			    export	none
			}
			parm {
			    name	"ed_rest2_intype"
			    label	"Type"
			    type	string
			    default	{ "vector" }
			    disablewhen	"{ ed_rest2_name == \"\" }"
			    menu	{
				"float"	"Float"
				"vector"	"Vector"
				"vector4"	"Vector4"
			    }
			    range	{ 0 1 }
			    export	none
			    unquoted
			    parmtag	{ "script_callback" "if not kwargs['node'].isInsideLockedHDA():kwargs['node'].parm('ed_rest2_method').set('assign')" }
			    parmtag	{ "script_callback_language" "python" }
			}
			parm {
			    name	"ed_rest2_method"
			    label	"Conversion to Vector"
			    type	string
			    joinnext
			    default	{ "assign" }
			    disablewhen	"{ ed_rest2_name == \"\" } { ed_rest2_intype == vector }"
			    menu	{
				[ "hou.vopNodeTypeCategory().nodeTypes()['typeconvertimpl'].hdaModule().methodmenu(hou.evalParm('ed_rest2_intype'),'vector')" ]
				language	python
			    }
			    range	{ 0 1 }
			    export	none
			}
			parm {
			    name	"ed_rest2_padval"
			    label	"Padding Constant"
			    type	float
			    nolabel
			    default	{ "0" }
			    disablewhen	"{ ed_rest2_name == \"\" } { rest2_promote == 0 } { ed_rest2_method != padc }"
			    range	{ 0 1 }
			    export	none
			}
			parm {
			    name	"ed_rest2_ratio_name"
			    label	"Rest2 Ratio"
			    type	string
			    joinnext
			    default	{ "rest2_ratio" }
			    range	{ 0 1 }
			    export	none
			}
			parm {
			    name	"ed_rest2_ratio_intype"
			    label	"Type"
			    type	string
			    default	{ "float" }
			    disablewhen	"{ ed_rest2_ratio_name == \"\" }"
			    menu	{
				"float"	"Float"
				"vector"	"Vector"
				"vector4"	"Vector4"
			    }
			    range	{ 0 1 }
			    export	none
			    unquoted
			    parmtag	{ "script_callback" "if not kwargs['node'].isInsideLockedHDA():kwargs['node'].parm('ed_rest2_ratio_method').set('assign')" }
			    parmtag	{ "script_callback_language" "python" }
			}
			parm {
			    name	"ed_rest2_ratio_method"
			    label	"Conversion to Float"
			    type	string
			    default	{ "assign" }
			    disablewhen	"{ ed_rest2_ratio_name == \"\" } { ed_rest2_ratio_intype == float }"
			    menu	{
				[ "hou.vopNodeTypeCategory().nodeTypes()['typeconvertimpl'].hdaModule().methodmenu(hou.evalParm('ed_rest2_ratio_intype'),'float')" ]
				language	python
			    }
			    range	{ 0 1 }
			    export	none
			}
		    }

		    group {
			name	"ed_folder13_1"
			label	"Fallback"

			parm {
			    name	"ed_spacer16"
			    label	"ed_spacer15"
			    type	label
			    nolabel
			    default	{ "" }
			    range	{ 0 1 }
			    export	none
			}
			parm {
			    name	"ed_fallback_label"
			    label	"fallback_label"
			    type	label
			    nolabel
			    default	{ "Fallback Rest Position Upon Failure (VEX):" }
			    range	{ 0 1 }
			    export	none
			}
			parm {
			    name	"ed_spacer17"
			    label	"ed_spacer16"
			    type	label
			    nolabel
			    default	{ "" }
			    range	{ 0 1 }
			    export	none
			}
			parm {
			    name	"ed_fail_shading"
			    label	"SHADING Contexts"
			    type	string
			    default	{ "ptransform(\"space:object\",P)" }
			    range	{ 0 1 }
			    export	none
			    unquoted
			}
			parm {
			    name	"ed_fail_cop"
			    label	"COP|COP2 Contexts"
			    type	string
			    default	{ "set(X,Y,0)" }
			    range	{ 0 1 }
			    export	none
			    unquoted
			}
			parm {
			    name	"ed_fail_sop"
			    label	"SOP|POP Contexts"
			    type	string
			    default	{ "P" }
			    range	{ 0 1 }
			    export	none
			    unquoted
			}
			parm {
			    name	"ed_fail_chop"
			    label	"CHOP Context"
			    type	string
			    default	{ "set((float)I/SR,V,0)" }
			    range	{ 0 1 }
			    export	none
			    unquoted
			}
			parm {
			    name	"ed_fail_cvex"
			    label	"CVEX Context"
			    type	string
			    default	{ "0" }
			    range	{ 0 1 }
			    export	none
			    unquoted
			}
			parm {
			    name	"ed_fail_fail"
			    label	"Unknown Context"
			    type	string
			    default	{ "0" }
			    range	{ 0 1 }
			    export	none
			    unquoted
			}
		    }

		}

	    }

	}

	group {
	    name	"folder0_8_1"
	    label	"Color"

	    parm {
		name	"ec_fld_name"
		label	"Field Name"
		type	string
		joinnext
		default	{ "" }
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"ec_fld_intype"
		label	"Type"
		type	string
		default	{ "float" }
		menu	{
		    "float"	"Float"
		    "vector"	"Vector"
		    "vector4"	"Vector4"
		}
		range	{ 0 1 }
		export	none
		unquoted
		parmtag	{ "script_callback" "__import__('pyro2').updateField(kwargs,'ec_fld_intype','ec_fld_promote','ec_fld_method','ec_fld_outtype','EmitColor_Field_flt')" }
		parmtag	{ "script_callback_language" "python" }
	    }
	    parm {
		name	"ec_fld_promote"
		label	"Promote"
		type	toggle
		joinnext
		default	{ "0" }
		disablewhen	"{ ec_fld_name == \"\" }"
		range	{ 0 1 }
		export	none
		parmtag	{ "script_callback" "__import__('pyro2').updateField(kwargs,'ec_fld_intype','ec_fld_promote','ec_fld_method','ec_fld_outtype','EmitColor_Field_flt')" }
		parmtag	{ "script_callback_language" "python" }
	    }
	    parm {
		name	"ec_fld_outtype"
		label	"To Type"
		type	string
		joinnext
		default	{ "float" }
		disablewhen	"{ ec_fld_name == \"\" } { ec_fld_promote == 0 }"
		menu	{
		    "float"	"Float"
		    "vector"	"Vector"
		    "vector4"	"Vector4"
		}
		range	{ 0 1 }
		export	none
		unquoted
		parmtag	{ "script_callback" "__import__('pyro2').updateField(kwargs,'ec_fld_intype','ec_fld_promote','ec_fld_method','ec_fld_outtype','EmitColor_Field_flt')" }
		parmtag	{ "script_callback_language" "python" }
	    }
	    parm {
		name	"ec_fld_method"
		label	"Method"
		type	string
		nolabel
		joinnext
		default	{ "assign" }
		disablewhen	"{ ec_fld_name == \"\" } { ec_fld_doconvert == 0 }"
		menu	{
		    [ "hou.vopNodeTypeCategory().nodeTypes()['typeconvertimpl'].hdaModule().methodmenu(hou.evalParm('ec_fld_intype'),hou.evalParm('ec_fld_outtype'))" ]
		    language	python
		}
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"ec_fld_padval"
		label	"Padding Constant"
		type	float
		nolabel
		default	{ "0" }
		disablewhen	"{ ec_fld_name == \"\" } { ec_fld_promote == 0 } { ec_fld_method != padc }"
		range	{ 0 1 }
		export	none
		parmtag	{ "parmvop" "1" }
		parmtag	{ "shaderparmcontexts" "surface" }
	    }
	    parm {
		name	"ec_fld_dfltval"
		label	"Default Field Value"
		type	float
		size	4
		default	{ "0" "0" "0" "0" }
		disablewhen	"{ ec_fld_name != \"\" }"
		range	{ 0 10 }
		export	none
		parmtag	{ "parmvop" "1" }
		parmtag	{ "shaderparmcontexts" "surface" }
	    }
	    parm {
		name	"ec_fld_doconvert"
		label	"doconvert"
		type	integer
		invisible
		default	{ "0" }
		range	{ 0 10 }
		export	none
		parmtag	{ "pyro_expression" "evalParm('ec_fld_promote') and evalParm('ec_fld_intype') != evalParm('ec_fld_outtype')" }
		parmtag	{ "pyro_expression_language" "python" }
	    }
	    parm {
		name	"ec_spacer"
		label	"spacer"
		type	label
		nolabel
		default	{ "" }
		range	{ 0 1 }
		export	none
	    }
	    group {
		name	"ec_folder12"
		label	"Color"

		parm {
		    name	"ec_cm_usecd"
		    label	"Use Point Color (Tint With Cd)"
		    type	toggle
		    default	{ "on" }
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "surface" }
		}
		parm {
		    name	"ec_cm_cmodel"
		    label	"Color Model"
		    type	integer
		    invisible
		    default	{ "__import__('pyro2').uiGetRadioValue(node('.'),'ec_cm_constcol')" }
		    menu	{
			"0"	"Constant Color"
			"1"	"Ramp Lookup"
			"2"	"Blackbody"
		    }
		    range	{ 0 10 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "surface" }
		}
		groupradio {
		    name	"ec_cmodelswitcher9"
		    label	"Constant"

		    parm {
			name	"ec_spacer2"
			label	"ec_spacer"
			type	label
			nolabel
			default	{ "" }
			range	{ 0 1 }
			export	none
		    }
		    parm {
			name	"ec_cm_constcol"
			label	"Constant Color"
			type	color
			size	3
			default	{ "1" "1" "1" }
			disablewhen	"{ ec_cm_cmodel != 0 }"
			range	{ 0 1 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "surface" }
		    }
		    parm {
			name	"ec_spacer3"
			label	"ec_spacer2"
			type	label
			nolabel
			default	{ "" }
			range	{ 0 1 }
			export	none
		    }
		}

		groupradio {
		    name	"ec_cmodelswitcher9_1"
		    label	"Artistic"

		    parm {
			name	"ec_spacer4"
			label	"ec_spacer3"
			type	label
			nolabel
			default	{ "" }
			range	{ 0 1 }
			export	none
		    }
		    parm {
			name	"ec_cm_presets"
			label	"Presets"
			type	ordinal
			nolabel
			joinnext
			default	{ "0" }
			menu	{
			    [ "__import__('pyro2').rampPresetMenu(kwargs,'EmitColor_Color',False)" ]
			    language	python
			}
			range	{ 0 1 }
			export	none
			parmtag	{ "script_callback" "__import__('pyro2').rampPresetCB(kwargs,'EmitColor_Color',False)" }
			parmtag	{ "script_callback_language" "python" }
		    }
		    parm {
			name	"ec_cm_spacename"
			label	" Space"
			type	string
			nolabel
			joinnext
			default	{ "rgb" }
			menu	{
			    "rgb"	"RGB"
			    "hsv"	"HSV"
			    "lab"	"LAB"
			    "hsl"	"HSL"
			    "xyz"	"XYZ"
			}
			range	{ 0 1 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "surface" }
		    }
		    parm {
			name	"ec_cm_gammaname"
			label	"Gamma Type"
			type	string
			nolabel
			joinnext
			default	{ "linear" }
			menu	{
			    "linear"	"Linear"
			    "srgb"	"sRGB"
			    "custom"	"Custom"
			}
			range	{ 0 1 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "surface" }
		    }
		    parm {
			name	"ec_cm_gammaval"
			label	"Gamma Value"
			type	float
			nolabel
			default	{ "2.2" }
			disablewhen	"{ ec_cm_gammaname != custom }"
			range	{ 0.0001 4 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "surface" }
		    }
		    parm {
			name	"EmitColor_Color"
			label	"Lookup Ramp"
			type	ramp_rgb
			default	{ "2" }
			range	{ 1! 10 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "rampbasis_var" "EmitColor_Color_the_basis_strings" }
			parmtag	{ "rampbasisdefault" "linear" }
			parmtag	{ "rampcolortype" "rgb" }
			parmtag	{ "rampkeys_var" "EmitColor_Color_the_key_positions" }
			parmtag	{ "rampshowcontrolsdefault" "0" }
			parmtag	{ "rampvalues_var" "EmitColor_Color_the_key_values" }
			parmtag	{ "shaderparmcontexts" "surface" }
		    }
		    parm {
			name	"ec_cm_rangemin"
			label	"Ramp Interval"
			type	float
			joinnext
			default	{ "0" }
			range	{ 0 1 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "surface" }
		    }
		    parm {
			name	"ec_cm_rangemax"
			label	"Ramp: Range Max"
			type	float
			nolabel
			default	{ "1" }
			range	{ 0 1 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "surface" }
		    }
		    parm {
			name	"ec_cm_lbt"
			label	"Ramp Boundaries"
			type	string
			joinnext
			default	{ "hold" }
			menu	{
			    "hold"	"Hold"
			    "cycle"	"Cycle"
			    "accum"	"Cycle-Accumulate"
			    "mirror"	"Mirror"
			    "slope"	"Slope"
			}
			range	{ 0 1 }
			export	none
			unquoted
		    }
		    parm {
			name	"ec_cm_rbt"
			label	"Right"
			type	string
			nolabel
			default	{ "hold" }
			menu	{
			    "hold"	"Hold"
			    "cycle"	"Cycle"
			    "accum"	"Cycle-Accumulate"
			    "mirror"	"Mirror"
			    "slope"	"Slope"
			}
			range	{ 0 1 }
			export	none
			unquoted
		    }
		    parm {
			name	"ec_spacer5"
			label	"ec_spacer4"
			type	label
			nolabel
			default	{ "" }
			range	{ 0 1 }
			export	none
		    }
		}

		groupradio {
		    name	"ec_cmodelswitcher9_2"
		    label	"Physical"

		    group {
			name	"ec_folder15"
			label	"Definition"

			parm {
			    name	"ec_spacer6"
			    label	"ec_spacer5"
			    type	label
			    nolabel
			    default	{ "" }
			    range	{ 0 1 }
			    export	none
			}
			parm {
			    name	"ec_cm_temp"
			    label	"Temperature (K)"
			    type	float
			    default	{ "1000" }
			    range	{ 350 15000 }
			    export	none
			    parmtag	{ "parmvop" "1" }
			    parmtag	{ "shaderparmcontexts" "surface" }
			}
			parm {
			    name	"ec_spacer7"
			    label	"ec_spacer6"
			    type	label
			    nolabel
			    default	{ "" }
			    range	{ 0 1 }
			    export	none
			}
			parm {
			    name	"ec_cm_dotm"
			    label	"Tone Mapping:"
			    type	toggle
			    joinnext
			    default	{ "on" }
			    range	{ 0 1 }
			    export	none
			    parmtag	{ "parmvop" "1" }
			    parmtag	{ "shaderparmcontexts" "surface" }
			}
			parm {
			    name	"ec_spacer8"
			    label	"ec_spacer7"
			    type	label
			    nolabel
			    default	{ "" }
			    range	{ 0 1 }
			    export	none
			}
			parm {
			    name	"ec_cm_tm_adapt"
			    label	"Adaptation"
			    type	float
			    default	{ "0.3" }
			    disablewhen	"{ dotm == 0 }"
			    range	{ 0 1 }
			    export	none
			    parmtag	{ "parmvop" "1" }
			    parmtag	{ "shaderparmcontexts" "surface" }
			}
			parm {
			    name	"ec_cm_tm_burn"
			    label	"Burn"
			    type	float
			    default	{ "1.5" }
			    disablewhen	"{ dotm == 0 }"
			    range	{ -2 2 }
			    export	none
			    parmtag	{ "parmvop" "1" }
			    parmtag	{ "shaderparmcontexts" "surface" }
			}
			parm {
			    name	"ec_spacer9"
			    label	"ec_spacer8"
			    type	label
			    nolabel
			    default	{ "" }
			    range	{ 0 1 }
			    export	none
			}
		    }

		    group {
			name	"ec_folder15_1"
			label	"Export To Ramp(s)"

			parm {
			    name	"ec_cm_export"
			    label	"Export"
			    type	button
			    joinnext
			    default	{ "0" }
			    range	{ 0 1 }
			    export	none
			    parmtag	{ "script_callback" "__import__('pyro2').blackbodyRampsCB(kwargs,\"ec_cm_xpcol\",\"ec_cm_xpchr\",\"ec_cm_xpval\",\"ec_cm_xthresh\",\"ec_cm_xinterp\",\"ec_cm_xtemp1\",\"ec_cm_xtemp2\",\"ec_cm_dotm\",\"ec_cm_tm_adapt\",\"ec_cm_tm_burn\")" }
			    parmtag	{ "script_callback_language" "python" }
			}
			parm {
			    name	"ec_spacer10"
			    label	"ec_spacer9"
			    type	label
			    nolabel
			    default	{ "" }
			    range	{ 0 1 }
			    export	none
			}
			parm {
			    name	"ec_cm_xtemp1"
			    label	"Temperature Range"
			    type	float
			    joinnext
			    default	{ "0" }
			    range	{ 0! 1000 }
			    export	none
			}
			parm {
			    name	"ec_cm_xtemp2"
			    label	"Temperature End"
			    type	float
			    nolabel
			    default	{ "5000" }
			    range	{ 1000! 10000 }
			    export	none
			}
			parm {
			    name	"ec_cm_xthresh"
			    label	"Fitting Error"
			    type	float
			    default	{ "0.005" }
			    range	{ 1e-09! 0.1 }
			    export	none
			}
			parm {
			    name	"ec_cm_xinterp"
			    label	"Interpolation"
			    type	ordinal
			    default	{ "1" }
			    menu	{
				"constant"	"Constant"
				"linear"	"Linear"
				"catmull-rom"	"Catmull-Rom"
				"monotonecubic"	"Monotone Cubic"
			    }
			    range	{ 0 1 }
			    export	none
			}
			parm {
			    name	"ec_spacer11"
			    label	"ec_spacer10"
			    type	label
			    nolabel
			    default	{ "" }
			    range	{ 0 1 }
			    export	none
			}
			parm {
			    name	"ec_cm_xpcol"
			    label	"Final Color Ramp"
			    type	string
			    default	{ "EmitColor_Color" }
			    range	{ 0 1 }
			    export	none
			}
			parm {
			    name	"ec_cm_xpchr"
			    label	"Chromaticity Ramp"
			    type	string
			    default	{ "" }
			    range	{ 0 1 }
			    export	none
			}
			parm {
			    name	"ec_cm_xpval"
			    label	"Intensity Ramp"
			    type	string
			    default	{ "" }
			    range	{ 0 1 }
			    export	none
			}
		    }

		}

		parm {
		    name	"ec_cm_cc_active"
		    label	"Color Correct"
		    type	toggle
		    default	{ "0" }
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "script_callback_language" "python" }
		}
		parm {
		    name	"ec_cm_cc_gamut"
		    label	"Gamut Mapping"
		    type	integer
		    default	{ "3" }
		    disablewhen	"{ ec_cm_cc_active == 0 }"
		    menu	{
			"0"	"None"
			"1"	"Clamp"
			"2"	"Absolute Colorimetry"
			"3"	"Relative Colorimetry"
		    }
		    range	{ 0 10 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "surface" }
		}
		parm {
		    name	"ec_cm_cc_dohrot"
		    label	"Do HRot"
		    type	toggle
		    nolabel
		    joinnext
		    default	{ "off" }
		    disablewhen	"{ ec_cm_cc_active == 0 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "surface" }
		}
		parm {
		    name	"ec_cm_cc_hrot"
		    label	"Hue Rotation"
		    type	float
		    default	{ "0" }
		    disablewhen	"{ ec_cm_cc_dohrot == 0 } { ec_cm_cc_active == 0 }"
		    range	{ -1 1 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "surface" }
		}
		parm {
		    name	"ec_cm_cc_dobias"
		    label	"Do Bias"
		    type	toggle
		    nolabel
		    joinnext
		    default	{ "off" }
		    disablewhen	"{ ec_cm_cc_active == 0 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "surface" }
		}
		parm {
		    name	"ec_cm_cc_bias"
		    label	"Bias"
		    type	float
		    size	3
		    default	{ "0.5" "0.5" "0.5" }
		    disablewhen	"{ ec_cm_cc_dobias == 0 } { ec_cm_cc_active == 0 }"
		    range	{ 0 10 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "surface" }
		}
		parm {
		    name	"ec_cm_cc_dogain"
		    label	"Do Gain"
		    type	toggle
		    nolabel
		    joinnext
		    default	{ "off" }
		    disablewhen	"{ ec_cm_cc_active == 0 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "surface" }
		}
		parm {
		    name	"ec_cm_cc_gain"
		    label	"Gain"
		    type	float
		    size	3
		    default	{ "0.5" "0.5" "0.5" }
		    disablewhen	"{ ec_cm_cc_dogain == 0 } { ec_cm_cc_active == 0 }"
		    range	{ 0 10 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "surface" }
		}
		parm {
		    name	"ec_cm_cc_dogamma"
		    label	"Do Gamma"
		    type	toggle
		    nolabel
		    joinnext
		    default	{ "off" }
		    disablewhen	"{ ec_cm_cc_active == 0 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "surface" }
		}
		parm {
		    name	"ec_cm_cc_gamma"
		    label	"Gamma"
		    type	float
		    size	3
		    default	{ "1" "1" "1" }
		    disablewhen	"{ ec_cm_cc_dogamma == 0 } { ec_cm_cc_active == 0 }"
		    range	{ 0 10 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "surface" }
		}
		parm {
		    name	"ec_cm_cc_docontrast"
		    label	"Do Contrast"
		    type	toggle
		    nolabel
		    joinnext
		    default	{ "off" }
		    disablewhen	"{ ec_cm_cc_active == 0 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "surface" }
		}
		parm {
		    name	"ec_cm_cc_contrast"
		    label	"Contrast"
		    type	float
		    size	3
		    default	{ "1" "1" "1" }
		    disablewhen	"{ ec_cm_cc_docontrast == 0 } { ec_cm_cc_active == 0 }"
		    range	{ 0 10 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "surface" }
		}
		parm {
		    name	"ec_cm_cc_dosat"
		    label	"Do Saturation"
		    type	toggle
		    nolabel
		    joinnext
		    default	{ "off" }
		    disablewhen	"{ ec_cm_cc_active == 0 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "surface" }
		}
		parm {
		    name	"ec_cm_cc_sat"
		    label	"Saturation"
		    type	float
		    default	{ "1" }
		    disablewhen	"{ ec_cm_cc_dosat == 0 } { ec_cm_cc_active == 0 }"
		    range	{ -2 2 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "surface" }
		}
		parm {
		    name	"ec_cm_cc_dovalue"
		    label	"Do Brightness"
		    type	toggle
		    nolabel
		    joinnext
		    default	{ "off" }
		    disablewhen	"{ ec_cm_cc_active == 0 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "surface" }
		}
		parm {
		    name	"ec_cm_cc_value"
		    label	"Brightness"
		    type	float
		    default	{ "1" }
		    disablewhen	"{ ec_cm_cc_dovalue == 0 } { ec_cm_cc_active == 0 }"
		    range	{ 0 2 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "surface" }
		}
		parm {
		    name	"ec_cm_cc_dotint"
		    label	"Do Tint"
		    type	toggle
		    nolabel
		    joinnext
		    default	{ "off" }
		    disablewhen	"{ ec_cm_cc_active == 0 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "surface" }
		}
		parm {
		    name	"ec_cm_cc_tint"
		    label	"Tint"
		    type	color
		    size	3
		    default	{ "1" "1" "1" }
		    disablewhen	"{ ec_cm_cc_dotint == 0 } { ec_cm_cc_active == 0 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "surface" }
		}
	    }

	    group {
		name	"ec_folder12_1"
		label	"Field Shape"

		parm {
		    name	"ec_fld_dofit"
		    label	"Fit to Range (Unclamped)"
		    type	toggle
		    joinnext
		    default	{ "0" }
		    disablewhen	"{ ec_fld_name == \"\" }"
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"ec_spacer12"
		    label	"ec_spacer11"
		    type	label
		    nolabel
		    default	{ "" }
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"ec_fld_fit_srcmin"
		    label	"Source Range"
		    type	float
		    joinnext
		    default	{ "0" }
		    disablewhen	"{ ec_fld_name == \"\" } { ec_fld_dofit == 0 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "surface" }
		}
		parm {
		    name	"ec_fld_fit_srcmax"
		    label	"Max"
		    type	float
		    nolabel
		    default	{ "1" }
		    disablewhen	"{ ec_fld_name == \"\" } { ec_fld_dofit == 0 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "surface" }
		}
		parm {
		    name	"ec_fld_fit_tgtmin"
		    label	"Target Range"
		    type	float
		    joinnext
		    default	{ "0" }
		    disablewhen	"{ ec_fld_name == \"\" } { ec_fld_dofit == 0 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "surface" }
		}
		parm {
		    name	"ec_fld_fit_tgtmax"
		    label	"Max"
		    type	float
		    nolabel
		    default	{ "1" }
		    disablewhen	"{ ec_fld_name == \"\" } { ec_fld_dofit == 0 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "surface" }
		}
		parm {
		    name	"ec_spacer13"
		    label	"ec_spacer12"
		    type	label
		    nolabel
		    default	{ "" }
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"ec_fld_doramp"
		    label	"Ramp"
		    type	toggle
		    joinnext
		    default	{ "0" }
		    disablewhen	"{ ec_fld_name == \"\" }"
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"ec_fld_presets"
		    label	"Presets"
		    type	ordinal
		    nolabel
		    joinnext
		    default	{ "0" }
		    disablewhen	"{ ec_fld_name == \"\" } { ec_fld_doramp == 0 }"
		    menu	{
			[ "__import__('pyro2').rampPresetMenu(kwargs,'EmitColor_Field',True)" ]
			language	python
		    }
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "script_callback" "__import__('pyro2').rampPresetCB(kwargs,'EmitColor_Field',True)" }
		    parmtag	{ "script_callback_language" "python" }
		}
		parm {
		    name	"ec_fld_spacename"
		    label	" Space"
		    type	string
		    nolabel
		    joinnext
		    default	{ "rgb" }
		    disablewhen	"{ ec_fld_name == \"\" } { ec_fld_doramp == 0 } { fld_rampswitcher1 == 0 }"
		    menu	{
			"rgb"	"RGB"
			"hsv"	"HSV"
			"lab"	"LAB"
			"hsl"	"HSL"
			"xyz"	"XYZ"
		    }
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "surface" }
		}
		parm {
		    name	"ec_fld_gammaname"
		    label	"Gamma Type"
		    type	string
		    nolabel
		    joinnext
		    default	{ "linear" }
		    disablewhen	"{ ec_fld_name == \"\" } { ec_fld_doramp == 0 }"
		    menu	{
			"linear"	"Linear"
			"srgb"	"sRGB"
			"custom"	"Custom"
		    }
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "surface" }
		}
		parm {
		    name	"ec_fld_gammaval"
		    label	"Gamma Value"
		    type	float
		    nolabel
		    default	{ "2.2" }
		    disablewhen	"{ ec_fld_name == \"\" } { ec_fld_doramp == 0 } { ec_fld_gammaname != custom }"
		    range	{ 0.0001 4 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "surface" }
		}
		groupradio {
		    name	"ec_fld_rampswitcher8"
		    label	"Float"

		    parm {
			name	"EmitColor_Field_flt"
			label	"Lookup Ramp"
			type	ramp_flt
			default	{ "2" }
			disablewhen	"{ ec_fld_name == \"\" } { ec_fld_doramp == 0 }"
			range	{ 1! 10 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "rampbasis_var" "EmitColor_Field_flt_the_basis_strings" }
			parmtag	{ "rampbasisdefault" "linear" }
			parmtag	{ "rampkeys_var" "EmitColor_Field_flt_the_key_positions" }
			parmtag	{ "rampshowcontrolsdefault" "0" }
			parmtag	{ "rampvalues_var" "EmitColor_Field_flt_the_key_values" }
			parmtag	{ "shaderparmcontexts" "surface" }
		    }
		}

		groupradio {
		    name	"ec_fld_rampswitcher8_1"
		    label	"Color"

		    parm {
			name	"EmitColor_Field_rgb"
			label	"Lookup Ramp"
			type	ramp_rgb
			default	{ "2" }
			disablewhen	"{ ec_fld_name == \"\" } { ec_fld_doramp == 0 }"
			range	{ 1! 10 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "rampbasis_var" "EmitColor_Field_rgb_the_basis_strings" }
			parmtag	{ "rampbasisdefault" "linear" }
			parmtag	{ "rampcolortype" "rgb" }
			parmtag	{ "rampkeys_var" "EmitColor_Field_rgb_the_key_positions" }
			parmtag	{ "rampshowcontrolsdefault" "0" }
			parmtag	{ "rampvalues_var" "EmitColor_Field_rgb_the_key_values" }
			parmtag	{ "shaderparmcontexts" "surface" }
		    }
		}

		parm {
		    name	"ec_fld_ramp_rngmin"
		    label	"Ramp Interval"
		    type	float
		    joinnext
		    default	{ "0" }
		    disablewhen	"{ ec_fld_name == \"\" } { ec_fld_doramp == 0 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "surface" }
		}
		parm {
		    name	"ec_fld_ramp_rngmax"
		    label	"Ramp: Range Max"
		    type	float
		    nolabel
		    default	{ "1" }
		    disablewhen	"{ ec_fld_name == \"\" } { ec_fld_doramp == 0 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "surface" }
		}
		parm {
		    name	"ec_fld_lbt"
		    label	"Ramp Boundaries"
		    type	string
		    joinnext
		    default	{ "hold" }
		    disablewhen	"{ ec_fld_name == \"\" } { ec_fld_doramp == 0 }"
		    menu	{
			"hold"	"Hold"
			"cycle"	"Cycle"
			"accum"	"Cycle-Accumulate"
			"mirror"	"Mirror"
			"slope"	"Slope"
		    }
		    range	{ 0 1 }
		    export	none
		    unquoted
		}
		parm {
		    name	"ec_fld_rbt"
		    label	"Right"
		    type	string
		    nolabel
		    default	{ "hold" }
		    disablewhen	"{ ec_fld_name == \"\" } { ec_fld_doramp == 0 }"
		    menu	{
			"hold"	"Hold"
			"cycle"	"Cycle"
			"accum"	"Cycle-Accumulate"
			"mirror"	"Mirror"
			"slope"	"Slope"
		    }
		    range	{ 0 1 }
		    export	none
		    unquoted
		}
		parm {
		    name	"ec_spacer14"
		    label	"ec_spacer13"
		    type	label
		    nolabel
		    default	{ "" }
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"ec_fld_docontour"
		    label	"Enable Contour"
		    type	toggle
		    nolabel
		    joinnext
		    default	{ "0" }
		    disablewhen	"{ ec_fld_name == \"\" }"
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"ec_fld_contour_width"
		    label	"Contour: Width"
		    type	float
		    joinnext
		    default	{ "0.02" }
		    disablewhen	"{ ec_fld_name == \"\" } { ec_fld_docontour == 0 }"
		    range	{ 0 0.1 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "surface" }
		}
		parm {
		    name	"ec_fld_contour_sharp"
		    label	"Sharpness"
		    type	float
		    default	{ "4" }
		    disablewhen	"{ ec_fld_name == \"\" } { ec_fld_docontour == 0 }"
		    range	{ 0 10 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "surface" }
		}
		parm {
		    name	"ec_fld_dosclip"
		    label	"Enable Soft Clip"
		    type	toggle
		    nolabel
		    joinnext
		    default	{ "0" }
		    disablewhen	"{ ec_fld_name == \"\" }"
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"ec_fld_sclip_start"
		    label	"SoftClip: Start"
		    type	float
		    joinnext
		    default	{ "0.8" }
		    disablewhen	"{ ec_fld_name == \"\" } { ec_fld_dosclip == 0 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "surface" }
		}
		parm {
		    name	"ec_fld_sclip_suppress"
		    label	"  Suppress"
		    type	float
		    default	{ "1" }
		    disablewhen	"{ ec_fld_name == \"\" } { ec_fld_dosclip == 0 }"
		    range	{ 0 10 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "surface" }
		}
		parm {
		    name	"ec_spacer15"
		    label	"ec_spacer14"
		    type	label
		    nolabel
		    default	{ "" }
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"ec_fld_dolowlimit"
		    label	"Enable Lower Limit"
		    type	toggle
		    nolabel
		    joinnext
		    default	{ "0" }
		    disablewhen	"{ ec_fld_name == \"\" }"
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"ec_fld_lowlimit"
		    label	"Clamp to Min"
		    type	float
		    default	{ "0" }
		    disablewhen	"{ ec_fld_name == \"\" } { ec_fld_dolowlimit == 0 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "surface" }
		}
		parm {
		    name	"ec_fld_dohighlimit"
		    label	"Enable Upper Limit"
		    type	toggle
		    nolabel
		    joinnext
		    default	{ "0" }
		    disablewhen	"{ ec_fld_name == \"\" }"
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"ec_fld_highlimit"
		    label	"Clamp to Max"
		    type	float
		    default	{ "1" }
		    disablewhen	"{ ec_fld_name == \"\" } { ec_fld_dohighlimit == 0 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "surface" }
		}
		parm {
		    name	"ec_spacer16"
		    label	"ec_spacer15"
		    type	label
		    nolabel
		    default	{ "" }
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"ec_fld_amp"
		    label	"Final Amplitude"
		    type	float
		    default	{ "1" }
		    range	{ 0 2 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "surface" }
		}
	    }

	    group {
		name	"ec_folder12_2"
		label	"Field Noise"

		parm {
		    name	"ec_pn_active"
		    label	"Active"
		    type	toggle
		    default	{ "0" }
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"ec_pn_ntype"
		    label	"Noise Output Type"
		    type	ordinal
		    joinnext
		    default	{ "0" }
		    disablewhen	"{ ec_pn_active == 0 }"
		    menu	{
			[ "d3 = (\"default\", \"Float\", \"v3\", \"Vector\")" ]
			[ "d4 = (\"f4\", \"Float\", \"v4\", \"Vector\")" ]
			[ "return (d3,d4)[kwargs[\"node\"].evalParm(\"ec_pn_dim4\")]" ]
			language	python
		    }
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"ec_pn_dim4"
		    label	"Space"
		    type	ordinal
		    joinnext
		    default	{ "0" }
		    disablewhen	"{ ec_pn_active == 0 }"
		    menu	{
			"0"	"3D"
			"1"	"4D"
		    }
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"ec_pn_time"
		    label	"Time"
		    type	float
		    default	{ "0" }
		    disablewhen	"{ ec_pn_active == 0 } { ec_pn_dim4 == 0 }"
		    range	{ 0 10 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "surface" }
		}
		parm {
		    name	"ec_pn_fieldop"
		    label	"Field Operation"
		    type	string
		    default	{ "add" }
		    disablewhen	"{ ec_pn_active == 0 }"
		    menu	{
			"add"	"Offset (Field + Noise)"
			"mult"	"Scale (Field * Noise)"
		    }
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"ec_spacer17"
		    label	"ec_spacer16"
		    type	label
		    nolabel
		    default	{ "" }
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"ec_pn_freq"
		    label	"Frequency"
		    type	float
		    size	4
		    default	{ "1" "1" "1" "1" }
		    disablewhen	"{ ec_pn_active == 0 }"
		    range	{ 0 10 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "surface" }
		}
		parm {
		    name	"ec_pn_offset"
		    label	"Offset"
		    type	float
		    size	4
		    default	{ "0" "0" "0" "0" }
		    disablewhen	"{ ec_pn_active == 0 }"
		    range	{ 0 10 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "surface" }
		}
		parm {
		    name	"ec_pn_period"
		    label	"Period"
		    type	float
		    size	4
		    default	{ "1" "1" "1" "1" }
		    disablewhen	"{ ec_pn_active == 0 } { ec_pn_basis != pperlin ec_pn_basis != pflow }"
		    range	{ 0 10 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "surface" }
		}
		parm {
		    name	"ec_spacer18"
		    label	"ec_spacer17"
		    type	label
		    nolabel
		    default	{ "" }
		    range	{ 0 1 }
		    export	none
		}
		group {
		    name	"ec_folder18"
		    label	"Construction"

		    parm {
			name	"ec_pn_basis"
			label	"Noise Type"
			type	string
			default	{ "simplex" }
			disablewhen	"{ ec_pn_active == 0 }"
			menu	{
			    "sine"	"Sinusoid"
			    "perlin"	"Perlin"
			    "pperlin"	"Periodic Perlin"
			    "simplex"	"Simplex (Improved Perlin)"
			    "sparse"	"Sparse Convolution"
			    "flow"	"Flow"
			    "pflow"	"Periodic Flow"
			    "worleyFA"	"Worley (cellular) F1"
			    "worleyFB"	"Worley (cellular) F2-F1"
			    "alligator"	"Alligator"
			}
			range	{ 0 1 }
			export	none
			unquoted
		    }
		    parm {
			name	"ec_pn_inv"
			label	"Complement"
			type	toggle
			default	{ "off" }
			disablewhen	"{ ec_pn_active == 0 }"
			range	{ 0 1 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "surface" }
		    }
		    parm {
			name	"ec_pn_fold"
			label	"Fold"
			type	toggle
			default	{ "off" }
			disablewhen	"{ ec_pn_active == 0 }"
			range	{ 0 1 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "surface" }
		    }
		    parm {
			name	"ec_pn_expon"
			label	"Exponent"
			type	float
			default	{ "1" }
			disablewhen	"{ ec_pn_active == 0 }"
			range	{ 0 2 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "surface" }
		    }
		    parm {
			name	"ec_pn_dolwarp"
			label	"Enable Lattice Warp"
			type	toggle
			nolabel
			joinnext
			default	{ "off" }
			disablewhen	"{ ec_pn_active == 0 }"
			range	{ 0 1 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "surface" }
		    }
		    parm {
			name	"ec_pn_disp"
			label	"Lattice Warp"
			type	float
			joinnext
			default	{ "0" }
			disablewhen	"{ ec_pn_active == 0 } { ec_pn_dolwarp == 0 }"
			range	{ -0.5 0.5 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "surface" }
		    }
		    parm {
			name	"ec_pn_dispfreq"
			label	"Freq"
			type	float
			default	{ "1" }
			disablewhen	"{ ec_pn_active == 0 } { ec_pn_dolwarp == 0 }"
			range	{ 0 1 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "surface" }
		    }
		    parm {
			name	"ec_pn_dogwarp"
			label	"Enable Gradient Warp"
			type	toggle
			nolabel
			joinnext
			default	{ "off" }
			disablewhen	"{ ec_pn_active == 0 }"
			range	{ 0 1 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "surface" }
		    }
		    parm {
			name	"ec_pn_gflow"
			label	"Gradient Warp"
			type	float
			default	{ "0" }
			disablewhen	"{ ec_pn_active == 0 } { ec_pn_dogwarp == 0 }"
			range	{ -0.5 0.5 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "surface" }
		    }
		    parm {
			name	"ec_pn_flowrot"
			label	"Flow Rotation"
			type	float
			default	{ "0" }
			disablewhen	"{ ec_pn_active == 0 } { ec_pn_basis != flow ec_pn_basis != pflow }"
			range	{ 0 1 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "surface" }
		    }
		    parm {
			name	"ec_spacer19"
			label	"ec_spacer18"
			type	label
			nolabel
			default	{ "" }
			range	{ 0 1 }
			export	none
		    }
		    parm {
			name	"ec_pn_fractal"
			label	"Fractal Type"
			type	string
			default	{ "none" }
			disablewhen	"{ ec_pn_active == 0 }"
			menu	{
			    "none"	"None"
			    "fBm"	"Standard (fBm)"
			    "mfT"	"Terrain"
			    "hmfT"	"Hybrid Terrain"
			}
			range	{ 0 1 }
			export	none
			unquoted
		    }
		    parm {
			name	"ec_pn_accuml"
			label	"Accumulate Lattice Warp"
			type	toggle
			default	{ "off" }
			disablewhen	"{ ec_pn_active == 0 } { ec_pn_fractal == none }"
			range	{ 0 1 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "surface" }
		    }
		    parm {
			name	"ec_pn_accumg"
			label	"Accumulate Gradient Warp"
			type	toggle
			default	{ "off" }
			disablewhen	"{ ec_pn_active == 0 } { ec_pn_fractal == none }"
			range	{ 0 1 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "surface" }
		    }
		    parm {
			name	"ec_pn_oct"
			label	"Max Octaves"
			type	float
			default	{ "8" }
			disablewhen	"{ ec_pn_active == 0 } { ec_pn_fractal == none }"
			range	{ 0 16 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "surface" }
		    }
		    parm {
			name	"ec_pn_lac"
			label	"Lacunarity"
			type	float
			default	{ "2.01234" }
			disablewhen	"{ ec_pn_active == 0 } { ec_pn_fractal == none }"
			range	{ 0 4 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "surface" }
		    }
		    parm {
			name	"ec_pn_rough"
			label	"Roughness"
			type	float
			default	{ "0.5" }
			disablewhen	"{ ec_pn_active == 0 } { ec_pn_fractal == none }"
			range	{ 0 1 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "surface" }
		    }
		}

		group {
		    name	"ec_folder18_1"
		    label	"Output"

		    parm {
			name	"ec_pn_docc"
			label	"Enable Output Correction"
			type	toggle
			default	{ "on" }
			disablewhen	"{ ec_pn_active == 0 }"
			range	{ 0 1 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "surface" }
		    }
		    parm {
			name	"ec_spacer20"
			label	"ec_spacer19"
			type	label
			nolabel
			default	{ "" }
			range	{ 0 1 }
			export	none
		    }
		    parm {
			name	"ec_pn_cc_dobias"
			label	"Do Bias"
			type	toggle
			nolabel
			joinnext
			default	{ "off" }
			disablewhen	"{ ec_pn_active == 0 } { ec_pn_docc == 0 }"
			range	{ 0 1 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "surface" }
		    }
		    parm {
			name	"ec_pn_cc_bias"
			label	"Bias"
			type	float
			size	3
			default	{ "0.5" "0.5" "0.5" }
			disablewhen	"{ ec_pn_active == 0 } { ec_pn_docc == 0 } { ec_pn_cc_dobias == 0 }"
			range	{ 0 10 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "surface" }
		    }
		    parm {
			name	"ec_pn_cc_dogain"
			label	"Do Gain"
			type	toggle
			nolabel
			joinnext
			default	{ "off" }
			disablewhen	"{ ec_pn_active == 0 } { ec_pn_docc == 0 }"
			range	{ 0 1 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "surface" }
		    }
		    parm {
			name	"ec_pn_cc_gain"
			label	"Gain"
			type	float
			size	3
			default	{ "0.5" "0.5" "0.5" }
			disablewhen	"{ ec_pn_active == 0 } { ec_pn_docc == 0 } { ec_pn_cc_dogain == 0 }"
			range	{ 0 10 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "surface" }
		    }
		    parm {
			name	"ec_spacer21"
			label	"ec_spacer20"
			type	label
			nolabel
			default	{ "" }
			range	{ 0 1 }
			export	none
		    }
		    parm {
			name	"ec_pn_cc_inv"
			label	"Complement"
			type	toggle
			default	{ "off" }
			disablewhen	"{ ec_pn_active == 0 } { ec_pn_docc == 0 }"
			range	{ 0 1 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "surface" }
		    }
		    parm {
			name	"ec_spacer22"
			label	"ec_spacer21"
			type	label
			nolabel
			default	{ "" }
			range	{ 0 1 }
			export	none
		    }
		    parm {
			name	"ec_pn_cc_dorng"
			label	"Output Range (Clamped)"
			type	toggle
			default	{ "on" }
			disablewhen	"{ ec_pn_active == 0 } { ec_pn_docc == 0 }"
			range	{ 0 1 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "surface" }
		    }
		    parm {
			name	"ec_pn_cc_rnglo"
			label	"New Minimum"
			type	float
			size	3
			default	{ "-1" "-1" "-1" }
			disablewhen	"{ ec_pn_active == 0 } { ec_pn_docc == 0 } { ec_pn_cc_dorng == 0 }"
			range	{ 0 10 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "surface" }
		    }
		    parm {
			name	"ec_pn_cc_rnghi"
			label	"New Maximum"
			type	float
			size	3
			default	{ "1" "1" "1" }
			disablewhen	"{ ec_pn_active == 0 } { ec_pn_docc == 0 } { ec_pn_cc_dorng == 0 }"
			range	{ 0 10 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "surface" }
		    }
		    parm {
			name	"ec_spacer23"
			label	"ec_spacer22"
			type	label
			nolabel
			default	{ "" }
			range	{ 0 1 }
			export	none
		    }
		    parm {
			name	"ec_pn_cc_amp"
			label	"Final Amplitude"
			type	float
			size	3
			default	{ "1" "1" "1" }
			disablewhen	"{ ec_pn_active == 0 } { ec_pn_docc == 0 }"
			range	{ 0 10 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "surface" }
		    }
		}

		group {
		    name	"ec_folder18_2"
		    label	"Rest Position"

		    group {
			name	"ec_folder19"
			label	"Fields"

			parm {
			    name	"ec_spacer24"
			    label	"ec_spacer23"
			    type	label
			    nolabel
			    default	{ "" }
			    range	{ 0 1 }
			    export	none
			}
			parm {
			    name	"ec_dr_restinterp"
			    label	"Ratio Interpolation"
			    type	integer
			    default	{ "0" }
			    menu	{
				"0"	"Unmodified (Linear)"
				"1"	"Cubic"
				"2"	"Cosine"
			    }
			    range	{ 0 10 }
			    export	none
			    parmtag	{ "parmvop" "1" }
			    parmtag	{ "shaderparmcontexts" "surface" }
			}
			parm {
			    name	"ec_spacer25"
			    label	"ec_spacer24"
			    type	label
			    nolabel
			    default	{ "" }
			    range	{ 0 1 }
			    export	none
			}
			parm {
			    name	"ec_dr_rest_name"
			    label	"Rest Position 1"
			    type	string
			    joinnext
			    default	{ "rest" }
			    range	{ 0 1 }
			    export	none
			}
			parm {
			    name	"ec_dr_rest_intype"
			    label	"Type"
			    type	string
			    default	{ "vector" }
			    disablewhen	"{ ec_dr_rest_name == \"\" }"
			    menu	{
				"float"	"Float"
				"vector"	"Vector"
				"vector4"	"Vector4"
			    }
			    range	{ 0 1 }
			    export	none
			    unquoted
			    parmtag	{ "script_callback" "if not kwargs['node'].isInsideLockedHDA():kwargs['node'].parm('ec_dr_rest_method').set('assign')" }
			    parmtag	{ "script_callback_language" "python" }
			}
			parm {
			    name	"ec_dr_rest_method"
			    label	"Conversion to Vector"
			    type	string
			    joinnext
			    default	{ "assign" }
			    disablewhen	"{ ec_dr_rest_name == \"\" } { ec_dr_rest_intype == vector }"
			    menu	{
				[ "hou.vopNodeTypeCategory().nodeTypes()['typeconvertimpl'].hdaModule().methodmenu(hou.evalParm('ec_dr_rest_intype'),'vector')" ]
				language	python
			    }
			    range	{ 0 1 }
			    export	none
			}
			parm {
			    name	"ec_dr_rest_padval"
			    label	"Padding Constant"
			    type	float
			    nolabel
			    default	{ "0" }
			    disablewhen	"{ ec_dr_rest_name == \"\" } { dr_rest_promote == 0 } { ec_dr_rest_method != padc }"
			    range	{ 0 1 }
			    export	none
			}
			parm {
			    name	"ec_dr_rest_ratio_name"
			    label	"Rest1 Ratio"
			    type	string
			    joinnext
			    default	{ "rest_ratio" }
			    range	{ 0 1 }
			    export	none
			}
			parm {
			    name	"ec_dr_rest_ratio_intype"
			    label	"Type"
			    type	string
			    default	{ "float" }
			    disablewhen	"{ ec_dr_rest_ratio_name == \"\" }"
			    menu	{
				"float"	"Float"
				"vector"	"Vector"
				"vector4"	"Vector4"
			    }
			    range	{ 0 1 }
			    export	none
			    unquoted
			    parmtag	{ "script_callback" "if not kwargs['node'].isInsideLockedHDA():kwargs['node'].parm('ec_dr_rest_ratio_method').set('assign')" }
			    parmtag	{ "script_callback_language" "python" }
			}
			parm {
			    name	"ec_dr_rest_ratio_method"
			    label	"Conversion to Float"
			    type	string
			    default	{ "assign" }
			    disablewhen	"{ ec_dr_rest_ratio_name == \"\" } { ec_dr_rest_ratio_intype == float }"
			    menu	{
				[ "hou.vopNodeTypeCategory().nodeTypes()['typeconvertimpl'].hdaModule().methodmenu(hou.evalParm('ec_dr_rest_ratio_intype'),'float')" ]
				language	python
			    }
			    range	{ 0 1 }
			    export	none
			}
			parm {
			    name	"ec_dr_rest2_name"
			    label	"Rest Position 2"
			    type	string
			    joinnext
			    default	{ "rest2" }
			    range	{ 0 1 }
			    export	none
			}
			parm {
			    name	"ec_dr_rest2_intype"
			    label	"Type"
			    type	string
			    default	{ "vector" }
			    disablewhen	"{ ec_dr_rest2_name == \"\" }"
			    menu	{
				"float"	"Float"
				"vector"	"Vector"
				"vector4"	"Vector4"
			    }
			    range	{ 0 1 }
			    export	none
			    unquoted
			    parmtag	{ "script_callback" "if not kwargs['node'].isInsideLockedHDA():kwargs['node'].parm('ec_dr_rest2_method').set('assign')" }
			    parmtag	{ "script_callback_language" "python" }
			}
			parm {
			    name	"ec_dr_rest2_method"
			    label	"Conversion to Vector"
			    type	string
			    joinnext
			    default	{ "assign" }
			    disablewhen	"{ ec_dr_rest2_name == \"\" } { ec_dr_rest2_intype == vector }"
			    menu	{
				[ "hou.vopNodeTypeCategory().nodeTypes()['typeconvertimpl'].hdaModule().methodmenu(hou.evalParm('ec_dr_rest2_intype'),'vector')" ]
				language	python
			    }
			    range	{ 0 1 }
			    export	none
			}
			parm {
			    name	"ec_dr_rest2_padval"
			    label	"Padding Constant"
			    type	float
			    nolabel
			    default	{ "0" }
			    disablewhen	"{ ec_dr_rest2_name == \"\" } { dr_rest2_promote == 0 } { ec_dr_rest2_method != padc }"
			    range	{ 0 1 }
			    export	none
			}
			parm {
			    name	"ec_dr_rest2_ratio_name"
			    label	"Rest2 Ratio"
			    type	string
			    joinnext
			    default	{ "rest2_ratio" }
			    range	{ 0 1 }
			    export	none
			}
			parm {
			    name	"ec_dr_rest2_ratio_intype"
			    label	"Type"
			    type	string
			    default	{ "float" }
			    disablewhen	"{ ec_dr_rest2_ratio_name == \"\" }"
			    menu	{
				"float"	"Float"
				"vector"	"Vector"
				"vector4"	"Vector4"
			    }
			    range	{ 0 1 }
			    export	none
			    unquoted
			    parmtag	{ "script_callback" "if not kwargs['node'].isInsideLockedHDA():kwargs['node'].parm('ec_dr_rest2_ratio_method').set('assign')" }
			    parmtag	{ "script_callback_language" "python" }
			}
			parm {
			    name	"ec_dr_rest2_ratio_method"
			    label	"Conversion to Float"
			    type	string
			    default	{ "assign" }
			    disablewhen	"{ ec_dr_rest2_ratio_name == \"\" } { ec_dr_rest2_ratio_intype == float }"
			    menu	{
				[ "hou.vopNodeTypeCategory().nodeTypes()['typeconvertimpl'].hdaModule().methodmenu(hou.evalParm('ec_dr_rest2_ratio_intype'),'float')" ]
				language	python
			    }
			    range	{ 0 1 }
			    export	none
			}
		    }

		    group {
			name	"ec_folder19_1"
			label	"Fallback"
			tabbreak

			parm {
			    name	"ec_spacer26"
			    label	"ec_spacer25"
			    type	label
			    nolabel
			    default	{ "" }
			    range	{ 0 1 }
			    export	none
			}
			parm {
			    name	"ec_fallback_label"
			    label	"fallback_label"
			    type	label
			    nolabel
			    default	{ "Fallback Rest Position Upon Failure (VEX):" }
			    range	{ 0 1 }
			    export	none
			}
			parm {
			    name	"ec_spacer27"
			    label	"ec_spacer26"
			    type	label
			    nolabel
			    default	{ "" }
			    range	{ 0 1 }
			    export	none
			}
			parm {
			    name	"ec_dr_fail_shading"
			    label	"SHADING Contexts"
			    type	string
			    default	{ "ptransform(\"space:object\",P)" }
			    range	{ 0 1 }
			    export	none
			    unquoted
			}
			parm {
			    name	"ec_dr_fail_cop"
			    label	"COP|COP2 Contexts"
			    type	string
			    default	{ "set(X,Y,0)" }
			    range	{ 0 1 }
			    export	none
			    unquoted
			}
			parm {
			    name	"ec_dr_fail_sop"
			    label	"SOP|POP Contexts"
			    type	string
			    default	{ "P" }
			    range	{ 0 1 }
			    export	none
			    unquoted
			}
			parm {
			    name	"ec_dr_fail_chop"
			    label	"CHOP Context"
			    type	string
			    default	{ "set((float)I/SR,V,0)" }
			    range	{ 0 1 }
			    export	none
			    unquoted
			}
			parm {
			    name	"ec_dr_fail_cvex"
			    label	"CVEX Context"
			    type	string
			    default	{ "0" }
			    range	{ 0 1 }
			    export	none
			    unquoted
			}
			parm {
			    name	"ec_dr_fail_fail"
			    label	"Unknown Context"
			    type	string
			    default	{ "0" }
			    range	{ 0 1 }
			    export	none
			    unquoted
			}
		    }

		}

	    }

	}

    }

    group {
	name	"folder6_2"
	label	"Displacement"

	group {
	    name	"dd_folder8"
	    label	"Direction"

	    parm {
		name	"dd_name"
		label	"Field Name"
		type	string
		joinnext
		default	{ "N" }
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"dd_intype"
		label	"Type"
		type	string
		default	{ "vector" }
		menu	{
		    "float"	"Float"
		    "vector"	"Vector"
		    "vector4"	"Vector4"
		}
		range	{ 0 1 }
		export	none
		unquoted
		parmtag	{ "script_callback" "__import__('pyro2').updateField(kwargs,'dd_intype','dd_promote','dd_method','dd_outtype','DispDirection_flt')" }
		parmtag	{ "script_callback_language" "python" }
	    }
	    parm {
		name	"dd_promote"
		label	"Promote"
		type	toggle
		joinnext
		default	{ "0" }
		disablewhen	"{ dd_name == \"\" }"
		range	{ 0 1 }
		export	none
		parmtag	{ "script_callback" "__import__('pyro2').updateField(kwargs,'dd_intype','dd_promote','dd_method','dd_outtype','DispDirection_flt')" }
		parmtag	{ "script_callback_language" "python" }
	    }
	    parm {
		name	"dd_outtype"
		label	"To Type"
		type	string
		joinnext
		default	{ "float" }
		disablewhen	"{ dd_name == \"\" } { dd_promote == 0 }"
		menu	{
		    "float"	"Float"
		    "vector"	"Vector"
		    "vector4"	"Vector4"
		}
		range	{ 0 1 }
		export	none
		unquoted
		parmtag	{ "script_callback" "__import__('pyro2').updateField(kwargs,'dd_intype','dd_promote','dd_method','dd_outtype','DispDirection_flt')" }
		parmtag	{ "script_callback_language" "python" }
	    }
	    parm {
		name	"dd_method"
		label	"Method"
		type	string
		nolabel
		joinnext
		default	{ "assign" }
		disablewhen	"{ dd_name == \"\" } { dd_doconvert == 0 }"
		menu	{
		    [ "hou.vopNodeTypeCategory().nodeTypes()['typeconvertimpl'].hdaModule().methodmenu(hou.evalParm('dd_intype'),hou.evalParm('dd_outtype'))" ]
		    language	python
		}
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"dd_padval"
		label	"Padding Constant"
		type	float
		nolabel
		default	{ "0" }
		disablewhen	"{ dd_name == \"\" } { dd_promote == 0 } { dd_method != padc }"
		range	{ 0 1 }
		export	none
		parmtag	{ "parmvop" "1" }
		parmtag	{ "shaderparmcontexts" "displace" }
	    }
	    parm {
		name	"dd_dfltval"
		label	"Default Field Value"
		type	float
		size	4
		default	{ "0" "0" "0" "0" }
		disablewhen	"{ dd_name != \"\" }"
		range	{ 0 10 }
		export	none
		parmtag	{ "parmvop" "1" }
		parmtag	{ "shaderparmcontexts" "displace" }
	    }
	    parm {
		name	"dd_doconvert"
		label	"doconvert"
		type	integer
		invisible
		default	{ "0" }
		range	{ 0 10 }
		export	none
		parmtag	{ "pyro_expression" "evalParm('dd_promote') and evalParm('dd_intype') != evalParm('dd_outtype')" }
		parmtag	{ "pyro_expression_language" "python" }
	    }
	    parm {
		name	"dd_spacer"
		label	"spacer"
		type	label
		nolabel
		default	{ "" }
		range	{ 0 1 }
		export	none
	    }
	    group {
		name	"dd_folder10"
		label	"Field Shape"

		parm {
		    name	"dd_dofit"
		    label	"Fit to Range (Unclamped)"
		    type	toggle
		    joinnext
		    default	{ "0" }
		    disablewhen	"{ dd_name == \"\" }"
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"dd_spacer2"
		    label	"dd_spacer"
		    type	label
		    nolabel
		    default	{ "" }
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"dd_fit_srcmin"
		    label	"Source Range"
		    type	float
		    joinnext
		    default	{ "0" }
		    disablewhen	"{ dd_name == \"\" } { dd_dofit == 0 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "displace" }
		}
		parm {
		    name	"dd_fit_srcmax"
		    label	"Max"
		    type	float
		    nolabel
		    default	{ "1" }
		    disablewhen	"{ dd_name == \"\" } { dd_dofit == 0 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "displace" }
		}
		parm {
		    name	"dd_fit_tgtmin"
		    label	"Target Range"
		    type	float
		    joinnext
		    default	{ "0" }
		    disablewhen	"{ dd_name == \"\" } { dd_dofit == 0 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "displace" }
		}
		parm {
		    name	"dd_fit_tgtmax"
		    label	"Max"
		    type	float
		    nolabel
		    default	{ "1" }
		    disablewhen	"{ dd_name == \"\" } { dd_dofit == 0 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "displace" }
		}
		parm {
		    name	"dd_spacer3"
		    label	"dd_spacer2"
		    type	label
		    nolabel
		    default	{ "" }
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"dd_doramp"
		    label	"Ramp"
		    type	toggle
		    joinnext
		    default	{ "0" }
		    disablewhen	"{ dd_name == \"\" }"
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"dd_presets"
		    label	"Presets"
		    type	ordinal
		    nolabel
		    joinnext
		    default	{ "0" }
		    disablewhen	"{ dd_name == \"\" } { dd_doramp == 0 }"
		    menu	{
			[ "__import__('pyro2').rampPresetMenu(kwargs,'DispDirection',True)" ]
			language	python
		    }
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "script_callback" "__import__('pyro2').rampPresetCB(kwargs,'DispDirection',True)" }
		    parmtag	{ "script_callback_language" "python" }
		}
		parm {
		    name	"dd_spacename"
		    label	" Space"
		    type	string
		    nolabel
		    joinnext
		    default	{ "rgb" }
		    disablewhen	"{ dd_name == \"\" } { dd_doramp == 0 } { rampswitcher1 == 0 }"
		    menu	{
			"rgb"	"RGB"
			"hsv"	"HSV"
			"Lab"	"LAB"
			"hsl"	"HSL"
			"XYZ"	"XYZ"
		    }
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "displace" }
		}
		parm {
		    name	"dd_gammaname"
		    label	"Gamma Type"
		    type	string
		    nolabel
		    joinnext
		    default	{ "linear" }
		    disablewhen	"{ dd_name == \"\" } { dd_doramp == 0 }"
		    menu	{
			"linear"	"Linear"
			"srgb"	"sRGB"
			"custom"	"Custom"
		    }
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "displace" }
		}
		parm {
		    name	"dd_gammaval"
		    label	"Gamma Value"
		    type	float
		    nolabel
		    default	{ "2.2" }
		    disablewhen	"{ dd_name == \"\" } { dd_doramp == 0 } { dd_gammaname != custom }"
		    range	{ 0.0001 4 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "displace" }
		}
		groupradio {
		    name	"dd_rampswitcher8"
		    label	"Float"

		    parm {
			name	"DispDirection_flt"
			label	"Lookup Ramp"
			type	ramp_flt
			default	{ "2" }
			disablewhen	"{ dd_name == \"\" } { dd_doramp == 0 }"
			range	{ 1! 10 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "rampbasis_var" "DispDirection_flt_the_basis_strings" }
			parmtag	{ "rampbasisdefault" "linear" }
			parmtag	{ "rampkeys_var" "DispDirection_flt_the_key_positions" }
			parmtag	{ "rampshowcontrolsdefault" "0" }
			parmtag	{ "rampvalues_var" "DispDirection_flt_the_key_values" }
			parmtag	{ "shaderparmcontexts" "displace" }
		    }
		}

		groupradio {
		    name	"dd_rampswitcher8_1"
		    label	"Color"

		    parm {
			name	"DispDirection_rgb"
			label	"Lookup Ramp"
			type	ramp_rgb
			default	{ "2" }
			disablewhen	"{ dd_name == \"\" } { dd_doramp == 0 }"
			range	{ 1! 10 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "rampbasis_var" "DispDirection_rgb_the_basis_strings" }
			parmtag	{ "rampbasisdefault" "linear" }
			parmtag	{ "rampcolortype" "rgb" }
			parmtag	{ "rampkeys_var" "DispDirection_rgb_the_key_positions" }
			parmtag	{ "rampshowcontrolsdefault" "0" }
			parmtag	{ "rampvalues_var" "DispDirection_rgb_the_key_values" }
			parmtag	{ "shaderparmcontexts" "displace" }
		    }
		}

		parm {
		    name	"dd_ramp_rngmin"
		    label	"Ramp Interval"
		    type	float
		    joinnext
		    default	{ "0" }
		    disablewhen	"{ dd_name == \"\" } { dd_doramp == 0 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "displace" }
		}
		parm {
		    name	"dd_ramp_rngmax"
		    label	"Ramp: Range Max"
		    type	float
		    nolabel
		    default	{ "1" }
		    disablewhen	"{ dd_name == \"\" } { dd_doramp == 0 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "displace" }
		}
		parm {
		    name	"dd_lbt"
		    label	"Ramp Boundaries"
		    type	string
		    joinnext
		    default	{ "hold" }
		    disablewhen	"{ dd_name == \"\" } { dd_doramp == 0 }"
		    menu	{
			"hold"	"Hold"
			"cycle"	"Cycle"
			"accum"	"Cycle-Accumulate"
			"mirror"	"Mirror"
			"slope"	"Slope"
		    }
		    range	{ 0 1 }
		    export	none
		    unquoted
		}
		parm {
		    name	"dd_rbt"
		    label	"Right"
		    type	string
		    nolabel
		    default	{ "hold" }
		    disablewhen	"{ dd_name == \"\" } { dd_doramp == 0 }"
		    menu	{
			"hold"	"Hold"
			"cycle"	"Cycle"
			"accum"	"Cycle-Accumulate"
			"mirror"	"Mirror"
			"slope"	"Slope"
		    }
		    range	{ 0 1 }
		    export	none
		    unquoted
		}
		parm {
		    name	"dd_spacer4"
		    label	"dd_spacer3"
		    type	label
		    nolabel
		    default	{ "" }
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"dd_docontour"
		    label	"Enable Contour"
		    type	toggle
		    nolabel
		    joinnext
		    default	{ "0" }
		    disablewhen	"{ dd_name == \"\" }"
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"dd_contour_width"
		    label	"Contour: Width"
		    type	float
		    joinnext
		    default	{ "0.02" }
		    disablewhen	"{ dd_name == \"\" } { dd_docontour == 0 }"
		    range	{ 0 0.1 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "displace" }
		}
		parm {
		    name	"dd_contour_sharp"
		    label	"Sharpness"
		    type	float
		    default	{ "4" }
		    disablewhen	"{ dd_name == \"\" } { dd_docontour == 0 }"
		    range	{ 0 10 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "displace" }
		}
		parm {
		    name	"dd_dosclip"
		    label	"Enable Soft Clip"
		    type	toggle
		    nolabel
		    joinnext
		    default	{ "0" }
		    disablewhen	"{ dd_name == \"\" }"
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"dd_sclip_start"
		    label	"SoftClip: Start"
		    type	float
		    joinnext
		    default	{ "0.8" }
		    disablewhen	"{ dd_name == \"\" } { dd_dosclip == 0 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "displace" }
		}
		parm {
		    name	"dd_sclip_suppress"
		    label	"  Suppress"
		    type	float
		    default	{ "1" }
		    disablewhen	"{ dd_name == \"\" } { dd_dosclip == 0 }"
		    range	{ 0 10 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "displace" }
		}
		parm {
		    name	"dd_spacer5"
		    label	"dd_spacer4"
		    type	label
		    nolabel
		    default	{ "" }
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"dd_dolowlimit"
		    label	"Enable Lower Limit"
		    type	toggle
		    nolabel
		    joinnext
		    default	{ "0" }
		    disablewhen	"{ dd_name == \"\" }"
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"dd_lowlimit"
		    label	"Clamp to Min"
		    type	float
		    default	{ "0" }
		    disablewhen	"{ dd_name == \"\" } { dd_dolowlimit == 0 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "displace" }
		}
		parm {
		    name	"dd_dohighlimit"
		    label	"Enable Upper Limit"
		    type	toggle
		    nolabel
		    joinnext
		    default	{ "0" }
		    disablewhen	"{ dd_name == \"\" }"
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"dd_highlimit"
		    label	"Clamp to Max"
		    type	float
		    default	{ "1" }
		    disablewhen	"{ dd_name == \"\" } { dd_dohighlimit == 0 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "displace" }
		}
		parm {
		    name	"dd_spacer6"
		    label	"dd_spacer5"
		    type	label
		    nolabel
		    default	{ "" }
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"dd_amp"
		    label	"Final Amplitude"
		    type	float
		    default	{ "1" }
		    range	{ 0 2 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "displace" }
		}
	    }

	    group {
		name	"dd_folder10_1"
		label	"Field Noise"

		parm {
		    name	"dd_active"
		    label	"Active"
		    type	toggle
		    default	{ "0" }
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"dd_ntype"
		    label	"Noise Output Type"
		    type	ordinal
		    joinnext
		    default	{ "0" }
		    disablewhen	"{ dd_active == 0 }"
		    menu	{
			[ "d3 = (\"default\", \"Float\", \"v3\", \"Vector\")" ]
			[ "d4 = (\"f4\", \"Float\", \"v4\", \"Vector\")" ]
			[ "return (d3,d4)[kwargs[\"node\"].evalParm(\"dd_dim4\")]" ]
			language	python
		    }
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"dd_dim4"
		    label	"Space"
		    type	ordinal
		    joinnext
		    default	{ "0" }
		    disablewhen	"{ dd_active == 0 }"
		    menu	{
			"0"	"3D"
			"1"	"4D"
		    }
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"dd_time"
		    label	"Time"
		    type	float
		    default	{ "0" }
		    disablewhen	"{ dd_active == 0 } { dd_dim4 == 0 }"
		    range	{ 0 10 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "displace" }
		}
		parm {
		    name	"dd_fieldop"
		    label	"Field Operation"
		    type	string
		    default	{ "add" }
		    disablewhen	"{ dd_active == 0 }"
		    menu	{
			"add"	"Offset (Field + Noise)"
			"mult"	"Scale (Field * Noise)"
		    }
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"dd_spacer7"
		    label	"dd_spacer6"
		    type	label
		    nolabel
		    default	{ "" }
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"dd_freq"
		    label	"Frequency"
		    type	float
		    size	4
		    default	{ "1" "1" "1" "1" }
		    disablewhen	"{ dd_active == 0 }"
		    range	{ 0 10 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "displace" }
		}
		parm {
		    name	"dd_offset"
		    label	"Offset"
		    type	float
		    size	4
		    default	{ "0" "0" "0" "0" }
		    disablewhen	"{ dd_active == 0 }"
		    range	{ 0 10 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "displace" }
		}
		parm {
		    name	"dd_period"
		    label	"Period"
		    type	float
		    size	4
		    default	{ "1" "1" "1" "1" }
		    disablewhen	"{ dd_active == 0 } { dd_basis != pperlin dd_basis != pflow }"
		    range	{ 0 10 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "displace" }
		}
		parm {
		    name	"dd_spacer8"
		    label	"dd_spacer7"
		    type	label
		    nolabel
		    default	{ "" }
		    range	{ 0 1 }
		    export	none
		}
		group {
		    name	"dd_folder12"
		    label	"Construction"

		    parm {
			name	"dd_basis"
			label	"Noise Type"
			type	string
			default	{ "simplex" }
			disablewhen	"{ dd_active == 0 }"
			menu	{
			    "sine"	"Sinusoid"
			    "perlin"	"Perlin"
			    "pperlin"	"Periodic Perlin"
			    "simplex"	"Simplex (Improved Perlin)"
			    "sparse"	"Sparse Convolution"
			    "flow"	"Flow"
			    "pflow"	"Periodic Flow"
			    "worleyFA"	"Worley (cellular) F1"
			    "worleyFB"	"Worley (cellular) F2-F1"
			    "alligator"	"Alligator"
			}
			range	{ 0 1 }
			export	none
			unquoted
		    }
		    parm {
			name	"dd_inv"
			label	"Complement"
			type	toggle
			default	{ "off" }
			disablewhen	"{ dd_active == 0 }"
			range	{ 0 1 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "displace" }
		    }
		    parm {
			name	"dd_fold"
			label	"Fold"
			type	toggle
			default	{ "off" }
			disablewhen	"{ dd_active == 0 }"
			range	{ 0 1 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "displace" }
		    }
		    parm {
			name	"dd_expon"
			label	"Exponent"
			type	float
			default	{ "1" }
			disablewhen	"{ dd_active == 0 }"
			range	{ 0 2 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "displace" }
		    }
		    parm {
			name	"dd_dolwarp"
			label	"Enable Lattice Warp"
			type	toggle
			nolabel
			joinnext
			default	{ "off" }
			disablewhen	"{ dd_active == 0 }"
			range	{ 0 1 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "displace" }
		    }
		    parm {
			name	"dd_disp"
			label	"Lattice Warp"
			type	float
			joinnext
			default	{ "0" }
			disablewhen	"{ dd_active == 0 } { dd_dolwarp == 0 }"
			range	{ -0.5 0.5 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "displace" }
		    }
		    parm {
			name	"dd_dispfreq"
			label	"Freq"
			type	float
			default	{ "1" }
			disablewhen	"{ dd_active == 0 } { dd_dolwarp == 0 }"
			range	{ 0 1 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "displace" }
		    }
		    parm {
			name	"dd_dogwarp"
			label	"Enable Gradient Warp"
			type	toggle
			nolabel
			joinnext
			default	{ "off" }
			disablewhen	"{ dd_active == 0 }"
			range	{ 0 1 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "displace" }
		    }
		    parm {
			name	"dd_gflow"
			label	"Gradient Warp"
			type	float
			default	{ "0" }
			disablewhen	"{ dd_active == 0 } { dd_dogwarp == 0 }"
			range	{ -0.5 0.5 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "displace" }
		    }
		    parm {
			name	"dd_flowrot"
			label	"Flow Rotation"
			type	float
			default	{ "0" }
			disablewhen	"{ dd_active == 0 } { dd_basis != flow dd_basis != pflow }"
			range	{ 0 10 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "displace" }
		    }
		    parm {
			name	"dd_spacer9"
			label	"dd_spacer8"
			type	label
			nolabel
			default	{ "" }
			range	{ 0 1 }
			export	none
		    }
		    parm {
			name	"dd_fractal"
			label	"Fractal Type"
			type	string
			default	{ "none" }
			disablewhen	"{ dd_active == 0 }"
			menu	{
			    "none"	"None"
			    "fBm"	"Standard (fBm)"
			    "mfT"	"Terrain"
			    "hmfT"	"Hybrid Terrain"
			}
			range	{ 0 1 }
			export	none
			unquoted
		    }
		    parm {
			name	"dd_accuml"
			label	"Accumulate Lattice Warp"
			type	toggle
			default	{ "off" }
			disablewhen	"{ dd_active == 0 } { dd_fractal == none }"
			range	{ 0 1 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "displace" }
		    }
		    parm {
			name	"dd_accumg"
			label	"Accumulate Gradient Warp"
			type	toggle
			default	{ "off" }
			disablewhen	"{ dd_active == 0 } { dd_fractal == none }"
			range	{ 0 1 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "displace" }
		    }
		    parm {
			name	"dd_oct"
			label	"Max Octaves"
			type	float
			default	{ "8" }
			disablewhen	"{ dd_active == 0 } { dd_fractal == none }"
			range	{ 0 16 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "displace" }
		    }
		    parm {
			name	"dd_lac"
			label	"Lacunarity"
			type	float
			default	{ "2.01234" }
			disablewhen	"{ dd_active == 0 } { dd_fractal == none }"
			range	{ 0 4 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "displace" }
		    }
		    parm {
			name	"dd_rough"
			label	"Roughness"
			type	float
			default	{ "0.5" }
			disablewhen	"{ dd_active == 0 } { dd_fractal == none }"
			range	{ 0 1 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "displace" }
		    }
		}

		group {
		    name	"dd_folder12_1"
		    label	"Output"

		    parm {
			name	"dd_docc"
			label	"Enable Output Correction"
			type	toggle
			default	{ "on" }
			disablewhen	"{ dd_active == 0 }"
			range	{ 0 1 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "displace" }
		    }
		    parm {
			name	"dd_spacer10"
			label	"dd_spacer9"
			type	label
			nolabel
			default	{ "" }
			range	{ 0 1 }
			export	none
		    }
		    parm {
			name	"dd_cc_dobias"
			label	"Do Bias"
			type	toggle
			nolabel
			joinnext
			default	{ "off" }
			disablewhen	"{ dd_active == 0 } { dd_docc == 0 }"
			range	{ 0 1 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "displace" }
		    }
		    parm {
			name	"dd_cc_bias"
			label	"Bias"
			type	float
			size	3
			default	{ "0.5" "0.5" "0.5" }
			disablewhen	"{ dd_active == 0 } { dd_docc == 0 } { dd_cc_dobias == 0 }"
			range	{ 0 10 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "displace" }
		    }
		    parm {
			name	"dd_cc_dogain"
			label	"Do Gain"
			type	toggle
			nolabel
			joinnext
			default	{ "off" }
			disablewhen	"{ dd_active == 0 } { dd_docc == 0 }"
			range	{ 0 1 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "displace" }
		    }
		    parm {
			name	"dd_cc_gain"
			label	"Gain"
			type	float
			size	3
			default	{ "0.5" "0.5" "0.5" }
			disablewhen	"{ dd_active == 0 } { dd_docc == 0 } { dd_cc_dogain == 0 }"
			range	{ 0 10 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "displace" }
		    }
		    parm {
			name	"dd_spacer11"
			label	"dd_spacer10"
			type	label
			nolabel
			default	{ "" }
			range	{ 0 1 }
			export	none
		    }
		    parm {
			name	"dd_cc_inv"
			label	"Complement"
			type	toggle
			default	{ "off" }
			disablewhen	"{ dd_active == 0 } { dd_docc == 0 }"
			range	{ 0 1 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "displace" }
		    }
		    parm {
			name	"dd_spacer12"
			label	"dd_spacer11"
			type	label
			nolabel
			default	{ "" }
			range	{ 0 1 }
			export	none
		    }
		    parm {
			name	"dd_cc_dorng"
			label	"Output Range (Clamped)"
			type	toggle
			default	{ "on" }
			disablewhen	"{ dd_active == 0 } { dd_docc == 0 }"
			range	{ 0 1 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "displace" }
		    }
		    parm {
			name	"dd_cc_rnglo"
			label	"New Minimum"
			type	float
			size	3
			default	{ "-1" "-1" "-1" }
			disablewhen	"{ dd_active == 0 } { dd_docc == 0 } { dd_cc_dorng == 0 }"
			range	{ 0 10 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "displace" }
		    }
		    parm {
			name	"dd_cc_rnghi"
			label	"New Maximum"
			type	float
			size	3
			default	{ "1" "1" "1" }
			disablewhen	"{ dd_active == 0 } { dd_docc == 0 } { dd_cc_dorng == 0 }"
			range	{ 0 10 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "displace" }
		    }
		    parm {
			name	"dd_spacer13"
			label	"dd_spacer12"
			type	label
			nolabel
			default	{ "" }
			range	{ 0 1 }
			export	none
		    }
		    parm {
			name	"dd_cc_amp"
			label	"Final Amplitude"
			type	float
			size	3
			default	{ "1" "1" "1" }
			disablewhen	"{ dd_active == 0 } { dd_docc == 0 }"
			range	{ 0 10 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "displace" }
		    }
		}

		group {
		    name	"dd_folder12_2"
		    label	"Rest Position"

		    group {
			name	"dd_folder15"
			label	"Fields"

			parm {
			    name	"dd_spacer14"
			    label	"dd_spacer13"
			    type	label
			    nolabel
			    default	{ "" }
			    range	{ 0 1 }
			    export	none
			}
			parm {
			    name	"dd_restinterp"
			    label	"Ratio Interpolation"
			    type	integer
			    default	{ "0" }
			    menu	{
				"0"	"Unmodified (Linear)"
				"1"	"Cubic"
				"2"	"Cosine"
			    }
			    range	{ 0 10 }
			    export	none
			    parmtag	{ "parmvop" "1" }
			    parmtag	{ "shaderparmcontexts" "displace" }
			}
			parm {
			    name	"dd_spacer15"
			    label	"dd_spacer14"
			    type	label
			    nolabel
			    default	{ "" }
			    range	{ 0 1 }
			    export	none
			}
			parm {
			    name	"dd_rest_name"
			    label	"Rest Position 1"
			    type	string
			    joinnext
			    default	{ "rest" }
			    range	{ 0 1 }
			    export	none
			}
			parm {
			    name	"dd_rest_intype"
			    label	"Type"
			    type	string
			    default	{ "vector" }
			    disablewhen	"{ dd_rest_name == \"\" }"
			    menu	{
				"float"	"Float"
				"vector"	"Vector"
				"vector4"	"Vector4"
			    }
			    range	{ 0 1 }
			    export	none
			    unquoted
			    parmtag	{ "script_callback" "if not kwargs['node'].isInsideLockedHDA():kwargs['node'].parm('dd_rest_method').set('assign')" }
			    parmtag	{ "script_callback_language" "python" }
			}
			parm {
			    name	"dd_rest_method"
			    label	"Conversion to Vector"
			    type	string
			    joinnext
			    default	{ "assign" }
			    disablewhen	"{ dd_rest_name == \"\" } { dd_rest_intype == vector }"
			    menu	{
				[ "hou.vopNodeTypeCategory().nodeTypes()['typeconvertimpl'].hdaModule().methodmenu(hou.evalParm('dd_rest_intype'),'vector')" ]
				language	python
			    }
			    range	{ 0 1 }
			    export	none
			}
			parm {
			    name	"dd_rest_padval"
			    label	"Padding Constant"
			    type	float
			    nolabel
			    default	{ "0" }
			    disablewhen	"{ dd_rest_name == \"\" } { rest_promote == 0 } { dd_rest_method != padc }"
			    range	{ 0 1 }
			    export	none
			}
			parm {
			    name	"dd_rest_ratio_name"
			    label	"Rest1 Ratio"
			    type	string
			    joinnext
			    default	{ "rest_ratio" }
			    range	{ 0 1 }
			    export	none
			}
			parm {
			    name	"dd_rest_ratio_intype"
			    label	"Type"
			    type	string
			    default	{ "float" }
			    disablewhen	"{ dd_rest_ratio_name == \"\" }"
			    menu	{
				"float"	"Float"
				"vector"	"Vector"
				"vector4"	"Vector4"
			    }
			    range	{ 0 1 }
			    export	none
			    unquoted
			    parmtag	{ "script_callback" "if not kwargs['node'].isInsideLockedHDA():kwargs['node'].parm('dd_rest_ratio_method').set('assign')" }
			    parmtag	{ "script_callback_language" "python" }
			}
			parm {
			    name	"dd_rest_ratio_method"
			    label	"Conversion to Float"
			    type	string
			    default	{ "assign" }
			    disablewhen	"{ dd_rest_ratio_name == \"\" } { dd_rest_ratio_intype == float }"
			    menu	{
				[ "hou.vopNodeTypeCategory().nodeTypes()['typeconvertimpl'].hdaModule().methodmenu(hou.evalParm('dd_rest_ratio_intype'),'float')" ]
				language	python
			    }
			    range	{ 0 1 }
			    export	none
			}
			parm {
			    name	"dd_rest2_name"
			    label	"Rest Position 2"
			    type	string
			    joinnext
			    default	{ "rest2" }
			    range	{ 0 1 }
			    export	none
			}
			parm {
			    name	"dd_rest2_intype"
			    label	"Type"
			    type	string
			    default	{ "vector" }
			    disablewhen	"{ dd_rest2_name == \"\" }"
			    menu	{
				"float"	"Float"
				"vector"	"Vector"
				"vector4"	"Vector4"
			    }
			    range	{ 0 1 }
			    export	none
			    unquoted
			    parmtag	{ "script_callback" "if not kwargs['node'].isInsideLockedHDA():kwargs['node'].parm('dd_rest2_method').set('assign')" }
			    parmtag	{ "script_callback_language" "python" }
			}
			parm {
			    name	"dd_rest2_method"
			    label	"Conversion to Vector"
			    type	string
			    joinnext
			    default	{ "assign" }
			    disablewhen	"{ dd_rest2_name == \"\" } { dd_rest2_intype == vector }"
			    menu	{
				[ "hou.vopNodeTypeCategory().nodeTypes()['typeconvertimpl'].hdaModule().methodmenu(hou.evalParm('dd_rest2_intype'),'vector')" ]
				language	python
			    }
			    range	{ 0 1 }
			    export	none
			}
			parm {
			    name	"dd_rest2_padval"
			    label	"Padding Constant"
			    type	float
			    nolabel
			    default	{ "0" }
			    disablewhen	"{ dd_rest2_name == \"\" } { rest2_promote == 0 } { dd_rest2_method != padc }"
			    range	{ 0 1 }
			    export	none
			}
			parm {
			    name	"dd_rest2_ratio_name"
			    label	"Rest2 Ratio"
			    type	string
			    joinnext
			    default	{ "rest2_ratio" }
			    range	{ 0 1 }
			    export	none
			}
			parm {
			    name	"dd_rest2_ratio_intype"
			    label	"Type"
			    type	string
			    default	{ "float" }
			    disablewhen	"{ dd_rest2_ratio_name == \"\" }"
			    menu	{
				"float"	"Float"
				"vector"	"Vector"
				"vector4"	"Vector4"
			    }
			    range	{ 0 1 }
			    export	none
			    unquoted
			    parmtag	{ "script_callback" "if not kwargs['node'].isInsideLockedHDA():kwargs['node'].parm('dd_rest2_ratio_method').set('assign')" }
			    parmtag	{ "script_callback_language" "python" }
			}
			parm {
			    name	"dd_rest2_ratio_method"
			    label	"Conversion to Float"
			    type	string
			    default	{ "assign" }
			    disablewhen	"{ dd_rest2_ratio_name == \"\" } { dd_rest2_ratio_intype == float }"
			    menu	{
				[ "hou.vopNodeTypeCategory().nodeTypes()['typeconvertimpl'].hdaModule().methodmenu(hou.evalParm('dd_rest2_ratio_intype'),'float')" ]
				language	python
			    }
			    range	{ 0 1 }
			    export	none
			}
		    }

		    group {
			name	"dd_folder15_1"
			label	"Fallback"

			parm {
			    name	"dd_spacer16"
			    label	"dd_spacer15"
			    type	label
			    nolabel
			    default	{ "" }
			    range	{ 0 1 }
			    export	none
			}
			parm {
			    name	"dd_fallback_label"
			    label	"fallback_label"
			    type	label
			    nolabel
			    default	{ "Fallback Rest Position Upon Failure (VEX):" }
			    range	{ 0 1 }
			    export	none
			}
			parm {
			    name	"dd_spacer17"
			    label	"dd_spacer16"
			    type	label
			    nolabel
			    default	{ "" }
			    range	{ 0 1 }
			    export	none
			}
			parm {
			    name	"dd_fail_shading"
			    label	"SHADING Contexts"
			    type	string
			    default	{ "ptransform(\"space:object\",P)" }
			    range	{ 0 1 }
			    export	none
			    unquoted
			}
			parm {
			    name	"dd_fail_cop"
			    label	"COP|COP2 Contexts"
			    type	string
			    default	{ "set(X,Y,0)" }
			    range	{ 0 1 }
			    export	none
			    unquoted
			}
			parm {
			    name	"dd_fail_sop"
			    label	"SOP|POP Contexts"
			    type	string
			    default	{ "P" }
			    range	{ 0 1 }
			    export	none
			    unquoted
			}
			parm {
			    name	"dd_fail_chop"
			    label	"CHOP Context"
			    type	string
			    default	{ "set((float)I/SR,V,0)" }
			    range	{ 0 1 }
			    export	none
			    unquoted
			}
			parm {
			    name	"dd_fail_cvex"
			    label	"CVEX Context"
			    type	string
			    default	{ "0" }
			    range	{ 0 1 }
			    export	none
			    unquoted
			}
			parm {
			    name	"dd_fail_fail"
			    label	"Unknown Context"
			    type	string
			    default	{ "0" }
			    range	{ 0 1 }
			    export	none
			    unquoted
			}
		    }

		}

	    }

	}

	group {
	    name	"dd_folder8_1"
	    label	"Amplitude"

	    parm {
		name	"da_name"
		label	"Field Name"
		type	string
		joinnext
		default	{ "" }
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"da_intype"
		label	"Type"
		type	string
		default	{ "float" }
		menu	{
		    "float"	"Float"
		    "vector"	"Vector"
		    "vector4"	"Vector4"
		}
		range	{ 0 1 }
		export	none
		unquoted
		parmtag	{ "script_callback" "__import__('pyro2').updateField(kwargs,'da_intype','da_promote','da_method','da_outtype','DispAmplitude_flt')" }
		parmtag	{ "script_callback_language" "python" }
	    }
	    parm {
		name	"da_promote"
		label	"Promote"
		type	toggle
		joinnext
		default	{ "0" }
		disablewhen	"{ da_name == \"\" }"
		range	{ 0 1 }
		export	none
		parmtag	{ "script_callback" "__import__('pyro2').updateField(kwargs,'da_intype','da_promote','da_method','da_outtype','DispAmplitude_flt')" }
		parmtag	{ "script_callback_language" "python" }
	    }
	    parm {
		name	"da_outtype"
		label	"To Type"
		type	string
		joinnext
		default	{ "float" }
		disablewhen	"{ da_name == \"\" } { da_promote == 0 }"
		menu	{
		    "float"	"Float"
		    "vector"	"Vector"
		    "vector4"	"Vector4"
		}
		range	{ 0 1 }
		export	none
		unquoted
		parmtag	{ "script_callback" "__import__('pyro2').updateField(kwargs,'da_intype','da_promote','da_method','da_outtype','DispAmplitude_flt')" }
		parmtag	{ "script_callback_language" "python" }
	    }
	    parm {
		name	"da_method"
		label	"Method"
		type	string
		nolabel
		joinnext
		default	{ "assign" }
		disablewhen	"{ da_name == \"\" } { da_doconvert == 0 }"
		menu	{
		    [ "hou.vopNodeTypeCategory().nodeTypes()['typeconvertimpl'].hdaModule().methodmenu(hou.evalParm('da_intype'),hou.evalParm('da_outtype'))" ]
		    language	python
		}
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"da_padval"
		label	"Padding Constant"
		type	float
		nolabel
		default	{ "0" }
		disablewhen	"{ da_name == \"\" } { da_promote == 0 } { da_method != padc }"
		range	{ 0 1 }
		export	none
		parmtag	{ "parmvop" "1" }
		parmtag	{ "shaderparmcontexts" "displace" }
	    }
	    parm {
		name	"da_doconvert"
		label	"doconvert"
		type	integer
		invisible
		default	{ "0" }
		range	{ 0 10 }
		export	none
		parmtag	{ "pyro_expression" "evalParm('da_promote') and evalParm('da_intype') != evalParm('da_outtype')" }
		parmtag	{ "pyro_expression_language" "python" }
	    }
	    parm {
		name	"da_dfltval"
		label	"Default Field Value"
		type	float
		size	4
		default	{ "0" "0" "0" "0" }
		disablewhen	"{ da_name != \"\" }"
		range	{ 0 10 }
		export	none
		parmtag	{ "parmvop" "1" }
		parmtag	{ "shaderparmcontexts" "displace" }
	    }
	    parm {
		name	"da_spacer"
		label	"spacer"
		type	label
		nolabel
		default	{ "" }
		range	{ 0 1 }
		export	none
	    }
	    group {
		name	"da_folder8"
		label	"Field Shape"

		parm {
		    name	"da_dofit"
		    label	"Fit to Range (Unclamped)"
		    type	toggle
		    joinnext
		    default	{ "0" }
		    disablewhen	"{ da_name == \"\" }"
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"da_spacer2"
		    label	"da_spacer"
		    type	label
		    nolabel
		    default	{ "" }
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"da_fit_srcmin"
		    label	"Source Range"
		    type	float
		    joinnext
		    default	{ "0" }
		    disablewhen	"{ da_name == \"\" } { da_dofit == 0 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "displace" }
		}
		parm {
		    name	"da_fit_srcmax"
		    label	"Max"
		    type	float
		    nolabel
		    default	{ "1" }
		    disablewhen	"{ da_name == \"\" } { da_dofit == 0 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "displace" }
		}
		parm {
		    name	"da_fit_tgtmin"
		    label	"Target Range"
		    type	float
		    joinnext
		    default	{ "0" }
		    disablewhen	"{ da_name == \"\" } { da_dofit == 0 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "displace" }
		}
		parm {
		    name	"da_fit_tgtmax"
		    label	"Max"
		    type	float
		    nolabel
		    default	{ "1" }
		    disablewhen	"{ da_name == \"\" } { da_dofit == 0 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "displace" }
		}
		parm {
		    name	"da_spacer3"
		    label	"da_spacer2"
		    type	label
		    nolabel
		    default	{ "" }
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"da_doramp"
		    label	"Ramp"
		    type	toggle
		    joinnext
		    default	{ "0" }
		    disablewhen	"{ da_name == \"\" }"
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"da_presets"
		    label	"Presets"
		    type	ordinal
		    nolabel
		    joinnext
		    default	{ "0" }
		    disablewhen	"{ da_name == \"\" } { da_doramp == 0 }"
		    menu	{
			[ "__import__('pyro2').rampPresetMenu(kwargs,'DispAmplitude',True)" ]
			language	python
		    }
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "script_callback" "__import__('pyro2').rampPresetCB(kwargs,'DispAmplitude',True)" }
		    parmtag	{ "script_callback_language" "python" }
		}
		parm {
		    name	"da_spacename"
		    label	" Space"
		    type	string
		    nolabel
		    joinnext
		    default	{ "rgb" }
		    disablewhen	"{ da_name == \"\" } { da_doramp == 0 } { rampswitcher1 == 0 }"
		    menu	{
			"rgb"	"RGB"
			"hsv"	"HSV"
			"Lab"	"LAB"
			"hsl"	"HSL"
			"XYZ"	"XYZ"
		    }
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "displace" }
		}
		parm {
		    name	"da_gammaname"
		    label	"Gamma Type"
		    type	string
		    nolabel
		    joinnext
		    default	{ "linear" }
		    disablewhen	"{ da_name == \"\" } { da_doramp == 0 }"
		    menu	{
			"linear"	"Linear"
			"srgb"	"sRGB"
			"custom"	"Custom"
		    }
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "displace" }
		}
		parm {
		    name	"da_gammaval"
		    label	"Gamma Value"
		    type	float
		    nolabel
		    default	{ "2.2" }
		    disablewhen	"{ da_name == \"\" } { da_doramp == 0 } { da_gammaname != custom }"
		    range	{ 0.0001 4 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "displace" }
		}
		groupradio {
		    name	"da_rampswitcher8"
		    label	"Float"

		    parm {
			name	"DispAmplitude_flt"
			label	"Lookup Ramp"
			type	ramp_flt
			default	{ "2" }
			disablewhen	"{ da_name == \"\" } { da_doramp == 0 }"
			range	{ 1! 10 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "rampbasis_var" "DispAmplitude_flt_the_basis_strings" }
			parmtag	{ "rampbasisdefault" "linear" }
			parmtag	{ "rampkeys_var" "DispAmplitude_flt_the_key_positions" }
			parmtag	{ "rampshowcontrolsdefault" "0" }
			parmtag	{ "rampvalues_var" "DispAmplitude_flt_the_key_values" }
			parmtag	{ "shaderparmcontexts" "displace" }
		    }
		}

		groupradio {
		    name	"da_rampswitcher8_1"
		    label	"Color"

		    parm {
			name	"DispAmplitude_rgb"
			label	"Lookup Ramp"
			type	ramp_rgb
			default	{ "2" }
			disablewhen	"{ da_name == \"\" } { da_doramp == 0 }"
			range	{ 1! 10 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "rampbasis_var" "DispAmplitude_rgb_the_basis_strings" }
			parmtag	{ "rampbasisdefault" "linear" }
			parmtag	{ "rampcolortype" "rgb" }
			parmtag	{ "rampkeys_var" "DispAmplitude_rgb_the_key_positions" }
			parmtag	{ "rampshowcontrolsdefault" "0" }
			parmtag	{ "rampvalues_var" "DispAmplitude_rgb_the_key_values" }
			parmtag	{ "shaderparmcontexts" "displace" }
		    }
		}

		parm {
		    name	"da_ramp_rngmin"
		    label	"Ramp Interval"
		    type	float
		    joinnext
		    default	{ "0" }
		    disablewhen	"{ da_name == \"\" } { da_doramp == 0 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "displace" }
		}
		parm {
		    name	"da_ramp_rngmax"
		    label	"Ramp: Range Max"
		    type	float
		    nolabel
		    default	{ "1" }
		    disablewhen	"{ da_name == \"\" } { da_doramp == 0 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "displace" }
		}
		parm {
		    name	"da_lbt"
		    label	"Ramp Boundaries"
		    type	string
		    joinnext
		    default	{ "hold" }
		    disablewhen	"{ da_name == \"\" } { da_doramp == 0 }"
		    menu	{
			"hold"	"Hold"
			"cycle"	"Cycle"
			"accum"	"Cycle-Accumulate"
			"mirror"	"Mirror"
			"slope"	"Slope"
		    }
		    range	{ 0 1 }
		    export	none
		    unquoted
		}
		parm {
		    name	"da_rbt"
		    label	"Right"
		    type	string
		    nolabel
		    default	{ "hold" }
		    disablewhen	"{ da_name == \"\" } { da_doramp == 0 }"
		    menu	{
			"hold"	"Hold"
			"cycle"	"Cycle"
			"accum"	"Cycle-Accumulate"
			"mirror"	"Mirror"
			"slope"	"Slope"
		    }
		    range	{ 0 1 }
		    export	none
		    unquoted
		}
		parm {
		    name	"da_spacer4"
		    label	"da_spacer3"
		    type	label
		    nolabel
		    default	{ "" }
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"da_docontour"
		    label	"Enable Contour"
		    type	toggle
		    nolabel
		    joinnext
		    default	{ "0" }
		    disablewhen	"{ da_name == \"\" }"
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"da_contour_width"
		    label	"Contour: Width"
		    type	float
		    joinnext
		    default	{ "0.02" }
		    disablewhen	"{ da_name == \"\" } { da_docontour == 0 }"
		    range	{ 0 0.1 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "displace" }
		}
		parm {
		    name	"da_contour_sharp"
		    label	"Sharpness"
		    type	float
		    default	{ "4" }
		    disablewhen	"{ da_name == \"\" } { da_docontour == 0 }"
		    range	{ 0 10 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "displace" }
		}
		parm {
		    name	"da_dosclip"
		    label	"Enable Soft Clip"
		    type	toggle
		    nolabel
		    joinnext
		    default	{ "0" }
		    disablewhen	"{ da_name == \"\" }"
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"da_sclip_start"
		    label	"SoftClip: Start"
		    type	float
		    joinnext
		    default	{ "0.8" }
		    disablewhen	"{ da_name == \"\" } { da_dosclip == 0 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "displace" }
		}
		parm {
		    name	"da_sclip_suppress"
		    label	"  Suppress"
		    type	float
		    default	{ "1" }
		    disablewhen	"{ da_name == \"\" } { da_dosclip == 0 }"
		    range	{ 0 10 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "displace" }
		}
		parm {
		    name	"da_spacer5"
		    label	"da_spacer4"
		    type	label
		    nolabel
		    default	{ "" }
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"da_dolowlimit"
		    label	"Enable Lower Limit"
		    type	toggle
		    nolabel
		    joinnext
		    default	{ "0" }
		    disablewhen	"{ da_name == \"\" }"
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"da_lowlimit"
		    label	"Clamp to Min"
		    type	float
		    default	{ "0" }
		    disablewhen	"{ da_name == \"\" } { da_dolowlimit == 0 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "displace" }
		}
		parm {
		    name	"da_dohighlimit"
		    label	"Enable Upper Limit"
		    type	toggle
		    nolabel
		    joinnext
		    default	{ "0" }
		    disablewhen	"{ da_name == \"\" }"
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"da_highlimit"
		    label	"Clamp to Max"
		    type	float
		    default	{ "1" }
		    disablewhen	"{ da_name == \"\" } { da_dohighlimit == 0 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "displace" }
		}
		parm {
		    name	"da_spacer6"
		    label	"da_spacer5"
		    type	label
		    nolabel
		    default	{ "" }
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"da_amp"
		    label	"Final Amplitude"
		    type	float
		    default	{ "1" }
		    range	{ 0 2 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "displace" }
		}
	    }

	    group {
		name	"da_folder8_1"
		label	"Field Noise"

		parm {
		    name	"da_active"
		    label	"Active"
		    type	toggle
		    default	{ "0" }
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"da_ntype"
		    label	"Noise Output Type"
		    type	ordinal
		    joinnext
		    default	{ "0" }
		    disablewhen	"{ da_active == 0 }"
		    menu	{
			[ "d3 = (\"default\", \"Float\", \"v3\", \"Vector\")" ]
			[ "d4 = (\"f4\", \"Float\", \"v4\", \"Vector\")" ]
			[ "return (d3,d4)[kwargs[\"node\"].evalParm(\"da_dim4\")]" ]
			language	python
		    }
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"da_dim4"
		    label	"Space"
		    type	ordinal
		    joinnext
		    default	{ "0" }
		    disablewhen	"{ da_active == 0 }"
		    menu	{
			"0"	"3D"
			"1"	"4D"
		    }
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"da_time"
		    label	"Time"
		    type	float
		    default	{ "0" }
		    disablewhen	"{ da_active == 0 } { da_dim4 == 0 }"
		    range	{ 0 10 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "displace" }
		}
		parm {
		    name	"da_fieldop"
		    label	"Field Operation"
		    type	string
		    default	{ "add" }
		    disablewhen	"{ da_active == 0 }"
		    menu	{
			"add"	"Offset (Field + Noise)"
			"mult"	"Scale (Field * Noise)"
		    }
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"da_spacer7"
		    label	"da_spacer6"
		    type	label
		    nolabel
		    default	{ "" }
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"da_freq"
		    label	"Frequency"
		    type	float
		    size	4
		    default	{ "1" "1" "1" "1" }
		    disablewhen	"{ da_active == 0 }"
		    range	{ 0 10 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "displace" }
		}
		parm {
		    name	"da_offset"
		    label	"Offset"
		    type	float
		    size	4
		    default	{ "0" "0" "0" "0" }
		    disablewhen	"{ da_active == 0 }"
		    range	{ 0 10 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "displace" }
		}
		parm {
		    name	"da_period"
		    label	"Period"
		    type	float
		    size	4
		    default	{ "1" "1" "1" "1" }
		    disablewhen	"{ da_active == 0 } { da_basis != pperlin da_basis != pflow }"
		    range	{ 0 10 }
		    export	none
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "shaderparmcontexts" "displace" }
		}
		parm {
		    name	"da_spacer8"
		    label	"da_spacer7"
		    type	label
		    nolabel
		    default	{ "" }
		    range	{ 0 1 }
		    export	none
		}
		group {
		    name	"da_folder10"
		    label	"Construction"

		    parm {
			name	"da_basis"
			label	"Noise Type"
			type	string
			default	{ "simplex" }
			disablewhen	"{ da_active == 0 }"
			menu	{
			    "sine"	"Sinusoid"
			    "perlin"	"Perlin"
			    "pperlin"	"Periodic Perlin"
			    "simplex"	"Simplex (Improved Perlin)"
			    "sparse"	"Sparse Convolution"
			    "flow"	"Flow"
			    "pflow"	"Periodic Flow"
			    "worleyFA"	"Worley (cellular) F1"
			    "worleyFB"	"Worley (cellular) F2-F1"
			    "alligator"	"Alligator"
			}
			range	{ 0 1 }
			export	none
			unquoted
		    }
		    parm {
			name	"da_inv"
			label	"Complement"
			type	toggle
			default	{ "off" }
			disablewhen	"{ da_active == 0 }"
			range	{ 0 1 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "displace" }
		    }
		    parm {
			name	"da_fold"
			label	"Fold"
			type	toggle
			default	{ "off" }
			disablewhen	"{ da_active == 0 }"
			range	{ 0 1 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "displace" }
		    }
		    parm {
			name	"da_expon"
			label	"Exponent"
			type	float
			default	{ "1" }
			disablewhen	"{ da_active == 0 }"
			range	{ 0 2 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "displace" }
		    }
		    parm {
			name	"da_dolwarp"
			label	"Enable Lattice Warp"
			type	toggle
			nolabel
			joinnext
			default	{ "off" }
			disablewhen	"{ da_active == 0 }"
			range	{ 0 1 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "displace" }
		    }
		    parm {
			name	"da_disp"
			label	"Lattice Warp"
			type	float
			joinnext
			default	{ "0" }
			disablewhen	"{ da_active == 0 } { da_dolwarp == 0 }"
			range	{ -0.5 0.5 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "displace" }
		    }
		    parm {
			name	"da_dispfreq"
			label	"Freq"
			type	float
			default	{ "1" }
			disablewhen	"{ da_active == 0 } { da_dolwarp == 0 }"
			range	{ 0 1 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "displace" }
		    }
		    parm {
			name	"da_dogwarp"
			label	"Enable Gradient Warp"
			type	toggle
			nolabel
			joinnext
			default	{ "off" }
			disablewhen	"{ da_active == 0 }"
			range	{ 0 1 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "displace" }
		    }
		    parm {
			name	"da_gflow"
			label	"Gradient Warp"
			type	float
			default	{ "0" }
			disablewhen	"{ da_active == 0 } { da_dogwarp == 0 }"
			range	{ -0.5 0.5 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "displace" }
		    }
		    parm {
			name	"da_flowrot"
			label	"Flow Rotation"
			type	float
			default	{ "0" }
			disablewhen	"{ da_active == 0 } { da_basis != flow da_basis != pflow }"
			range	{ 0 10 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "displace" }
		    }
		    parm {
			name	"da_spacer9"
			label	"da_spacer8"
			type	label
			nolabel
			default	{ "" }
			range	{ 0 1 }
			export	none
		    }
		    parm {
			name	"da_fractal"
			label	"Fractal Type"
			type	string
			default	{ "none" }
			disablewhen	"{ da_active == 0 }"
			menu	{
			    "none"	"None"
			    "fBm"	"Standard (fBm)"
			    "mfT"	"Terrain"
			    "hmfT"	"Hybrid Terrain"
			}
			range	{ 0 1 }
			export	none
			unquoted
		    }
		    parm {
			name	"da_accuml"
			label	"Accumulate Lattice Warp"
			type	toggle
			default	{ "off" }
			disablewhen	"{ da_active == 0 } { da_fractal == none }"
			range	{ 0 1 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "displace" }
		    }
		    parm {
			name	"da_accumg"
			label	"Accumulate Gradient Warp"
			type	toggle
			default	{ "off" }
			disablewhen	"{ da_active == 0 } { da_fractal == none }"
			range	{ 0 1 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "displace" }
		    }
		    parm {
			name	"da_oct"
			label	"Max Octaves"
			type	float
			default	{ "8" }
			disablewhen	"{ da_active == 0 } { da_fractal == none }"
			range	{ 0 16 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "displace" }
		    }
		    parm {
			name	"da_lac"
			label	"Lacunarity"
			type	float
			default	{ "2.01234" }
			disablewhen	"{ da_active == 0 } { da_fractal == none }"
			range	{ 0 4 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "displace" }
		    }
		    parm {
			name	"da_rough"
			label	"Roughness"
			type	float
			default	{ "0.5" }
			disablewhen	"{ da_active == 0 } { da_fractal == none }"
			range	{ 0 1 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "displace" }
		    }
		}

		group {
		    name	"da_folder10_1"
		    label	"Output"

		    parm {
			name	"da_docc"
			label	"Enable Output Correction"
			type	toggle
			default	{ "on" }
			disablewhen	"{ da_active == 0 }"
			range	{ 0 1 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "displace" }
		    }
		    parm {
			name	"da_spacer10"
			label	"da_spacer9"
			type	label
			nolabel
			default	{ "" }
			range	{ 0 1 }
			export	none
		    }
		    parm {
			name	"da_cc_dobias"
			label	"Do Bias"
			type	toggle
			nolabel
			joinnext
			default	{ "off" }
			disablewhen	"{ da_active == 0 } { da_docc == 0 }"
			range	{ 0 1 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "displace" }
		    }
		    parm {
			name	"da_cc_bias"
			label	"Bias"
			type	float
			size	3
			default	{ "0.5" "0.5" "0.5" }
			disablewhen	"{ da_active == 0 } { da_docc == 0 } { da_cc_dobias == 0 }"
			range	{ 0 10 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "displace" }
		    }
		    parm {
			name	"da_cc_dogain"
			label	"Do Gain"
			type	toggle
			nolabel
			joinnext
			default	{ "off" }
			disablewhen	"{ da_active == 0 } { da_docc == 0 }"
			range	{ 0 1 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "displace" }
		    }
		    parm {
			name	"da_cc_gain"
			label	"Gain"
			type	float
			size	3
			default	{ "0.5" "0.5" "0.5" }
			disablewhen	"{ da_active == 0 } { da_docc == 0 } { da_cc_dogain == 0 }"
			range	{ 0 10 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "displace" }
		    }
		    parm {
			name	"da_spacer11"
			label	"da_spacer10"
			type	label
			nolabel
			default	{ "" }
			range	{ 0 1 }
			export	none
		    }
		    parm {
			name	"da_cc_inv"
			label	"Complement"
			type	toggle
			default	{ "off" }
			disablewhen	"{ da_active == 0 } { da_docc == 0 }"
			range	{ 0 1 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "displace" }
		    }
		    parm {
			name	"da_spacer12"
			label	"da_spacer11"
			type	label
			nolabel
			default	{ "" }
			range	{ 0 1 }
			export	none
		    }
		    parm {
			name	"da_cc_dorng"
			label	"Output Range (Clamped)"
			type	toggle
			default	{ "on" }
			disablewhen	"{ da_active == 0 } { da_docc == 0 }"
			range	{ 0 1 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "displace" }
		    }
		    parm {
			name	"da_cc_rnglo"
			label	"New Minimum"
			type	float
			size	3
			default	{ "-1" "-1" "-1" }
			disablewhen	"{ da_active == 0 } { da_docc == 0 } { da_cc_dorng == 0 }"
			range	{ 0 10 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "displace" }
		    }
		    parm {
			name	"da_cc_rnghi"
			label	"New Maximum"
			type	float
			size	3
			default	{ "1" "1" "1" }
			disablewhen	"{ da_active == 0 } { da_docc == 0 } { da_cc_dorng == 0 }"
			range	{ 0 10 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "displace" }
		    }
		    parm {
			name	"da_spacer13"
			label	"da_spacer12"
			type	label
			nolabel
			default	{ "" }
			range	{ 0 1 }
			export	none
		    }
		    parm {
			name	"da_cc_amp"
			label	"Final Amplitude"
			type	float
			size	3
			default	{ "1" "1" "1" }
			disablewhen	"{ da_active == 0 } { da_docc == 0 }"
			range	{ 0 10 }
			export	none
			parmtag	{ "parmvop" "1" }
			parmtag	{ "shaderparmcontexts" "displace" }
		    }
		}

		group {
		    name	"da_folder10_2"
		    label	"Rest Position"

		    group {
			name	"da_folder13"
			label	"Fields"

			parm {
			    name	"da_spacer14"
			    label	"da_spacer13"
			    type	label
			    nolabel
			    default	{ "" }
			    range	{ 0 1 }
			    export	none
			}
			parm {
			    name	"da_restinterp"
			    label	"Ratio Interpolation"
			    type	integer
			    default	{ "0" }
			    menu	{
				"0"	"Unmodified (Linear)"
				"1"	"Cubic"
				"2"	"Cosine"
			    }
			    range	{ 0 10 }
			    export	none
			    parmtag	{ "parmvop" "1" }
			    parmtag	{ "shaderparmcontexts" "displace" }
			}
			parm {
			    name	"da_spacer15"
			    label	"da_spacer14"
			    type	label
			    nolabel
			    default	{ "" }
			    range	{ 0 1 }
			    export	none
			}
			parm {
			    name	"da_rest_name"
			    label	"Rest Position 1"
			    type	string
			    joinnext
			    default	{ "rest" }
			    range	{ 0 1 }
			    export	none
			}
			parm {
			    name	"da_rest_intype"
			    label	"Type"
			    type	string
			    default	{ "vector" }
			    disablewhen	"{ da_rest_name == \"\" }"
			    menu	{
				"float"	"Float"
				"vector"	"Vector"
				"vector4"	"Vector4"
			    }
			    range	{ 0 1 }
			    export	none
			    unquoted
			    parmtag	{ "script_callback" "if not kwargs['node'].isInsideLockedHDA():kwargs['node'].parm('da_rest_method').set('assign')" }
			    parmtag	{ "script_callback_language" "python" }
			}
			parm {
			    name	"da_rest_method"
			    label	"Conversion to Vector"
			    type	string
			    joinnext
			    default	{ "assign" }
			    disablewhen	"{ da_rest_name == \"\" } { da_rest_intype == vector }"
			    menu	{
				[ "hou.vopNodeTypeCategory().nodeTypes()['typeconvertimpl'].hdaModule().methodmenu(hou.evalParm('da_rest_intype'),'vector')" ]
				language	python
			    }
			    range	{ 0 1 }
			    export	none
			}
			parm {
			    name	"da_rest_padval"
			    label	"Padding Constant"
			    type	float
			    nolabel
			    default	{ "0" }
			    disablewhen	"{ da_rest_name == \"\" } { rest_promote == 0 } { da_rest_method != padc }"
			    range	{ 0 1 }
			    export	none
			}
			parm {
			    name	"da_rest_ratio_name"
			    label	"Rest1 Ratio"
			    type	string
			    joinnext
			    default	{ "rest_ratio" }
			    range	{ 0 1 }
			    export	none
			}
			parm {
			    name	"da_rest_ratio_intype"
			    label	"Type"
			    type	string
			    default	{ "float" }
			    disablewhen	"{ da_rest_ratio_name == \"\" }"
			    menu	{
				"float"	"Float"
				"vector"	"Vector"
				"vector4"	"Vector4"
			    }
			    range	{ 0 1 }
			    export	none
			    unquoted
			    parmtag	{ "script_callback" "if not kwargs['node'].isInsideLockedHDA():kwargs['node'].parm('da_rest_ratio_method').set('assign')" }
			    parmtag	{ "script_callback_language" "python" }
			}
			parm {
			    name	"da_rest_ratio_method"
			    label	"Conversion to Float"
			    type	string
			    default	{ "assign" }
			    disablewhen	"{ da_rest_ratio_name == \"\" } { da_rest_ratio_intype == float }"
			    menu	{
				[ "hou.vopNodeTypeCategory().nodeTypes()['typeconvertimpl'].hdaModule().methodmenu(hou.evalParm('da_rest_ratio_intype'),'float')" ]
				language	python
			    }
			    range	{ 0 1 }
			    export	none
			}
			parm {
			    name	"da_rest2_name"
			    label	"Rest Position 2"
			    type	string
			    joinnext
			    default	{ "rest2" }
			    range	{ 0 1 }
			    export	none
			}
			parm {
			    name	"da_rest2_intype"
			    label	"Type"
			    type	string
			    default	{ "vector" }
			    disablewhen	"{ da_rest2_name == \"\" }"
			    menu	{
				"float"	"Float"
				"vector"	"Vector"
				"vector4"	"Vector4"
			    }
			    range	{ 0 1 }
			    export	none
			    unquoted
			    parmtag	{ "script_callback" "if not kwargs['node'].isInsideLockedHDA():kwargs['node'].parm('da_rest2_method').set('assign')" }
			    parmtag	{ "script_callback_language" "python" }
			}
			parm {
			    name	"da_rest2_method"
			    label	"Conversion to Vector"
			    type	string
			    joinnext
			    default	{ "assign" }
			    disablewhen	"{ da_rest2_name == \"\" } { da_rest2_intype == vector }"
			    menu	{
				[ "hou.vopNodeTypeCategory().nodeTypes()['typeconvertimpl'].hdaModule().methodmenu(hou.evalParm('da_rest2_intype'),'vector')" ]
				language	python
			    }
			    range	{ 0 1 }
			    export	none
			}
			parm {
			    name	"da_rest2_padval"
			    label	"Padding Constant"
			    type	float
			    nolabel
			    default	{ "0" }
			    disablewhen	"{ da_rest2_name == \"\" } { rest2_promote == 0 } { da_rest2_method != padc }"
			    range	{ 0 1 }
			    export	none
			}
			parm {
			    name	"da_rest2_ratio_name"
			    label	"Rest2 Ratio"
			    type	string
			    joinnext
			    default	{ "rest2_ratio" }
			    range	{ 0 1 }
			    export	none
			}
			parm {
			    name	"da_rest2_ratio_intype"
			    label	"Type"
			    type	string
			    default	{ "float" }
			    disablewhen	"{ da_rest2_ratio_name == \"\" }"
			    menu	{
				"float"	"Float"
				"vector"	"Vector"
				"vector4"	"Vector4"
			    }
			    range	{ 0 1 }
			    export	none
			    unquoted
			    parmtag	{ "script_callback" "if not kwargs['node'].isInsideLockedHDA():kwargs['node'].parm('da_rest2_ratio_method').set('assign')" }
			    parmtag	{ "script_callback_language" "python" }
			}
			parm {
			    name	"da_rest2_ratio_method"
			    label	"Conversion to Float"
			    type	string
			    default	{ "assign" }
			    disablewhen	"{ da_rest2_ratio_name == \"\" } { da_rest2_ratio_intype == float }"
			    menu	{
				[ "hou.vopNodeTypeCategory().nodeTypes()['typeconvertimpl'].hdaModule().methodmenu(hou.evalParm('da_rest2_ratio_intype'),'float')" ]
				language	python
			    }
			    range	{ 0 1 }
			    export	none
			}
		    }

		    group {
			name	"da_folder13_1"
			label	"Fallback"

			parm {
			    name	"da_spacer16"
			    label	"da_spacer15"
			    type	label
			    nolabel
			    default	{ "" }
			    range	{ 0 1 }
			    export	none
			}
			parm {
			    name	"da_fallback_label"
			    label	"fallback_label"
			    type	label
			    nolabel
			    default	{ "Fallback Rest Position Upon Failure (VEX):" }
			    range	{ 0 1 }
			    export	none
			}
			parm {
			    name	"da_spacer17"
			    label	"da_spacer16"
			    type	label
			    nolabel
			    default	{ "" }
			    range	{ 0 1 }
			    export	none
			}
			parm {
			    name	"da_fail_shading"
			    label	"SHADING Contexts"
			    type	string
			    default	{ "ptransform(\"space:object\",P)" }
			    range	{ 0 1 }
			    export	none
			    unquoted
			}
			parm {
			    name	"da_fail_cop"
			    label	"COP|COP2 Contexts"
			    type	string
			    default	{ "set(X,Y,0)" }
			    range	{ 0 1 }
			    export	none
			    unquoted
			}
			parm {
			    name	"da_fail_sop"
			    label	"SOP|POP Contexts"
			    type	string
			    default	{ "P" }
			    range	{ 0 1 }
			    export	none
			    unquoted
			}
			parm {
			    name	"da_fail_chop"
			    label	"CHOP Context"
			    type	string
			    default	{ "set((float)I/SR,V,0)" }
			    range	{ 0 1 }
			    export	none
			    unquoted
			}
			parm {
			    name	"da_fail_cvex"
			    label	"CVEX Context"
			    type	string
			    default	{ "0" }
			    range	{ 0 1 }
			    export	none
			    unquoted
			}
			parm {
			    name	"da_fail_fail"
			    label	"Unknown Context"
			    type	string
			    default	{ "0" }
			    range	{ 0 1 }
			    export	none
			    unquoted
			}
		    }

		}

	    }

	}

    }

    group {
	name	"folder6_3"
	label	"Shading"

	parm {
	    name	"shade_kmodel"
	    label	"Brightness Model"
	    type	string
	    default	{ "ogl" }
	    menu	{
		"ogl"	"Match Visualization"
		"pbr"	"Match Mantra"
	    }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"shade_dmodel"
	    label	"Density Model"
	    type	string
	    default	{ "ogl" }
	    menu	{
		"ogl"	"Match Visualization (Fire Density As Intensity)"
		"pyro1"	"Fire Density As Actual Density (Pyro1)"
	    }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"FireDensityBlend"
	    label	"Smoke- To Fire-Density Transition Relative To Emit Intensity"
	    type	ramp_flt
	    default	{ "2" }
	    hidewhen	"{ shade_dmodel == ogl }"
	    range	{ 1! 10 }
	    export	none
	    parmtag	{ "parmvop" "1" }
	    parmtag	{ "rampbasis_var" "FireDensityBlend_the_basis_strings" }
	    parmtag	{ "rampbasisdefault" "linear" }
	    parmtag	{ "rampkeys_var" "FireDensityBlend_the_key_positions" }
	    parmtag	{ "rampshowcontrolsdefault" "0" }
	    parmtag	{ "rampvalues_var" "FireDensityBlend_the_key_values" }
	    parmtag	{ "shaderparmcontexts" "surface" }
	}
	parm {
	    name	"shade_fblend_rangemin"
	    label	"Ramp Interval"
	    type	float
	    joinnext
	    default	{ "0" }
	    hidewhen	"{ shade_dmodel == ogl }"
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "parmvop" "1" }
	    parmtag	{ "shaderparmcontexts" "surface" }
	}
	parm {
	    name	"shade_fblend_rangemax"
	    label	"Ramp: Range Max"
	    type	float
	    nolabel
	    default	{ "1" }
	    hidewhen	"{ shade_dmodel == ogl }"
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "parmvop" "1" }
	    parmtag	{ "shaderparmcontexts" "surface" }
	}
	parm {
	    name	"shade_fblend_ftype"
	    label	"Filter"
	    type	string
	    joinnext
	    default	{ "point" }
	    hidewhen	"{ shade_dmodel == ogl }"
	    menu	{
		"point"	"Point"
		"box"	"Box"
		"gauss"	"Gaussian"
	    }
	    range	{ 0 1 }
	    export	none
	    unquoted
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"shade_fblend_fscale"
	    label	"Filter Scale"
	    type	float
	    default	{ "1" }
	    disablewhen	"{ shade_fblend_ftype == point }"
	    hidewhen	"{ shade_dmodel == ogl }"
	    range	{ 0 2 }
	    export	none
	    parmtag	{ "parmvop" "1" }
	    parmtag	{ "shaderparmcontexts" "surface" }
	}
	parm {
	    name	"sepparm3"
	    label	"Separator"
	    type	separator
	    default	{ }
	    hidewhen	"{ shade_dmodel == ogl }"
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"spacer12"
	    label	"spacer"
	    type	label
	    nolabel
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"shade_ksmoke"
	    label	"Smoke Brightness"
	    type	float
	    default	{ "1" }
	    range	{ 0 2 }
	    export	none
	    parmtag	{ "parmvop" "1" }
	    parmtag	{ "shaderparmcontexts" "surface" }
	}
	parm {
	    name	"shade_phase"
	    label	"Scattering Phase"
	    type	float
	    default	{ "0" }
	    range	{ -1 1 }
	    export	none
	    parmtag	{ "parmvop" "1" }
	    parmtag	{ "shaderparmcontexts" "surface" }
	}
	parm {
	    name	"spacer3"
	    label	"spacer"
	    type	label
	    nolabel
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"shade_kemit"
	    label	"Emit Brightness"
	    type	float
	    default	{ "1" }
	    range	{ 0 2 }
	    export	none
	    parmtag	{ "parmvop" "1" }
	    parmtag	{ "shaderparmcontexts" "surface" }
	}
	parm {
	    name	"spacer2"
	    label	"spacer"
	    type	label
	    nolabel
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"shade_doshadows"
	    label	"Calculate Shadows"
	    type	toggle
	    default	{ "on" }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "parmvop" "1" }
	    parmtag	{ "shaderparmcontexts" "surface" }
	}
	parm {
	    name	"shade_cshadow"
	    label	"Shadow Color"
	    type	color
	    size	3
	    default	{ "1" "1" "1" }
	    disablewhen	"{ shade_doshadows == 0 }"
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "parmvop" "1" }
	    parmtag	{ "shaderparmcontexts" "surface" }
	}
	parm {
	    name	"shade_kshadow"
	    label	"Shadow Density"
	    type	float
	    default	{ "1" }
	    disablewhen	"{ shade_doshadows == 0 }"
	    range	{ 0 2 }
	    export	none
	    parmtag	{ "parmvop" "1" }
	    parmtag	{ "shaderparmcontexts" "surface" }
	}
	parm {
	    name	"spacer"
	    label	"spacer"
	    type	label
	    nolabel
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"shop_disable_displace_shader"
	    label	"Disable Displace Shader Rendering"
	    type	toggle
	    invisible
	    default	{ "!ch(\"disp_dispactive\")" }
	    help	"None"
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "spare_category" "Shaders" }
	}
	parm {
	    name	"disp_dispactive"
	    label	"Enable Displacements"
	    type	toggle
	    default	{ "off" }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "parmvop" "1" }
	    parmtag	{ "shaderparmcontexts" "displace" }
	}
	parm {
	    name	"disp_dispnorm"
	    label	"Normalize Displacement Direction"
	    type	toggle
	    default	{ "on" }
	    disablewhen	"{ disp_dispactive == 0 }"
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "parmvop" "1" }
	    parmtag	{ "shaderparmcontexts" "displace" }
	}
	parm {
	    name	"disp_dispscale"
	    label	"Displacement Scale"
	    type	float
	    default	{ "1" }
	    disablewhen	"{ disp_dispactive == 0 }"
	    range	{ -1 1 }
	    export	none
	    parmtag	{ "parmvop" "1" }
	    parmtag	{ "shaderparmcontexts" "displace" }
	}
	parm {
	    name	"vm_displacebound"
	    label	"Displacement Bound"
	    type	float
	    default	{ "1.5*ch(disp_dispscale)" }
	    disablewhen	"{ disp_dispactive == 0 }"
	    range	{ -1 1 }
	    export	none
	    parmtag	{ "parmvop" "1" }
	    parmtag	{ "shaderparmcontexts" "" }
	}
	parm {
	    name	"vm_displacespace"
	    label	"Displacement Space"
	    type	string
	    default	{ "camera" }
	    disablewhen	"{ disp_dispactive == 0 }"
	    menu	{
		"camera"	"Bounds specified in world space"
		"object"	"Bounds specified in object space"
	    }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "parmvop" "1" }
	    parmtag	{ "shaderparmcontexts" "" }
	}
	parm {
	    name	"vm_redice"
	    label	"Re-Dice Displacements"
	    type	toggle
	    default	{ "off" }
	    disablewhen	"{ disp_dispactive == 0 }"
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "parmvop" "1" }
	    parmtag	{ "shaderparmcontexts" "" }
	}
    }

    group {
	name	"folder6_4"
	label	"Filter"

	parm {
	    name	"spacer5"
	    label	"spacer"
	    type	label
	    nolabel
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"labelparm"
	    label	"Texture Filter"
	    type	label
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"sepparm"
	    label	"sepparm"
	    type	separator
	    default	{ }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"ftype_tx"
	    label	"Filter"
	    type	string
	    default	{ "point" }
	    disablewhen	"{ fmode == none }"
	    menu	{
		"point"	"Point"
		"box"	"Box"
		"gauss"	"Gaussian"
	    }
	    range	{ 0 1 }
	    export	none
	    unquoted
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"fscale_tx"
	    label	"Filter Scale"
	    type	float
	    default	{ "1" }
	    disablewhen	"{ ftype_tx == point }"
	    range	{ 0 2 }
	    export	none
	    parmtag	{ "parmvop" "1" }
	    parmtag	{ "shaderparmcontexts" "surface displace" }
	}
	parm {
	    name	"spacer6"
	    label	"spacer"
	    type	label
	    nolabel
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"labelparm2"
	    label	"Noise Filter"
	    type	label
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"sepparm2"
	    label	"sepparm2"
	    type	separator
	    default	{ }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"fscale_noise"
	    label	"Filter Scale"
	    type	float
	    default	{ "1" }
	    range	{ 0 2 }
	    export	none
	    parmtag	{ "parmvop" "1" }
	    parmtag	{ "shaderparmcontexts" "surface displace" }
	}
    }

    group {
	name	"folder6_5"
	label	"Utils"

	group {
	    name	"folder12"
	    label	"Parm Transfers"

	    parm {
		name	"spacer9"
		label	"spacer"
		type	label
		nolabel
		default	{ "" }
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"xferall"
		label	"Apply All Transfers"
		type	button
		joinnext
		default	{ "0" }
		disablewhen	"{ ntransfers == 0 } { xfer_nvalid == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "script_callback" "__import__('pyro2').xferTransfer(kwargs)" }
		parmtag	{ "script_callback_language" "python" }
	    }
	    parm {
		name	"xfer_nvalid"
		label	"nvalid"
		type	integer
		invisible
		default	{ "0" }
		range	{ 0 10 }
		export	none
	    }
	    parm {
		name	"spacer7"
		label	"spacer"
		type	label
		nolabel
		default	{ "" }
		range	{ 0 1 }
		export	none
	    }
	    multiparm {
		name	"ntransfers"
		label	"Transfers"
		default	0

		parm {
		    name	"copy_disable#"
		    label	"Disable This Transfer"
		    type	toggle
		    default	{ "0" }
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"copy_other#"
		    label	"Visualization Op"
		    type	oppath
		    default	{ "" }
		    disablewhen	"{ copy_disable# != 0 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "oprelative" "." }
		    parmtag	{ "script_callback" "__import__('pyro2').xferValidateOther(kwargs,'ntransfers','copy_other','copy_valid','copy_type','xfer_nvalid')" }
		    parmtag	{ "script_callback_language" "python" }
		}
		parm {
		    name	"copy_valid#"
		    label	"copy_valid"
		    type	integer
		    invisible
		    default	{ "0" }
		    range	{ 0 10 }
		    export	none
		}
		parm {
		    name	"copy_type#"
		    label	"copy_type"
		    type	string
		    invisible
		    default	{ "unknown" }
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"copy_dir#"
		    label	"Transfer Direction"
		    type	string
		    default	{ "fromother" }
		    disablewhen	"{ copy_disable# != 0 } { copy_valid# == 0 }"
		    menu	{
			"fromother"	"From Visualization Op To Pyro"
			"frompyro"	"From Pyro To Visualization Op"
		    }
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"copy_setall#"
		    label	"Transfer Affects All Pyro Parameters"
		    type	toggle
		    default	{ "1" }
		    disablewhen	"{ copy_disable# != 0 } { copy_valid# == 0 } { copy_dir# == frompyro }"
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"xfersingle#"
		    label	"Apply This Transfer"
		    type	button
		    default	{ "0" }
		    disablewhen	"{ copy_disable# != 0 } { copy_valid# == 0 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "script_callback" "__import__('pyro2').xferTransfer(kwargs)" }
		    parmtag	{ "script_callback_language" "python" }
		}
	    }

	}

	group {
	    name	"folder12_1"
	    label	"Exports"

	    parm {
		name	"export_cs"
		label	"Smoke Color (vector)"
		type	string
		default	{ "smoke_color" }
		range	{ 0 1 }
		export	none
		unquoted
	    }
	    parm {
		name	"export_ms"
		label	"Smoke Mask (float)"
		type	string
		default	{ "smoke_mask" }
		range	{ 0 1 }
		export	none
		unquoted
	    }
	    parm {
		name	"export_ce"
		label	"Fire Color (vector)"
		type	string
		default	{ "fire_color" }
		range	{ 0 1 }
		export	none
		unquoted
	    }
	    parm {
		name	"export_me"
		label	"Fire Mask (float)"
		type	string
		default	{ "fire_mask" }
		range	{ 0 1 }
		export	none
		unquoted
	    }
	    parm {
		name	"export_se"
		label	"Scatter Color (vector)"
		type	string
		default	{ "scatter_color" }
		range	{ 0 1 }
		export	none
	    }
	}

	parm {
	    name	"link_nvalid"
	    label	"nvalid"
	    type	integer
	    invisible
	    default	{ "0" }
	    range	{ 0 10 }
	    export	none
	}
	parm {
	    name	"link_valid_"
	    label	"link_valid"
	    type	integer
	    invisible
	    default	{ "0" }
	    range	{ 0 10 }
	    export	none
	}
	parm {
	    name	"link_type_"
	    label	"link_type"
	    type	string
	    invisible
	    default	{ "unknown" }
	    range	{ 0 1 }
	    export	none
	}
    }

    parm {
	name	"density"
	label	"Field Parameter Value"
	type	float
	invisible
	default	{ "1" }
	range	{ 0 1 }
	export	none
	parmtag	{ "parmvop" "1" }
	parmtag	{ "shaderparmcontexts" "surface" }
    }
    parm {
	name	"Cd"
	label	"Field Parameter Value"
	type	float
	invisible
	size	3
	default	{ "1" "1" "1" }
	range	{ 0 10 }
	export	none
	parmtag	{ "parmvop" "1" }
	parmtag	{ "shaderparmcontexts" "surface" }
    }
    parm {
	name	"rest"
	label	"Field Parameter Value"
	type	float
	invisible
	size	3
	default	{ "1" "1" "1" }
	range	{ 0 10 }
	export	none
	parmtag	{ "parmvop" "1" }
	parmtag	{ "shaderparmcontexts" "surface" }
    }
    parm {
	name	"rest2"
	label	"Field Parameter Value"
	type	float
	invisible
	size	3
	default	{ "1" "1" "1" }
	range	{ 0 10 }
	export	none
	parmtag	{ "parmvop" "1" }
	parmtag	{ "shaderparmcontexts" "surface" }
    }
    parm {
	name	"rest_ratio"
	label	"Field Parameter Value"
	type	float
	invisible
	default	{ "1" }
	range	{ 0 1 }
	export	none
	parmtag	{ "parmvop" "1" }
	parmtag	{ "shaderparmcontexts" "surface" }
    }
    parm {
	name	"rest2_ratio"
	label	"Field Parameter Value"
	type	float
	invisible
	default	{ "1" }
	range	{ 0 1 }
	export	none
	parmtag	{ "parmvop" "1" }
	parmtag	{ "shaderparmcontexts" "surface" }
    }
    parm {
	name	"DispDirection_Field_Field_final_field_value"
	label	"Field Parameter Value"
	type	float
	invisible
	size	3
	default	{ "1" "1" "1" }
	range	{ 0 10 }
	export	none
	parmtag	{ "parmvop" "1" }
	parmtag	{ "shaderparmcontexts" "displace" }
    }
    parm {
	name	"DispAmplitude_Field_Field_final_field_value"
	label	"Field Parameter Value"
	type	float
	invisible
	default	{ "1" }
	range	{ 0 1 }
	export	none
	parmtag	{ "parmvop" "1" }
	parmtag	{ "shaderparmcontexts" "displace" }
    }
    parm {
	name	"Ce"
	label	"Ce"
	type	color
	invisible
	size	3
	default	{ "0" "0" "0" }
	range	{ 0 1 }
	export	none
	parmtag	{ "parmvop" "1" }
	parmtag	{ "shaderparmcontexts" "surface" }
    }
    parm {
	name	"SmokeColor_Field_Field_final_field_value"
	label	"Field Parameter Value"
	type	float
	invisible
	default	{ "1" }
	range	{ 0 1 }
	export	none
	parmtag	{ "parmvop" "1" }
	parmtag	{ "shaderparmcontexts" "surface" }
    }
    parm {
	name	"EmitDensity_Field_Field_final_field_value"
	label	"Field Parameter Value"
	type	float
	invisible
	default	{ "1" }
	range	{ 0 1 }
	export	none
	parmtag	{ "parmvop" "1" }
	parmtag	{ "shaderparmcontexts" "surface" }
    }
    parm {
	name	"EmitColor_Field_Field_final_field_value"
	label	"Field Parameter Value"
	type	float
	invisible
	default	{ "1" }
	range	{ 0 1 }
	export	none
	parmtag	{ "parmvop" "1" }
	parmtag	{ "shaderparmcontexts" "surface" }
    }
    parm {
	name	"smoke_color"
	label	"smoke_color"
	type	color
	invisible
	size	3
	default	{ "0" "0" "0" }
	range	{ 0 1 }
	export	none
	parmtag	{ "parmvop" "1" }
	parmtag	{ "shaderparmcontexts" "surface" }
    }
    parm {
	name	"smoke_mask"
	label	"smoke_mask"
	type	float
	invisible
	default	{ "0" }
	range	{ 0 1 }
	export	none
	parmtag	{ "parmvop" "1" }
	parmtag	{ "shaderparmcontexts" "surface" }
    }
    parm {
	name	"fire_color"
	label	"fire_color"
	type	color
	invisible
	size	3
	default	{ "0" "0" "0" }
	range	{ 0 1 }
	export	none
	parmtag	{ "parmvop" "1" }
	parmtag	{ "shaderparmcontexts" "surface" }
    }
    parm {
	name	"fire_mask"
	label	"fire_mask"
	type	float
	invisible
	default	{ "0" }
	range	{ 0 1 }
	export	none
	parmtag	{ "parmvop" "1" }
	parmtag	{ "shaderparmcontexts" "surface" }
    }
    parm {
	name	"scatter_color"
	label	"scatter_color"
	type	color
	invisible
	size	3
	default	{ "0" "0" "0" }
	range	{ 0 1 }
	export	none
	parmtag	{ "parmvop" "1" }
	parmtag	{ "shaderparmcontexts" "surface" }
    }
}
INDX              Contents       WS7   DialogScript   W  !OQ0707070000010000000006660000000000000000010000001237543365600001300000000000TRAILER!!! # Dialog script for gasshred automatically generated 06/14/12 17:01:11

{
    name	gasshred
    script	gasshred
    label	"Gas Shred"


    help {
	""
    }

    inputlabel	1	"Input 1"
    inputlabel	2	"Input 2"
    inputlabel	3	"Input 3"
    inputlabel	4	"Input 4"

    parm {
	name	"visualize_shredding"
	label	"Visualize Shredding"
	type	toggle
	default	{ "off" }
	range	{ 0 1 }
	export	none
	parmtag	{ "autoscope" "0000000000000000" }
    }
    parm {
	name	"modify_temperature"
	label	"Modify Temperature Through Shredding"
	type	toggle
	default	{ "off" }
	range	{ 0 1 }
	export	none
	parmtag	{ "autoscope" "0000000000000000" }
	parmtag	{ "parmvop" "1" }
    }
    parm {
	name	"timescale"
	label	"Time Scale"
	type	float
	default	{ "1" }
	range	{ 0 10 }
	export	none
	parmtag	{ "autoscope" "0000000000000000" }
    }
    group {
	name	"shred_settings"
	label	"Shred Settings"

	parm {
	    name	"shred_scale"
	    label	"Scale"
	    type	float
	    default	{ "0.5" }
	    range	{ 0 10 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"temp_threshold"
	    label	"Temperature Threshold"
	    type	float
	    default	{ "0.75" }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	    parmtag	{ "parmvop" "1" }
	}
	parm {
	    name	"fade"
	    label	"Threshold Width"
	    type	float
	    default	{ "0.1" }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	    parmtag	{ "parmvop" "1" }
	}
	parm {
	    name	"squash"
	    label	"Squash"
	    type	float
	    default	{ "1" }
	    range	{ 0 10 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	    parmtag	{ "parmvop" "1" }
	}
	parm {
	    name	"stretch"
	    label	"Stretch"
	    type	float
	    default	{ "0.5" }
	    range	{ 0 10 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	    parmtag	{ "parmvop" "1" }
	}
	parm {
	    name	"clip_gradient"
	    label	"Clip Influence Gradient"
	    type	toggle
	    nolabel
	    joinnext
	    default	{ "on" }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	    parmtag	{ "parmvop" "1" }
	}
	parm {
	    name	"clip_value"
	    label	"Clip Gradient"
	    type	float
	    default	{ "7" }
	    disablewhen	"{ clip_gradient == 0 }"
	    range	{ 0 10 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	    parmtag	{ "parmvop" "1" }
	}
	parm {
	    name	"temp_inf_rate"
	    label	"Temp Influence Rate"
	    type	float
	    default	{ "0.2" }
	    disablewhen	"{ modify_temperature == 0 }"
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	    parmtag	{ "parmvop" "1" }
	}
    }

    group {
	name	"shred_settings_1"
	label	"Control Settings"

	parm {
	    name	"use_control_field"
	    label	"Use Control Field"
	    type	toggle
	    nolabel
	    joinnext
	    default	{ "off" }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	    parmtag	{ "parmvop" "1" }
	}
	parm {
	    name	"control_field"
	    label	"Control Field"
	    type	string
	    default	{ "temperature" }
	    disablewhen	"{ use_control_field == 0 }"
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"control_influence"
	    label	"Control Influence"
	    type	float
	    default	{ "0.5" }
	    disablewhen	"{ use_control_field == 0 }"
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	    parmtag	{ "parmvop" "1" }
	}
	parm {
	    name	"control_min"
	    label	"Control Min"
	    type	float
	    default	{ "0" }
	    disablewhen	"{ use_control_field == 0 }"
	    range	{ 0 10 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	    parmtag	{ "parmvop" "1" }
	}
	parm {
	    name	"control_max"
	    label	"Control Max"
	    type	float
	    default	{ "1" }
	    disablewhen	"{ use_control_field == 0 }"
	    range	{ 0 10 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	    parmtag	{ "parmvop" "1" }
	}
	parm {
	    name	"remap_control_field"
	    label	"Remap Control Field"
	    type	toggle
	    default	{ "off" }
	    disablewhen	"{ use_control_field == 0 }"
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	    parmtag	{ "parmvop" "1" }
	}
	parm {
	    name	"control_field_ramp"
	    label	"Control Field Ramp"
	    type	ramp_flt
	    default	{ "2" }
	    disablewhen	"{ remap_control_field == 0 } { use_control_field == 0 }"
	    range	{ 1! 10 }
	    export	none
	    parmtag	{ "rampbasis_var" "control_field_ramp_the_basis_strings" }
	    parmtag	{ "rampkeys_var" "control_field_ramp_the_key_positions" }
	    parmtag	{ "rampvalues_var" "control_field_ramp_the_key_values" }
	    parmtag	{ "autoscope" "0000000000000000" }
	    parmtag	{ "rampfloatdefault" "1pos ( 0 ) 1value ( 0 ) 1interp ( linear ) 2pos ( 1 ) 2value ( 1 ) 2interp ( linear )" }
	    parmtag	{ "parmvop" "1" }
	    parmtag	{ "rampshowcontrolsdefault" "0" }
	    parmtag	{ "rampbasisdefault" "linear" }
	}
    }

    group {
	name	"shred_settings_2"
	label	"Visualization"

	parm {
	    name	"guideplane2"
	    label	"Plane Orientation"
	    type	ordinal
	    default	{ "xy" }
	    disablewhen	"{ visualize_shredding == 0 }"
	    menu	{
		"xy"	"XY plane     "
		"yz"	"YZ plane"
		"zx"	"ZX plane"
	    }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"guidevistype2"
	    label	"Visualization Type"
	    type	ordinal
	    default	{ "speed" }
	    disablewhen	"{ visualize_shredding == 0 }"
	    menu	{
		"none"	"None"
		"distance"	"Distance"
		"speed"	"Speed"
		"origin"	"Origin"
		"dir"	"Direction     "
		"value"	"Value"
	    }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"guidevismode2"
	    label	"Visualization Mode"
	    type	ordinal
	    default	{ "false" }
	    disablewhen	"{ visualize_shredding == 0 }"
	    menu	{
		"false"	"Infra-Red"
		"pink"	"White to Red"
		"mono"	"Grayscale"
		"blackbody"	"Black Body"
		"bipartite"	"Two-Tone"
	    }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"guidevisscale2"
	    label	"Visualization Scale"
	    type	float
	    default	{ "1" }
	    disablewhen	"{ visualize_shredding == 0 }"
	    range	{ 0 10 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"guideplaneval2"
	    label	"Plane Position"
	    type	float
	    default	{ "0" }
	    disablewhen	"{ visualize_shredding == 0 }"
	    range	{ -1! 1! }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"guidestreamerlen2"
	    label	"Streamer Length"
	    type	float
	    default	{ "1" }
	    disablewhen	"{ visualize_shredding == 0 }"
	    range	{ 0 10 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"guidestreamerminspeed2"
	    label	"Streamer Minimum Speed"
	    type	float
	    default	{ "0.001" }
	    disablewhen	"{ visualize_shredding == 0 }"
	    range	{ 0 10 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"guiderange3"
	    label	"Visualization Range"
	    type	float
	    size	2
	    default	{ "0" "5" }
	    disablewhen	"{ visualize_shredding == 0 }"
	    range	{ 0 10 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
    }

    group {
	name	"shred_settings_3"
	label	"Temporary Fields"

	parm {
	    name	"clear_temporary_fields"
	    label	"Clear Temporary Fields"
	    type	toggle
	    default	{ "1" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"gradient_field"
	    label	"Gradient Field"
	    type	string
	    default	{ "gradient" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"shred_temp"
	    label	"Shred Temperature Field"
	    type	string
	    default	{ "temptemp" }
	    range	{ 0 1 }
	    export	none
	}
    }

    group {
	name	"shred_settings_4"
	label	"Bindings"

	parm {
	    name	"temperature_field"
	    label	"Temperature Field"
	    type	string
	    default	{ "temperature" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"velocity"
	    label	"Velocity Field"
	    type	string
	    default	{ "vel" }
	    range	{ 0 1 }
	    export	none
	}
    }

    group {
	name	"shred_settings_5"
	label	"Advanced"

	parm {
	    name	"opencl"
	    label	"Use OpenCL"
	    type	toggle
	    default	{ "1" }
	    range	{ 0 1 }
	    export	none
	}
    }

}
INDX              Contents       WS7   DialogScript   W  @OE$A0707070000010000000006660000000000000000010000001237543365700001300000000000TRAILER!!! # Dialog script for pyroNoise automatically generated 02/22/12 12:22:09

{
    name	pyroNoise
    script	pyroNoise
    label	"Pyro Noise"

    input	float	signal	Signal
    input	vector	pos	"Primary Sample Position"
    input	vector	pos2	"Secondary Sample Position (for dual-rest)"
    input	float	time	"Position in the Fourth Dimension"
    input	float	kpos	"Weight of noise texture sampled at the primary position (for dual-rest)"
    input	float	kpos2	"Weight of noise texture sampled at the secondary position (for dual-rest)"
    input	vector4	freq	Frequency
    input	vector4	offset	Offset
    input	vector4	period	Period
    input	int	inv	Complement
    input	int	fold	Fold
    input	float	expon	Exponent
    input	int	dolwarp	"Enable Lattice Warp"
    input	float	disp	"Lattice Warp"
    input	float	dispfreq	"Lattice Warp Freq"
    input	int	dogwarp	"Enable Gradient Warp"
    input	float	gflow	"Gradient Warp"
    input	float	flowrot	Flow
    input	int	accuml	"Accumulate Lattice Warp"
    input	int	accumg	"Accumulate Gradient Warp"
    input	float	oct	"Max Octaves"
    input	float	lac	Lacunarity
    input	float	rough	Roughness
    input	int	docc	"Output Correction"
    input	int	cc_dobias	"Do Bias"
    input	vector	cc_bias	Bias
    input	int	cc_dogain	"Do Gain"
    input	vector	cc_gain	Gain
    input	int	cc_inv	Complement
    input	int	cc_dorng	"Remap Range"
    input	vector	cc_rnglo	"Range Min"
    input	vector	cc_rnghi	"Range Max"
    input	vector	cc_amp	"Final Amplitude"
    input	float	fw	"Filter Width Override"
    input	float	fscale	"Filter Scale"
    output	float	signal_final	signal_final
    output	float	signal_raw	signal_raw
    output	float	noise	noise
    output	float	noise_average	noise_average
    output	float	noise_octaves	noise_octaves
    output	float	noise_offset	noise_offset
    inputflags	signal	0
    inputflags	pos	0
    inputflags	pos2	0
    inputflags	time	0
    inputflags	kpos	0
    inputflags	kpos2	0
    inputflags	freq	0
    inputflags	offset	0
    inputflags	period	0
    inputflags	inv	0
    inputflags	fold	0
    inputflags	expon	0
    inputflags	dolwarp	0
    inputflags	disp	0
    inputflags	dispfreq	0
    inputflags	dogwarp	0
    inputflags	gflow	0
    inputflags	flowrot	0
    inputflags	accuml	0
    inputflags	accumg	0
    inputflags	oct	0
    inputflags	lac	0
    inputflags	rough	0
    inputflags	docc	0
    inputflags	cc_dobias	0
    inputflags	cc_bias	0
    inputflags	cc_dogain	0
    inputflags	cc_gain	0
    inputflags	cc_inv	0
    inputflags	cc_dorng	0
    inputflags	cc_rnglo	0
    inputflags	cc_rnghi	0
    inputflags	cc_amp	0
    inputflags	fw	0
    inputflags	fscale	0
    signature	"Float Signal"	default	{ float vector vector float float float vector4 vector4 vector4 int int float int float float int float float int int float float float int int vector int vector int int vector vector vector float float float float float float float float }
    signature	"Vector Signal"	v	{ vector vector vector float float float vector4 vector4 vector4 int int float int float float int float float int int float float float int int vector int vector int int vector vector vector float float float float float float float float }
    signature	"Vector4 Signal"	p	{ vector4 vector vector float float float vector4 vector4 vector4 int int float int float float int float float int int float float float int int vector int vector int int vector vector vector float float float float float float float float }

    outputoverrides	default
    {
	___begin	auto
			(0)
	___begin	auto
			(0)
	___begin	auto
			(0)
	___begin	auto
			(0)
	___begin	auto
			(0)
	___begin	auto
			(0)
    }
    outputoverrides	v
    {
	___begin	auto
			(0)
	___begin	auto
			(0)
	___begin	auto
			(0)
	___begin	auto
			(0)
	___begin	auto
			(0)
	___begin	auto
			(0)
    }
    outputoverrides	p
    {
	___begin	auto
			(0)
	___begin	auto
			(0)
	___begin	auto
			(0)
	___begin	auto
			(0)
	___begin	auto
			(0)
	___begin	auto
			(0)
    }

    help {
	""
    }

    parm {
	name	"signature"
	baseparm
	invisible
	export	none
    }
    parm {
	name	"makeui"
	label	"Promote Interface"
	type	button
	nolabel
	default	{ "ui" }
	menu	{
	    [ "import pyro2" ]
	    [ "return pyro2.makeuimenu()" ]
	    language	python
	}
	range	{ 0 1 }
	export	none
	parmtag	{ "script_callback_language" "python" }
	parmtag	{ "script_callback" "hou.phm().uiCreate(kwargs)" }
	parmtag	{ "autoscope" "0000000000000000" }
    }
    group {
	name	"folder1"
	label	"VOP Parameters"

	parm {
	    name	"active"
	    label	"Active"
	    type	toggle
	    default	{ "0" }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"ntype"
	    label	"Noise Output Type"
	    type	ordinal
	    joinnext
	    default	{ "default" }
	    disablewhen	"{ active == 0 }"
	    menu	{
		[ "d3 = (\"default\", \"Float\", \"v3\", \"Vector\")" ]
		[ "d4 = (\"f4\", \"Float\", \"v4\", \"Vector\")" ]
		[ "return (d3,d4)[kwargs[\"node\"].evalParm(\"dim4\")]" ]
		language	python
	    }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"dim4"
	    label	"Space"
	    type	integer
	    joinnext
	    default	{ "0" }
	    disablewhen	"{ active == 0 }"
	    menu	{
		"0"	"3D"
		"1"	"4D"
	    }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"time"
	    label	"Time"
	    type	float
	    default	{ "0" }
	    disablewhen	"{ active == 0 } { dim4 == 0 }"
	    range	{ 0 10 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"fieldop"
	    label	"Field Operation"
	    type	string
	    default	{ "add" }
	    disablewhen	"{ active == 0 }"
	    menu	{
		"add"	"Offset (Field + Noise)"
		"mult"	"Scale (Field * Noise)"
	    }
	    range	{ 0 1 }
	    export	none
	    unquoted
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"freq"
	    label	"Frequency"
	    type	vector4
	    size	4
	    default	{ "1" "1" "1" "1" }
	    disablewhen	"{ active == 0 }"
	    range	{ -1 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"offset"
	    label	"Offset"
	    type	vector4
	    size	4
	    default	{ "0" "0" "0" "0" }
	    disablewhen	"{ active == 0 }"
	    range	{ -1 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"period"
	    label	"Period"
	    type	vector4
	    size	4
	    default	{ "1" "1" "1" "1" }
	    disablewhen	"{ active == 0 } { basis != pperlin basis != pflow }"
	    range	{ 0! 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"fscale"
	    label	"Filter Scale"
	    type	float
	    default	{ "1" }
	    disablewhen	"{ active == 0 } { fractal == none }"
	    range	{ 0! 2 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"labelparm"
	    label	"spacer"
	    type	label
	    nolabel
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	group {
	    name	"folder0"
	    label	"Construction"

	    parm {
		name	"basis"
		label	"Noise Type"
		type	string
		default	{ "simplex" }
		disablewhen	"{ active == 0 }"
		menu	{
		    "sine"	"Sinusoid"
		    "perlin"	"Perlin"
		    "pperlin"	"Periodic Perlin"
		    "simplex"	"Simplex (Improved Perlin)"
		    "sparse"	"Sparse Convolution"
		    "flow"	"Flow"
		    "pflow"	"Periodic Flow"
		    "worleyFA"	"Worley (cellular) F1"
		    "worleyFB"	"Worley (cellular) F2-F1"
		    "alligator"	"Alligator"
		}
		range	{ 0 1 }
		export	none
		unquoted
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"inv"
		label	"Complement"
		type	toggle
		default	{ "off" }
		disablewhen	"{ active == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"fold"
		label	"Fold"
		type	toggle
		default	{ "off" }
		disablewhen	"{ active == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"expon"
		label	"Exponent"
		type	float
		default	{ "1" }
		disablewhen	"{ active == 0 }"
		range	{ 0! 2 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"dolwarp"
		label	"Enable Lattice Warp"
		type	toggle
		nolabel
		joinnext
		default	{ "0" }
		disablewhen	"{ active == 0 }"
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"disp"
		label	"Lattice Warp"
		type	float
		joinnext
		default	{ "0" }
		disablewhen	"{ active == 0 } { dolwarp == 0 }"
		range	{ -0.5 0.5 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"dispfreq"
		label	"Freq"
		type	float
		default	{ "1" }
		disablewhen	"{ active == 0 } { dolwarp == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"dogwarp"
		label	"Enable Gradient Warp"
		type	toggle
		nolabel
		joinnext
		default	{ "0" }
		disablewhen	"{ active == 0 }"
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"gflow"
		label	"Gradient Warp"
		type	float
		default	{ "0" }
		disablewhen	"{ active == 0 } { dogwarp == 0 }"
		range	{ -0.5 0.5 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"flowrot"
		label	"Flow Rotation"
		type	float
		default	{ "0" }
		disablewhen	"{ active == 0 } { basis != flowrot basis != pflow }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"fractal"
		label	"Fractal Type"
		type	string
		default	{ "none" }
		disablewhen	"{ active == 0 }"
		menu	{
		    "none"	"None"
		    "fBm"	"Standard (fBm)"
		    "mfT"	"Terrain"
		    "hmfT"	"Hybrid Terrain"
		}
		range	{ 0 1 }
		export	none
		unquoted
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"accuml"
		label	"Accumulate Lattice Warp"
		type	toggle
		default	{ "off" }
		disablewhen	"{ active == 0 } { fractal == none }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"accumg"
		label	"Accumulate Gradient Warp"
		type	toggle
		default	{ "off" }
		disablewhen	"{ active == 0 } { fractal == none }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"oct"
		label	"Max Octaves"
		type	float
		default	{ "8" }
		disablewhen	"{ active == 0 } { fractal == none }"
		range	{ 0! 16 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"lac"
		label	"Lacunarity"
		type	float
		default	{ "2.01234" }
		disablewhen	"{ active == 0 } { fractal == none }"
		range	{ 0 4 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"rough"
		label	"Roughness"
		type	float
		default	{ "0.5" }
		disablewhen	"{ active == 0 } { fractal == none }"
		range	{ 0! 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	}

	group {
	    name	"folder0_1"
	    label	"Output"

	    parm {
		name	"docc"
		label	"Output Correction"
		type	toggle
		default	{ "off" }
		disablewhen	"{ active == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"labelparm2"
		label	"spacer"
		type	label
		nolabel
		default	{ "" }
		disablewhen	"{ active == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"cc_dobias"
		label	"Do Bias"
		type	toggle
		nolabel
		joinnext
		default	{ "off" }
		disablewhen	"{ active == 0 } { docc == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"cc_bias"
		label	"Bias"
		type	vector
		size	3
		default	{ "0.5" "0.5" "0.5" }
		disablewhen	"{ active == 0 } { docc == 0 } { cc_dobias == 0 }"
		range	{ 0! 1! }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"cc_dogain"
		label	"Do Gain"
		type	toggle
		nolabel
		joinnext
		default	{ "off" }
		disablewhen	"{ active == 0 } { docc == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"cc_gain"
		label	"Gain"
		type	vector
		size	3
		default	{ "0.5" "0.5" "0.5" }
		disablewhen	"{ active == 0 } { docc == 0 } { cc_dogain == 0 }"
		range	{ 0! 1! }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"labelparm3"
		label	"spacer"
		type	label
		nolabel
		default	{ "" }
		disablewhen	"{ active == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"cc_inv"
		label	"Complement"
		type	toggle
		default	{ "off" }
		disablewhen	"{ active == 0 } { docc == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"labelparm4"
		label	"spacer"
		type	label
		nolabel
		default	{ "" }
		disablewhen	"{ active == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"cc_dorng"
		label	"Output Range (Clamped)"
		type	toggle
		default	{ "off" }
		disablewhen	"{ active == 0 } { docc == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"cc_rnglo"
		label	"New Minimum"
		type	vector
		size	3
		default	{ "0" "0" "0" }
		disablewhen	"{ active == 0 } { docc == 0 } { cc_dorng == 0 }"
		range	{ -1 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"cc_rnghi"
		label	"New Maximum"
		type	vector
		size	3
		default	{ "1" "1" "1" }
		disablewhen	"{ active == 0 } { docc == 0 } { cc_dorng == 0 }"
		range	{ 0 2 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"labelparm5"
		label	"spacer"
		type	label
		nolabel
		default	{ "" }
		disablewhen	"{ active == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"cc_amp"
		label	"Final Amplitude"
		type	vector
		size	3
		default	{ "1" "1" "1" }
		disablewhen	"{ active == 0 } { docc == 0 }"
		range	{ 0 2 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	}

    }

    group {
	name	"folder1_1"
	label	"UI Promotion"

	parm {
	    name	"ui_prefix"
	    label	"Parameter Prefix"
	    type	string
	    joinnext
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"ui_postfix"
	    label	"Postfix"
	    type	string
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"ui_infolder"
	    label	"ui_infolder"
	    type	toggle
	    nolabel
	    joinnext
	    default	{ "on" }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"ui_foldername"
	    label	"Create In Folder"
	    type	string
	    default	{ [ "node('.').creator().relativePathTo(node('.')).replace('/','_')" python ] }
	    disablewhen	"{ ui_infolder == 0 }"
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"ui_initsigned"
	    label	"Initialize As Signed Noise"
	    type	toggle
	    joinnext
	    default	{ "off" }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"labelparm9"
	    label	"leftalign"
	    type	label
	    nolabel
	    default	{ "" }
	    disablewhen	"{ active == 0 }"
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"ui_withactive"
	    label	"Add Active Toggle"
	    type	toggle
	    joinnext
	    default	{ "1" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"leftalign"
	    label	"spacer"
	    type	label
	    nolabel
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"ui_activename"
	    label	"Active Name"
	    type	string
	    default	{ "active" }
	    disablewhen	"{ ui_withactive == 0 }"
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"ui_activelabel"
	    label	"Active Label"
	    type	string
	    default	{ "Active" }
	    disablewhen	"{ ui_withactive == 0 }"
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"ui_initactive"
	    label	"Initial Active State"
	    type	toggle
	    default	{ "0" }
	    disablewhen	"{ ui_withactive == 0 }"
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"leftalign3"
	    label	"spacer"
	    type	label
	    nolabel
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"ui_dwhen"
	    label	"Extra Disable When"
	    type	string
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	}
    }

}
INDX              DialogScript      R//*
 * PROPRIETARY INFORMATION.  This software is proprietary to
 * Side Effects Software Inc., and is not to be reproduced,
 * transmitted, or disclosed in any way without written permission.
 *
 * Produced by:
 *	Side Effects Software Inc
 *	477 Richmond Street West
 *	Toronto, Ontario
 *	Canada   M5V 3E7
 *	416-504-9876
 *
 */

#include <parameter.ds>

{
    name	"complement"
    script	"complement"
    label	"complement"

    code {
	"$complem = -$val;"
	"$complem += 1;"
    }

    input	float	val	"Input Value"
    output	float	complem	"Complement: 1 - Input Value"

    signature	"Float"			default	{ }
    signature	"Integer"		i	{ int int }
    signature	"3D Vector"		v	{ vector vector }
    signature	"3D Point"		p	{ point point }
    signature	"3D Normal"		n	{ normal normal }
    signature	"RGB Color"		c	{ color color }
    signature	"4D Vector"		v4	{ vector4 vector4 }

    signature	"Uniform Float"		uf	{ ufloat ufloat }
    signature	"Uniform 3D Vector"	uv	{ uvector uvector }
    signature	"Uniform 3D Point"	up	{ upoint upoint }
    signature	"Uniform 3D Normal"	un	{ unormal unormal }
    signature	"Uniform RGB Color"	uc	{ ucolor ucolor }

    VOP_FLT_PARM(val,   "Value", 1)
    VOP_INT_PARM(val_i, "Value", 1)
    VOP_VEC_PARM(val_v, "Value", 1, 1, 1)
    VOP_VEC_PARM(val_p, "Value", 1, 1, 1)
    VOP_VEC_PARM(val_n, "Value", 1, 1, 1)
    VOP_CLR_PARM(val_c, "Value", 1, 1, 1)
    VOP_VEC4_PARM(val_v4,"Value", 1, 1, 1, 1)
    VOP_FLT_PARM(val_uf, "Value", 1)
    VOP_VEC_PARM(val_uv, "Value", 1, 1, 1)
    VOP_VEC_PARM(val_up, "Value", 1, 1, 1)
    VOP_VEC_PARM(val_un, "Value", 1, 1, 1)
    VOP_CLR_PARM(val_uc, "Value", 1, 1, 1)

    group { name "gv" obsolete 12.0 }
    group { name "gu" obsolete 12.0 }
}
INDX              Contents       WS7   DialogScript   W  O0707070000010000000006660000000000000000010000001237543365600001300000000000TRAILER!!! # Dialog script for gaslocalsharpen automatically generated 06/20/12 11:43:12

{
    name	gaslocalsharpen
    script	gaslocalsharpen
    label	"Gas Local Sharpen"


    help {
	""
    }

    inputlabel	1	"Input 1"
    inputlabel	2	"Input 2"
    inputlabel	3	"Input 3"
    inputlabel	4	"Input 4"

    group {
	name	"folder0"
	label	"Parameters"

	parm {
	    name	"field"
	    label	"Field to Sharpen"
	    type	string
	    default	{ "density" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"sharpenrate"
	    label	"Sharpen Rate"
	    type	float
	    default	{ "0.5" }
	    range	{ 0! 2 }
	    export	none
	}
	parm {
	    name	"locality"
	    label	"Locality"
	    type	integer
	    default	{ "4" }
	    range	{ 1! 10 }
	    export	none
	}
	parm {
	    name	"usetimestep"
	    label	"Use Timestep"
	    type	toggle
	    default	{ "1" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"timescale"
	    label	"Time Scale"
	    type	float
	    default	{ "1" }
	    range	{ 0 10 }
	    export	none
	}
    }

    group {
	name	"folder0_1"
	label	"Fields"

	parm {
	    name	"totalfield"
	    label	"Pre-Sharpen Total"
	    type	string
	    default	{ "temp_total" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"totalprimefield"
	    label	"Post-Sharpen Total"
	    type	string
	    default	{ "temp_totalprime" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"localmaxfield"
	    label	"Local Max"
	    type	string
	    default	{ "temp_localmax" }
	    range	{ 0 1 }
	    export	none
	}
    }

    group {
	name	"folder0_2"
	label	"Advanced"

	parm {
	    name	"opencl"
	    label	"Use OpenCL"
	    type	toggle
	    default	{ "0" }
	    range	{ 0 1 }
	    export	none
	}
    }

}
INDX              DialogScript      R//*
 * PROPRIETARY INFORMATION.  This software is proprietary to
 * Side Effects Software Inc., and is not to be reproduced,
 * transmitted, or disclosed in any way without written permission.
 *
 * Produced by:
 *	Side Effects Software Inc
 *	477 Richmond Street West
 *	Toronto, Ontario
 *	Canada   M5V 3E7
 *	416-504-9876
 *
 */

#include <parameter.ds>

{
    name	"cross"
    script	"cross"
    label	"cross"

    outercode {
	INCLUDE_VOPLIB
    }

    code {
	"$crossprod = vop_cross($vec1, $vec2);"
    }

    output	vector	crossprod	"Cross Product"

    VOP_VEC_INPUT(vec1, "Vector 1", 1, 0, 0)
    VOP_VEC_INPUT(vec2, "Vector 2", 0, 1, 0)

    signature	"3D Vector"		default	{ }
    signature	"3D Vector/Normal"	vn	{ vector normal vector }
    signature	"3D Normal/Vector"	nv	{ normal vector vector }
    signature	"3D Normal/Normal"	nn	{ normal normal vector }

    signature	"Uniform 3D Vector"	   uv	{ uvector uvector uvector }
    signature	"Uniform 3D Vector/Normal" vn	{ uvector unormal uvector }
    signature	"Uniform 3D Normal/Vector" nv	{ unormal uvector uvector }
    signature	"Uniform 3D Normal/Normal" nn	{ unormal unormal uvector }
}
INDX              Contents       WS7   DialogScript   W  qOE%0707070000010000000006660000000000000000010000001237543365700001300000000000TRAILER!!! # Dialog script for ttwswitch automatically generated 02/22/12 12:25:48

{
    name	ttwswitch
    script	ttwswitch
    label	"Typed Two Way Switch"

    code {
	""
    }

    input	int	input1	"Input 1"
    input	int	input2	"Input 2"
    output	int	output	output
    inputflags	input1	0
    inputflags	input2	0
    signature	i_i_0	default	{ int int int }
    signature	i_i_1	i_i_1	{ int int int }
    signature	i_f_0	i_f_0	{ int float int }
    signature	i_f_1	i_f_1	{ int float float }
    signature	i_v_0	i_v_0	{ int vector int }
    signature	i_v_1	i_v_1	{ int vector vector }
    signature	i_v4_0	i_v4_0	{ int vector4 int }
    signature	i_v4_1	i_v4_1	{ int vector4 vector4 }
    signature	i_m3_0	i_m3_0	{ int matrix3 int }
    signature	i_m3_1	i_m3_1	{ int matrix3 matrix3 }
    signature	i_m_0	i_m_0	{ int matrix int }
    signature	i_m_1	i_m_1	{ int matrix matrix }
    signature	i_s_0	i_s_0	{ int string int }
    signature	i_s_1	i_s_1	{ int string string }
    signature	i_ia_0	i_ia_0	{ int inta int }
    signature	i_ia_1	i_ia_1	{ int inta inta }
    signature	i_fa_0	i_fa_0	{ int floata int }
    signature	i_fa_1	i_fa_1	{ int floata floata }
    signature	i_va_0	i_va_0	{ int vectora int }
    signature	i_va_1	i_va_1	{ int vectora vectora }
    signature	i_v4a_0	i_v4a_0	{ int vector4a int }
    signature	i_v4a_1	i_v4a_1	{ int vector4a vector4a }
    signature	i_m3a_0	i_m3a_0	{ int matrix3a int }
    signature	i_m3a_1	i_m3a_1	{ int matrix3a matrix3a }
    signature	i_ma_0	i_ma_0	{ int matrixa int }
    signature	i_ma_1	i_ma_1	{ int matrixa matrixa }
    signature	i_sa_0	i_sa_0	{ int stringa int }
    signature	i_sa_1	i_sa_1	{ int stringa stringa }
    signature	f_i_0	f_i_0	{ float int float }
    signature	f_i_1	f_i_1	{ float int int }
    signature	f_f_0	f_f_0	{ float float float }
    signature	f_f_1	f_f_1	{ float float float }
    signature	f_v_0	f_v_0	{ float vector vector }
    signature	f_v_1	f_v_1	{ float vector vector }
    signature	f_v4_0	f_v4_0	{ float vector4 float }
    signature	f_v4_1	f_v4_1	{ float vector4 vector4 }
    signature	f_m3_0	f_m3_0	{ float matrix3 float }
    signature	f_m3_1	f_m3_1	{ float matrix3 matrix3 }
    signature	f_m_0	f_m_0	{ float matrix float }
    signature	f_m_1	f_m_1	{ float matrix matrix }
    signature	f_s_0	f_s_0	{ float string float }
    signature	f_s_1	f_s_1	{ float string string }
    signature	f_ia_0	f_ia_0	{ float inta float }
    signature	f_ia_1	f_ia_1	{ float inta inta }
    signature	f_fa_0	f_fa_0	{ float floata float }
    signature	f_fa_1	f_fa_1	{ float floata floata }
    signature	f_va_0	f_va_0	{ float vectora float }
    signature	f_va_1	f_va_1	{ float vectora vectora }
    signature	f_v4a_0	f_v4a_0	{ float vector4a float }
    signature	f_v4a_1	f_v4a_1	{ float vector4a vector4a }
    signature	f_m3a_0	f_m3a_0	{ float matrix3a float }
    signature	f_m3a_1	f_m3a_1	{ float matrix3a matrix3a }
    signature	f_ma_0	f_ma_0	{ float matrixa float }
    signature	f_ma_1	f_ma_1	{ float matrixa matrixa }
    signature	f_sa_0	f_sa_0	{ float stringa float }
    signature	f_sa_1	f_sa_1	{ float stringa stringa }
    signature	v_i_0	v_i_0	{ vector int vector }
    signature	v_i_1	v_i_1	{ vector int int }
    signature	v_f_0	v_f_0	{ vector float vector }
    signature	v_f_1	v_f_1	{ vector float float }
    signature	v_v_0	v_v_0	{ vector vector vector }
    signature	v_v_1	v_v_1	{ vector vector vector }
    signature	v_v4_0	v_v4_0	{ vector vector4 vector }
    signature	v_v4_1	v_v4_1	{ vector vector4 vector4 }
    signature	v_m3_0	v_m3_0	{ vector matrix3 vector }
    signature	v_m3_1	v_m3_1	{ vector matrix3 matrix3 }
    signature	v_m_0	v_m_0	{ vector matrix vector }
    signature	v_m_1	v_m_1	{ vector matrix matrix }
    signature	v_s_0	v_s_0	{ vector string vector }
    signature	v_s_1	v_s_1	{ vector string string }
    signature	v_ia_0	v_ia_0	{ vector inta vector }
    signature	v_ia_1	v_ia_1	{ vector inta inta }
    signature	v_fa_0	v_fa_0	{ vector floata vector }
    signature	v_fa_1	v_fa_1	{ vector floata floata }
    signature	v_va_0	v_va_0	{ vector vectora vector }
    signature	v_va_1	v_va_1	{ vector vectora vectora }
    signature	v_v4a_0	v_v4a_0	{ vector vector4a vector }
    signature	v_v4a_1	v_v4a_1	{ vector vector4a vector4a }
    signature	v_m3a_0	v_m3a_0	{ vector matrix3a vector }
    signature	v_m3a_1	v_m3a_1	{ vector matrix3a matrix3a }
    signature	v_ma_0	v_ma_0	{ vector matrixa vector }
    signature	v_ma_1	v_ma_1	{ vector matrixa matrixa }
    signature	v_sa_0	v_sa_0	{ vector stringa vector }
    signature	v_sa_1	v_sa_1	{ vector stringa stringa }
    signature	v4_i_0	v4_i_0	{ vector4 int vector4 }
    signature	v4_i_1	v4_i_1	{ vector4 int int }
    signature	v4_f_0	v4_f_0	{ vector4 float vector4 }
    signature	v4_f_1	v4_f_1	{ vector4 float float }
    signature	v4_v_0	v4_v_0	{ vector4 vector vector4 }
    signature	v4_v_1	v4_v_1	{ vector4 vector vector }
    signature	v4_v4_0	v4_v4_0	{ vector4 vector4 vector4 }
    signature	v4_v4_1	v4_v4_1	{ vector4 vector4 vector4 }
    signature	v4_m3_0	v4_m3_0	{ vector4 matrix3 vector4 }
    signature	v4_m3_1	v4_m3_1	{ vector4 matrix3 matrix3 }
    signature	v4_m_0	v4_m_0	{ vector4 matrix vector4 }
    signature	v4_m_1	v4_m_1	{ vector4 matrix matrix }
    signature	v4_s_0	v4_s_0	{ vector4 string vector4 }
    signature	v4_s_1	v4_s_1	{ vector4 string string }
    signature	v4_ia_0	v4_ia_0	{ vector4 inta vector4 }
    signature	v4_ia_1	v4_ia_1	{ vector4 inta inta }
    signature	v4_fa_0	v4_fa_0	{ vector4 floata vector4 }
    signature	v4_fa_1	v4_fa_1	{ vector4 floata floata }
    signature	v4_va_0	v4_va_0	{ vector4 vectora vector4 }
    signature	v4_va_1	v4_va_1	{ vector4 vectora vectora }
    signature	v4_v4a_0	v4_v4a_0	{ vector4 vector4a vector4 }
    signature	v4_v4a_1	v4_v4a_1	{ vector4 vector4a vector4a }
    signature	v4_m3a_0	v4_m3a_0	{ vector4 matrix3a vector4 }
    signature	v4_m3a_1	v4_m3a_1	{ vector4 matrix3a matrix3a }
    signature	v4_ma_0	v4_ma_0	{ vector4 matrixa vector4 }
    signature	v4_ma_1	v4_ma_1	{ vector4 matrixa matrixa }
    signature	v4_sa_0	v4_sa_0	{ vector4 stringa vector4 }
    signature	v4_sa_1	v4_sa_1	{ vector4 stringa stringa }
    signature	m3_i_0	m3_i_0	{ matrix3 int matrix3 }
    signature	m3_i_1	m3_i_1	{ matrix3 int int }
    signature	m3_f_0	m3_f_0	{ matrix3 float matrix3 }
    signature	m3_f_1	m3_f_1	{ matrix3 float float }
    signature	m3_v_0	m3_v_0	{ matrix3 vector matrix3 }
    signature	m3_v_1	m3_v_1	{ matrix3 vector vector }
    signature	m3_v4_0	m3_v4_0	{ matrix3 vector4 matrix3 }
    signature	m3_v4_1	m3_v4_1	{ matrix3 vector4 vector4 }
    signature	m3_m3_0	m3_m3_0	{ matrix3 matrix3 matrix3 }
    signature	m3_m3_1	m3_m3_1	{ matrix3 matrix3 matrix3 }
    signature	m3_m_0	m3_m_0	{ matrix3 matrix matrix3 }
    signature	m3_m_1	m3_m_1	{ matrix3 matrix matrix }
    signature	m3_s_0	m3_s_0	{ matrix3 string matrix3 }
    signature	m3_s_1	m3_s_1	{ matrix3 string string }
    signature	m3_ia_0	m3_ia_0	{ matrix3 inta matrix3 }
    signature	m3_ia_1	m3_ia_1	{ matrix3 inta inta }
    signature	m3_fa_0	m3_fa_0	{ matrix3 floata matrix3 }
    signature	m3_fa_1	m3_fa_1	{ matrix3 floata floata }
    signature	m3_va_0	m3_va_0	{ matrix3 vectora matrix3 }
    signature	m3_va_1	m3_va_1	{ matrix3 vectora vectora }
    signature	m3_v4a_0	m3_v4a_0	{ matrix3 vector4a matrix3 }
    signature	m3_v4a_1	m3_v4a_1	{ matrix3 vector4a vector4a }
    signature	m3_m3a_0	m3_m3a_0	{ matrix3 matrix3a matrix3 }
    signature	m3_m3a_1	m3_m3a_1	{ matrix3 matrix3a matrix3a }
    signature	m3_ma_0	m3_ma_0	{ matrix3 matrixa matrix3 }
    signature	m3_ma_1	m3_ma_1	{ matrix3 matrixa matrixa }
    signature	m3_sa_0	m3_sa_0	{ matrix3 stringa matrix3 }
    signature	m3_sa_1	m3_sa_1	{ matrix3 stringa stringa }
    signature	m_i_0	m_i_0	{ matrix int matrix }
    signature	m_i_1	m_i_1	{ matrix int int }
    signature	m_f_0	m_f_0	{ matrix float matrix }
    signature	m_f_1	m_f_1	{ matrix float float }
    signature	m_v_0	m_v_0	{ matrix vector matrix }
    signature	m_v_1	m_v_1	{ matrix vector vector }
    signature	m_v4_0	m_v4_0	{ matrix vector4 matrix }
    signature	m_v4_1	m_v4_1	{ matrix vector4 vector4 }
    signature	m_m3_0	m_m3_0	{ matrix matrix3 matrix }
    signature	m_m3_1	m_m3_1	{ matrix matrix3 matrix3 }
    signature	m_m_0	m_m_0	{ matrix matrix matrix }
    signature	m_m_1	m_m_1	{ matrix matrix matrix }
    signature	m_s_0	m_s_0	{ matrix string matrix }
    signature	m_s_1	m_s_1	{ matrix string string }
    signature	m_ia_0	m_ia_0	{ matrix inta matrix }
    signature	m_ia_1	m_ia_1	{ matrix inta inta }
    signature	m_fa_0	m_fa_0	{ matrix floata matrix }
    signature	m_fa_1	m_fa_1	{ matrix floata floata }
    signature	m_va_0	m_va_0	{ matrix vectora matrix }
    signature	m_va_1	m_va_1	{ matrix vectora vectora }
    signature	m_v4a_0	m_v4a_0	{ matrix vector4a matrix }
    signature	m_v4a_1	m_v4a_1	{ matrix vector4a vector4a }
    signature	m_m3a_0	m_m3a_0	{ matrix matrix3a matrix }
    signature	m_m3a_1	m_m3a_1	{ matrix matrix3a matrix3a }
    signature	m_ma_0	m_ma_0	{ matrix matrixa matrix }
    signature	m_ma_1	m_ma_1	{ matrix matrixa matrixa }
    signature	m_sa_0	m_sa_0	{ matrix stringa matrix }
    signature	m_sa_1	m_sa_1	{ matrix stringa stringa }
    signature	s_i_0	s_i_0	{ string int string }
    signature	s_i_1	s_i_1	{ string int int }
    signature	s_f_0	s_f_0	{ string float string }
    signature	s_f_1	s_f_1	{ string float float }
    signature	s_v_0	s_v_0	{ string vector string }
    signature	s_v_1	s_v_1	{ string vector vector }
    signature	s_v4_0	s_v4_0	{ string vector4 string }
    signature	s_v4_1	s_v4_1	{ string vector4 vector4 }
    signature	s_m3_0	s_m3_0	{ string matrix3 string }
    signature	s_m3_1	s_m3_1	{ string matrix3 matrix3 }
    signature	s_m_0	s_m_0	{ string matrix string }
    signature	s_m_1	s_m_1	{ string matrix matrix }
    signature	s_s_0	s_s_0	{ string string string }
    signature	s_s_1	s_s_1	{ string string string }
    signature	s_ia_0	s_ia_0	{ string inta string }
    signature	s_ia_1	s_ia_1	{ string inta inta }
    signature	s_fa_0	s_fa_0	{ string floata string }
    signature	s_fa_1	s_fa_1	{ string floata floata }
    signature	s_va_0	s_va_0	{ string vectora string }
    signature	s_va_1	s_va_1	{ string vectora vectora }
    signature	s_v4a_0	s_v4a_0	{ string vector4a string }
    signature	s_v4a_1	s_v4a_1	{ string vector4a vector4a }
    signature	s_m3a_0	s_m3a_0	{ string matrix3a string }
    signature	s_m3a_1	s_m3a_1	{ string matrix3a matrix3a }
    signature	s_ma_0	s_ma_0	{ string matrixa string }
    signature	s_ma_1	s_ma_1	{ string matrixa matrixa }
    signature	s_sa_0	s_sa_0	{ string stringa string }
    signature	s_sa_1	s_sa_1	{ string stringa stringa }
    signature	ia_i_0	ia_i_0	{ inta int inta }
    signature	ia_i_1	ia_i_1	{ inta int int }
    signature	ia_f_0	ia_f_0	{ inta float inta }
    signature	ia_f_1	ia_f_1	{ inta float float }
    signature	ia_v_0	ia_v_0	{ inta vector inta }
    signature	ia_v_1	ia_v_1	{ inta vector vector }
    signature	ia_v4_0	ia_v4_0	{ inta vector4 inta }
    signature	ia_v4_1	ia_v4_1	{ inta vector4 vector4 }
    signature	ia_m3_0	ia_m3_0	{ inta matrix3 inta }
    signature	ia_m3_1	ia_m3_1	{ inta matrix3 matrix3 }
    signature	ia_m_0	ia_m_0	{ inta matrix inta }
    signature	ia_m_1	ia_m_1	{ inta matrix matrix }
    signature	ia_s_0	ia_s_0	{ inta string inta }
    signature	ia_s_1	ia_s_1	{ inta string string }
    signature	ia_ia_0	ia_ia_0	{ inta inta inta }
    signature	ia_ia_1	ia_ia_1	{ inta inta inta }
    signature	ia_fa_0	ia_fa_0	{ inta floata inta }
    signature	ia_fa_1	ia_fa_1	{ inta floata floata }
    signature	ia_va_0	ia_va_0	{ inta vectora inta }
    signature	ia_va_1	ia_va_1	{ inta vectora vectora }
    signature	ia_v4a_0	ia_v4a_0	{ inta vector4a inta }
    signature	ia_v4a_1	ia_v4a_1	{ inta vector4a vector4a }
    signature	ia_m3a_0	ia_m3a_0	{ inta matrix3a inta }
    signature	ia_m3a_1	ia_m3a_1	{ inta matrix3a matrix3a }
    signature	ia_ma_0	ia_ma_0	{ inta matrixa inta }
    signature	ia_ma_1	ia_ma_1	{ inta matrixa matrixa }
    signature	ia_sa_0	ia_sa_0	{ inta stringa inta }
    signature	ia_sa_1	ia_sa_1	{ inta stringa stringa }
    signature	fa_i_0	fa_i_0	{ floata int floata }
    signature	fa_i_1	fa_i_1	{ floata int int }
    signature	fa_f_0	fa_f_0	{ floata float floata }
    signature	fa_f_1	fa_f_1	{ floata float float }
    signature	fa_v_0	fa_v_0	{ floata vector floata }
    signature	fa_v_1	fa_v_1	{ floata vector vector }
    signature	fa_v4_0	fa_v4_0	{ floata vector4 floata }
    signature	fa_v4_1	fa_v4_1	{ floata vector4 vector4 }
    signature	fa_m3_0	fa_m3_0	{ floata matrix3 floata }
    signature	fa_m3_1	fa_m3_1	{ floata matrix3 matrix3 }
    signature	fa_m_0	fa_m_0	{ floata matrix floata }
    signature	fa_m_1	fa_m_1	{ floata matrix matrix }
    signature	fa_s_0	fa_s_0	{ floata string floata }
    signature	fa_s_1	fa_s_1	{ floata string string }
    signature	fa_ia_0	fa_ia_0	{ floata inta floata }
    signature	fa_ia_1	fa_ia_1	{ floata inta inta }
    signature	fa_fa_0	fa_fa_0	{ floata floata floata }
    signature	fa_fa_1	fa_fa_1	{ floata floata floata }
    signature	fa_va_0	fa_va_0	{ floata vectora floata }
    signature	fa_va_1	fa_va_1	{ floata vectora vectora }
    signature	fa_v4a_0	fa_v4a_0	{ floata vector4a floata }
    signature	fa_v4a_1	fa_v4a_1	{ floata vector4a vector4a }
    signature	fa_m3a_0	fa_m3a_0	{ floata matrix3a floata }
    signature	fa_m3a_1	fa_m3a_1	{ floata matrix3a matrix3a }
    signature	fa_ma_0	fa_ma_0	{ floata matrixa floata }
    signature	fa_ma_1	fa_ma_1	{ floata matrixa matrixa }
    signature	fa_sa_0	fa_sa_0	{ floata stringa floata }
    signature	fa_sa_1	fa_sa_1	{ floata stringa stringa }
    signature	va_i_0	va_i_0	{ vectora int vectora }
    signature	va_i_1	va_i_1	{ vectora int int }
    signature	va_f_0	va_f_0	{ vectora float vectora }
    signature	va_f_1	va_f_1	{ vectora float float }
    signature	va_v_0	va_v_0	{ vectora vector vectora }
    signature	va_v_1	va_v_1	{ vectora vector vector }
    signature	va_v4_0	va_v4_0	{ vectora vector4 vectora }
    signature	va_v4_1	va_v4_1	{ vectora vector4 vector4 }
    signature	va_m3_0	va_m3_0	{ vectora matrix3 vectora }
    signature	va_m3_1	va_m3_1	{ vectora matrix3 matrix3 }
    signature	va_m_0	va_m_0	{ vectora matrix vectora }
    signature	va_m_1	va_m_1	{ vectora matrix matrix }
    signature	va_s_0	va_s_0	{ vectora string vectora }
    signature	va_s_1	va_s_1	{ vectora string string }
    signature	va_ia_0	va_ia_0	{ vectora inta vectora }
    signature	va_ia_1	va_ia_1	{ vectora inta inta }
    signature	va_fa_0	va_fa_0	{ vectora floata vectora }
    signature	va_fa_1	va_fa_1	{ vectora floata floata }
    signature	va_va_0	va_va_0	{ vectora vectora vectora }
    signature	va_va_1	va_va_1	{ vectora vectora vectora }
    signature	va_v4a_0	va_v4a_0	{ vectora vector4a vectora }
    signature	va_v4a_1	va_v4a_1	{ vectora vector4a vector4a }
    signature	va_m3a_0	va_m3a_0	{ vectora matrix3a vectora }
    signature	va_m3a_1	va_m3a_1	{ vectora matrix3a matrix3a }
    signature	va_ma_0	va_ma_0	{ vectora matrixa vectora }
    signature	va_ma_1	va_ma_1	{ vectora matrixa matrixa }
    signature	va_sa_0	va_sa_0	{ vectora stringa vectora }
    signature	va_sa_1	va_sa_1	{ vectora stringa stringa }
    signature	v4a_i_0	v4a_i_0	{ vector4a int vector4a }
    signature	v4a_i_1	v4a_i_1	{ vector4a int int }
    signature	v4a_f_0	v4a_f_0	{ vector4a float vector4a }
    signature	v4a_f_1	v4a_f_1	{ vector4a float float }
    signature	v4a_v_0	v4a_v_0	{ vector4a vector vector4a }
    signature	v4a_v_1	v4a_v_1	{ vector4a vector vector }
    signature	v4a_v4_0	v4a_v4_0	{ vector4a vector4 vector4a }
    signature	v4a_v4_1	v4a_v4_1	{ vector4a vector4 vector4 }
    signature	v4a_m3_0	v4a_m3_0	{ vector4a matrix3 vector4a }
    signature	v4a_m3_1	v4a_m3_1	{ vector4a matrix3 matrix3 }
    signature	v4a_m_0	v4a_m_0	{ vector4a matrix vector4a }
    signature	v4a_m_1	v4a_m_1	{ vector4a matrix matrix }
    signature	v4a_s_0	v4a_s_0	{ vector4a string vector4a }
    signature	v4a_s_1	v4a_s_1	{ vector4a string string }
    signature	v4a_ia_0	v4a_ia_0	{ vector4a inta vector4a }
    signature	v4a_ia_1	v4a_ia_1	{ vector4a inta inta }
    signature	v4a_fa_0	v4a_fa_0	{ vector4a floata vector4a }
    signature	v4a_fa_1	v4a_fa_1	{ vector4a floata floata }
    signature	v4a_va_0	v4a_va_0	{ vector4a vectora vector4a }
    signature	v4a_va_1	v4a_va_1	{ vector4a vectora vectora }
    signature	v4a_v4a_0	v4a_v4a_0	{ vector4a vector4a vector4a }
    signature	v4a_v4a_1	v4a_v4a_1	{ vector4a vector4a vector4a }
    signature	v4a_m3a_0	v4a_m3a_0	{ vector4a matrix3a vector4a }
    signature	v4a_m3a_1	v4a_m3a_1	{ vector4a matrix3a matrix3a }
    signature	v4a_ma_0	v4a_ma_0	{ vector4a matrixa vector4a }
    signature	v4a_ma_1	v4a_ma_1	{ vector4a matrixa matrixa }
    signature	v4a_sa_0	v4a_sa_0	{ vector4a stringa vector4a }
    signature	v4a_sa_1	v4a_sa_1	{ vector4a stringa stringa }
    signature	m3a_i_0	m3a_i_0	{ matrix3a int matrix3a }
    signature	m3a_i_1	m3a_i_1	{ matrix3a int int }
    signature	m3a_f_0	m3a_f_0	{ matrix3a float matrix3a }
    signature	m3a_f_1	m3a_f_1	{ matrix3a float float }
    signature	m3a_v_0	m3a_v_0	{ matrix3a vector matrix3a }
    signature	m3a_v_1	m3a_v_1	{ matrix3a vector vector }
    signature	m3a_v4_0	m3a_v4_0	{ matrix3a vector4 matrix3a }
    signature	m3a_v4_1	m3a_v4_1	{ matrix3a vector4 vector4 }
    signature	m3a_m3_0	m3a_m3_0	{ matrix3a matrix3 matrix3a }
    signature	m3a_m3_1	m3a_m3_1	{ matrix3a matrix3 matrix3 }
    signature	m3a_m_0	m3a_m_0	{ matrix3a matrix matrix3a }
    signature	m3a_m_1	m3a_m_1	{ matrix3a matrix matrix }
    signature	m3a_s_0	m3a_s_0	{ matrix3a string matrix3a }
    signature	m3a_s_1	m3a_s_1	{ matrix3a string string }
    signature	m3a_ia_0	m3a_ia_0	{ matrix3a inta matrix3a }
    signature	m3a_ia_1	m3a_ia_1	{ matrix3a inta inta }
    signature	m3a_fa_0	m3a_fa_0	{ matrix3a floata matrix3a }
    signature	m3a_fa_1	m3a_fa_1	{ matrix3a floata floata }
    signature	m3a_va_0	m3a_va_0	{ matrix3a vectora matrix3a }
    signature	m3a_va_1	m3a_va_1	{ matrix3a vectora vectora }
    signature	m3a_v4a_0	m3a_v4a_0	{ matrix3a vector4a matrix3a }
    signature	m3a_v4a_1	m3a_v4a_1	{ matrix3a vector4a vector4a }
    signature	m3a_m3a_0	m3a_m3a_0	{ matrix3a matrix3a matrix3a }
    signature	m3a_m3a_1	m3a_m3a_1	{ matrix3a matrix3a matrix3a }
    signature	m3a_ma_0	m3a_ma_0	{ matrix3a matrixa matrix3a }
    signature	m3a_ma_1	m3a_ma_1	{ matrix3a matrixa matrixa }
    signature	m3a_sa_0	m3a_sa_0	{ matrix3a stringa matrix3a }
    signature	m3a_sa_1	m3a_sa_1	{ matrix3a stringa stringa }
    signature	ma_i_0	ma_i_0	{ matrixa int matrixa }
    signature	ma_i_1	ma_i_1	{ matrixa int int }
    signature	ma_f_0	ma_f_0	{ matrixa float matrixa }
    signature	ma_f_1	ma_f_1	{ matrixa float float }
    signature	ma_v_0	ma_v_0	{ matrixa vector matrixa }
    signature	ma_v_1	ma_v_1	{ matrixa vector vector }
    signature	ma_v4_0	ma_v4_0	{ matrixa vector4 matrixa }
    signature	ma_v4_1	ma_v4_1	{ matrixa vector4 vector4 }
    signature	ma_m3_0	ma_m3_0	{ matrixa matrix3 matrixa }
    signature	ma_m3_1	ma_m3_1	{ matrixa matrix3 matrix3 }
    signature	ma_m_0	ma_m_0	{ matrixa matrix matrixa }
    signature	ma_m_1	ma_m_1	{ matrixa matrix matrix }
    signature	ma_s_0	ma_s_0	{ matrixa string matrixa }
    signature	ma_s_1	ma_s_1	{ matrixa string string }
    signature	ma_ia_0	ma_ia_0	{ matrixa inta matrixa }
    signature	ma_ia_1	ma_ia_1	{ matrixa inta inta }
    signature	ma_fa_0	ma_fa_0	{ matrixa floata matrixa }
    signature	ma_fa_1	ma_fa_1	{ matrixa floata floata }
    signature	ma_va_0	ma_va_0	{ matrixa vectora matrixa }
    signature	ma_va_1	ma_va_1	{ matrixa vectora vectora }
    signature	ma_v4a_0	ma_v4a_0	{ matrixa vector4a matrixa }
    signature	ma_v4a_1	ma_v4a_1	{ matrixa vector4a vector4a }
    signature	ma_m3a_0	ma_m3a_0	{ matrixa matrix3a matrixa }
    signature	ma_m3a_1	ma_m3a_1	{ matrixa matrix3a matrix3a }
    signature	ma_ma_0	ma_ma_0	{ matrixa matrixa matrixa }
    signature	ma_ma_1	ma_ma_1	{ matrixa matrixa matrixa }
    signature	ma_sa_0	ma_sa_0	{ matrixa stringa matrixa }
    signature	ma_sa_1	ma_sa_1	{ matrixa stringa stringa }
    signature	sa_i_0	sa_i_0	{ stringa int stringa }
    signature	sa_i_1	sa_i_1	{ stringa int int }
    signature	sa_f_0	sa_f_0	{ stringa float stringa }
    signature	sa_f_1	sa_f_1	{ stringa float float }
    signature	sa_v_0	sa_v_0	{ stringa vector stringa }
    signature	sa_v_1	sa_v_1	{ stringa vector vector }
    signature	sa_v4_0	sa_v4_0	{ stringa vector4 stringa }
    signature	sa_v4_1	sa_v4_1	{ stringa vector4 vector4 }
    signature	sa_m3_0	sa_m3_0	{ stringa matrix3 stringa }
    signature	sa_m3_1	sa_m3_1	{ stringa matrix3 matrix3 }
    signature	sa_m_0	sa_m_0	{ stringa matrix stringa }
    signature	sa_m_1	sa_m_1	{ stringa matrix matrix }
    signature	sa_s_0	sa_s_0	{ stringa string stringa }
    signature	sa_s_1	sa_s_1	{ stringa string string }
    signature	sa_ia_0	sa_ia_0	{ stringa inta stringa }
    signature	sa_ia_1	sa_ia_1	{ stringa inta inta }
    signature	sa_fa_0	sa_fa_0	{ stringa floata stringa }
    signature	sa_fa_1	sa_fa_1	{ stringa floata floata }
    signature	sa_va_0	sa_va_0	{ stringa vectora stringa }
    signature	sa_va_1	sa_va_1	{ stringa vectora vectora }
    signature	sa_v4a_0	sa_v4a_0	{ stringa vector4a stringa }
    signature	sa_v4a_1	sa_v4a_1	{ stringa vector4a vector4a }
    signature	sa_m3a_0	sa_m3a_0	{ stringa matrix3a stringa }
    signature	sa_m3a_1	sa_m3a_1	{ stringa matrix3a matrix3a }
    signature	sa_ma_0	sa_ma_0	{ stringa matrixa stringa }
    signature	sa_ma_1	sa_ma_1	{ stringa matrixa matrixa }
    signature	sa_sa_0	sa_sa_0	{ stringa stringa stringa }
    signature	sa_sa_1	sa_sa_1	{ stringa stringa stringa }

    outputoverrides	default
    {
	___begin	auto
			(0)
    }
    outputoverrides	i_i_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	i_f_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	i_f_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	i_v_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	i_v_1
    {
	___begin	auto
			(0,0,0)
    }
    outputoverrides	i_v4_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	i_v4_1
    {
	___begin	auto
			(0,0,0,0)
    }
    outputoverrides	i_m3_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	i_m3_1
    {
	___begin	auto
			(1,0,0,0,1,0,0,0,1)
    }
    outputoverrides	i_m_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	i_m_1
    {
	___begin	auto
			(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)
    }
    outputoverrides	i_s_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	i_s_1
    {
	___begin	auto
			("")
    }
    outputoverrides	i_ia_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	i_ia_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	i_fa_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	i_fa_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	i_va_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	i_va_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	i_v4a_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	i_v4a_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	i_m3a_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	i_m3a_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	i_ma_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	i_ma_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	i_sa_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	i_sa_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	f_i_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	f_i_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	f_f_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	f_f_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	f_v_0
    {
	___begin	auto
			(0,0,0)
    }
    outputoverrides	f_v_1
    {
	___begin	auto
			(0,0,0)
    }
    outputoverrides	f_v4_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	f_v4_1
    {
	___begin	auto
			(0,0,0,0)
    }
    outputoverrides	f_m3_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	f_m3_1
    {
	___begin	auto
			(1,0,0,0,1,0,0,0,1)
    }
    outputoverrides	f_m_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	f_m_1
    {
	___begin	auto
			(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)
    }
    outputoverrides	f_s_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	f_s_1
    {
	___begin	auto
			("")
    }
    outputoverrides	f_ia_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	f_ia_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	f_fa_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	f_fa_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	f_va_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	f_va_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	f_v4a_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	f_v4a_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	f_m3a_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	f_m3a_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	f_ma_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	f_ma_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	f_sa_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	f_sa_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	v_i_0
    {
	___begin	auto
			(0,0,0)
    }
    outputoverrides	v_i_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	v_f_0
    {
	___begin	auto
			(0,0,0)
    }
    outputoverrides	v_f_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	v_v_0
    {
	___begin	auto
			(0,0,0)
    }
    outputoverrides	v_v_1
    {
	___begin	auto
			(0,0,0)
    }
    outputoverrides	v_v4_0
    {
	___begin	auto
			(0,0,0)
    }
    outputoverrides	v_v4_1
    {
	___begin	auto
			(0,0,0,0)
    }
    outputoverrides	v_m3_0
    {
	___begin	auto
			(0,0,0)
    }
    outputoverrides	v_m3_1
    {
	___begin	auto
			(1,0,0,0,1,0,0,0,1)
    }
    outputoverrides	v_m_0
    {
	___begin	auto
			(0,0,0)
    }
    outputoverrides	v_m_1
    {
	___begin	auto
			(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)
    }
    outputoverrides	v_s_0
    {
	___begin	auto
			(0,0,0)
    }
    outputoverrides	v_s_1
    {
	___begin	auto
			("")
    }
    outputoverrides	v_ia_0
    {
	___begin	auto
			(0,0,0)
    }
    outputoverrides	v_ia_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	v_fa_0
    {
	___begin	auto
			(0,0,0)
    }
    outputoverrides	v_fa_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	v_va_0
    {
	___begin	auto
			(0,0,0)
    }
    outputoverrides	v_va_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	v_v4a_0
    {
	___begin	auto
			(0,0,0)
    }
    outputoverrides	v_v4a_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	v_m3a_0
    {
	___begin	auto
			(0,0,0)
    }
    outputoverrides	v_m3a_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	v_ma_0
    {
	___begin	auto
			(0,0,0)
    }
    outputoverrides	v_ma_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	v_sa_0
    {
	___begin	auto
			(0,0,0)
    }
    outputoverrides	v_sa_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	v4_i_0
    {
	___begin	auto
			(0,0,0,0)
    }
    outputoverrides	v4_i_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	v4_f_0
    {
	___begin	auto
			(0,0,0,0)
    }
    outputoverrides	v4_f_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	v4_v_0
    {
	___begin	auto
			(0,0,0,0)
    }
    outputoverrides	v4_v_1
    {
	___begin	auto
			(0,0,0)
    }
    outputoverrides	v4_v4_0
    {
	___begin	auto
			(0,0,0,0)
    }
    outputoverrides	v4_v4_1
    {
	___begin	auto
			(0,0,0,0)
    }
    outputoverrides	v4_m3_0
    {
	___begin	auto
			(0,0,0,0)
    }
    outputoverrides	v4_m3_1
    {
	___begin	auto
			(1,0,0,0,1,0,0,0,1)
    }
    outputoverrides	v4_m_0
    {
	___begin	auto
			(0,0,0,0)
    }
    outputoverrides	v4_m_1
    {
	___begin	auto
			(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)
    }
    outputoverrides	v4_s_0
    {
	___begin	auto
			(0,0,0,0)
    }
    outputoverrides	v4_s_1
    {
	___begin	auto
			("")
    }
    outputoverrides	v4_ia_0
    {
	___begin	auto
			(0,0,0,0)
    }
    outputoverrides	v4_ia_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	v4_fa_0
    {
	___begin	auto
			(0,0,0,0)
    }
    outputoverrides	v4_fa_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	v4_va_0
    {
	___begin	auto
			(0,0,0,0)
    }
    outputoverrides	v4_va_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	v4_v4a_0
    {
	___begin	auto
			(0,0,0,0)
    }
    outputoverrides	v4_v4a_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	v4_m3a_0
    {
	___begin	auto
			(0,0,0,0)
    }
    outputoverrides	v4_m3a_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	v4_ma_0
    {
	___begin	auto
			(0,0,0,0)
    }
    outputoverrides	v4_ma_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	v4_sa_0
    {
	___begin	auto
			(0,0,0,0)
    }
    outputoverrides	v4_sa_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	m3_i_0
    {
	___begin	auto
			(1,0,0,0,1,0,0,0,1)
    }
    outputoverrides	m3_i_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	m3_f_0
    {
	___begin	auto
			(1,0,0,0,1,0,0,0,1)
    }
    outputoverrides	m3_f_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	m3_v_0
    {
	___begin	auto
			(1,0,0,0,1,0,0,0,1)
    }
    outputoverrides	m3_v_1
    {
	___begin	auto
			(0,0,0)
    }
    outputoverrides	m3_v4_0
    {
	___begin	auto
			(1,0,0,0,1,0,0,0,1)
    }
    outputoverrides	m3_v4_1
    {
	___begin	auto
			(0,0,0,0)
    }
    outputoverrides	m3_m3_0
    {
	___begin	auto
			(1,0,0,0,1,0,0,0,1)
    }
    outputoverrides	m3_m3_1
    {
	___begin	auto
			(1,0,0,0,1,0,0,0,1)
    }
    outputoverrides	m3_m_0
    {
	___begin	auto
			(1,0,0,0,1,0,0,0,1)
    }
    outputoverrides	m3_m_1
    {
	___begin	auto
			(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)
    }
    outputoverrides	m3_s_0
    {
	___begin	auto
			(1,0,0,0,1,0,0,0,1)
    }
    outputoverrides	m3_s_1
    {
	___begin	auto
			("")
    }
    outputoverrides	m3_ia_0
    {
	___begin	auto
			(1,0,0,0,1,0,0,0,1)
    }
    outputoverrides	m3_ia_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	m3_fa_0
    {
	___begin	auto
			(1,0,0,0,1,0,0,0,1)
    }
    outputoverrides	m3_fa_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	m3_va_0
    {
	___begin	auto
			(1,0,0,0,1,0,0,0,1)
    }
    outputoverrides	m3_va_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	m3_v4a_0
    {
	___begin	auto
			(1,0,0,0,1,0,0,0,1)
    }
    outputoverrides	m3_v4a_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	m3_m3a_0
    {
	___begin	auto
			(1,0,0,0,1,0,0,0,1)
    }
    outputoverrides	m3_m3a_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	m3_ma_0
    {
	___begin	auto
			(1,0,0,0,1,0,0,0,1)
    }
    outputoverrides	m3_ma_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	m3_sa_0
    {
	___begin	auto
			(1,0,0,0,1,0,0,0,1)
    }
    outputoverrides	m3_sa_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	m_i_0
    {
	___begin	auto
			(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)
    }
    outputoverrides	m_i_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	m_f_0
    {
	___begin	auto
			(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)
    }
    outputoverrides	m_f_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	m_v_0
    {
	___begin	auto
			(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)
    }
    outputoverrides	m_v_1
    {
	___begin	auto
			(0,0,0)
    }
    outputoverrides	m_v4_0
    {
	___begin	auto
			(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)
    }
    outputoverrides	m_v4_1
    {
	___begin	auto
			(0,0,0,0)
    }
    outputoverrides	m_m3_0
    {
	___begin	auto
			(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)
    }
    outputoverrides	m_m3_1
    {
	___begin	auto
			(1,0,0,0,1,0,0,0,1)
    }
    outputoverrides	m_m_0
    {
	___begin	auto
			(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)
    }
    outputoverrides	m_m_1
    {
	___begin	auto
			(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)
    }
    outputoverrides	m_s_0
    {
	___begin	auto
			(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)
    }
    outputoverrides	m_s_1
    {
	___begin	auto
			("")
    }
    outputoverrides	m_ia_0
    {
	___begin	auto
			(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)
    }
    outputoverrides	m_ia_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	m_fa_0
    {
	___begin	auto
			(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)
    }
    outputoverrides	m_fa_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	m_va_0
    {
	___begin	auto
			(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)
    }
    outputoverrides	m_va_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	m_v4a_0
    {
	___begin	auto
			(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)
    }
    outputoverrides	m_v4a_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	m_m3a_0
    {
	___begin	auto
			(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)
    }
    outputoverrides	m_m3a_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	m_ma_0
    {
	___begin	auto
			(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)
    }
    outputoverrides	m_ma_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	m_sa_0
    {
	___begin	auto
			(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)
    }
    outputoverrides	m_sa_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	s_i_0
    {
	___begin	auto
			("")
    }
    outputoverrides	s_i_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	s_f_0
    {
	___begin	auto
			("")
    }
    outputoverrides	s_f_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	s_v_0
    {
	___begin	auto
			("")
    }
    outputoverrides	s_v_1
    {
	___begin	auto
			(0,0,0)
    }
    outputoverrides	s_v4_0
    {
	___begin	auto
			("")
    }
    outputoverrides	s_v4_1
    {
	___begin	auto
			(0,0,0,0)
    }
    outputoverrides	s_m3_0
    {
	___begin	auto
			("")
    }
    outputoverrides	s_m3_1
    {
	___begin	auto
			(1,0,0,0,1,0,0,0,1)
    }
    outputoverrides	s_m_0
    {
	___begin	auto
			("")
    }
    outputoverrides	s_m_1
    {
	___begin	auto
			(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)
    }
    outputoverrides	s_s_0
    {
	___begin	auto
			("")
    }
    outputoverrides	s_s_1
    {
	___begin	auto
			("")
    }
    outputoverrides	s_ia_0
    {
	___begin	auto
			("")
    }
    outputoverrides	s_ia_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	s_fa_0
    {
	___begin	auto
			("")
    }
    outputoverrides	s_fa_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	s_va_0
    {
	___begin	auto
			("")
    }
    outputoverrides	s_va_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	s_v4a_0
    {
	___begin	auto
			("")
    }
    outputoverrides	s_v4a_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	s_m3a_0
    {
	___begin	auto
			("")
    }
    outputoverrides	s_m3a_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	s_ma_0
    {
	___begin	auto
			("")
    }
    outputoverrides	s_ma_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	s_sa_0
    {
	___begin	auto
			("")
    }
    outputoverrides	s_sa_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	ia_i_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	ia_i_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	ia_f_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	ia_f_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	ia_v_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	ia_v_1
    {
	___begin	auto
			(0,0,0)
    }
    outputoverrides	ia_v4_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	ia_v4_1
    {
	___begin	auto
			(0,0,0,0)
    }
    outputoverrides	ia_m3_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	ia_m3_1
    {
	___begin	auto
			(1,0,0,0,1,0,0,0,1)
    }
    outputoverrides	ia_m_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	ia_m_1
    {
	___begin	auto
			(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)
    }
    outputoverrides	ia_s_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	ia_s_1
    {
	___begin	auto
			("")
    }
    outputoverrides	ia_ia_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	ia_ia_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	ia_fa_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	ia_fa_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	ia_va_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	ia_va_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	ia_v4a_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	ia_v4a_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	ia_m3a_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	ia_m3a_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	ia_ma_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	ia_ma_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	ia_sa_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	ia_sa_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	fa_i_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	fa_i_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	fa_f_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	fa_f_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	fa_v_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	fa_v_1
    {
	___begin	auto
			(0,0,0)
    }
    outputoverrides	fa_v4_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	fa_v4_1
    {
	___begin	auto
			(0,0,0,0)
    }
    outputoverrides	fa_m3_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	fa_m3_1
    {
	___begin	auto
			(1,0,0,0,1,0,0,0,1)
    }
    outputoverrides	fa_m_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	fa_m_1
    {
	___begin	auto
			(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)
    }
    outputoverrides	fa_s_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	fa_s_1
    {
	___begin	auto
			("")
    }
    outputoverrides	fa_ia_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	fa_ia_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	fa_fa_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	fa_fa_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	fa_va_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	fa_va_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	fa_v4a_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	fa_v4a_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	fa_m3a_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	fa_m3a_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	fa_ma_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	fa_ma_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	fa_sa_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	fa_sa_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	va_i_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	va_i_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	va_f_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	va_f_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	va_v_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	va_v_1
    {
	___begin	auto
			(0,0,0)
    }
    outputoverrides	va_v4_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	va_v4_1
    {
	___begin	auto
			(0,0,0,0)
    }
    outputoverrides	va_m3_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	va_m3_1
    {
	___begin	auto
			(1,0,0,0,1,0,0,0,1)
    }
    outputoverrides	va_m_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	va_m_1
    {
	___begin	auto
			(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)
    }
    outputoverrides	va_s_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	va_s_1
    {
	___begin	auto
			("")
    }
    outputoverrides	va_ia_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	va_ia_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	va_fa_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	va_fa_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	va_va_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	va_va_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	va_v4a_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	va_v4a_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	va_m3a_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	va_m3a_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	va_ma_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	va_ma_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	va_sa_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	va_sa_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	v4a_i_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	v4a_i_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	v4a_f_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	v4a_f_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	v4a_v_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	v4a_v_1
    {
	___begin	auto
			(0,0,0)
    }
    outputoverrides	v4a_v4_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	v4a_v4_1
    {
	___begin	auto
			(0,0,0,0)
    }
    outputoverrides	v4a_m3_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	v4a_m3_1
    {
	___begin	auto
			(1,0,0,0,1,0,0,0,1)
    }
    outputoverrides	v4a_m_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	v4a_m_1
    {
	___begin	auto
			(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)
    }
    outputoverrides	v4a_s_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	v4a_s_1
    {
	___begin	auto
			("")
    }
    outputoverrides	v4a_ia_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	v4a_ia_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	v4a_fa_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	v4a_fa_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	v4a_va_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	v4a_va_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	v4a_v4a_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	v4a_v4a_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	v4a_m3a_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	v4a_m3a_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	v4a_ma_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	v4a_ma_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	v4a_sa_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	v4a_sa_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	m3a_i_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	m3a_i_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	m3a_f_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	m3a_f_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	m3a_v_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	m3a_v_1
    {
	___begin	auto
			(0,0,0)
    }
    outputoverrides	m3a_v4_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	m3a_v4_1
    {
	___begin	auto
			(0,0,0,0)
    }
    outputoverrides	m3a_m3_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	m3a_m3_1
    {
	___begin	auto
			(1,0,0,0,1,0,0,0,1)
    }
    outputoverrides	m3a_m_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	m3a_m_1
    {
	___begin	auto
			(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)
    }
    outputoverrides	m3a_s_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	m3a_s_1
    {
	___begin	auto
			("")
    }
    outputoverrides	m3a_ia_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	m3a_ia_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	m3a_fa_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	m3a_fa_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	m3a_va_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	m3a_va_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	m3a_v4a_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	m3a_v4a_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	m3a_m3a_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	m3a_m3a_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	m3a_ma_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	m3a_ma_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	m3a_sa_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	m3a_sa_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	ma_i_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	ma_i_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	ma_f_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	ma_f_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	ma_v_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	ma_v_1
    {
	___begin	auto
			(0,0,0)
    }
    outputoverrides	ma_v4_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	ma_v4_1
    {
	___begin	auto
			(0,0,0,0)
    }
    outputoverrides	ma_m3_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	ma_m3_1
    {
	___begin	auto
			(1,0,0,0,1,0,0,0,1)
    }
    outputoverrides	ma_m_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	ma_m_1
    {
	___begin	auto
			(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)
    }
    outputoverrides	ma_s_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	ma_s_1
    {
	___begin	auto
			("")
    }
    outputoverrides	ma_ia_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	ma_ia_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	ma_fa_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	ma_fa_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	ma_va_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	ma_va_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	ma_v4a_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	ma_v4a_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	ma_m3a_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	ma_m3a_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	ma_ma_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	ma_ma_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	ma_sa_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	ma_sa_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	sa_i_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	sa_i_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	sa_f_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	sa_f_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	sa_v_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	sa_v_1
    {
	___begin	auto
			(0,0,0)
    }
    outputoverrides	sa_v4_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	sa_v4_1
    {
	___begin	auto
			(0,0,0,0)
    }
    outputoverrides	sa_m3_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	sa_m3_1
    {
	___begin	auto
			(1,0,0,0,1,0,0,0,1)
    }
    outputoverrides	sa_m_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	sa_m_1
    {
	___begin	auto
			(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)
    }
    outputoverrides	sa_s_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	sa_s_1
    {
	___begin	auto
			("")
    }
    outputoverrides	sa_ia_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	sa_ia_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	sa_fa_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	sa_fa_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	sa_va_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	sa_va_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	sa_v4a_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	sa_v4a_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	sa_m3a_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	sa_m3a_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	sa_ma_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	sa_ma_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	sa_sa_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	sa_sa_1
    {
	___begin	auto
			(0)
    }

    help {
	""
    }

    parm {
	name	"signature"
	baseparm
	invisible
	export	none
    }
    parm {
	name	"index"
	label	"Index"
	type	integer
	default	{ "0" }
	range	{ 0! 1! }
	export	none
    }
}
INDX              DialogScript      R//*
 * PROPRIETARY INFORMATION.  This software is proprietary to
 * Side Effects Software Inc., and is not to be reproduced,
 * transmitted, or disclosed in any way without written permission.
 *
 * Produced by:
 *	Side Effects Software Inc
 *	477 Richmond Street West
 *	Toronto, Ontario
 *	Canada   M5V 3E7
 *	416-504-9876
 *
 */

#include <parameter.ds>

{
    name	"vectofloat"
    script	"vectofloat"
    label	"vectofloat"

    outercode {
	INCLUDE_VOPLIB
    }

    code {
	"vop_vectofloat($vec, $fval1, $fval2, $fval3);"
    }

    input	vector	vec	"Input Vector"
    output	float	fval1	"Component 1"
    output	float	fval2	"Component 2"
    output	float	fval3	"Component 3"

    VOP_VEC_PARM(vec, "Value",   0, 0, 0)
    VOP_VEC_PARM(vec_p, "Value",  0, 0, 0)
    VOP_VEC_PARM(vec_n, "Value", 0, 0, 0)
    VOP_CLR_PARM(vec_c, "Value",  0, 0, 0)

    VOP_VEC_PARM(vec_uv, "Value", 0, 0, 0)
    VOP_VEC_PARM(vec_up, "Value",  0, 0, 0)
    VOP_VEC_PARM(vec_un, "Value", 0, 0, 0)
    VOP_CLR_PARM(vec_uc, "Value",  0, 0, 0)

    signature	"3D Vector"	default	{ vector float float float }
    signature	"3D Point"	p	{ point float float float }
    signature	"3D Normal"	n	{ normal float float float }
    signature	"RGB Color"	c	{ color float float float }

    signature	"Uniform 3D Vector"	uv	{ uvector ufloat ufloat ufloat }
    signature	"Uniform 3D Point"	up	{ upoint ufloat ufloat ufloat }
    signature	"Uniform 3D Normal"	un	{ unormal ufloat ufloat ufloat }
    signature	"Uniform RGB Color"	uc	{ ucolor ufloat ufloat ufloat }
}
INDX              Contents       WS7   DialogScript   W  =Q0707070000010000000006660000000000000000010000001237543366300001300000000000TRAILER!!! # Dialog script for geometryvopglobal automatically generated 05/22/13 15:13:22

{
    name	geometryvopglobal
    script	geometryvopglobal
    label	"Geometry VOP Global Parameters"

    output	vector	P	P
    output	vector	v	Velocity
    output	vector	force	Force
    output	float	life	Life
    output	float	age	Age
    output	int	id	Id
    output	vector	Cd	Cd
    output	vector	N	N
    output	float	Time	Time
    output	float	Timeinc	"Time Inc"
    output	float	Frame	Frame
    output	int	ptnum	"Point Number"
    output	int	primnum	"Primitive Number"
    output	int	vtxnum	"Vertex Number"
    output	int	numpt	"Number of Points"
    output	int	numprim	"Number of Prims"
    output	int	numvtx	"Number of Vertices"
    output	string	OpInput1	"First Input"
    output	string	OpInput2	"Second Input"
    output	string	OpInput3	"Third Input"
    output	string	OpInput4	"Fourth Input"
    signature	"Default Inputs"	default	{ vector vector vector float float int vector vector float float float int int int int int int string string string string }

    outputoverrides	default
    {
	___begin	auto
			(0,0,0)
	___begin	auto
			(0,0,0)
	___begin	auto
			(0,0,0)
	___begin	auto
			(0)
	___begin	auto
			(0)
	___begin	auto
			(0)
	___begin	auto
			(0,0,0)
	___begin	auto
			(0,0,0)
	___begin	auto
			(0)
	___begin	auto
			(0)
	___begin	auto
			(0)
	___begin	auto
			(0)
	___begin	auto
			(0)
	___begin	auto
			(0)
	___begin	auto
			(0)
	___begin	auto
			(0)
	___begin	auto
			(0)
	___begin	auto
			("")
	___begin	auto
			("")
	___begin	auto
			("")
	___begin	auto
			("")
    }

    help {
	""
    }

}
INDX              DialogScript       OE$3# Dialog script for pyroFieldNoiseOp automatically generated 02/22/12 12:21:55

{
    name	pyroFieldNoiseOp
    script	pyroSigNoiseOp
    label	"Pyro Field-Noise Op"

    outercode {
	""
    }

    code {
	""
	"$modsig = $in_signal;"
	""
	"#if $active"
	"   #if !strcmp($signature,\"pf\") || !strcmp($signature,\"pv\")"
	"      #if !strcmp(\"$op\",\"add\")"
	"         $modsig = $in_signal + (vector4) $in_noise;"
	"      #else"
	"         $modsig = $in_signal * (vector4) $in_noise;"
	"      #endif"
	"   #else"
	"      #if !strcmp(\"$op\",\"add\")"
	"         $modsig = $in_signal + $in_noise;"
	"      #else"
	"         $modsig = $in_signal * $in_noise;"
	"      #endif"
	"   #endif"
	"#endif"
    }

    input	float	in_signal	"Signal (Field)"
    input	float	in_noise	Noise
    output	float	modsig	"Modified Signal"
    inputflags	in_signal	0
    inputflags	in_noise	0
    signature	"Float Sig, Float Noise"	default	{ float float float }
    signature	"Float Sig, Vector Noise"	fv	{ float vector vector }
    signature	"Vector Signal, Float Noise"	vf	{ vector float vector }
    signature	"Vector Signal, Vector Noise"	vv	{ vector vector vector }
    signature	"Vector4 Signal, Float Noise"	pf	{ vector4 float vector4 }
    signature	"Vector4 Signal, Vector Noise"	pv	{ float float float }

    outputoverrides	default
    {
	___begin	auto
			(0)
    }
    outputoverrides	fv
    {
	___begin	auto
			(0,0,0)
    }
    outputoverrides	vf
    {
	___begin	auto
			(0,0,0)
    }
    outputoverrides	vv
    {
	___begin	auto
			(0,0,0)
    }
    outputoverrides	pf
    {
	___begin	auto
			(0,0,0,0)
    }
    outputoverrides	pv
    {
	___begin	auto
			(0)
    }

    help {
	""
    }

    parm {
	name	"signature"
	baseparm
	export	none
    }
    parm {
	name	"active"
	label	"Active"
	type	toggle
	default	{ "1" }
	range	{ 0 1 }
	export	none
    }
    parm {
	name	"op"
	label	"Operation"
	type	string
	default	{ "add" }
	disablewhen	"{ active == 0 }"
	menu	{
	    "add"	"Add"
	    "mult"	"Multiply"
	}
	range	{ 0 1 }
	export	none
	unquoted
    }
}
INDX              Contents       WS7   DialogScript   W }Ri@&0707070000010000000006660000000000000000010000001237543365600001300000000000TRAILER!!! # Dialog script for smokeconfigureobject automatically generated 10/24/13 11:43:34

{
    name	smokeconfigureobject
    script	smokeconfigureobject
    label	"Smoke Configure Object"


    help {
	""
    }
    bindhandle sizex xform "Transformer" sx ""
    bindhandle sizey xform "Transformer" sy ""
    bindhandle sizez xform "Transformer" sz ""
    bindhandle tx xform "Transformer" tx ""
    bindhandle ty xform "Transformer" ty ""
    bindhandle tz xform "Transformer" tz ""

    inputlabel	1	"Objects to be processed"
    inputlabel	2	"Input 1"
    inputlabel	3	"Input 2"
    inputlabel	4	"Input 3"

    parm {
	name	"twod"
	label	"Two Dimensional"
	type	toggle
	nolabel
	joinnext
	default	{ "off" }
	range	{ 0 1 }
	export	all
	parmtag	{ "autoscope" "0000000000000000" }
    }
    parm {
	name	"voxelplane"
	label	"Two Dimensional"
	type	ordinal
	default	{ "xy" }
	menu	{
	    "xy"	"XY plane    "
	    "yz"	"YZ plane"
	    "zx"	"ZX plane"
	}
	range	{ 0 1 }
	export	none
	parmtag	{ "autoscope" "0000000000000000" }
    }
    parm {
	name	"uniformvoxels"
	label	"Division Method"
	type	ordinal
	default	{ "max" }
	menu	{
	    "nonsquare"	"Non Square"
	    "x"	"X Axis"
	    "y"	"Y Axis"
	    "z"	"Z Axis"
	    "max"	"Max Axis"
	    "size"	"By Size"
	}
	range	{ 0 1 }
	export	none
	parmtag	{ "autoscope" "0000000000000000" }
    }
    parm {
	name	"uniformdiv"
	label	"Uniform Divisions"
	type	integer
	default	{ "10" }
	disablewhen	"{ uniformvoxels == nonsquare } { uniformvoxels == size }"
	hidewhen	"{ uniformvoxels == nonsquare } { uniformvoxels == size }"
	range	{ 1! 300 }
	export	all
	parmtag	{ "autoscope" "0000000000000000" }
    }
    parm {
	name	"div"
	label	"Divisions"
	type	integer
	size	3
	default	{ "10" "10" "10" }
	disablewhen	"{ uniformvoxels != nonsquare }"
	hidewhen	"{ uniformvoxels != nonsquare }"
	range	{ 1! 1000 }
	export	none
	parmtag	{ "autoscope" "0000" }
    }
    parm {
	name	"divsize"
	label	"Division Size"
	type	float
	default	{ "0.1" }
	disablewhen	"{ uniformvoxels != size }"
	hidewhen	"{ uniformvoxels != size }"
	range	{ 0! 10 }
	export	none
	parmtag	{ "autoscope" "0000000000000000" }
	parmtag	{ "units" "m1" }
    }
    parm {
	name	"size"
	label	"Size"
	type	vector
	size	3
	default	{ "1" "1" "1" }
	range	{ 0! 10 }
	export	none
	parmtag	{ "autoscope" "0000" }
	parmtag	{ "units" "m1" }
    }
    parm {
	name	"t"
	label	"Center"
	type	vector
	size	3
	default	{ "0" "0" "0" }
	range	{ -1 1 }
	export	none
	parmtag	{ "autoscope" "0000" }
	parmtag	{ "units" "m1" }
    }
    group {
	name	"std_switcher_0"
	label	"Guides"

	group {
	    name	"folder0"
	    label	"Visualization"

	    parm {
		name	"multifield_showguide"
		label	"Multi"
		type	toggle
		nolabel
		joinnext
		default	{ "off" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"multifield_color"
		label	"Multi Field"
		type	color
		size	3
		default	{ "1" "1" "1" }
		range	{ 0! 1! }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"density_showguide"
		label	"Density         "
		type	toggle
		nolabel
		joinnext
		default	{ "on" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"density_color"
		label	"Density"
		type	color
		size	3
		default	{ "1" "1" "1" }
		range	{ 0! 1! }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"temperature1_showguide"
		label	"Temperature "
		type	toggle
		nolabel
		joinnext
		default	{ "off" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"temperature1_color"
		label	"Temperature"
		type	color
		size	3
		default	{ "1" "1" "1" }
		range	{ 0! 1! }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"fuel_showguide"
		label	"Fuel             "
		type	toggle
		nolabel
		joinnext
		default	{ "off" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"fuel_color"
		label	"Fuel"
		type	color
		size	3
		default	{ "0.9" "0" "0.9" }
		range	{ 0! 1! }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"divergence_showguide"
		label	"Divergence   "
		type	toggle
		nolabel
		joinnext
		default	{ "off" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"divergence_color"
		label	"Divergence"
		type	color
		size	3
		default	{ "1" "0.8" "0" }
		range	{ 0! 1! }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"burn_showguide"
		label	"Burn            "
		type	toggle
		nolabel
		joinnext
		default	{ "off" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"burn_color"
		label	"Burn"
		type	color
		size	3
		default	{ "1" "0.8" "0" }
		range	{ 0! 1! }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"heat_showguide"
		label	"Show Guide Geometry"
		type	toggle
		nolabel
		joinnext
		default	{ "off" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"heat_color"
		label	"Heat"
		type	color
		size	3
		default	{ "1" "1" "0" }
		range	{ 0! 1! }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"velocity_showguide"
		label	"Velocity        "
		type	toggle
		nolabel
		joinnext
		default	{ "off" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"velocity_color"
		label	"Velocity"
		type	color
		size	3
		default	{ "1" "1" "1" }
		range	{ 0! 1! }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"collisionmask1_showguide"
		label	"Collision       "
		type	toggle
		nolabel
		joinnext
		default	{ "off" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"collisionmask1_color"
		label	"Collision"
		type	color
		size	3
		default	{ "1" "1" "1" }
		range	{ 0! 1! }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"sourcemask1_showguide"
		label	"Source         "
		type	toggle
		nolabel
		joinnext
		default	{ "off" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"sourcemask1_color"
		label	"Source"
		type	color
		size	3
		default	{ "0" "0.9" "0" }
		range	{ 0! 1! }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"sinkmask1_showguide"
		label	"Sink             "
		type	toggle
		nolabel
		joinnext
		default	{ "off" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"sinkmask1_color"
		label	"Sink"
		type	color
		size	3
		default	{ "0.9" "0" "0" }
		range	{ 0! 1! }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	}

	group {
	    name	"folder0_1"
	    label	"Multi"
	    grouptag	{ "import_enable" "1" }
	    grouptag	{ "import_source" "op:multifield" }

	    parm {
		name	"multifield_usebox"
		label	"Bounding Box"
		type	toggle
		joinnext
		default	{ "off" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:multifield" }
		parmtag	{ "import_token" "usebox" }
	    }
	    parm {
		name	"multifield_useboxhash"
		label	"Bounding Box Hash"
		type	toggle
		default	{ "off" }
		disablewhen	"{ multifield_usebox == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:multifield" }
		parmtag	{ "import_token" "useboxhash" }
	    }
	    parm {
		name	"multifield_rangemin"
		label	"Minimum"
		type	float
		default	{ "0" }
		range	{ 0 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:multifield" }
		parmtag	{ "import_token" "rangemin" }
	    }
	    parm {
		name	"multifield_rangemax"
		label	"Maximum"
		type	float
		default	{ "1" }
		range	{ 0 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:multifield" }
		parmtag	{ "import_token" "rangemax" }
	    }
	    parm {
		name	"multifield_densityscale"
		label	"Density Scale"
		type	float
		default	{ "1" }
		range	{ 0! 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:multifield" }
		parmtag	{ "import_token" "densityscale" }
	    }
	    parm {
		name	"multifield_shadowscale"
		label	"Shadow Scale"
		type	float
		default	{ "1" }
		range	{ 0! 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:multifield" }
		parmtag	{ "import_token" "shadowscale" }
	    }
	    parm {
		name	"multifield_setmaxres"
		label	"Set Max Res"
		type	toggle
		nolabel
		joinnext
		default	{ "off" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:multifield" }
		parmtag	{ "import_token" "setmaxres" }
	    }
	    parm {
		name	"multifield_maxres"
		label	"Max Vis Res"
		type	integer
		default	{ "128" }
		disablewhen	"{ multifield_setmaxres == 0 }"
		range	{ 1! 512 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:multifield" }
		parmtag	{ "import_token" "maxres" }
	    }
	    group {
		name	"folder3"
		label	"Smoke"
		grouptag	{ "import_source" "op:multifield" }
		grouptag	{ "import_token" "emitswitcher:Smoke" }

		parm {
		    name	"multifield_densityfield"
		    label	"Density Field"
		    type	string
		    default	{ "" }
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		    parmtag	{ "import_source" "op:multifield" }
		    parmtag	{ "import_token" "densityfield" }
		}
		parm {
		    name	"multifield_densityrampmode"
		    label	"Mode"
		    type	ordinal
		    joinnext
		    default	{ "clamp" }
		    menu	{
			"none"	"No Ramp"
			"clamp"	"Clamped Ramp"
			"periodic"	"Periodic Ramp"
		    }
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		    parmtag	{ "import_source" "op:multifield" }
		    parmtag	{ "import_token" "densityrampmode" }
		}
		parm {
		    name	"multifield_densitypreset"
		    label	"Density"
		    type	ordinal
		    default	{ "none" }
		    menu	{
			"none"	"Presets"
			"increasing"	"Increasing"
			"descreasing"	"Decreasing"
			"hill"	"Hill"
			"valley"	"Valley"
			"step"	"Step"
			"square"	"Square"
		    }
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		    parmtag	{ "import_source" "op:multifield" }
		    parmtag	{ "import_token" "densitypreset" }
		}
		parm {
		    name	"multifield_densityramp"
		    label	"Density Ramp"
		    type	ramp_flt
		    default	{ "2" }
		    range	{ 1! 10 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		    parmtag	{ "import_source" "op:multifield" }
		    parmtag	{ "import_token" "densityramp" }
		    parmtag	{ "rampfloatdefault" "1pos ( 0 ) 1value ( 0 ) 1interp ( linear ) 2pos ( 1 ) 2value ( 1 ) 2interp ( linear )" }
		    parmtag	{ "rampshowcontrolsdefault" "0" }
		}
		parm {
		    name	"multifield_cdfield"
		    label	"Diffuse Field"
		    type	string
		    default	{ "" }
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		    parmtag	{ "import_source" "op:multifield" }
		    parmtag	{ "import_token" "cdfield" }
		}
		parm {
		    name	"multifield_cdrangeoverride"
		    label	"Diffuse Range"
		    type	toggle
		    nolabel
		    joinnext
		    default	{ "off" }
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		    parmtag	{ "import_source" "op:multifield" }
		    parmtag	{ "import_token" "cdrangeoverride" }
		}
		parm {
		    name	"multifield_cdrange"
		    label	"Diffuse Range"
		    type	float
		    size	2
		    default	{ "0" "1" }
		    disablewhen	"{ multifield_cdrangeoverride == 0 }"
		    range	{ 0 10 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		    parmtag	{ "import_source" "op:multifield" }
		    parmtag	{ "import_token" "cdrange" }
		}
		parm {
		    name	"multifield_cdrampmode"
		    label	"Mode"
		    type	ordinal
		    joinnext
		    default	{ "clamp" }
		    menu	{
			"none"	"No Ramp"
			"clamp"	"Clamped Ramp"
			"periodic"	"Periodic Ramp"
		    }
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		    parmtag	{ "import_source" "op:multifield" }
		    parmtag	{ "import_token" "cdrampmode" }
		}
		parm {
		    name	"multifield_cdpreset"
		    label	"Diffuse"
		    type	ordinal
		    default	{ "none" }
		    menu	{
			"none"	"Presets"
			"false"	"Infra-Red"
			"pink"	"White to Red"
			"mono"	"Grayscale"
			"blackbody"	"Black Body"
			"bipartite"	"Two-Tone"
		    }
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		    parmtag	{ "import_source" "op:multifield" }
		    parmtag	{ "import_token" "cdpreset" }
		}
		parm {
		    name	"multifield_cdramp"
		    label	"Diffuse Ramp"
		    type	ramp_rgb
		    default	{ "2" }
		    range	{ 1! 10 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		    parmtag	{ "import_source" "op:multifield" }
		    parmtag	{ "import_token" "cdramp" }
		    parmtag	{ "rampcolordefault" "1pos ( 0 ) 1c ( 0 0 0 ) 1interp ( linear ) 2pos ( 1 ) 2c ( 1 1 1 ) 2interp ( linear )" }
		    parmtag	{ "rampshowcontrolsdefault" "0" }
		}
	    }

	    group {
		name	"folder3_1"
		label	"Emission"
		grouptag	{ "import_source" "op:multifield" }
		grouptag	{ "import_token" "emitswitcher:Emission" }

		parm {
		    name	"multifield_emitscale"
		    label	"Emission Scale"
		    type	float
		    default	{ "0" }
		    range	{ 0! 10 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		    parmtag	{ "import_source" "op:multifield" }
		    parmtag	{ "import_token" "emitscale" }
		}
		parm {
		    name	"multifield_emitfield"
		    label	"Emission Field"
		    type	string
		    default	{ "" }
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		    parmtag	{ "import_source" "op:multifield" }
		    parmtag	{ "import_token" "emitfield" }
		}
		parm {
		    name	"multifield_emitrangeoverride"
		    label	"Emit Range"
		    type	toggle
		    nolabel
		    joinnext
		    default	{ "off" }
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		    parmtag	{ "import_source" "op:multifield" }
		    parmtag	{ "import_token" "emitrangeoverride" }
		}
		parm {
		    name	"multifield_emitrange"
		    label	"Emit Range"
		    type	float
		    size	2
		    default	{ "0" "1" }
		    disablewhen	"{ multifield_emitrangeoverride == 0 }"
		    range	{ 0 10 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		    parmtag	{ "import_source" "op:multifield" }
		    parmtag	{ "import_token" "emitrange" }
		}
		parm {
		    name	"multifield_emitrampmode"
		    label	"Mode"
		    type	ordinal
		    joinnext
		    default	{ "clamp" }
		    menu	{
			"none"	"No Ramp"
			"clamp"	"Clamped Ramp"
			"periodic"	"Periodic Ramp"
		    }
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		    parmtag	{ "import_source" "op:multifield" }
		    parmtag	{ "import_token" "emitrampmode" }
		}
		parm {
		    name	"multifield_emitpreset"
		    label	"Emission"
		    type	ordinal
		    default	{ "none" }
		    menu	{
			"none"	"Presets"
			"increasing"	"Increasing"
			"descreasing"	"Decreasing"
			"hill"	"Hill"
			"valley"	"Valley"
			"step"	"Step"
			"square"	"Square"
		    }
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		    parmtag	{ "import_source" "op:multifield" }
		    parmtag	{ "import_token" "emitpreset" }
		}
		parm {
		    name	"multifield_emitramp"
		    label	"Emission Ramp"
		    type	ramp_flt
		    default	{ "2" }
		    range	{ 1! 10 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		    parmtag	{ "import_source" "op:multifield" }
		    parmtag	{ "import_token" "emitramp" }
		    parmtag	{ "rampfloatdefault" "1pos ( 0 ) 1value ( 0 ) 1interp ( linear ) 2pos ( 1 ) 2value ( 1 ) 2interp ( linear )" }
		    parmtag	{ "rampshowcontrolsdefault" "0" }
		}
		parm {
		    name	"multifield_emitcdfield"
		    label	"Emission Color Field"
		    type	string
		    default	{ "" }
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		    parmtag	{ "import_source" "op:multifield" }
		    parmtag	{ "import_token" "emitcdfield" }
		}
		parm {
		    name	"multifield_emitcdrangeoverride"
		    label	"Emission Color Range"
		    type	toggle
		    nolabel
		    joinnext
		    default	{ "off" }
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		    parmtag	{ "import_source" "op:multifield" }
		    parmtag	{ "import_token" "emitcdrangeoverride" }
		}
		parm {
		    name	"multifield_emitcdrange"
		    label	"Emission Color Range"
		    type	float
		    size	2
		    default	{ "0" "1" }
		    disablewhen	"{ multifield_emitcdrangeoverride == 0 }"
		    range	{ 0 10 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		    parmtag	{ "import_source" "op:multifield" }
		    parmtag	{ "import_token" "emitcdrange" }
		}
		parm {
		    name	"multifield_emitcdrampmode"
		    label	"Mode"
		    type	ordinal
		    joinnext
		    default	{ "clamp" }
		    menu	{
			"none"	"No Ramp"
			"clamp"	"Clamped Ramp"
			"periodic"	"Periodic Ramp"
		    }
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		    parmtag	{ "import_source" "op:multifield" }
		    parmtag	{ "import_token" "emitcdrampmode" }
		}
		parm {
		    name	"multifield_emitcdpreset"
		    label	"Emission"
		    type	ordinal
		    default	{ "none" }
		    menu	{
			"none"	"Presets"
			"false"	"Infra-Red"
			"pink"	"White to Red"
			"mono"	"Grayscale"
			"blackbody"	"Black Body"
			"bipartite"	"Two-Tone"
		    }
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		    parmtag	{ "import_source" "op:multifield" }
		    parmtag	{ "import_token" "emitcdpreset" }
		}
		parm {
		    name	"multifield_emitcdramp"
		    label	"Emission Color Ramp"
		    type	ramp_rgb
		    default	{ "2" }
		    range	{ 1! 10 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		    parmtag	{ "import_source" "op:multifield" }
		    parmtag	{ "import_token" "emitcdramp" }
		    parmtag	{ "rampcolordefault" "1pos ( 0 ) 1c ( 0 0 0 ) 1interp ( linear ) 2pos ( 1 ) 2c ( 1 1 1 ) 2interp ( linear )" }
		    parmtag	{ "rampshowcontrolsdefault" "0" }
		}
	    }

	}

	group {
	    name	"folder0_2"
	    label	"Density"
	    grouptag	{ "import_enable" "1" }
	    grouptag	{ "import_source" "op:density" }

	    parm {
		name	"density_usebox"
		label	"Bounding Box"
		type	toggle
		joinnext
		default	{ "on" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:density" }
		parmtag	{ "import_token" "usebox" }
	    }
	    parm {
		name	"density_useboxhash"
		label	"Bounding Box Hash"
		type	toggle
		default	{ "on" }
		disablewhen	"{ density_usebox == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:density" }
		parmtag	{ "import_token" "useboxhash" }
	    }
	    parm {
		name	"density_usesmoke"
		label	"Use Smoke   "
		type	toggle
		joinnext
		default	{ "on" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:density" }
		parmtag	{ "import_token" "usesmoke" }
	    }
	    parm {
		name	"density_guideremapsmoke"
		label	"Remap Smoke"
		type	toggle
		default	{ "off" }
		disablewhen	"{ density_usesmoke == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:density" }
		parmtag	{ "import_token" "guideremapsmoke" }
	    }
	    parm {
		name	"density_guidesmokedensity"
		label	"Smoke Density"
		type	float
		default	{ "1" }
		disablewhen	"{ density_usesmoke == 0 }"
		range	{ 0! 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:density" }
		parmtag	{ "import_token" "guidesmokedensity" }
	    }
	    parm {
		name	"density_guideuseplane"
		label	"Use Plane     "
		type	toggle
		joinnext
		default	{ "off" }
		disablewhen	"{ density_usesmoke == 1 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:density" }
		parmtag	{ "import_token" "guideuseplane" }
	    }
	    parm {
		name	"density_guideplane"
		label	"Plane Orientation"
		type	ordinal
		default	{ "xy" }
		disablewhen	"{ density_usesmoke == 1 } { density_guideuseplane == 0 }"
		menu	{
		    "xy"	"XY Plane"
		    "yz"	"YZ Plane"
		    "zx"	"ZX Plane"
		}
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:density" }
		parmtag	{ "import_token" "guideplane" }
	    }
	    parm {
		name	"density_guideplaneval"
		label	"Plane Position"
		type	float
		default	{ "0" }
		disablewhen	"{ density_usesmoke == 1 } { density_guideuseplane == 0 }"
		range	{ -1! 1! }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:density" }
		parmtag	{ "import_token" "guideplaneval" }
	    }
	    parm {
		name	"density_guidevismode"
		label	"Visualization Mode"
		type	ordinal
		joinnext
		default	{ "false" }
		disablewhen	"{ density_usesmoke == 1 density_guideremapsmoke == 0 } { density_usesmoke == 0 density_guideuseplane == 0 }"
		menu	{
		    "none"	"No Mapping"
		    "false"	"Infra-Red"
		    "pink"	"White to Red"
		    "mono"	"Grayscale"
		    "blackbody"	"Black Body"
		    "bipartite"	"Two-Tone"
		}
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:density" }
		parmtag	{ "import_token" "guidevismode" }
	    }
	    parm {
		name	"density_guidevisdensitymode"
		label	"Alpha Mapping"
		type	ordinal
		default	{ "none" }
		disablewhen	"{ density_usesmoke == 1 density_guideremapsmoke == 0 } { density_usesmoke == 0 density_guideuseplane == 0 }"
		menu	{
		    "none"	"No Mapping"
		    "increasing"	"Increasing"
		    "decreasing"	"Decreasing"
		    "hill"	"Hill"
		    "valley"	"Valley"
		    "step"	"Step"
		    "square"	"Square"
		}
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:density" }
		parmtag	{ "import_token" "guidevisdensitymode" }
	    }
	    parm {
		name	"density_guiderangemode"
		label	"Specify Range by Min/Max"
		type	toggle
		default	{ "on" }
		disablewhen	"{ density_usesmoke == 1 density_guideremapsmoke == 0 } { density_usesmoke == 0 density_guideuseplane == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:density" }
		parmtag	{ "import_token" "guiderangemode" }
	    }
	    parm {
		name	"density_guiderange"
		label	"Guide Range"
		type	float
		size	2
		default	{ "0" "1" }
		hidewhen	"{ density_usesmoke == 1 density_guideremapsmoke == 0 } { density_usesmoke == 0 density_guideuseplane == 0 } { density_guiderangemode == 0 }"
		range	{ 0 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:density" }
		parmtag	{ "import_token" "guiderange" }
	    }
	    parm {
		name	"density_guiderangecenter"
		label	"Guide Range Center"
		type	float
		default	{ "0.5" }
		hidewhen	"{ density_usesmoke == 1 density_guideremapsmoke == 0 } { density_usesmoke == 0 density_guideuseplane == 0 } { density_guiderangemode == 1 }"
		range	{ -1 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:density" }
		parmtag	{ "import_token" "guiderangecenter" }
	    }
	    parm {
		name	"density_guiderangesize"
		label	"Guide Range Width"
		type	float
		default	{ "1" }
		hidewhen	"{ density_usesmoke == 1 density_guideremapsmoke == 0 } { density_usesmoke == 0 density_guideuseplane == 0 } { density_guiderangemode == 1 }"
		range	{ 0 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:density" }
		parmtag	{ "import_token" "guiderangesize" }
	    }
	    parm {
		name	"density_guideiso"
		label	"Iso Offset"
		type	float
		default	{ "0" }
		disablewhen	"{ density_usesmoke == 1 } { density_guideuseplane == 1 }"
		range	{ -5 5 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:density" }
		parmtag	{ "import_token" "guideiso" }
	    }
	    parm {
		name	"density_guideinvert"
		label	"Invert Iso"
		type	toggle
		default	{ "off" }
		disablewhen	"{ density_usesmoke == 1 } { density_guideuseplane == 1 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:density" }
		parmtag	{ "import_token" "guideinvert" }
	    }
	}

	group {
	    name	"folder0_3"
	    label	"Temperature"
	    grouptag	{ "import_enable" "1" }
	    grouptag	{ "import_source" "op:temperature1" }

	    parm {
		name	"temperature1_usebox"
		label	"Bounding Box"
		type	toggle
		joinnext
		default	{ "off" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:temperature1" }
		parmtag	{ "import_token" "usebox" }
	    }
	    parm {
		name	"temperature1_useboxhash"
		label	"Bounding Box Hash"
		type	toggle
		default	{ "off" }
		disablewhen	"{ temperature1_usebox == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:temperature1" }
		parmtag	{ "import_token" "useboxhash" }
	    }
	    parm {
		name	"temperature1_usesmoke"
		label	"Use Smoke   "
		type	toggle
		joinnext
		default	{ "off" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:temperature1" }
		parmtag	{ "import_token" "usesmoke" }
	    }
	    parm {
		name	"temperature1_guideremapsmoke"
		label	"Remap Smoke"
		type	toggle
		default	{ "off" }
		disablewhen	"{ temperature1_usesmoke == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:temperature1" }
		parmtag	{ "import_token" "guideremapsmoke" }
	    }
	    parm {
		name	"temperature1_guidesmokedensity"
		label	"Smoke Density"
		type	float
		default	{ "1" }
		disablewhen	"{ temperature1_usesmoke == 0 }"
		range	{ 0! 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:temperature1" }
		parmtag	{ "import_token" "guidesmokedensity" }
	    }
	    parm {
		name	"temperature1_guideuseplane"
		label	"Use Plane     "
		type	toggle
		joinnext
		default	{ "on" }
		disablewhen	"{ temperature1_usesmoke == 1 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:temperature1" }
		parmtag	{ "import_token" "guideuseplane" }
	    }
	    parm {
		name	"temperature1_guideplane"
		label	"Plane Orientation"
		type	ordinal
		default	{ "xy" }
		disablewhen	"{ temperature1_usesmoke == 1 } { temperature1_guideuseplane == 0 }"
		menu	{
		    "xy"	"XY Plane"
		    "yz"	"YZ Plane"
		    "zx"	"ZX Plane"
		}
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:temperature1" }
		parmtag	{ "import_token" "guideplane" }
	    }
	    parm {
		name	"temperature1_guideplaneval"
		label	"Plane Position"
		type	float
		default	{ "0" }
		disablewhen	"{ temperature1_usesmoke == 1 } { temperature1_guideuseplane == 0 }"
		range	{ -1! 1! }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:temperature1" }
		parmtag	{ "import_token" "guideplaneval" }
	    }
	    parm {
		name	"temperature1_guidevismode"
		label	"Visualization Mode"
		type	ordinal
		joinnext
		default	{ "blackbody" }
		disablewhen	"{ temperature1_usesmoke == 1 temperature1_guideremapsmoke == 0 } { temperature1_usesmoke == 0 temperature1_guideuseplane == 0 }"
		menu	{
		    "none"	"No Mapping"
		    "false"	"Infra-Red"
		    "pink"	"White to Red"
		    "mono"	"Grayscale"
		    "blackbody"	"Black Body"
		    "bipartite"	"Two-Tone"
		}
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:temperature1" }
		parmtag	{ "import_token" "guidevismode" }
	    }
	    parm {
		name	"temperature1_guidevisdensitymode"
		label	"Alpha Mapping"
		type	ordinal
		default	{ "none" }
		disablewhen	"{ temperature1_usesmoke == 1 temperature1_guideremapsmoke == 0 } { temperature1_usesmoke == 0 temperature1_guideuseplane == 0 }"
		menu	{
		    "none"	"No Mapping"
		    "increasing"	"Increasing"
		    "decreasing"	"Decreasing"
		    "hill"	"Hill"
		    "valley"	"Valley"
		    "step"	"Step"
		    "square"	"Square"
		}
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:temperature1" }
		parmtag	{ "import_token" "guidevisdensitymode" }
	    }
	    parm {
		name	"temperature1_guiderangemode"
		label	"Specify Range by Min/Max"
		type	toggle
		default	{ "on" }
		disablewhen	"{ temperature1_usesmoke == 1 temperature1_guideremapsmoke == 0 } { temperature1_usesmoke == 0 temperature1_guideuseplane == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:temperature1" }
		parmtag	{ "import_token" "guiderangemode" }
	    }
	    parm {
		name	"temperature1_guiderange"
		label	"Guide Range"
		type	float
		size	2
		default	{ "0" "1" }
		hidewhen	"{ temperature1_usesmoke == 1 temperature1_guideremapsmoke == 0 } { temperature1_usesmoke == 0 temperature1_guideuseplane == 0 } { temperature1_guiderangemode == 0 }"
		range	{ 0 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:temperature1" }
		parmtag	{ "import_token" "guiderange" }
	    }
	    parm {
		name	"temperature1_guiderangecenter"
		label	"Guide Range Center"
		type	float
		default	{ "0.5" }
		hidewhen	"{ temperature1_usesmoke == 1 temperature1_guideremapsmoke == 0 } { temperature1_usesmoke == 0 temperature1_guideuseplane == 0 } { temperature1_guiderangemode == 1 }"
		range	{ -1 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:temperature1" }
		parmtag	{ "import_token" "guiderangecenter" }
	    }
	    parm {
		name	"temperature1_guiderangesize"
		label	"Guide Range Width"
		type	float
		default	{ "1" }
		hidewhen	"{ temperature1_usesmoke == 1 temperature1_guideremapsmoke == 0 } { temperature1_usesmoke == 0 temperature1_guideuseplane == 0 } { temperature1_guiderangemode == 1 }"
		range	{ 0 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:temperature1" }
		parmtag	{ "import_token" "guiderangesize" }
	    }
	    parm {
		name	"temperature1_guideiso"
		label	"Iso Offset"
		type	float
		default	{ "0" }
		disablewhen	"{ temperature1_usesmoke == 1 } { temperature1_guideuseplane == 1 }"
		range	{ -5 5 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:temperature1" }
		parmtag	{ "import_token" "guideiso" }
	    }
	    parm {
		name	"temperature1_guideinvert"
		label	"Invert Iso"
		type	toggle
		default	{ "off" }
		disablewhen	"{ temperature1_usesmoke == 1 } { temperature1_guideuseplane == 1 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:temperature1" }
		parmtag	{ "import_token" "guideinvert" }
	    }
	}

	group {
	    name	"folder0_4"
	    label	"Fuel"
	    grouptag	{ "import_enable" "1" }
	    grouptag	{ "import_source" "op:fuel" }

	    parm {
		name	"fuel_usebox"
		label	"Bounding Box"
		type	toggle
		joinnext
		default	{ "off" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:fuel" }
		parmtag	{ "import_token" "usebox" }
	    }
	    parm {
		name	"fuel_useboxhash"
		label	"Bounding Box Hash"
		type	toggle
		default	{ "off" }
		disablewhen	"{ fuel_usebox == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:fuel" }
		parmtag	{ "import_token" "useboxhash" }
	    }
	    parm {
		name	"fuel_usesmoke"
		label	"Use Smoke   "
		type	toggle
		joinnext
		default	{ "on" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:fuel" }
		parmtag	{ "import_token" "usesmoke" }
	    }
	    parm {
		name	"fuel_guideremapsmoke"
		label	"Remap Smoke"
		type	toggle
		default	{ "off" }
		disablewhen	"{ fuel_usesmoke == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:fuel" }
		parmtag	{ "import_token" "guideremapsmoke" }
	    }
	    parm {
		name	"fuel_guidesmokedensity"
		label	"Smoke Density"
		type	float
		default	{ "1" }
		disablewhen	"{ fuel_usesmoke == 0 }"
		range	{ 0! 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:fuel" }
		parmtag	{ "import_token" "guidesmokedensity" }
	    }
	    parm {
		name	"fuel_guideuseplane"
		label	"Use Plane     "
		type	toggle
		joinnext
		default	{ "off" }
		disablewhen	"{ fuel_usesmoke == 1 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:fuel" }
		parmtag	{ "import_token" "guideuseplane" }
	    }
	    parm {
		name	"fuel_guideplane"
		label	"Plane Orientation"
		type	ordinal
		default	{ "xy" }
		disablewhen	"{ fuel_usesmoke == 1 } { fuel_guideuseplane == 0 }"
		menu	{
		    "xy"	"XY Plane"
		    "yz"	"YZ Plane"
		    "zx"	"ZX Plane"
		}
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:fuel" }
		parmtag	{ "import_token" "guideplane" }
	    }
	    parm {
		name	"fuel_guideplaneval"
		label	"Plane Position"
		type	float
		default	{ "0" }
		disablewhen	"{ fuel_usesmoke == 1 } { fuel_guideuseplane == 0 }"
		range	{ -1! 1! }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:fuel" }
		parmtag	{ "import_token" "guideplaneval" }
	    }
	    parm {
		name	"fuel_guidevismode"
		label	"Visualization Mode"
		type	ordinal
		joinnext
		default	{ "false" }
		disablewhen	"{ fuel_usesmoke == 1 fuel_guideremapsmoke == 0 } { fuel_usesmoke == 0 fuel_guideuseplane == 0 }"
		menu	{
		    "none"	"No Mapping"
		    "false"	"Infra-Red"
		    "pink"	"White to Red"
		    "mono"	"Grayscale"
		    "blackbody"	"Black Body"
		    "bipartite"	"Two-Tone"
		}
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:fuel" }
		parmtag	{ "import_token" "guidevismode" }
	    }
	    parm {
		name	"fuel_guidevisdensitymode"
		label	"Alpha Mapping"
		type	ordinal
		default	{ "none" }
		disablewhen	"{ fuel_usesmoke == 1 fuel_guideremapsmoke == 0 } { fuel_usesmoke == 0 fuel_guideuseplane == 0 }"
		menu	{
		    "none"	"No Mapping"
		    "increasing"	"Increasing"
		    "decreasing"	"Decreasing"
		    "hill"	"Hill"
		    "valley"	"Valley"
		    "step"	"Step"
		    "square"	"Square"
		}
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:fuel" }
		parmtag	{ "import_token" "guidevisdensitymode" }
	    }
	    parm {
		name	"fuel_guiderangemode"
		label	"Specify Range by Min/Max"
		type	toggle
		default	{ "on" }
		disablewhen	"{ fuel_usesmoke == 1 fuel_guideremapsmoke == 0 } { fuel_usesmoke == 0 fuel_guideuseplane == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:fuel" }
		parmtag	{ "import_token" "guiderangemode" }
	    }
	    parm {
		name	"fuel_guiderange"
		label	"Guide Range"
		type	float
		size	2
		default	{ "0" "1" }
		hidewhen	"{ fuel_usesmoke == 1 fuel_guideremapsmoke == 0 } { fuel_usesmoke == 0 fuel_guideuseplane == 0 } { fuel_guiderangemode == 0 }"
		range	{ 0 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:fuel" }
		parmtag	{ "import_token" "guiderange" }
	    }
	    parm {
		name	"fuel_guiderangecenter"
		label	"Guide Range Center"
		type	float
		default	{ "0.5" }
		hidewhen	"{ fuel_usesmoke == 1 fuel_guideremapsmoke == 0 } { fuel_usesmoke == 0 fuel_guideuseplane == 0 } { fuel_guiderangemode == 1 }"
		range	{ -1 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:fuel" }
		parmtag	{ "import_token" "guiderangecenter" }
	    }
	    parm {
		name	"fuel_guiderangesize"
		label	"Guide Range Width"
		type	float
		default	{ "1" }
		hidewhen	"{ fuel_usesmoke == 1 fuel_guideremapsmoke == 0 } { fuel_usesmoke == 0 fuel_guideuseplane == 0 } { fuel_guiderangemode == 1 }"
		range	{ 0 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:fuel" }
		parmtag	{ "import_token" "guiderangesize" }
	    }
	    parm {
		name	"fuel_guideiso"
		label	"Iso Offset"
		type	float
		default	{ "0" }
		disablewhen	"{ fuel_usesmoke == 1 } { fuel_guideuseplane == 1 }"
		range	{ -5 5 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:fuel" }
		parmtag	{ "import_token" "guideiso" }
	    }
	    parm {
		name	"fuel_guideinvert"
		label	"Invert Iso"
		type	toggle
		default	{ "off" }
		disablewhen	"{ fuel_usesmoke == 1 } { fuel_guideuseplane == 1 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:fuel" }
		parmtag	{ "import_token" "guideinvert" }
	    }
	}

	group {
	    name	"folder0_5"
	    label	"Divergence"
	    grouptag	{ "import_enable" "1" }
	    grouptag	{ "import_source" "op:divergence" }

	    parm {
		name	"divergence_usebox"
		label	"Bounding Box"
		type	toggle
		joinnext
		default	{ "off" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:divergence" }
		parmtag	{ "import_token" "usebox" }
	    }
	    parm {
		name	"divergence_useboxhash"
		label	"Bounding Box Hash"
		type	toggle
		default	{ "off" }
		disablewhen	"{ divergence_usebox == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:divergence" }
		parmtag	{ "import_token" "useboxhash" }
	    }
	    parm {
		name	"divergence_usesmoke"
		label	"Use Smoke   "
		type	toggle
		joinnext
		default	{ "on" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:divergence" }
		parmtag	{ "import_token" "usesmoke" }
	    }
	    parm {
		name	"divergence_guideremapsmoke"
		label	"Remap Smoke"
		type	toggle
		default	{ "off" }
		disablewhen	"{ divergence_usesmoke == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:divergence" }
		parmtag	{ "import_token" "guideremapsmoke" }
	    }
	    parm {
		name	"divergence_guidesmokedensity"
		label	"Smoke Density"
		type	float
		default	{ "1" }
		disablewhen	"{ divergence_usesmoke == 0 }"
		range	{ 0! 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:divergence" }
		parmtag	{ "import_token" "guidesmokedensity" }
	    }
	    parm {
		name	"divergence_guideuseplane"
		label	"Use Plane     "
		type	toggle
		joinnext
		default	{ "off" }
		disablewhen	"{ divergence_usesmoke == 1 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:divergence" }
		parmtag	{ "import_token" "guideuseplane" }
	    }
	    parm {
		name	"divergence_guideplane"
		label	"Plane Orientation"
		type	ordinal
		default	{ "xy" }
		disablewhen	"{ divergence_usesmoke == 1 } { divergence_guideuseplane == 0 }"
		menu	{
		    "xy"	"XY Plane"
		    "yz"	"YZ Plane"
		    "zx"	"ZX Plane"
		}
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:divergence" }
		parmtag	{ "import_token" "guideplane" }
	    }
	    parm {
		name	"divergence_guideplaneval"
		label	"Plane Position"
		type	float
		default	{ "0" }
		disablewhen	"{ divergence_usesmoke == 1 } { divergence_guideuseplane == 0 }"
		range	{ -1! 1! }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:divergence" }
		parmtag	{ "import_token" "guideplaneval" }
	    }
	    parm {
		name	"divergence_guidevismode"
		label	"Visualization Mode"
		type	ordinal
		joinnext
		default	{ "false" }
		disablewhen	"{ divergence_usesmoke == 1 divergence_guideremapsmoke == 0 } { divergence_usesmoke == 0 divergence_guideuseplane == 0 }"
		menu	{
		    "none"	"No Mapping"
		    "false"	"Infra-Red"
		    "pink"	"White to Red"
		    "mono"	"Grayscale"
		    "blackbody"	"Black Body"
		    "bipartite"	"Two-Tone"
		}
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:divergence" }
		parmtag	{ "import_token" "guidevismode" }
	    }
	    parm {
		name	"divergence_guidevisdensitymode"
		label	"Alpha Mapping"
		type	ordinal
		default	{ "none" }
		disablewhen	"{ divergence_usesmoke == 1 divergence_guideremapsmoke == 0 } { divergence_usesmoke == 0 divergence_guideuseplane == 0 }"
		menu	{
		    "none"	"No Mapping"
		    "increasing"	"Increasing"
		    "decreasing"	"Decreasing"
		    "hill"	"Hill"
		    "valley"	"Valley"
		    "step"	"Step"
		    "square"	"Square"
		}
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:divergence" }
		parmtag	{ "import_token" "guidevisdensitymode" }
	    }
	    parm {
		name	"divergence_guiderangemode"
		label	"Specify Range by Min/Max"
		type	toggle
		default	{ "on" }
		disablewhen	"{ divergence_usesmoke == 1 divergence_guideremapsmoke == 0 } { divergence_usesmoke == 0 divergence_guideuseplane == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:divergence" }
		parmtag	{ "import_token" "guiderangemode" }
	    }
	    parm {
		name	"divergence_guiderange"
		label	"Guide Range"
		type	float
		size	2
		default	{ "0" "1" }
		hidewhen	"{ divergence_usesmoke == 1 divergence_guideremapsmoke == 0 } { divergence_usesmoke == 0 divergence_guideuseplane == 0 } { divergence_guiderangemode == 0 }"
		range	{ 0 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:divergence" }
		parmtag	{ "import_token" "guiderange" }
	    }
	    parm {
		name	"divergence_guiderangecenter"
		label	"Guide Range Center"
		type	float
		default	{ "0.5" }
		hidewhen	"{ divergence_usesmoke == 1 divergence_guideremapsmoke == 0 } { divergence_usesmoke == 0 divergence_guideuseplane == 0 } { divergence_guiderangemode == 1 }"
		range	{ -1 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:divergence" }
		parmtag	{ "import_token" "guiderangecenter" }
	    }
	    parm {
		name	"divergence_guiderangesize"
		label	"Guide Range Width"
		type	float
		default	{ "1" }
		hidewhen	"{ divergence_usesmoke == 1 divergence_guideremapsmoke == 0 } { divergence_usesmoke == 0 divergence_guideuseplane == 0 } { divergence_guiderangemode == 1 }"
		range	{ 0 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:divergence" }
		parmtag	{ "import_token" "guiderangesize" }
	    }
	    parm {
		name	"divergence_guideiso"
		label	"Iso Offset"
		type	float
		default	{ "0" }
		disablewhen	"{ divergence_usesmoke == 1 } { divergence_guideuseplane == 1 }"
		range	{ -5 5 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:divergence" }
		parmtag	{ "import_token" "guideiso" }
	    }
	    parm {
		name	"divergence_guideinvert"
		label	"Invert Iso"
		type	toggle
		default	{ "off" }
		disablewhen	"{ divergence_usesmoke == 1 } { divergence_guideuseplane == 1 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:divergence" }
		parmtag	{ "import_token" "guideinvert" }
	    }
	}

	group {
	    name	"folder0_6"
	    label	"Burn"
	    grouptag	{ "import_enable" "1" }
	    grouptag	{ "import_source" "op:burn" }

	    parm {
		name	"burn_usebox"
		label	"Bounding Box"
		type	toggle
		joinnext
		default	{ "off" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:burn" }
		parmtag	{ "import_token" "usebox" }
	    }
	    parm {
		name	"burn_useboxhash"
		label	"Bounding Box Hash"
		type	toggle
		default	{ "off" }
		disablewhen	"{ burn_usebox == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:burn" }
		parmtag	{ "import_token" "useboxhash" }
	    }
	    parm {
		name	"burn_usesmoke"
		label	"Use Smoke   "
		type	toggle
		joinnext
		default	{ "on" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:burn" }
		parmtag	{ "import_token" "usesmoke" }
	    }
	    parm {
		name	"burn_guideremapsmoke"
		label	"Remap Smoke"
		type	toggle
		default	{ "off" }
		disablewhen	"{ burn_usesmoke == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:burn" }
		parmtag	{ "import_token" "guideremapsmoke" }
	    }
	    parm {
		name	"burn_guidesmokedensity"
		label	"Smoke Density"
		type	float
		default	{ "1" }
		disablewhen	"{ burn_usesmoke == 0 }"
		range	{ 0! 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:burn" }
		parmtag	{ "import_token" "guidesmokedensity" }
	    }
	    parm {
		name	"burn_guideuseplane"
		label	"Use Plane     "
		type	toggle
		joinnext
		default	{ "off" }
		disablewhen	"{ burn_usesmoke == 1 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:burn" }
		parmtag	{ "import_token" "guideuseplane" }
	    }
	    parm {
		name	"burn_guideplane"
		label	"Plane Orientation"
		type	ordinal
		default	{ "xy" }
		disablewhen	"{ burn_usesmoke == 1 } { burn_guideuseplane == 0 }"
		menu	{
		    "xy"	"XY Plane"
		    "yz"	"YZ Plane"
		    "zx"	"ZX Plane"
		}
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:burn" }
		parmtag	{ "import_token" "guideplane" }
	    }
	    parm {
		name	"burn_guideplaneval"
		label	"Plane Position"
		type	float
		default	{ "0" }
		disablewhen	"{ burn_usesmoke == 1 } { burn_guideuseplane == 0 }"
		range	{ -1! 1! }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:burn" }
		parmtag	{ "import_token" "guideplaneval" }
	    }
	    parm {
		name	"burn_guidevismode"
		label	"Visualization Mode"
		type	ordinal
		joinnext
		default	{ "false" }
		disablewhen	"{ burn_usesmoke == 1 burn_guideremapsmoke == 0 } { burn_usesmoke == 0 burn_guideuseplane == 0 }"
		menu	{
		    "none"	"No Mapping"
		    "false"	"Infra-Red"
		    "pink"	"White to Red"
		    "mono"	"Grayscale"
		    "blackbody"	"Black Body"
		    "bipartite"	"Two-Tone"
		}
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:burn" }
		parmtag	{ "import_token" "guidevismode" }
	    }
	    parm {
		name	"burn_guidevisdensitymode"
		label	"Alpha Mapping"
		type	ordinal
		default	{ "none" }
		disablewhen	"{ burn_usesmoke == 1 burn_guideremapsmoke == 0 } { burn_usesmoke == 0 burn_guideuseplane == 0 }"
		menu	{
		    "none"	"No Mapping"
		    "increasing"	"Increasing"
		    "decreasing"	"Decreasing"
		    "hill"	"Hill"
		    "valley"	"Valley"
		    "step"	"Step"
		    "square"	"Square"
		}
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:burn" }
		parmtag	{ "import_token" "guidevisdensitymode" }
	    }
	    parm {
		name	"burn_guiderangemode"
		label	"Specify Range by Min/Max"
		type	toggle
		default	{ "on" }
		disablewhen	"{ burn_usesmoke == 1 burn_guideremapsmoke == 0 } { burn_usesmoke == 0 burn_guideuseplane == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:burn" }
		parmtag	{ "import_token" "guiderangemode" }
	    }
	    parm {
		name	"burn_guiderange"
		label	"Guide Range"
		type	float
		size	2
		default	{ "0" "1" }
		hidewhen	"{ burn_usesmoke == 1 burn_guideremapsmoke == 0 } { burn_usesmoke == 0 burn_guideuseplane == 0 } { burn_guiderangemode == 0 }"
		range	{ 0 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:burn" }
		parmtag	{ "import_token" "guiderange" }
	    }
	    parm {
		name	"burn_guiderangecenter"
		label	"Guide Range Center"
		type	float
		default	{ "0.5" }
		hidewhen	"{ burn_usesmoke == 1 burn_guideremapsmoke == 0 } { burn_usesmoke == 0 burn_guideuseplane == 0 } { burn_guiderangemode == 1 }"
		range	{ -1 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:burn" }
		parmtag	{ "import_token" "guiderangecenter" }
	    }
	    parm {
		name	"burn_guiderangesize"
		label	"Guide Range Width"
		type	float
		default	{ "1" }
		hidewhen	"{ burn_usesmoke == 1 burn_guideremapsmoke == 0 } { burn_usesmoke == 0 burn_guideuseplane == 0 } { burn_guiderangemode == 1 }"
		range	{ 0 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:burn" }
		parmtag	{ "import_token" "guiderangesize" }
	    }
	    parm {
		name	"burn_guideiso"
		label	"Iso Offset"
		type	float
		default	{ "0" }
		disablewhen	"{ burn_usesmoke == 1 } { burn_guideuseplane == 1 }"
		range	{ -5 5 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:burn" }
		parmtag	{ "import_token" "guideiso" }
	    }
	    parm {
		name	"burn_guideinvert"
		label	"Invert Iso"
		type	toggle
		default	{ "off" }
		disablewhen	"{ burn_usesmoke == 1 } { burn_guideuseplane == 1 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:burn" }
		parmtag	{ "import_token" "guideinvert" }
	    }
	}

	group {
	    name	"folder0_7"
	    label	"Heat"
	    grouptag	{ "import_enable" "1" }
	    grouptag	{ "import_source" "op:heat" }

	    parm {
		name	"heat_usebox"
		label	"Bounding Box"
		type	toggle
		joinnext
		default	{ "off" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:heat" }
		parmtag	{ "import_token" "usebox" }
	    }
	    parm {
		name	"heat_useboxhash"
		label	"Bounding Box Hash"
		type	toggle
		default	{ "off" }
		disablewhen	"{ heat_usebox == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:heat" }
		parmtag	{ "import_token" "useboxhash" }
	    }
	    parm {
		name	"heat_usesmoke"
		label	"Use Smoke   "
		type	toggle
		joinnext
		default	{ "on" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:heat" }
		parmtag	{ "import_token" "usesmoke" }
	    }
	    parm {
		name	"heat_guideremapsmoke"
		label	"Remap Smoke"
		type	toggle
		default	{ "off" }
		disablewhen	"{ heat_usesmoke == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:heat" }
		parmtag	{ "import_token" "guideremapsmoke" }
	    }
	    parm {
		name	"heat_guidesmokedensity"
		label	"Smoke Density"
		type	float
		default	{ "1" }
		disablewhen	"{ heat_usesmoke == 0 }"
		range	{ 0! 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:heat" }
		parmtag	{ "import_token" "guidesmokedensity" }
	    }
	    parm {
		name	"heat_guideuseplane"
		label	"Use Plane     "
		type	toggle
		joinnext
		default	{ "off" }
		disablewhen	"{ heat_usesmoke == 1 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:heat" }
		parmtag	{ "import_token" "guideuseplane" }
	    }
	    parm {
		name	"heat_guideplane"
		label	"Plane Orientation"
		type	ordinal
		default	{ "xy" }
		disablewhen	"{ heat_usesmoke == 1 } { heat_guideuseplane == 0 }"
		menu	{
		    "xy"	"XY Plane"
		    "yz"	"YZ Plane"
		    "zx"	"ZX Plane"
		}
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:heat" }
		parmtag	{ "import_token" "guideplane" }
	    }
	    parm {
		name	"heat_guideplaneval"
		label	"Plane Position"
		type	float
		default	{ "0" }
		disablewhen	"{ heat_usesmoke == 1 } { heat_guideuseplane == 0 }"
		range	{ -1! 1! }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:heat" }
		parmtag	{ "import_token" "guideplaneval" }
	    }
	    parm {
		name	"heat_guidevismode"
		label	"Visualization Mode"
		type	ordinal
		joinnext
		default	{ "blackbody" }
		disablewhen	"{ heat_usesmoke == 1 heat_guideremapsmoke == 0 } { heat_usesmoke == 0 heat_guideuseplane == 0 }"
		menu	{
		    "none"	"No Mapping"
		    "false"	"Infra-Red"
		    "pink"	"White to Red"
		    "mono"	"Grayscale"
		    "blackbody"	"Black Body"
		    "bipartite"	"Two-Tone"
		}
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:heat" }
		parmtag	{ "import_token" "guidevismode" }
	    }
	    parm {
		name	"heat_guidevisdensitymode"
		label	"Alpha Mapping"
		type	ordinal
		default	{ "none" }
		disablewhen	"{ heat_usesmoke == 1 heat_guideremapsmoke == 0 } { heat_usesmoke == 0 heat_guideuseplane == 0 }"
		menu	{
		    "none"	"No Mapping"
		    "increasing"	"Increasing"
		    "decreasing"	"Decreasing"
		    "hill"	"Hill"
		    "valley"	"Valley"
		    "step"	"Step"
		    "square"	"Square"
		}
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:heat" }
		parmtag	{ "import_token" "guidevisdensitymode" }
	    }
	    parm {
		name	"heat_guiderangemode"
		label	"Specify Range by Min/Max"
		type	toggle
		default	{ "on" }
		disablewhen	"{ heat_usesmoke == 1 heat_guideremapsmoke == 0 } { heat_usesmoke == 0 heat_guideuseplane == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:heat" }
		parmtag	{ "import_token" "guiderangemode" }
	    }
	    parm {
		name	"heat_guiderange"
		label	"Guide Range"
		type	float
		size	2
		default	{ "0" "1" }
		hidewhen	"{ heat_usesmoke == 1 heat_guideremapsmoke == 0 } { heat_usesmoke == 0 heat_guideuseplane == 0 } { heat_guiderangemode == 0 }"
		range	{ 0 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:heat" }
		parmtag	{ "import_token" "guiderange" }
	    }
	    parm {
		name	"heat_guiderangecenter"
		label	"Guide Range Center"
		type	float
		default	{ "0.5" }
		hidewhen	"{ heat_usesmoke == 1 heat_guideremapsmoke == 0 } { heat_usesmoke == 0 heat_guideuseplane == 0 } { heat_guiderangemode == 1 }"
		range	{ -1 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:heat" }
		parmtag	{ "import_token" "guiderangecenter" }
	    }
	    parm {
		name	"heat_guiderangesize"
		label	"Guide Range Width"
		type	float
		default	{ "1" }
		hidewhen	"{ heat_usesmoke == 1 heat_guideremapsmoke == 0 } { heat_usesmoke == 0 heat_guideuseplane == 0 } { heat_guiderangemode == 1 }"
		range	{ 0 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:heat" }
		parmtag	{ "import_token" "guiderangesize" }
	    }
	    parm {
		name	"heat_guideiso"
		label	"Iso Offset"
		type	float
		default	{ "0" }
		disablewhen	"{ heat_usesmoke == 1 } { heat_guideuseplane == 1 }"
		range	{ -5 5 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:heat" }
		parmtag	{ "import_token" "guideiso" }
	    }
	    parm {
		name	"heat_guideinvert"
		label	"Invert Iso"
		type	toggle
		default	{ "on" }
		disablewhen	"{ heat_usesmoke == 1 } { heat_guideuseplane == 1 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:heat" }
		parmtag	{ "import_token" "guideinvert" }
	    }
	}

	group {
	    name	"folder0_8"
	    label	"Velocity"
	    grouptag	{ "import_enable" "1" }
	    grouptag	{ "import_source" "op:velocity" }

	    parm {
		name	"velocity_guideusebox"
		label	"Bounding Box"
		type	toggle
		joinnext
		default	{ "off" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:velocity" }
		parmtag	{ "import_token" "guideusebox" }
	    }
	    parm {
		name	"velocity_guideuseboxhash"
		label	"Bounding Box Hash"
		type	toggle
		default	{ "off" }
		disablewhen	"{ velocity_guideusebox == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:velocity" }
		parmtag	{ "import_token" "guideuseboxhash" }
	    }
	    parm {
		name	"velocity_guideusesmoke"
		label	"Use Smoke"
		type	toggle
		default	{ "off" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:velocity" }
		parmtag	{ "import_token" "guideusesmoke" }
	    }
	    parm {
		name	"velocity_guidescale"
		label	"Scale"
		type	float
		default	{ "1" }
		range	{ 0 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:velocity" }
		parmtag	{ "import_token" "guidescale" }
	    }
	    parm {
		name	"velocity_guideoverridediv"
		label	"Override Divisions"
		type	toggle
		default	{ "off" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:velocity" }
		parmtag	{ "import_token" "guideoverridediv" }
	    }
	    parm {
		name	"velocity_guidediv"
		label	"Divisions"
		type	intvector
		size	3
		default	{ "10" "10" "10" }
		disablewhen	"{ velocity_guideoverridediv == 0 }"
		range	{ 1! 1000 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:velocity" }
		parmtag	{ "import_token" "guidediv" }
	    }
	    parm {
		name	"velocity_guidebarbs"
		label	"Use Barbs on Vectors"
		type	toggle
		default	{ "on" }
		disablewhen	"{ velocity_guideusesmoke == 1 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:velocity" }
		parmtag	{ "import_token" "guidebarbs" }
	    }
	    parm {
		name	"velocity_guidepercomp"
		label	"Component Velocities"
		type	toggle
		default	{ "off" }
		disablewhen	"{ velocity_guideusesmoke == 1 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:velocity" }
		parmtag	{ "import_token" "guidepercomp" }
	    }
	    parm {
		name	"velocity_guideusestreamers"
		label	"Use Streamers"
		type	toggle
		joinnext
		default	{ "off" }
		disablewhen	"{ velocity_guideusesmoke == 1 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:velocity" }
		parmtag	{ "import_token" "guideusestreamers" }
	    }
	    parm {
		name	"velocity_guideuseplane"
		label	"Use Plane"
		type	toggle
		default	{ "off" }
		disablewhen	"{ velocity_guideusesmoke == 1 } { velocity_guideusestreamers == 1 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:velocity" }
		parmtag	{ "import_token" "guideuseplane" }
	    }
	    parm {
		name	"velocity_guideplane"
		label	"Plane Orientation"
		type	ordinal
		default	{ "xy" }
		disablewhen	"{ velocity_guideusesmoke == 1 } { velocity_guideusestreamers == 0 velocity_guideuseplane == 0 }"
		menu	{
		    "xy"	"XY Plane"
		    "yz"	"YZ Plane"
		    "zx"	"ZX Plane"
		}
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:velocity" }
		parmtag	{ "import_token" "guideplane" }
	    }
	    parm {
		name	"velocity_guideplaneval"
		label	"Plane Position"
		type	float
		default	{ "0" }
		disablewhen	"{ velocity_guideusesmoke == 1 } { velocity_guideusestreamers == 0 velocity_guideuseplane == 0 }"
		range	{ -1! 1! }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:velocity" }
		parmtag	{ "import_token" "guideplaneval" }
	    }
	    parm {
		name	"velocity_guidestreamerlen"
		label	"Streamer Length"
		type	float
		default	{ "1" }
		disablewhen	"{ velocity_guideusesmoke == 1 } { velocity_guideusestreamers == 0 }"
		range	{ 0 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:velocity" }
		parmtag	{ "import_token" "guidestreamerlen" }
	    }
	    parm {
		name	"velocity_guidestreamerminspeed"
		label	"Streamer Minimum Speed"
		type	float
		default	{ "0.001" }
		disablewhen	"{ velocity_guideusesmoke == 1 } { velocity_guideusestreamers == 0 }"
		range	{ 0 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:velocity" }
		parmtag	{ "import_token" "guidestreamerminspeed" }
	    }
	    parm {
		name	"velocity_guidevistype"
		label	"Visualization Type"
		type	ordinal
		default	{ "speed" }
		disablewhen	"{ velocity_guideusesmoke == 1 }"
		menu	{
		    "none"	"None"
		    "distance"	"Distance"
		    "speed"	"Speed"
		    "origin"	"Origin"
		    "dir"	"Direction"
		    "value"	"Value"
		}
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:velocity" }
		parmtag	{ "import_token" "guidevistype" }
	    }
	    parm {
		name	"velocity_guidevismode"
		label	"Visualization Mode"
		type	ordinal
		default	{ "false" }
		disablewhen	"{ velocity_guideusesmoke == 1 } { velocity_guidevistype != distance velocity_guidevistype != speed }"
		menu	{
		    "false"	"Infra-Red"
		    "pink"	"White to Red"
		    "mono"	"Grayscale"
		    "blackbody"	"Black Body"
		    "bipartite"	"Two-Tone"
		}
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:velocity" }
		parmtag	{ "import_token" "guidevismode" }
	    }
	    parm {
		name	"velocity_guidevisscale"
		label	"Visualization Scale"
		type	float
		default	{ "1" }
		disablewhen	"{ velocity_guideusesmoke == 1 }"
		range	{ 0 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:velocity" }
		parmtag	{ "import_token" "guidevisscale" }
	    }
	    parm {
		name	"velocity_guiderange"
		label	"Visualization Range"
		type	float
		size	2
		default	{ "0" "1" }
		disablewhen	"{ velocity_guideusesmoke == 1 }"
		range	{ 0 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:velocity" }
		parmtag	{ "import_token" "guiderange" }
	    }
	}

	group {
	    name	"folder0_9"
	    label	"Collision"
	    grouptag	{ "import_enable" "1" }
	    grouptag	{ "import_source" "op:collisionmask1" }

	    parm {
		name	"collisionmask1_usebox"
		label	"Bounding Box"
		type	toggle
		joinnext
		default	{ "off" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:collisionmask1" }
		parmtag	{ "import_token" "usebox" }
	    }
	    parm {
		name	"collisionmask1_useboxhash"
		label	"Bounding Box Hash"
		type	toggle
		default	{ "off" }
		disablewhen	"{ collisionmask1_usebox == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:collisionmask1" }
		parmtag	{ "import_token" "useboxhash" }
	    }
	    parm {
		name	"collisionmask1_usesmoke"
		label	"Use Smoke   "
		type	toggle
		joinnext
		default	{ "off" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:collisionmask1" }
		parmtag	{ "import_token" "usesmoke" }
	    }
	    parm {
		name	"collisionmask1_guideremapsmoke"
		label	"Remap Smoke"
		type	toggle
		default	{ "off" }
		disablewhen	"{ collisionmask1_usesmoke == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:collisionmask1" }
		parmtag	{ "import_token" "guideremapsmoke" }
	    }
	    parm {
		name	"collisionmask1_guidesmokedensity"
		label	"Smoke Density"
		type	float
		default	{ "1" }
		disablewhen	"{ collisionmask1_usesmoke == 0 }"
		range	{ 0! 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:collisionmask1" }
		parmtag	{ "import_token" "guidesmokedensity" }
	    }
	    parm {
		name	"collisionmask1_guideuseplane"
		label	"Use Plane     "
		type	toggle
		joinnext
		default	{ "off" }
		disablewhen	"{ collisionmask1_usesmoke == 1 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:collisionmask1" }
		parmtag	{ "import_token" "guideuseplane" }
	    }
	    parm {
		name	"collisionmask1_guideplane"
		label	"Plane Orientation"
		type	ordinal
		default	{ "xy" }
		disablewhen	"{ collisionmask1_usesmoke == 1 } { collisionmask1_guideuseplane == 0 }"
		menu	{
		    "xy"	"XY Plane"
		    "yz"	"YZ Plane"
		    "zx"	"ZX Plane"
		}
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:collisionmask1" }
		parmtag	{ "import_token" "guideplane" }
	    }
	    parm {
		name	"collisionmask1_guideplaneval"
		label	"Plane Position"
		type	float
		default	{ "0" }
		disablewhen	"{ collisionmask1_usesmoke == 1 } { collisionmask1_guideuseplane == 0 }"
		range	{ -1! 1! }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:collisionmask1" }
		parmtag	{ "import_token" "guideplaneval" }
	    }
	    parm {
		name	"collisionmask1_guidevismode"
		label	"Visualization Mode"
		type	ordinal
		joinnext
		default	{ "false" }
		disablewhen	"{ collisionmask1_usesmoke == 1 collisionmask1_guideremapsmoke == 0 } { collisionmask1_usesmoke == 0 collisionmask1_guideuseplane == 0 }"
		menu	{
		    "none"	"No Mapping"
		    "false"	"Infra-Red"
		    "pink"	"White to Red"
		    "mono"	"Grayscale"
		    "blackbody"	"Black Body"
		    "bipartite"	"Two-Tone"
		}
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:collisionmask1" }
		parmtag	{ "import_token" "guidevismode" }
	    }
	    parm {
		name	"collisionmask1_guidevisdensitymode"
		label	"Alpha Mapping"
		type	ordinal
		default	{ "none" }
		disablewhen	"{ collisionmask1_usesmoke == 1 collisionmask1_guideremapsmoke == 0 } { collisionmask1_usesmoke == 0 collisionmask1_guideuseplane == 0 }"
		menu	{
		    "none"	"No Mapping"
		    "increasing"	"Increasing"
		    "decreasing"	"Decreasing"
		    "hill"	"Hill"
		    "valley"	"Valley"
		    "step"	"Step"
		    "square"	"Square"
		}
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:collisionmask1" }
		parmtag	{ "import_token" "guidevisdensitymode" }
	    }
	    parm {
		name	"collisionmask1_guiderangemode"
		label	"Specify Range by Min/Max"
		type	toggle
		default	{ "on" }
		disablewhen	"{ collisionmask1_usesmoke == 1 collisionmask1_guideremapsmoke == 0 } { collisionmask1_usesmoke == 0 collisionmask1_guideuseplane == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:collisionmask1" }
		parmtag	{ "import_token" "guiderangemode" }
	    }
	    parm {
		name	"collisionmask1_guiderange"
		label	"Guide Range"
		type	float
		size	2
		default	{ "0" "1" }
		hidewhen	"{ collisionmask1_usesmoke == 1 collisionmask1_guideremapsmoke == 0 } { collisionmask1_usesmoke == 0 collisionmask1_guideuseplane == 0 } { collisionmask1_guiderangemode == 0 }"
		range	{ 0 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:collisionmask1" }
		parmtag	{ "import_token" "guiderange" }
	    }
	    parm {
		name	"collisionmask1_guiderangecenter"
		label	"Guide Range Center"
		type	float
		default	{ "0.5" }
		hidewhen	"{ collisionmask1_usesmoke == 1 collisionmask1_guideremapsmoke == 0 } { collisionmask1_usesmoke == 0 collisionmask1_guideuseplane == 0 } { collisionmask1_guiderangemode == 1 }"
		range	{ -1 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:collisionmask1" }
		parmtag	{ "import_token" "guiderangecenter" }
	    }
	    parm {
		name	"collisionmask1_guiderangesize"
		label	"Guide Range Width"
		type	float
		default	{ "1" }
		hidewhen	"{ collisionmask1_usesmoke == 1 collisionmask1_guideremapsmoke == 0 } { collisionmask1_usesmoke == 0 collisionmask1_guideuseplane == 0 } { collisionmask1_guiderangemode == 1 }"
		range	{ 0 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:collisionmask1" }
		parmtag	{ "import_token" "guiderangesize" }
	    }
	    parm {
		name	"collisionmask1_guideiso"
		label	"Iso Offset"
		type	float
		default	{ "0" }
		disablewhen	"{ collisionmask1_usesmoke == 1 } { collisionmask1_guideuseplane == 1 }"
		range	{ -5 5 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:collisionmask1" }
		parmtag	{ "import_token" "guideiso" }
	    }
	    parm {
		name	"collisionmask1_guideinvert"
		label	"Invert Iso"
		type	toggle
		default	{ "off" }
		disablewhen	"{ collisionmask1_usesmoke == 1 } { collisionmask1_guideuseplane == 1 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:collisionmask1" }
		parmtag	{ "import_token" "guideinvert" }
	    }
	}

	group {
	    name	"folder0_10"
	    label	"Source"
	    grouptag	{ "import_enable" "1" }
	    grouptag	{ "import_source" "op:sourcemask1" }

	    parm {
		name	"sourcemask1_usebox"
		label	"Bounding Box"
		type	toggle
		joinnext
		default	{ "off" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:sourcemask1" }
		parmtag	{ "import_token" "usebox" }
	    }
	    parm {
		name	"sourcemask1_useboxhash"
		label	"Bounding Box Hash"
		type	toggle
		default	{ "off" }
		disablewhen	"{ sourcemask1_usebox == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:sourcemask1" }
		parmtag	{ "import_token" "useboxhash" }
	    }
	    parm {
		name	"sourcemask1_usesmoke"
		label	"Use Smoke   "
		type	toggle
		joinnext
		default	{ "on" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:sourcemask1" }
		parmtag	{ "import_token" "usesmoke" }
	    }
	    parm {
		name	"sourcemask1_guideremapsmoke"
		label	"Remap Smoke"
		type	toggle
		default	{ "off" }
		disablewhen	"{ sourcemask1_usesmoke == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:sourcemask1" }
		parmtag	{ "import_token" "guideremapsmoke" }
	    }
	    parm {
		name	"sourcemask1_guidesmokedensity"
		label	"Smoke Density"
		type	float
		default	{ "1" }
		disablewhen	"{ sourcemask1_usesmoke == 0 }"
		range	{ 0! 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:sourcemask1" }
		parmtag	{ "import_token" "guidesmokedensity" }
	    }
	    parm {
		name	"sourcemask1_guideuseplane"
		label	"Use Plane     "
		type	toggle
		joinnext
		default	{ "off" }
		disablewhen	"{ sourcemask1_usesmoke == 1 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:sourcemask1" }
		parmtag	{ "import_token" "guideuseplane" }
	    }
	    parm {
		name	"sourcemask1_guideplane"
		label	"Plane Orientation"
		type	ordinal
		default	{ "xy" }
		disablewhen	"{ sourcemask1_usesmoke == 1 } { sourcemask1_guideuseplane == 0 }"
		menu	{
		    "xy"	"XY Plane"
		    "yz"	"YZ Plane"
		    "zx"	"ZX Plane"
		}
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:sourcemask1" }
		parmtag	{ "import_token" "guideplane" }
	    }
	    parm {
		name	"sourcemask1_guideplaneval"
		label	"Plane Position"
		type	float
		default	{ "0" }
		disablewhen	"{ sourcemask1_usesmoke == 1 } { sourcemask1_guideuseplane == 0 }"
		range	{ -1! 1! }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:sourcemask1" }
		parmtag	{ "import_token" "guideplaneval" }
	    }
	    parm {
		name	"sourcemask1_guidevismode"
		label	"Visualization Mode"
		type	ordinal
		joinnext
		default	{ "false" }
		disablewhen	"{ sourcemask1_usesmoke == 1 sourcemask1_guideremapsmoke == 0 } { sourcemask1_usesmoke == 0 sourcemask1_guideuseplane == 0 }"
		menu	{
		    "none"	"No Mapping"
		    "false"	"Infra-Red"
		    "pink"	"White to Red"
		    "mono"	"Grayscale"
		    "blackbody"	"Black Body"
		    "bipartite"	"Two-Tone"
		}
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:sourcemask1" }
		parmtag	{ "import_token" "guidevismode" }
	    }
	    parm {
		name	"sourcemask1_guidevisdensitymode"
		label	"Alpha Mapping"
		type	ordinal
		default	{ "none" }
		disablewhen	"{ sourcemask1_usesmoke == 1 sourcemask1_guideremapsmoke == 0 } { sourcemask1_usesmoke == 0 sourcemask1_guideuseplane == 0 }"
		menu	{
		    "none"	"No Mapping"
		    "increasing"	"Increasing"
		    "decreasing"	"Decreasing"
		    "hill"	"Hill"
		    "valley"	"Valley"
		    "step"	"Step"
		    "square"	"Square"
		}
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:sourcemask1" }
		parmtag	{ "import_token" "guidevisdensitymode" }
	    }
	    parm {
		name	"sourcemask1_guiderangemode"
		label	"Specify Range by Min/Max"
		type	toggle
		default	{ "on" }
		disablewhen	"{ sourcemask1_usesmoke == 1 sourcemask1_guideremapsmoke == 0 } { sourcemask1_usesmoke == 0 sourcemask1_guideuseplane == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:sourcemask1" }
		parmtag	{ "import_token" "guiderangemode" }
	    }
	    parm {
		name	"sourcemask1_guiderange"
		label	"Guide Range"
		type	float
		size	2
		default	{ "0" "1" }
		hidewhen	"{ sourcemask1_usesmoke == 1 sourcemask1_guideremapsmoke == 0 } { sourcemask1_usesmoke == 0 sourcemask1_guideuseplane == 0 } { sourcemask1_guiderangemode == 0 }"
		range	{ 0 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:sourcemask1" }
		parmtag	{ "import_token" "guiderange" }
	    }
	    parm {
		name	"sourcemask1_guiderangecenter"
		label	"Guide Range Center"
		type	float
		default	{ "0.5" }
		hidewhen	"{ sourcemask1_usesmoke == 1 sourcemask1_guideremapsmoke == 0 } { sourcemask1_usesmoke == 0 sourcemask1_guideuseplane == 0 } { sourcemask1_guiderangemode == 1 }"
		range	{ -1 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:sourcemask1" }
		parmtag	{ "import_token" "guiderangecenter" }
	    }
	    parm {
		name	"sourcemask1_guiderangesize"
		label	"Guide Range Width"
		type	float
		default	{ "1" }
		hidewhen	"{ sourcemask1_usesmoke == 1 sourcemask1_guideremapsmoke == 0 } { sourcemask1_usesmoke == 0 sourcemask1_guideuseplane == 0 } { sourcemask1_guiderangemode == 1 }"
		range	{ 0 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:sourcemask1" }
		parmtag	{ "import_token" "guiderangesize" }
	    }
	    parm {
		name	"sourcemask1_guideiso"
		label	"Iso Offset"
		type	float
		default	{ "0" }
		disablewhen	"{ sourcemask1_usesmoke == 1 } { sourcemask1_guideuseplane == 1 }"
		range	{ -5 5 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:sourcemask1" }
		parmtag	{ "import_token" "guideiso" }
	    }
	    parm {
		name	"sourcemask1_guideinvert"
		label	"Invert Iso"
		type	toggle
		default	{ "off" }
		disablewhen	"{ sourcemask1_usesmoke == 1 } { sourcemask1_guideuseplane == 1 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:sourcemask1" }
		parmtag	{ "import_token" "guideinvert" }
	    }
	}

	group {
	    name	"folder0_11"
	    label	"Sink"
	    grouptag	{ "import_enable" "1" }
	    grouptag	{ "import_source" "op:sinkmask1" }

	    parm {
		name	"sinkmask1_usebox"
		label	"Bounding Box"
		type	toggle
		joinnext
		default	{ "off" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:sinkmask1" }
		parmtag	{ "import_token" "usebox" }
	    }
	    parm {
		name	"sinkmask1_useboxhash"
		label	"Bounding Box Hash"
		type	toggle
		default	{ "off" }
		disablewhen	"{ sinkmask1_usebox == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:sinkmask1" }
		parmtag	{ "import_token" "useboxhash" }
	    }
	    parm {
		name	"sinkmask1_usesmoke"
		label	"Use Smoke   "
		type	toggle
		joinnext
		default	{ "on" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:sinkmask1" }
		parmtag	{ "import_token" "usesmoke" }
	    }
	    parm {
		name	"sinkmask1_guideremapsmoke"
		label	"Remap Smoke"
		type	toggle
		default	{ "off" }
		disablewhen	"{ sinkmask1_usesmoke == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:sinkmask1" }
		parmtag	{ "import_token" "guideremapsmoke" }
	    }
	    parm {
		name	"sinkmask1_guidesmokedensity"
		label	"Smoke Density"
		type	float
		default	{ "1" }
		disablewhen	"{ sinkmask1_usesmoke == 0 }"
		range	{ 0! 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:sinkmask1" }
		parmtag	{ "import_token" "guidesmokedensity" }
	    }
	    parm {
		name	"sinkmask1_guideuseplane"
		label	"Use Plane     "
		type	toggle
		joinnext
		default	{ "off" }
		disablewhen	"{ sinkmask1_usesmoke == 1 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:sinkmask1" }
		parmtag	{ "import_token" "guideuseplane" }
	    }
	    parm {
		name	"sinkmask1_guideplane"
		label	"Plane Orientation"
		type	ordinal
		default	{ "xy" }
		disablewhen	"{ sinkmask1_usesmoke == 1 } { sinkmask1_guideuseplane == 0 }"
		menu	{
		    "xy"	"XY Plane"
		    "yz"	"YZ Plane"
		    "zx"	"ZX Plane"
		}
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:sinkmask1" }
		parmtag	{ "import_token" "guideplane" }
	    }
	    parm {
		name	"sinkmask1_guideplaneval"
		label	"Plane Position"
		type	float
		default	{ "0" }
		disablewhen	"{ sinkmask1_usesmoke == 1 } { sinkmask1_guideuseplane == 0 }"
		range	{ -1! 1! }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:sinkmask1" }
		parmtag	{ "import_token" "guideplaneval" }
	    }
	    parm {
		name	"sinkmask1_guidevismode"
		label	"Visualization Mode"
		type	ordinal
		joinnext
		default	{ "false" }
		disablewhen	"{ sinkmask1_usesmoke == 1 sinkmask1_guideremapsmoke == 0 } { sinkmask1_usesmoke == 0 sinkmask1_guideuseplane == 0 }"
		menu	{
		    "none"	"No Mapping"
		    "false"	"Infra-Red"
		    "pink"	"White to Red"
		    "mono"	"Grayscale"
		    "blackbody"	"Black Body"
		    "bipartite"	"Two-Tone"
		}
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:sinkmask1" }
		parmtag	{ "import_token" "guidevismode" }
	    }
	    parm {
		name	"sinkmask1_guidevisdensitymode"
		label	"Alpha Mapping"
		type	ordinal
		default	{ "none" }
		disablewhen	"{ sinkmask1_usesmoke == 1 sinkmask1_guideremapsmoke == 0 } { sinkmask1_usesmoke == 0 sinkmask1_guideuseplane == 0 }"
		menu	{
		    "none"	"No Mapping"
		    "increasing"	"Increasing"
		    "decreasing"	"Decreasing"
		    "hill"	"Hill"
		    "valley"	"Valley"
		    "step"	"Step"
		    "square"	"Square"
		}
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:sinkmask1" }
		parmtag	{ "import_token" "guidevisdensitymode" }
	    }
	    parm {
		name	"sinkmask1_guiderangemode"
		label	"Specify Range by Min/Max"
		type	toggle
		default	{ "on" }
		disablewhen	"{ sinkmask1_usesmoke == 1 sinkmask1_guideremapsmoke == 0 } { sinkmask1_usesmoke == 0 sinkmask1_guideuseplane == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:sinkmask1" }
		parmtag	{ "import_token" "guiderangemode" }
	    }
	    parm {
		name	"sinkmask1_guiderange"
		label	"Guide Range"
		type	float
		size	2
		default	{ "0" "1" }
		hidewhen	"{ sinkmask1_usesmoke == 1 sinkmask1_guideremapsmoke == 0 } { sinkmask1_usesmoke == 0 sinkmask1_guideuseplane == 0 } { sinkmask1_guiderangemode == 0 }"
		range	{ 0 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:sinkmask1" }
		parmtag	{ "import_token" "guiderange" }
	    }
	    parm {
		name	"sinkmask1_guiderangecenter"
		label	"Guide Range Center"
		type	float
		default	{ "0.5" }
		hidewhen	"{ sinkmask1_usesmoke == 1 sinkmask1_guideremapsmoke == 0 } { sinkmask1_usesmoke == 0 sinkmask1_guideuseplane == 0 } { sinkmask1_guiderangemode == 1 }"
		range	{ -1 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:sinkmask1" }
		parmtag	{ "import_token" "guiderangecenter" }
	    }
	    parm {
		name	"sinkmask1_guiderangesize"
		label	"Guide Range Width"
		type	float
		default	{ "1" }
		hidewhen	"{ sinkmask1_usesmoke == 1 sinkmask1_guideremapsmoke == 0 } { sinkmask1_usesmoke == 0 sinkmask1_guideuseplane == 0 } { sinkmask1_guiderangemode == 1 }"
		range	{ 0 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:sinkmask1" }
		parmtag	{ "import_token" "guiderangesize" }
	    }
	    parm {
		name	"sinkmask1_guideiso"
		label	"Iso Offset"
		type	float
		default	{ "0" }
		disablewhen	"{ sinkmask1_usesmoke == 1 } { sinkmask1_guideuseplane == 1 }"
		range	{ -5 5 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:sinkmask1" }
		parmtag	{ "import_token" "guideiso" }
	    }
	    parm {
		name	"sinkmask1_guideinvert"
		label	"Invert Iso"
		type	toggle
		default	{ "off" }
		disablewhen	"{ sinkmask1_usesmoke == 1 } { sinkmask1_guideuseplane == 1 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:sinkmask1" }
		parmtag	{ "import_token" "guideinvert" }
	    }
	}

	group {
	    name	"folder0_12"
	    label	"Pump"
	    grouptag	{ "import_enable" "1" }
	    grouptag	{ "import_source" "op:pumpmask1" }

	    parm {
		name	"pumpmask1_showguide"
		label	"Show Guide Geometry"
		type	toggle
		default	{ "off" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:pumpmask1" }
		parmtag	{ "import_token" "showguide" }
	    }
	    parm {
		name	"pumpmask1_color"
		label	"Color"
		type	color
		size	3
		default	{ "0" "0" "1" }
		range	{ 0! 1! }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:pumpmask1" }
		parmtag	{ "import_token" "color" }
	    }
	    parm {
		name	"pumpmask1_usebox"
		label	"Bounding Box"
		type	toggle
		joinnext
		default	{ "off" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:pumpmask1" }
		parmtag	{ "import_token" "usebox" }
	    }
	    parm {
		name	"pumpmask1_useboxhash"
		label	"Bounding Box Hash"
		type	toggle
		default	{ "off" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:pumpmask1" }
		parmtag	{ "import_token" "useboxhash" }
	    }
	    parm {
		name	"pumpmask1_usesmoke"
		label	"Use Smoke   "
		type	toggle
		joinnext
		default	{ "off" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:pumpmask1" }
		parmtag	{ "import_token" "usesmoke" }
	    }
	    parm {
		name	"pumpmask1_guideremapsmoke"
		label	"Remap Smoke"
		type	toggle
		default	{ "off" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:pumpmask1" }
		parmtag	{ "import_token" "guideremapsmoke" }
	    }
	    parm {
		name	"pumpmask1_guidesmokedensity"
		label	"Smoke Density"
		type	float
		default	{ "1" }
		range	{ 0! 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:pumpmask1" }
		parmtag	{ "import_token" "guidesmokedensity" }
	    }
	    parm {
		name	"pumpmask1_guideuseplane"
		label	"Use Plane     "
		type	toggle
		joinnext
		default	{ "off" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:pumpmask1" }
		parmtag	{ "import_token" "guideuseplane" }
	    }
	    parm {
		name	"pumpmask1_guideplane"
		label	"Plane Orientation"
		type	ordinal
		default	{ "xy" }
		disablewhen	"{ pumpmask1_guideuseplane == 0 }"
		menu	{
		    "xy"	"XY Plane"
		    "yz"	"YZ Plane"
		    "zx"	"ZX Plane"
		}
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:pumpmask1" }
		parmtag	{ "import_token" "guideplane" }
	    }
	    parm {
		name	"pumpmask1_guideplaneval"
		label	"Plane Position"
		type	float
		default	{ "0" }
		disablewhen	"{ pumpmask1_guideuseplane == 0 }"
		range	{ -1! 1! }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:pumpmask1" }
		parmtag	{ "import_token" "guideplaneval" }
	    }
	    parm {
		name	"pumpmask1_guidevismode"
		label	"Visualization Mode"
		type	ordinal
		joinnext
		default	{ "false" }
		disablewhen	"{ pumpmask1_guideremapsmoke == 0 } { pumpmask1_guideuseplane == 0 }"
		menu	{
		    "none"	"No Mapping"
		    "false"	"Infra-Red"
		    "pink"	"White to Red"
		    "mono"	"Grayscale"
		    "blackbody"	"Black Body"
		    "bipartite"	"Two-Tone"
		}
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:pumpmask1" }
		parmtag	{ "import_token" "guidevismode" }
	    }
	    parm {
		name	"pumpmask1_guidevisdensitymode"
		label	"Alpha Mapping"
		type	ordinal
		default	{ "none" }
		disablewhen	"{ pumpmask1_guideremapsmoke == 0 } { pumpmask1_guideuseplane == 0 }"
		menu	{
		    "none"	"No Mapping"
		    "increasing"	"Increasing"
		    "decreasing"	"Decreasing"
		    "hill"	"Hill"
		    "valley"	"Valley"
		    "step"	"Step"
		    "square"	"Square"
		}
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:pumpmask1" }
		parmtag	{ "import_token" "guidevisdensitymode" }
	    }
	    parm {
		name	"pumpmask1_guiderangemode"
		label	"Specify Range by Min/Max"
		type	toggle
		default	{ "on" }
		disablewhen	"{ pumpmask1_guideremapsmoke == 0 } { pumpmask1_guideuseplane == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:pumpmask1" }
		parmtag	{ "import_token" "guiderangemode" }
	    }
	    parm {
		name	"pumpmask1_guiderange"
		label	"Guide Range"
		type	float
		size	2
		default	{ "0" "1" }
		hidewhen	"{ pumpmask1_guideremapsmoke == 0 } { pumpmask1_guideuseplane == 0 } { pumpmask1_guiderangemode == 0 }"
		range	{ 0 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:pumpmask1" }
		parmtag	{ "import_token" "guiderange" }
	    }
	    parm {
		name	"pumpmask1_guiderangecenter"
		label	"Guide Range Center"
		type	float
		default	{ "0.5" }
		hidewhen	"{ pumpmask1_guideremapsmoke == 0 } { pumpmask1_guideuseplane == 0 } { pumpmask1_guiderangemode == 1 }"
		range	{ -1 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:pumpmask1" }
		parmtag	{ "import_token" "guiderangecenter" }
	    }
	    parm {
		name	"pumpmask1_guiderangesize"
		label	"Guide Range Width"
		type	float
		default	{ "1" }
		hidewhen	"{ pumpmask1_guideremapsmoke == 0 } { pumpmask1_guideuseplane == 0 } { pumpmask1_guiderangemode == 1 }"
		range	{ 0 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:pumpmask1" }
		parmtag	{ "import_token" "guiderangesize" }
	    }
	    parm {
		name	"pumpmask1_guideiso"
		label	"Iso Offset"
		type	float
		default	{ "0" }
		disablewhen	"{ pumpmask1_guideuseplane == 1 }"
		range	{ -5 5 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:pumpmask1" }
		parmtag	{ "import_token" "guideiso" }
	    }
	    parm {
		name	"pumpmask1_guideinvert"
		label	"Invert Iso"
		type	toggle
		default	{ "off" }
		disablewhen	"{ pumpmask1_guideuseplane == 1 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:pumpmask1" }
		parmtag	{ "import_token" "guideinvert" }
	    }
	}

    }

    group {
	name	"std_switcher_0_1"
	label	"Initial Data"

	parm {
	    name	"density_soppath"
	    label	"Density SOP Path"
	    type	oppath
	    joinnext
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000" }
	    parmtag	{ "opfilter" "!!SOP!!" }
	    parmtag	{ "oprelative" "." }
	}
	parm {
	    name	"density_scalevalue"
	    label	"Scale"
	    type	float
	    default	{ "1" }
	    range	{ 0 10 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"temperature_soppath"
	    label	"Temperature SOP Path"
	    type	oppath
	    joinnext
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000" }
	    parmtag	{ "opfilter" "!!SOP!!" }
	    parmtag	{ "oprelative" "." }
	}
	parm {
	    name	"temperature_scalevalue"
	    label	"Scale"
	    type	float
	    default	{ "1" }
	    range	{ 0 10 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"fuel_soppath"
	    label	"Fuel SOP Path"
	    type	oppath
	    joinnext
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	    parmtag	{ "opfilter" "!!SOP!!" }
	    parmtag	{ "oprelative" "." }
	}
	parm {
	    name	"fuel_scalevalue"
	    label	"Scale"
	    type	float
	    default	{ "1" }
	    range	{ 0 10 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"velocity_soppath"
	    label	"Velocity SOP Path"
	    type	oppath
	    joinnext
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	    parmtag	{ "opfilter" "!!SOP!!" }
	    parmtag	{ "oprelative" "." }
	}
	parm {
	    name	"velocity_scalevalue"
	    label	"Scale"
	    type	float
	    default	{ "1" }
	    range	{ 0 10 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"usetransform"
	    label	"Use Object Transform"
	    type	toggle
	    default	{ "on" }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"closedends"
	    label	"Closed Boundaries"
	    type	toggle
	    joinnext
	    default	{ "on" }
	    range	{ 0 1 }
	    export	all
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"closexneg"
	    label	"-X"
	    type	toggle
	    joinnext
	    default	{ "on" }
	    disablewhen	"{ closedends == 0 }"
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"closexpos"
	    label	"+X"
	    type	toggle
	    joinnext
	    default	{ "on" }
	    disablewhen	"{ closedends == 0 }"
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"closeyneg"
	    label	"-Y"
	    type	toggle
	    joinnext
	    default	{ "on" }
	    disablewhen	"{ closedends == 0 }"
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"closeypos"
	    label	"+Y"
	    type	toggle
	    joinnext
	    default	{ "on" }
	    disablewhen	"{ closedends == 0 }"
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"closezneg"
	    label	"-Z"
	    type	toggle
	    joinnext
	    default	{ "on" }
	    disablewhen	"{ closedends == 0 }"
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"closezpos"
	    label	"+Z"
	    type	toggle
	    default	{ "on" }
	    disablewhen	"{ closedends == 0 }"
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"velocity_direction"
	    label	"Wind Tunnel Direction"
	    type	vector
	    size	3
	    default	{ "0" "0" "0" }
	    range	{ -1 1 }
	    export	none
	    parmtag	{ "autoscope" "0000" }
	}
	parm {
	    name	"border"
	    label	"Border Type"
	    type	ordinal
	    default	{ "constant" }
	    menu	{
		"constant"	"Constant"
		"repeat"	"Repeat"
		"streak"	"Streak"
	    }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"restfield"
	    label	"Add Rest Field"
	    type	toggle
	    default	{ "1" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"restresscale"
	    label	"Rest Division Scale"
	    type	float
	    default	{ "0.5" }
	    disablewhen	"{ restfield == 0 }"
	    range	{ 0! 2 }
	    export	none
	}
	parm {
	    name	"velocity_voxelsample"
	    label	"Velocity Sampling"
	    type	ordinal
	    default	{ "faces" }
	    menu	{
		"center"	"Center"
		"faces"	"Faces"
		"edges"	"Edges"
		"corner"	"Corner"
	    }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"positionpath"
	    label	"Position Data Path"
	    type	string
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
    }

    group {
	name	"std_switcher_0_2"
	label	"Fields"

	group {
	    name	"folder1"
	    label	"Dynamics"

	    parm {
		name	"enablevelocity"
		label	"Velocity"
		type	toggle
		default	{ "1" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"enabledensity"
		label	"Density"
		type	toggle
		default	{ "1" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"enabletemperature"
		label	"Temperature"
		type	toggle
		default	{ "1" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"enablefuel"
		label	"Fuel"
		type	toggle
		default	{ "1" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"enabledivergence"
		label	"Divergence"
		type	toggle
		default	{ "1" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"enableburn"
		label	"Burn"
		type	toggle
		default	{ "1" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"enablepressure"
		label	"Pressure"
		type	toggle
		default	{ "1" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"enablerest"
		label	"Rest"
		type	toggle
		default	{ "1" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"enableconfinement"
		label	"Confinement"
		type	toggle
		default	{ "1" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"enableheat"
		label	"Heat"
		type	toggle
		default	{ "1" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	}

	group {
	    name	"folder1_1"
	    label	"Masks"

	    parm {
		name	"enablesource"
		label	"Source"
		type	toggle
		default	{ "1" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"enablesourceindex"
		label	"Source Index"
		type	toggle
		default	{ "1" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"enablesink"
		label	"Sink"
		type	toggle
		default	{ "1" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"enablepump"
		label	"Pump"
		type	toggle
		default	{ "1" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"enablepumpindex"
		label	"Pump Index"
		type	toggle
		default	{ "1" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"enablecollision"
		label	"Collision"
		type	toggle
		default	{ "1" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"enablecollisionvelocity"
		label	"Collision Velocity"
		type	toggle
		default	{ "1" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	}

    }

    group {
	name	"std_switcher_0_3"
	label	"Slice"

	parm {
	    name	"slice"
	    label	"Slice"
	    type	integer
	    default	{ "0" }
	    range	{ 0! 10 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"slicediv"
	    label	"Slice Divisions"
	    type	integer
	    size	3
	    default	{ "1" "1" "1" }
	    range	{ 1! 5 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"sliceoverlapneg"
	    label	"Overlap Voxels Negative"
	    type	integer
	    size	3
	    default	{ "4" "4" "4" }
	    range	{ 0! 10 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"sliceoverlappos"
	    label	"Overlap Voxels Positive"
	    type	integer
	    size	3
	    default	{ "4" "4" "4" }
	    range	{ 0! 10 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
    }

}
INDX              DialogScript      LOE!j# Dialog script for dualrestsolver automatically generated 02/22/12 12:10:02

{
    name	dualrestsolver
    script	dualrestsolver
    label	"Dual Rest Solver"

    outercode {
	"// Include all of pyro so the vex expressions "
	"// have access to the whole library"
	"#include <pyro.h>"
    }

    code {
	"vector $pfail = $fail_fail;"
	""
	"#if defined(VOP_SHADING)"
	"   $pfail  = $fail_shading;"
	"#else"
	"   #if defined(VOP_COP) || defined(VOP_COP2)"
	"      $pfail  = $fail_cop;"
	"   #elif defined(VOP_POP) || defined(VOP_SOP)"
	"      $pfail  = $fail_sop;"
	"   #elif defined(VOP_CHOP)"
	"      $pfail  = $fail_chop;"
	"   #elif defined(VOP_CVEX)"
	"      $pfail  = $fail_cvex;"
	"   #endif"
	"#endif"
	""
	"#if defined(VOP_SHADING) || defined(VOP_SOP) || defined(VOP_POP)"
	"   $Prest        = $bound_rest        ? $rest       : $pfail;"
	"   $Prest_ratio  = $bound_rest_ratio  ? rrinterp($rest_ratio,$restinterp) : 1;"
	"   if($bound_rest2 && $bound_rest2_ratio) {"
	"      $Prest2       = $rest2;"
	"      $Prest2_ratio = rrinterp($rest2_ratio,$restinterp);"
	"   } else {"
	"      $Prest2       = $pfail;"
	"      $Prest2_ratio = 0;"
	"   }"
	"#else"
	"   $Prest        = $pfail;"
	"   $Prest_ratio  = 1;"
	"   $Prest2       = $pfail;"
	"   $Prest2_ratio = 0;"
	"#endif"
    }

    input	int	restinterp	Interpolation
    input	vector	rest	"Rest Position 1"
    input	int	bound_rest	"Whether Rest Position 1 Is Bound"
    input	float	rest_ratio	"Rest1 Ratio"
    input	int	bound_rest_ratio	"Whether Rest Ratio 1 Is Bound"
    input	vector	rest2	"Rest Position 2"
    input	int	bound_rest2	"Whether Rest Position 2 Is Bound"
    input	float	rest2_ratio	"Rest2 Ratio"
    input	int	bound_rest2_ratio	"Whether Rest Ratio 2 Is Bound"
    output	vector	Prest	"Final Rest1"
    output	float	Prest_ratio	"Final Rest1 Ratio"
    output	vector	Prest2	"Final Rest2"
    output	float	Prest2_ratio	"Final Rest2 Ratio"
    inputflags	restinterp	0
    inputflags	rest	0
    inputflags	bound_rest	0
    inputflags	rest_ratio	0
    inputflags	bound_rest_ratio	0
    inputflags	rest2	0
    inputflags	bound_rest2	0
    inputflags	rest2_ratio	0
    inputflags	bound_rest2_ratio	0
    signature	"Default Inputs"	default	{ int vector int float int vector int float int vector float vector float }

    outputoverrides	default
    {
	___begin	auto
			(0,0,0)
	___begin	auto
			(0)
	___begin	auto
			(0,0,0)
	___begin	auto
			(0)
    }

    help {
	""
    }

    parm {
	name	"makeui"
	label	"Promote Interface"
	type	button
	nolabel
	default	{ "ui" }
	menu	{
	    [ "import pyro2" ]
	    [ "return pyro2.makeuimenu()" ]
	    language	python
	}
	range	{ 0 1 }
	export	none
	parmtag	{ "script_callback_language" "python" }
	parmtag	{ "script_callback" "hou.phm().uiCreate(kwargs)" }
	parmtag	{ "autoscope" "0000000000000000" }
    }
    group {
	name	"folder1"
	label	"VOP Parameters"

	parm {
	    name	"spacer"
	    label	"spacer"
	    type	label
	    nolabel
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"restinterp"
	    label	"Ratio Interpolation"
	    type	ordinal
	    default	{ "0" }
	    menu	{
		"0"	"Unmodified (Linear)"
		"1"	"Cubic"
		"2"	"Cosine"
	    }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"spacer2"
	    label	"spacer"
	    type	label
	    nolabel
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"sepparm"
	    label	"Separator"
	    type	separator
	    default	{ }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"fallback_label"
	    label	"fallback_label"
	    type	label
	    nolabel
	    default	{ "Fallback Rest Position Upon Failure (VEX):" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"fail_shading"
	    label	"SHADING Contexts"
	    type	string
	    default	{ "ptransform(\"space:object\",P)" }
	    range	{ 0 1 }
	    export	none
	    unquoted
	}
	parm {
	    name	"fail_cop"
	    label	"COP|COP2 Contexts"
	    type	string
	    default	{ "set(X,Y,0)" }
	    range	{ 0 1 }
	    export	none
	    unquoted
	}
	parm {
	    name	"fail_sop"
	    label	"SOP|POP Contexts"
	    type	string
	    default	{ "P" }
	    range	{ 0 1 }
	    export	none
	    unquoted
	}
	parm {
	    name	"fail_chop"
	    label	"CHOP Context"
	    type	string
	    default	{ "set((float)I/SR,V,0)" }
	    range	{ 0 1 }
	    export	none
	    unquoted
	}
	parm {
	    name	"fail_cvex"
	    label	"CVEX Context"
	    type	string
	    default	{ "0" }
	    range	{ 0 1 }
	    export	none
	    unquoted
	}
	parm {
	    name	"fail_fail"
	    label	"Unknown Context"
	    type	string
	    default	{ "0" }
	    range	{ 0 1 }
	    export	none
	    unquoted
	}
    }

    group {
	name	"folder1_1"
	label	"UI Promotion"

	parm {
	    name	"ui_prefix"
	    label	"Parameter Prefix"
	    type	string
	    joinnext
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"ui_postfix"
	    label	"Postfix"
	    type	string
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"ui_infolder"
	    label	"ui_infolder"
	    type	toggle
	    nolabel
	    joinnext
	    default	{ "off" }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"ui_foldername"
	    label	"Create In Folder"
	    type	string
	    default	{ [ "node('.').creator().relativePathTo(node('.')).replace('/','_')" python ] }
	    disablewhen	"{ ui_infolder == 0 }"
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"ui_withinterp"
	    label	"Include Ratio Interpolation Menu"
	    type	toggle
	    joinnext
	    default	{ "1" }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"labelparm8"
	    label	"leftalign"
	    type	label
	    nolabel
	    default	{ "" }
	    disablewhen	"{ active == 0 }"
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"ui_withfail"
	    label	"Include Fail-State Parameters"
	    type	toggle
	    joinnext
	    default	{ "0" }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"labelparm9"
	    label	"leftalign"
	    type	label
	    nolabel
	    default	{ "" }
	    disablewhen	"{ active == 0 }"
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
    }

}
INDX              Contents       WS7   DialogScript   W  OQk0707070000010000000006660000000000000000010000001237543365600001300000000000TRAILER!!! # Dialog script for gascombustion automatically generated 06/14/12 17:02:35

{
    name	gascombustion
    script	gascombustion
    label	"Gas Combustion"


    help {
	""
    }

    inputlabel	1	"Input 0"
    inputlabel	2	"Input 1"
    inputlabel	3	"Input 2"
    inputlabel	4	"Input 3"

    parm {
	name	"enable_soot"
	label	"Enable Soot"
	type	toggle
	default	{ "1" }
	range	{ 0 1 }
	export	none
    }
    parm {
	name	"timescale"
	label	"Timescale"
	type	float
	default	{ "1" }
	range	{ 0 10 }
	export	none
	parmtag	{ "autoscope" "0000000000000000" }
    }
    group {
	name	"folder0"
	label	"Settings"

	parm {
	    name	"ignitiontemp"
	    label	"Ignition Temperature"
	    type	float
	    default	{ "0.1" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"burnrate"
	    label	"Burn Rate"
	    type	float
	    default	{ "0.9" }
	    range	{ 0! 1! }
	    export	none
	}
	parm {
	    name	"fuelinefficiency"
	    label	"Fuel Inefficiency"
	    type	float
	    default	{ "0" }
	    range	{ 0! 1! }
	    export	none
	}
	parm {
	    name	"heatoutput"
	    label	"Temperature Output"
	    type	float
	    default	{ "0.8" }
	    range	{ 0 10 }
	    export	none
	}
	parm {
	    name	"gasrelease"
	    label	"Gas Released"
	    type	float
	    default	{ "10" }
	    range	{ 0 10 }
	    export	none
	}
	parm {
	    name	"gas_heat_influence"
	    label	"Gas Heat Influence"
	    type	float
	    default	{ "1" }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"gas_burn_influence"
	    label	"Gas Burn Influence"
	    type	float
	    default	{ "1" }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"temp_heat_influence"
	    label	"Temp Heat Influence"
	    type	float
	    default	{ "1" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"temp_burn_influence"
	    label	"Temp Burn Influence"
	    type	float
	    default	{ "1" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"sootrate"
	    label	"Soot Rate"
	    type	float
	    default	{ "1" }
	    disablewhen	"{ enable_soot == 0 }"
	    range	{ 0 1 }
	    export	none
	}
    }

    group {
	name	"folder0_1"
	label	"Mappings"

	parm {
	    name	"temperature"
	    label	"Temperature Field"
	    type	string
	    default	{ "temperature" }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"fuel"
	    label	"Fuel Field"
	    type	string
	    default	{ "fuel" }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"soot"
	    label	"Soot Field"
	    type	string
	    default	{ "density" }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"divergence"
	    label	"Divergence Field"
	    type	string
	    default	{ "divergence" }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"burn"
	    label	"Burn Field"
	    type	string
	    default	{ "burn" }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"heat"
	    label	"Heat Field"
	    type	string
	    default	{ "heat" }
	    range	{ 0 1 }
	    export	none
	}
    }

    group {
	name	"folder0_2"
	label	"Advanced"

	parm {
	    name	"opencl"
	    label	"Use Open CL"
	    type	toggle
	    default	{ "0" }
	    range	{ 0 1 }
	    export	none
	}
    }

}
INDX              Contents       WS7   DialogScript   W  :bOE#0707070000010000000006660000000000000000010000001237543365700001300000000000TRAILER!!! # Dialog script for pyroColorModel automatically generated 02/22/12 12:20:29

{
    name	pyroColorModel
    script	pyroColorModel
    label	"Pyro Color Model"

    input	float	field	Field
    input	int	usecd	"Use Point Color (Tint With Cd)"
    input	int	cmodel	"Color Model Index"
    input	color	constcol	"Constant Color"
    input	float	rangemin	"RAMP: Interval Min"
    input	float	rangemax	"RAMP: Interval Max"
    input	string	spacename	"Name Of Color Space (rgb,hsl,hsv,Lab,XYZ)"
    input	string	gammaname	"Name Of Gamma Space (linear,srgb,custom)"
    input	float	gammaval	"Custom Gamma Value"
    input	float	temp	"BB: Temperature"
    input	int	dotm	"BB: Enable Tone Mapping"
    input	float	tm_adapt	"BB: Tonemapping: Adaptation"
    input	float	tm_burn	"BB: Tonemapping: Burn"
    input	int	cc_gamut	"Gamut Mapping Type"
    input	int	cc_dohrot	"Enable Hue Rotation"
    input	float	cc_hrot	"Hue rotation"
    input	int	cc_dobias	"Enable Bias Correction"
    input	vector	cc_bias	"Bias Correction"
    input	int	cc_dogain	"Enable Gain Correction"
    input	vector	cc_gain	"Gain Correction"
    input	int	cc_dogamma	"Enable Gamma Correction"
    input	vector	cc_gamma	"Gamma Correction"
    input	int	cc_docontrast	"Enable Contrast Correction"
    input	vector	cc_contrast	"Contrast Correction"
    input	int	cc_dosat	"Enable Saturation Correction"
    input	float	cc_sat	"Saturation Correction"
    input	int	cc_dovalue	"Enable Brightness Correction"
    input	float	cc_value	"Brightness Correction"
    input	int	cc_dotint	"Enable Tint Correction"
    input	vector	cc_tint	"Tint Correction"
    input	float	fw	"Filter Width Override"
    input	float	fscale	"Filter Scale"
    output	vector	col	col
    inputflags	field	0
    inputflags	usecd	0
    inputflags	cmodel	0
    inputflags	constcol	0
    inputflags	rangemin	0
    inputflags	rangemax	0
    inputflags	spacename	0
    inputflags	gammaname	0
    inputflags	gammaval	0
    inputflags	temp	0
    inputflags	dotm	0
    inputflags	tm_adapt	0
    inputflags	tm_burn	0
    inputflags	cc_gamut	0
    inputflags	cc_dohrot	0
    inputflags	cc_hrot	0
    inputflags	cc_dobias	0
    inputflags	cc_bias	0
    inputflags	cc_dogain	0
    inputflags	cc_gain	0
    inputflags	cc_dogamma	0
    inputflags	cc_gamma	0
    inputflags	cc_docontrast	0
    inputflags	cc_contrast	0
    inputflags	cc_dosat	0
    inputflags	cc_sat	0
    inputflags	cc_dovalue	0
    inputflags	cc_value	0
    inputflags	cc_dotint	0
    inputflags	cc_tint	0
    inputflags	fw	0
    inputflags	fscale	0
    signature	"Default Inputs"	default	{ float int int color float float string string float float int float float int int float int vector int vector int vector int vector int float int float int vector float float vector }
    signature	"Vector Field"	v	{ vector int int color float float string string float float int float float int int float int vector int vector int vector int vector int float int float int vector float float vector }
    signature	"Vector4 Field"	p	{ vector4 int int color float float string string float float int float float int int float int vector int vector int vector int vector int float int float int vector float float vector }

    outputoverrides	default
    {
	___begin	auto
			(0,0,0)
    }
    outputoverrides	v
    {
	___begin	auto
			(0,0,0)
    }
    outputoverrides	p
    {
	___begin	auto
			(0,0,0)
    }

    help {
	""
    }

    parm {
	name	"signature"
	baseparm
	export	none
    }
    parm {
	name	"makeui"
	label	"Promote Interface"
	type	button
	nolabel
	default	{ "0" }
	menu	{
	    [ "import pyro2" ]
	    [ "return pyro2.makeuimenu()" ]
	    language	python
	}
	range	{ 0 1 }
	export	none
	parmtag	{ "script_callback_language" "python" }
	parmtag	{ "script_callback" "hou.phm().uiCreate(kwargs)" }
    }
    group {
	name	"folder0"
	label	"VOP Parameters"

	group {
	    name	"Model"
	    label	"Color Model"

	    parm {
		name	"usecd"
		label	"Use Point Color (Tint With Cd)"
		type	toggle
		default	{ "1" }
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"cmodel"
		label	"Color Model"
		type	ordinal
		default	{ "0" }
		menu	{
		    "0"	"Constant Color"
		    "1"	"Ramp Lookup"
		    "2"	"Blackbody"
		}
		range	{ 0 1 }
		export	none
	    }
	    group {
		name	"folder1"
		label	"Constant"

		parm {
		    name	"constcol"
		    label	"Constant"
		    type	color
		    size	3
		    default	{ "1" "1" "1" }
		    disablewhen	"{ cmodel != 0 }"
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"spacer2"
		    label	"spacer"
		    type	label
		    nolabel
		    default	{ "" }
		    range	{ 0 1 }
		    export	none
		}
	    }

	    group {
		name	"folder1_1"
		label	"Ramp"

		parm {
		    name	"rampparm"
		    label	"Unique Ramp Name"
		    type	string
		    joinnext
		    default	{ "rampname" }
		    disablewhen	"{ cmodel != 1 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		}
		parm {
		    name	"ramptype"
		    label	"Ramp Type"
		    type	ordinal
		    default	{ "rgb" }
		    disablewhen	"{ cmodel != 1 }"
		    menu	{
			"rgb"	"Color Ramp"
			"flt"	"Float Spline"
		    }
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "script_callback_language" "python" }
		    parmtag	{ "autoscope" "0000000000000000" }
		}
		parm {
		    name	"spacename"
		    label	"Space"
		    type	string
		    joinnext
		    default	{ "rgb" }
		    disablewhen	"{ cmodel != 1 } { ramptype != rgb }"
		    menu	{
			"rgb"	"RGB"
			"hsv"	"HSV"
			"Lab"	"LAB"
			"hsl"	"HSL"
			"XYZ"	"XYZ"
		    }
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		}
		parm {
		    name	"gammaname"
		    label	"Gamma"
		    type	string
		    joinnext
		    default	{ "srgb" }
		    disablewhen	"{ cmodel != 1 }"
		    menu	{
			"linear"	"Linear"
			"srgb"	"sRGB"
			"custom"	"Custom"
		    }
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		}
		parm {
		    name	"gammaval"
		    label	"Gamma Value"
		    type	float
		    nolabel
		    default	{ "2.2" }
		    disablewhen	"{ cmodel != 1 } { gammaname != custom }"
		    range	{ 0.0001! 4 }
		    export	none
		    parmtag	{ "script_unquoted" "1" }
		    parmtag	{ "autoscope" "0000000000000000" }
		}
		parm {
		    name	"disablewhen"
		    label	"Disable When"
		    type	string
		    default	{ "" }
		    disablewhen	"{ cmodel != 1 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		}
		parm {
		    name	"callback"
		    label	"Callback Script"
		    type	string
		    default	{ "" }
		    disablewhen	"{ cmodel != 1 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		}
		parm {
		    name	"help"
		    label	"Help"
		    type	string
		    default	{ "" }
		    disablewhen	"{ cmodel != 1 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		}
		parm {
		    name	"spacer7"
		    label	"spacer"
		    type	label
		    nolabel
		    default	{ "" }
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"rangemin"
		    label	"Ramp Interval"
		    type	float
		    joinnext
		    default	{ "0" }
		    disablewhen	"{ cmodel != 1 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		}
		parm {
		    name	"rangemax"
		    label	"Max"
		    type	float
		    nolabel
		    default	{ "1" }
		    disablewhen	"{ cmodel != 1 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		}
		parm {
		    name	"lbt"
		    label	"Ramp Boundaries"
		    type	string
		    joinnext
		    default	{ "hold" }
		    disablewhen	"{ cmodel != 1 }"
		    menu	{
			"hold"	"Hold"
			"cycle"	"Cycle"
			"accum"	"Cycle-Accumulate"
			"mirror"	"Mirror"
			"slope"	"Slope"
		    }
		    range	{ 0 1 }
		    export	none
		    unquoted
		    parmtag	{ "autoscope" "0000000000000000" }
		}
		parm {
		    name	"rbt"
		    label	"Right"
		    type	string
		    nolabel
		    default	{ "hold" }
		    disablewhen	"{ cmodel != 1 }"
		    menu	{
			"hold"	"Hold"
			"cycle"	"Cycle"
			"accum"	"Cycle-Accumulate"
			"mirror"	"Mirror"
			"slope"	"Slope"
		    }
		    range	{ 0 1 }
		    export	none
		    unquoted
		    parmtag	{ "autoscope" "0000000000000000" }
		}
		parm {
		    name	"spacer3"
		    label	"spacer"
		    type	label
		    nolabel
		    default	{ "" }
		    range	{ 0 1 }
		    export	none
		}
	    }

	    group {
		name	"folder1_2"
		label	"Blackbody"

		parm {
		    name	"temp"
		    label	"Temperature (K)"
		    type	float
		    default	{ "5000" }
		    disablewhen	"{ cmodel != 2 }"
		    range	{ 350! 15000 }
		    export	none
		}
		parm {
		    name	"spacer8"
		    label	"spacer"
		    type	label
		    nolabel
		    default	{ "" }
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"dotm"
		    label	"Tone Mapping:"
		    type	toggle
		    joinnext
		    default	{ "1" }
		    disablewhen	"{ cmodel != 2 }"
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"spacer9"
		    label	"spacer8"
		    type	label
		    nolabel
		    default	{ "" }
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"tm_adapt"
		    label	"Adaptation"
		    type	float
		    default	{ "0.18" }
		    disablewhen	"{ dotm == 0 } { cmodel != 2 }"
		    range	{ 0! 1 }
		    export	none
		}
		parm {
		    name	"tm_burn"
		    label	"Burn"
		    type	float
		    default	{ "0" }
		    disablewhen	"{ dotm == 0 } { cmodel != 2 }"
		    range	{ -2 2 }
		    export	none
		}
		parm {
		    name	"spacer6"
		    label	"spacer"
		    type	label
		    nolabel
		    default	{ "" }
		    range	{ 0 1 }
		    export	none
		}
	    }

	    parm {
		name	"section4"
		label	"Filter"
		type	label
		default	{ "" }
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"sepparm4"
		label	"sepparm4"
		type	separator
		default	{ }
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"ftype"
		label	"Type"
		type	string
		joinnext
		default	{ "point" }
		menu	{
		    "point"	"Point"
		    "box"	"Box"
		    "gauss"	"Gaussian"
		}
		range	{ 0 1 }
		export	none
		unquoted
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"fscale"
		label	"Scale"
		type	float
		default	{ "1" }
		disablewhen	"{ ftype == point }"
		range	{ 0 2 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	}

	group {
	    name	"Model_1"
	    label	"Color Correction"

	    parm {
		name	"cc_active"
		label	"Color Correct"
		type	toggle
		default	{ "0" }
		range	{ 0 1 }
		export	none
		parmtag	{ "script_callback_language" "python" }
	    }
	    parm {
		name	"cc_gamut"
		label	"Gamut Mapping"
		type	ordinal
		default	{ "3" }
		disablewhen	"{ cc_active == 0 }"
		menu	{
		    "0"	"None"
		    "1"	"Clamp"
		    "2"	"Absolute Colorimetry"
		    "3"	"Relative Colorimetry"
		}
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"cc_dohrot"
		label	"Do HRot"
		type	toggle
		nolabel
		joinnext
		default	{ "0" }
		disablewhen	"{ cc_active == 0 }"
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"cc_hrot"
		label	"Hue Rotation"
		type	float
		default	{ "0" }
		disablewhen	"{ cc_dohrot == 0 } { cc_active == 0 }"
		range	{ -1 1 }
		export	none
	    }
	    parm {
		name	"cc_dobias"
		label	"Do Bias"
		type	toggle
		nolabel
		joinnext
		default	{ "0" }
		disablewhen	"{ cc_active == 0 }"
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"cc_bias"
		label	"Bias"
		type	float
		size	3
		default	{ "0.5" "0.5" "0.5" }
		disablewhen	"{ cc_dobias == 0 } { cc_active == 0 }"
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"cc_dogain"
		label	"Do Gain"
		type	toggle
		nolabel
		joinnext
		default	{ "0" }
		disablewhen	"{ cc_active == 0 }"
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"cc_gain"
		label	"Gain"
		type	float
		size	3
		default	{ "0.5" "0.5" "0.5" }
		disablewhen	"{ cc_dogain == 0 } { cc_active == 0 }"
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"cc_dogamma"
		label	"Do Gamma"
		type	toggle
		nolabel
		joinnext
		default	{ "0" }
		disablewhen	"{ cc_active == 0 }"
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"cc_gamma"
		label	"Gamma"
		type	float
		size	3
		default	{ "1" "1" "1" }
		disablewhen	"{ cc_dogamma == 0 } { cc_active == 0 }"
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"cc_docontrast"
		label	"Do Contrast"
		type	toggle
		nolabel
		joinnext
		default	{ "0" }
		disablewhen	"{ cc_active == 0 }"
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"cc_contrast"
		label	"Contrast"
		type	float
		size	3
		default	{ "1" "1" "1" }
		disablewhen	"{ cc_docontrast == 0 } { cc_active == 0 }"
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"cc_dosat"
		label	"Do Saturation"
		type	toggle
		nolabel
		joinnext
		default	{ "0" }
		disablewhen	"{ cc_active == 0 }"
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"cc_sat"
		label	"Saturation"
		type	float
		default	{ "1" }
		disablewhen	"{ cc_dosat == 0 } { cc_active == 0 }"
		range	{ -2 2 }
		export	none
	    }
	    parm {
		name	"cc_dovalue"
		label	"Do Brightness"
		type	toggle
		nolabel
		joinnext
		default	{ "0" }
		disablewhen	"{ cc_active == 0 }"
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"cc_value"
		label	"Brightness"
		type	float
		default	{ "1" }
		disablewhen	"{ cc_dovalue == 0 } { cc_active == 0 }"
		range	{ 0 2 }
		export	none
	    }
	    parm {
		name	"cc_dotint"
		label	"Do Tint"
		type	toggle
		nolabel
		joinnext
		default	{ "0" }
		disablewhen	"{ cc_active == 0 }"
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"cc_tint"
		label	"Tint"
		type	color
		size	3
		default	{ "1" "1" "1" }
		disablewhen	"{ cc_dotint == 0 } { cc_active == 0 }"
		range	{ 0 1 }
		export	none
	    }
	}

    }

    group {
	name	"folder0_1"
	label	"UI Promotion"

	parm {
	    name	"ui_prefix"
	    label	"Parameter Prefix"
	    type	string
	    joinnext
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"ui_postfix"
	    label	"Postfix"
	    type	string
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"ui_infolder"
	    label	"ui_infolder"
	    type	toggle
	    nolabel
	    joinnext
	    default	{ "1" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"ui_foldername"
	    label	"Create In Folder"
	    type	string
	    default	{ [ "node('.').creator().relativePathTo(node('.')).replace('/','_')" python ] }
	    disablewhen	"{ ui_infolder == 0 }"
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"spacer5"
	    label	"spacer"
	    type	label
	    nolabel
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"ui_doexport"
	    label	"Include Export Utility Folder"
	    type	toggle
	    default	{ "1" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"spacer10"
	    label	"spacer"
	    type	label
	    nolabel
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	}
    }

}
INDX              DialogScript      `R//*
 * PROPRIETARY INFORMATION.  This software is proprietary to
 * Side Effects Software Inc., and is not to be reproduced,
 * transmitted, or disclosed in any way without written permission.
 *
 * Produced by:
 *	Side Effects Software Inc
 *	477 Richmond Street West
 *	Toronto, Ontario
 *	Canada   M5V 3E7
 *	416-504-9876
 *
 */

{
    name	"inttofloat"
    script	"inttofloat"
    label	"inttofloat"


    code {
	"$fval = (float)$ival;"
    }

    input	int	ival	"Integer Value"
    output	float	fval	"Float Output"

    parm {
	name	ival
	label	"Integer Input"
	type	int
	size	1
	default	{ 0 }
    }
}

INDX              DialogScript      OE$# Dialog script for typeconvertimpl automatically generated 02/22/12 12:24:23

{
    name	typeconvertimpl
    script	v_fieldpromote
    label	"Type Convert Implementation"

    outercode {
	"#include <pyro_utils.h>"
    }

    code {
	""
	"// When promoting, \"repeat last\" is the default"
	"vector4 $val2 = 0;"
	"#if !strcmp($signature,\"f_v\") || !strcmp($signature,\"f_v4\")"
	"   #define INLEN  1"
	"   #define PIN    f"
	"   $val2[0] = $val[0];"
	"#elif !strcmp($signature,\"v_f\") || !strcmp($signature,\"v_v4\")"
	"   #define INLEN  3"
	"   #define PIN    v"
	"   $val2 = set($val[0],$val[1],$val[2],0);"
	"#else"
	"   #define INLEN  4"
	"   #define PIN    v4"
	"   $val2 = $val;"
	"#endif"
	""
	"$outval = ( $TOUT ) $val2;"
	""
	"// if signature not in {'default','v_v','v4_v4'} then we convert"
	""
	"#if strcmp($signature,\"default\") && \\"
	"    strcmp($signature,\"v_v\")     && \\"
	"    strcmp($signature,\"v4_v4\")"
	""
	"   // some convenience masks"
	"   #define MASK1  {0,1,1,1}"
	"   #define MASK2  {0,0,1,1}"
	"   #define MASK3  {0,0,0,1}"
	"   #define MASK4  {0,0,0,0}"
	""
	"   $TIN $vin = ($TIN)$val2;"
	"   #if !strcmp($method,\"pad1\")"
	"      $outval = ( $TOUT ) ( $val2 + CAT2(MASK,INLEN) );"
	"   #elif !strcmp($method,\"padc\")"
	"      $outval = ( $TOUT ) ( $val2 + $const*CAT2(MASK,INLEN) );"
	"   #elif !strcmp($method,\"pad0\")"
	"      $outval = ( $TOUT ) $val2;"
	"   #elif !strcmp($method,\"comp0\")"
	"      $outval = $vin[0];"
	"   #elif !strcmp($method,\"comp1\")"
	"      $outval = $vin[1];"
	"   #elif !strcmp($method,\"comp2\")"
	"      $outval = $vin[2];"
	"   #elif !strcmp($method,\"comp3\")"
	"      $outval = $vin[3];"
	"   #elif !strcmp($method,\"min\")"
	"      $outval = min($vin);"
	"   #elif !strcmp($method,\"max\")"
	"      $outval = max($vin);"
	"   #elif !strcmp($method,\"avg\")"
	"      $outval = avg($vin);"
	"   #elif !strcmp($method,\"sum\")"
	"      $outval = sum($vin);"
	"   #elif !strcmp($method,\"len\")"
	"      $outval = length($vin);"
	"   #elif !strcmp($method,\"len2\")"
	"      $outval = length2($vin);"
	"   #elif !strcmp($method,\"len3\")"
	"      $outval = length((vector)$vin);"
	"   #elif !strcmp($method,\"len32\")"
	"      $outval = length2((vector)$vin);"
	"   #elif !strcmp($method,\"lum\")"
	"      $outval = luminance((vector)$vin);"
	"   #else"
	"      $outval = ($TOUT) ( $val2 + $val2[INLEN-1]*CAT2(MASK,INLEN) );"
	"   #endif"
	""
	"   #undef MASK1"
	"   #undef MASK2"
	"   #undef MASK3"
	"   #undef MASK4"
	""
	""
	"#endif"
	""
	"#undef PIN"
	"#undef INLEN"
    }

    input	vector4	val	"Value To Convert"
    input	float	intype	"Input Type"
    input	float	outtype	"Output Type"
    input	float	const	"Padding Constant"
    output	float	outval	"Promoted Field Value"
    inputflags	val	0
    inputflags	intype	0
    inputflags	outtype	0
    inputflags	const	0
    signature	"Float to Float"	default	{ vector4 float float float float }
    signature	"Float to Vector"	f_v	{ vector4 float vector float vector }
    signature	"Float to Vector4"	f_v4	{ vector4 float vector4 float vector4 }
    signature	"Vector to Float"	v_f	{ vector4 vector float float float }
    signature	"Vector to Vector"	v_v	{ vector4 vector vector float vector }
    signature	"Vector to Vector4"	v_v4	{ vector4 vector vector4 float vector4 }
    signature	"Vector4 to Float"	v4_f	{ vector4 vector4 float float float }
    signature	"Vector4 to Vector"	v4_v	{ vector4 vector4 vector float vector }
    signature	"Vector4 to Vector4"	v4_v4	{ vector4 vector4 vector4 float vector4 }

    outputoverrides	default
    {
	___begin	auto
			(0)
    }
    outputoverrides	f_v
    {
	___begin	auto
			(0,0,0)
    }
    outputoverrides	f_v4
    {
	___begin	auto
			(0,0,0,0)
    }
    outputoverrides	v_f
    {
	___begin	auto
			(0)
    }
    outputoverrides	v_v
    {
	___begin	auto
			(0,0,0)
    }
    outputoverrides	v_v4
    {
	___begin	auto
			(0,0,0,0)
    }
    outputoverrides	v4_f
    {
	___begin	auto
			(0)
    }
    outputoverrides	v4_v
    {
	___begin	auto
			(0,0,0)
    }
    outputoverrides	v4_v4
    {
	___begin	auto
			(0,0,0,0)
    }

    help {
	""
    }

    parm {
	name	"signature"
	baseparm
	export	none
    }
    parm {
	name	"method"
	label	"Conversion Method"
	type	string
	default	{ "assign" }
	disablewhen	"{ needconvert == 0 }"
	menu	{
	    [ "hou.phm().methodmenu(*hou.phm().sig2types(hou.evalParm('signature')))" ]
	    language	python
	}
	range	{ 0 1 }
	export	none
    }
    parm {
	name	"const"
	label	"Constant"
	type	float
	default	{ "0" }
	disablewhen	"{ method != padc }"
	range	{ -1 1 }
	export	none
    }
    parm {
	name	"needconvert"
	label	"needconvert"
	type	integer
	invisible
	default	{ [ "pwd().currentSignatureName() not in ('default','v_v','v4_v4')" python ] }
	range	{ 0 10 }
	export	none
    }
    parm {
	name	"TIN"
	label	"Input Type"
	type	string
	invisible
	default	{ [ "{'f':'float','v':'vector','v4':'vector4'}[pwd().currentSignatureName().replace('default','f_f').split('_')[0]]" python ] }
	range	{ 0 1 }
	export	none
	unquoted
    }
    parm {
	name	"TOUT"
	label	"Output Type"
	type	string
	invisible
	default	{ [ "{'f':'float','v':'vector','v4':'vector4'}[pwd().currentSignatureName().replace('default','f_f').split('_')[1]]" python ] }
	range	{ 0 1 }
	export	none
	unquoted
    }
}
INDX              DialogScript      IR//*
 * PROPRIETARY INFORMATION.  This software is proprietary to
 * Side Effects Software Inc., and is not to be reproduced,
 * transmitted, or disclosed in any way without written permission.
 *
 * Produced by:
 *	Side Effects Software Inc
 *	477 Richmond Street West
 *	Toronto, Ontario
 *	Canada   M5V 3E7
 *	416-504-9876
 *
 */

{
    name	"mulconst"
    script	"mulconst"
    label	"mulconst"


    code {
	"$scaled = $val * $mulconst;"
    }

    input	float	val		"Input Value"
    output	float	scaled		"Input Value * Constant"
    signature	"Float"			default	{ }
    signature	"Integer"		i	{ int int }
    signature	"3D Vector"		v	{ vector vector }
    signature	"3D Point"		p	{ point point }
    signature	"3D Normal"		n	{ normal normal }
    signature	"RGB Color"		c	{ color color }
    signature	"BSDF"			b	{ bsdf bsdf }
    signature	"4D Vector"		v4	{ vector4 vector4 }
    signature	"3x3 Matrix"		m3	{ matrix3 matrix3 }
    signature	"4x4 Matrix "		m4	{ matrix matrix }
    
    signature	"Uniform Float"		uf	{ ufloat ufloat }
    signature	"Uniform 3D Vector"	uv	{ uvector uvector }
    signature	"Uniform 3D Point"	up	{ upoint upoint }
    signature	"Uniform 3D Normal"	un	{ unormal unormal }
    signature	"Uniform RGB Color"	uc	{ ucolor ucolor }

    parm {
	name	mulconst
	label	"Multiplier"
	type	float
	size	1
	default	{ 1.0 }
    }
}
INDX              DialogScript      Q# Context: CVex

/*
 * Houdini Dialog Script generated automatically
 * by vcc from source file systemscalarvolumenoise.
 * Generated: Tue Jul 16 17:57:01 2013
 */

{
    name	"scalarvolumenoise"
    script	"systemscalarvolumenoise"
    label	"System Scalar Volume Noise"
    rendermask	VMantra

    help {
	  ""
    }

    parm {
	name	use_rest
	label	"Use Rest"
	type	toggle
	default	{ 0 }
	export	none
    }
    parm {
	name	additive
	label	"Additive Turbulence"
	type	toggle
	default	{ 1 }
	export	none
    }
    parm {
	name	timescale
	label	"Timescale"
	type	float
	default	{ 0 }
	range	 { 0 1 }
	export	none
    }
    parm {
	name	turbulence_freq
	label	"Turbulence Frequency"
	type	float
	default	{ 1 }
	export	none
    }
    parm {
	name	turbulence_scale
	label	"Turbulence Scale"
	type	float
	size	3
	default	{ 1 1 1 }
	export	none
    }
    parm {
	name	srcmin
	label	"Turbulence Min Noise"
	type	float
	default	{ -0.5 }
	range	 { 0 1 }
	export	none
    }
    parm {
	name	srcmax
	label	"Turbulence Max Noise"
	type	float
	default	{ 0.5 }
	range	 { 0 1 }
	export	none
    }
    parm {
	name	sharpness
	label	"Turbulence Sharpness"
	type	float
	default	{ 0.5 }
	range	 { 0 1 }
	export	none
    }
    parm {
	name	destmin
	label	"Turbulence Influence"
	type	float
	default	{ 0 }
	range	 { 0 1 }
	export	none
    }
    parm {
	name	seed
	label	"Turbulence Seed"
	type	float
	default	{ 0 }
	range	 { 0 1 }
	export	none
    }
    parm {
	name	amp
	label	"Turbulence Amplitude"
	type	float
	default	{ 1 }
	range	 { -1 1 }
	export	none
    }
    parm {
	name	rough
	label	"Turbulence Roughness"
	type	float
	default	{ 0.10000000000000001 }
	range	 { 0 1 }
	export	none
    }
    parm {
	name	maxoctave
	label	"Turbulence Octaves"
	type	integer
	default	{ 1 }
	range	 { 0 32 }
	export	none
    }
    parm {
	name	enable_cells
	label	"Enable Cellular Noise"
	type	toggle
	default	{ 0 }
	export	none
    }
    parm {
	name	change_on_noise
	label	"Adaptive Cells"
	type	toggle
	default	{ 1 }
	export	none
    }
    parm {
	name	invert_cells
	label	"Invert Cells"
	type	toggle
	default	{ 0 }
	export	none
    }
    parm {
	name	additive_cells
	label	"Additive Cells"
	type	toggle
	default	{ 1 }
	export	none
    }
    parm {
	name	cell_min
	label	"Cell Minimum"
	type	float
	default	{ 0.10000000000000001 }
	range	 { 0 1 }
	export	none
    }
    parm {
	name	cell_max
	label	"Cell Maximum"
	type	float
	default	{ 1 }
	range	 { 0 1 }
	export	none
    }
    parm {
	name	cell_sharpness
	label	"Cell Sharpness"
	type	float
	default	{ 0 }
	range	 { 0 1 }
	export	none
    }
    parm {
	name	cell_influence
	label	"Cell Influence"
	type	float
	default	{ 0 }
	range	 { 0 1 }
	export	none
    }
    parm {
	name	voronoi_noise_seed
	label	"Cell Seed"
	type	float
	default	{ 0 }
	range	 { 0 1 }
	export	none
    }
    parm {
	name	cell_frequency
	label	"Cell Frequency"
	type	float
	default	{ 0.5 }
	range	 { 0 10 }
	export	none
    }
    parm {
	name	cell_scale
	label	"Cell Scale"
	type	float
	size	3
	default	{ 1 1 1 }
	export	none
    }
    parm {
	name	cell_distance
	label	"Cell Distance"
	type	float
	default	{ 0.25 }
	range	 { 0 1 }
	export	none
    }
    parm {
	name	clampoutput
	label	"Clamp Output"
	type	toggle
	default	{ 1 }
	export	none
    }
}
INDX              Contents       WS7   DialogScript   W   F0707070000010000000006660000000000000000010000001237543365600001300000000000TRAILER!!! # Dialog script for null automatically generated 09/05/07 11:45:15

{
    name	null
    script	null
    label	Null


    help {
	""
    }

    inputlabel	1	"Input 0"
    inputlabel	2	"Input 1"
    inputlabel	3	"Input 2"
    inputlabel	4	"Input 3"

}
INDX              DialogScript      R//*
 * PROPRIETARY INFORMATION.  This software is proprietary to
 * Side Effects Software Inc., and is not to be reproduced,
 * transmitted, or disclosed in any way without written permission.
 *
 * Produced by:
 *	Side Effects Software Inc
 *	477 Richmond Street West
 *	Toronto, Ontario
 *	Canada   M5V 3E7
 *	416-504-9876
 *
 */

{
    name	"invert"
    script	"invert"
    label	"invert"


    code {
	"#if !strcmp($signature, \"f\")"
	"  $inverse = 1.0 / $val;"
	"#else"
	"  $inverse = invert($val);"
	"#endif"
    }

    input	matrix	val	"Input Value"
    output	matrix	inverse	"Inverted Value"
    signature	"4x4 Matrix"	default	{ }
    signature	"3x3 Matrix"	m3	{ matrix3 matrix3 }
    signature	"Float"		f	{ float float }

    parm {
	name	val
	label	"Value"
	type	float
	size	16
	default	{ 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 }
    }
    parm {
	name	val_m3
	label	"Value"
	type	float
	size	9
	default	{ 1 0 0 0 1 0 0 0 1 }
    }
    parm {
	name	val_f
	label	"Value"
	type	float
	size	1
	default	{ 1 }
    }
}
INDX              DialogScript      gR//*
 * PROPRIETARY INFORMATION.  This software is proprietary to
 * Side Effects Software Inc., and is not to be reproduced,
 * transmitted, or disclosed in any way without written permission.
 *
 * Produced by:
 *	Side Effects Software Inc
 *	477 Richmond Street West
 *	Toronto, Ontario
 *	Canada   M5V 3E7
 *	416-504-9876
 *
 */

#include <parameter.ds>

{
    name	"modulo"
    script	"modulo"
    label	"modulo"

    outercode {
	INCLUDE_VOPLIB
    }

    code {
	"#if defined(__vex)"
	"$mod = $input1 % $input2;"
	"#else"
	"$mod = vop_mod($input1, $input2);"
	"#endif"
    }

    input	float	input1	"Input 1"
    input	float	input2	"Input 2"
    output	float	mod	"Modulo"

    VOP_FLT_PARM(input2,   "Divisor", 1)
    VOP_FLT_PARM(input2_i, "Divisor", 1)
    VOP_VEC_PARM(input2_v, "Divisor", 1, 1, 1)
    VOP_VEC_PARM(input2_p, "Divisor", 1, 1, 1)
    VOP_VEC_PARM(input2_n, "Divisor", 1, 1, 1)
    VOP_CLR_PARM(input2_c, "Divisor", 1, 1, 1)
    VOP_VEC4_PARM(input2_v4,"Divisor", 1, 1, 1, 1)
    VOP_FLT_PARM(input2_uf, "Divisor", 1)
    VOP_VEC_PARM(input2_uv, "Divisor", 1, 1, 1)
    VOP_VEC_PARM(input2_up, "Divisor", 1, 1, 1)
    VOP_VEC_PARM(input2_un, "Divisor", 1, 1, 1)
    VOP_CLR_PARM(input2_uc, "Divisor", 1, 1, 1)

    signature	"Float"			default	{ }
    signature	"Integer"		i	{ int int int }
    signature	"3D Vector"		v	{ vector vector vector }
    signature	"3D Point"		p	{ point point point }
    signature	"3D Normal"		n	{ normal normal normal }
    signature	"RGB Color"		c	{ color color color }
    signature	"4D Vector"		v4	{ vector4 vector4 vector4 }

    signature	"Uniform Float"		uf	{ ufloat ufloat ufloat }
    signature	"Uniform 3D Vector"	uv	{ uvector uvector uvector }
    signature	"Uniform 3D Point"	up	{ upoint upoint upoint }
    signature	"Uniform 3D Normal"	un	{ unormal unormal unormal }
    signature	"Uniform RGB Color"	uc	{ ucolor ucolor ucolor }
}
INDX              Contents       WS7   DialogScript   W  ;-OU9_0707070000010000000006660000000000000000010000001237543365600001300000000000TRAILER!!! # Dialog script for smokesolver::2.0 automatically generated 03/05/12 17:08:31

{
    name	smokesolver::2.0
    script	smokesolver::2.0
    label	"Smoke Solver"


    help {
	""
    }

    inputlabel	1	Object
    inputlabel	2	Pre-solve
    inputlabel	3	"Velocity Update"
    inputlabel	4	Advection
    inputlabel	5	"Sourcing (post-solve)"

    group {
	name	"simulation"
	label	"Simulation"

	parm {
	    name	"timescale"
	    label	"Timescale"
	    type	float
	    default	{ "1" }
	    range	{ 0 10 }
	    export	none
	}
	parm {
	    name	"temp_diffusion"
	    label	"Temperature Diffusion"
	    type	float
	    default	{ "0.25" }
	    range	{ 0! 10 }
	    export	none
	    parmtag	{ "units" "m1" }
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"cooling_rate"
	    label	"Cooling Rate"
	    type	float
	    default	{ "0.5" }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"viscosity"
	    label	"Viscosity"
	    type	float
	    default	{ "0" }
	    range	{ 0 10 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"lift"
	    label	"Buoyancy Lift"
	    type	float
	    default	{ "5" }
	    range	{ 0 10 }
	    export	none
	    parmtag	{ "units" "kg1m1s-2" }
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"modify_heat"
	    label	"Modify Heat Through Shredding"
	    type	toggle
	    invisible
	    default	{ "off" }
	    disablewhen	"{ enable_shredding == 0 }"
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "parmvop" "1" }
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"buoyancy_dir"
	    label	"Buoyancy Dir"
	    type	direction
	    size	3
	    default	{ "0" "1" "0" }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
    }

    group {
	name	"simulation_1"
	label	"Relationships"

	parm {
	    name	"enable_relationships"
	    label	"Enable Relationships"
	    type	toggle
	    default	{ "1" }
	    range	{ 0 1 }
	    export	none
	}
	group {
	    name	"std_switcher_0_6"
	    label	"Sources"

	    parm {
		name	"enable_source_relationship"
		label	"Enabale Source Relationship"
		type	toggle
		default	{ "0" }
		disablewhen	"{ enable_relationships == 0 }"
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"sourcedest"
		label	"Add Source To"
		type	string
		default	{ "density" }
		disablewhen	"{ enable_relationships == 0 } { enable_source_relationship == 0 }"
		menureplace	{
		    "density"	"Density"
		    "temperature"	"Temperature"
		    "fuel"	"Fuel"
		}
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"sourcemerge"
		label	"Source Merge"
		type	ordinal
		joinnext
		default	{ "max" }
		disablewhen	"{ enable_relationships == 0 } { enable_source_relationship == 0 }"
		menu	{
		    "copy"	"Copy"
		    "add"	"Add"
		    "sub"	"Subtract"
		    "mul"	"Multiply"
		    "div"	"Divide"
		    "max"	"Maximum            "
		    "min"	"Minimum"
		    "average"	"Average"
		}
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"source_amount"
		label	"Scale"
		type	float
		default	{ "1" }
		disablewhen	"{ enable_relationships == 0 } { enable_source_relationship == 0 }"
		range	{ 0 10 }
		export	none
	    }
	    parm {
		name	"sourcevelmerge"
		label	"Velocity Merge"
		type	ordinal
		joinnext
		default	{ "wavg" }
		disablewhen	"{ enable_relationships == 0 } { enable_source_relationship == 0 }"
		menu	{
		    "none"	"None"
		    "wavg"	"Weighted Average"
		    "netnewsource"	"Net New Source"
		}
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"scale_vel"
		label	"Scale"
		type	float
		default	{ "1" }
		disablewhen	"{ enable_relationships == 0 } { enable_source_relationship == 0 }"
		range	{ 0 10 }
		export	none
	    }
	    parm {
		name	"sourcetemperaturemerge"
		label	"Temperature Merge"
		type	ordinal
		joinnext
		default	{ "wavg" }
		disablewhen	"{ enable_relationships == 0 } { enable_source_relationship == 0 }"
		menu	{
		    "none"	"None"
		    "wavg"	"Weighted Average"
		    "netnewsource"	"Net New Source"
		}
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"scale_temp"
		label	"Scale"
		type	float
		default	{ "1" }
		disablewhen	"{ enable_relationships == 0 } { enable_source_relationship == 0 }"
		range	{ 0 10 }
		export	none
	    }
	    parm {
		name	"veltype"
		label	"Velocity Type"
		type	ordinal
		default	{ "rigidvelocity" }
		disablewhen	"{ enable_relationships == 0 } { enable_source_relationship == 0 }"
		menu	{
		    "rigidvelocity"	"Rigid Velocity"
		    "pointvelocity"	"Point Velocity"
		    "volumevelocity"	"Volume Velocity   "
		}
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	}

	group {
	    name	"std_switcher_0_6_1"
	    label	"Pumps"

	    parm {
		name	"enable_pump_relationship"
		label	"Enable Pump Relationship"
		type	toggle
		default	{ "0" }
		disablewhen	"{ enable_relationships == 0 }"
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"pumpvelmerge"
		label	"Velocity Merge"
		type	ordinal
		joinnext
		default	{ "blend" }
		disablewhen	"{ enable_relationships == 0 } { enable_pump_relationship == 0 }"
		menu	{
		    "blend"	"Blend              "
		    "add"	"Add"
		}
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"pumpvelscale"
		label	"Scale"
		type	float
		default	{ "1" }
		disablewhen	"{ enable_relationships == 0 } { enable_pump_relationship == 0 }"
		range	{ 0 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"pumpveltype"
		label	"Velocity Type"
		type	ordinal
		default	{ "rigidvelocity" }
		disablewhen	"{ enable_relationships == 0 } { enable_pump_relationship == 0 }"
		menu	{
		    "rigidvelocity"	"Rigid Velocity"
		    "pointvelocity"	"Point Velocity"
		    "volumevelocity"	"Volume Velocity"
		}
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"pumptemperaturemerge"
		label	"Temperature Merge"
		type	ordinal
		default	{ "none" }
		disablewhen	"{ enable_relationships == 0 } { enable_pump_relationship == 0 }"
		menu	{
		    "none"	"None"
		    "setinterior"	"Set Interior      "
		}
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	}

	group {
	    name	"std_switcher_0_6_2"
	    label	"Collisions"

	    parm {
		name	"enable_collision_relationship"
		label	"Enable Collision Relationship"
		type	toggle
		default	{ "1" }
		disablewhen	"{ enable_relationships == 0 }"
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"collisiontemperaturemerge"
		label	"Temperature Merge"
		type	ordinal
		default	{ "collisioninterior" }
		disablewhen	"{ enable_relationships == 0 } { enable_collision_relationship == 0 }"
		menu	{
		    "none"	"None"
		    "collisioninterior"	"Collision Interior"
		}
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"collision_usebandwidth"
		label	"Restrict Mask to Bandwidth"
		type	toggle
		default	{ "on" }
		disablewhen	"{ enable_relationships == 0 } { enable_collision_relationship == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"collision_usepointvelocity"
		label	"Use Point Velocity for Collisions"
		type	toggle
		default	{ "off" }
		disablewhen	"{ enable_relationships == 0 } { enable_collision_relationship == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"collision_usevolumevelocity"
		label	"Use Volume Velocity for Collisions"
		type	toggle
		default	{ "off" }
		disablewhen	"{ enable_relationships == 0 } { enable_collision_relationship == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"collision_allownonsdf"
		label	"Collide with Non-SDF"
		type	toggle
		default	{ "off" }
		disablewhen	"{ enable_relationships == 0 } { enable_collision_relationship == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"extrapolatecollision"
		label	"Extrapolate into Collisions"
		type	toggle
		default	{ "off" }
		disablewhen	"{ enable_relationships == 0 } { enable_collision_relationship == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	}

	group {
	    name	"std_switcher_0_6_3"
	    label	"Sink"

	    parm {
		name	"enable_sink"
		label	"Enable Sink Relationship"
		type	toggle
		default	{ "0" }
		disablewhen	"{ enable_relationships == 0 }"
		range	{ 0 1 }
		export	none
	    }
	}

    }

    group {
	name	"simulation_2"
	label	"Advanced"

	parm {
	    name	"opencl"
	    label	"Use OpenCL"
	    type	toggle
	    default	{ "0" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"minimumsubsteps"
	    label	"Min Substeps"
	    type	integer
	    default	{ "1" }
	    range	{ 0 10 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"substeps"
	    label	"Max Substeps"
	    type	integer
	    default	{ "1" }
	    range	{ 0 10 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"cflcond"
	    label	"CFL Condition"
	    type	float
	    default	{ "1" }
	    range	{ 0 10 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"frames_before_solve"
	    label	"Frames Before Solve"
	    type	integer
	    default	{ "0" }
	    range	{ 0 10 }
	    export	none
	}
	group {
	    name	"rest_field_4"
	    label	"External Forces"

	    parm {
		name	"scaled_forces"
		label	"Scaled Forces"
		type	string
		default	{ "*" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"absolute_forces"
		label	"Absolute Forces"
		type	string
		default	{ "" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	}

	group {
	    name	"rest_field_4_1"
	    label	"Rest Field"

	    parm {
		name	"enable_rest"
		label	"Enable Rest"
		type	toggle
		default	{ "0" }
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"dual_rest_fields"
		label	"Dual Rest Fields"
		type	toggle
		default	{ "1" }
		disablewhen	"{ enable_rest == 0 }"
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"rest_framedelay"
		label	"Frames Between Solves"
		type	float
		default	{ "50" }
		disablewhen	"{ enable_rest == 0 }"
		range	{ 0 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"rest_frameoffset"
		label	"Frame Offset"
		type	float
		default	{ "1" }
		disablewhen	"{ enable_rest == 0 }"
		range	{ 0 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"rest_advectspeed"
		label	"Rest Advection Rate"
		type	float
		default	{ "0.2" }
		disablewhen	"{ enable_rest == 0 }"
		range	{ 0 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	}

	group {
	    name	"rest_field_4_2"
	    label	"Projection"

	    parm {
		name	"projection_method"
		label	"Projection Method"
		type	ordinal
		default	{ "1" }
		menu	{
		    "0"	"PCG"
		    "1"	"Multigrid                   "
		}
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"multigrid_minpass"
		label	"Multigrid Iterations"
		type	integer
		default	{ "1" }
		disablewhen	"{ projection_method == 0 }"
		range	{ 0! 20 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	}

	group {
	    name	"rest_field_4_3"
	    label	"Advection"

	    parm {
		name	"advecttype"
		label	"Advection Type"
		type	ordinal
		joinnext
		default	{ "modifiedmaccormack" }
		menu	{
		    "single"	"Single Stage"
		    "bfecc"	"BFECC"
		    "modifiedmaccormack"	"Modified MacCormack"
		}
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"clampvalues"
		label	"Clamp Values"
		type	ordinal
		default	{ "revert" }
		disablewhen	"{ advecttype == single }"
		menu	{
		    "off"	"None"
		    "on"	"Clamp"
		    "revert"	"Revert"
		}
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"vel_advecttype"
		label	"Vel Advection Type"
		type	ordinal
		joinnext
		default	{ "modifiedmaccormack" }
		menu	{
		    "single"	"Single Stage"
		    "bfecc"	"BFECC"
		    "modifiedmaccormack"	"Modified MacCormack"
		}
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"vel_clampvalues"
		label	"Clamp Values"
		type	ordinal
		default	{ "revert" }
		disablewhen	"{ advecttype == single }"
		menu	{
		    "off"	"None"
		    "on"	"Clamp"
		    "revert"	"Revert"
		}
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"advectmethod"
		label	"Advection Method"
		type	ordinal
		default	{ "trace" }
		menu	{
		    "single"	"Single Step"
		    "trace"	"Trace"
		    "midpoint"	"Trace Midpoint          "
		    "hjweno"	"HJWENO"
		    "upwind"	"Upwind"
		}
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"advect_cfl"
		label	"Advect CFL"
		type	float
		default	{ "1.5" }
		range	{ 0 10 }
		export	none
	    }
	}

	group {
	    name	"rest_field_4_4"
	    label	"Collisions"

	    parm {
		name	"correctcollision"
		label	"Correct Collisions"
		type	toggle
		default	{ "1" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"feedbackscale"
		label	"Feedback Scale"
		type	float
		default	{ "0" }
		range	{ 0 10 }
		export	none
		parmtag	{ "units" "kg1m1s-2" }
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	}

	group {
	    name	"rest_field_4_5"
	    label	"Clear Fields"

	    parm {
		name	"fieldsclear"
		label	"Fields to Clear"
		type	ordinal
		default	{ "none" }
		menu	{
		    "none"	"None"
		    "hidden"	"Hidden"
		    "static"	"Static"
		}
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"extraclear"
		label	"Additional"
		type	string
		default	{ "" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	}

    }

    parm {
	name	"addaffectors"
	label	"Make Objects Mutual Affectors"
	type	toggle
	default	{ "on" }
	range	{ 0 1 }
	export	none
	parmtag	{ "autoscope" "0000000000000000" }
    }
    parm {
	name	"uniquedataname"
	label	"Unique Data Name"
	type	toggle
	default	{ "off" }
	range	{ 0 1 }
	export	none
	parmtag	{ "autoscope" "0000000000000000" }
    }
    parm {
	name	"solverperobject"
	label	"Solver Per Object"
	type	toggle
	default	{ "on" }
	range	{ 0 1 }
	export	none
	parmtag	{ "autoscope" "0000000000000000" }
    }
    parm {
	name	"group"
	label	"Group"
	type	string
	default	{ "*" }
	menutoggle	{
	    [ "opmenu -l multisolver1 group" ]
	}
	range	{ 0 1 }
	export	none
	parmtag	{ "autoscope" "0000000000000000" }
    }
    parm {
	name	"dataname"
	label	"Data Name"
	type	string
	default	{ "Solver" }
	range	{ 0 1 }
	export	none
	parmtag	{ "autoscope" "0000000000000000" }
    }
}
INDX              Contents       WS7   DialogScript   W  ERTF0707070000010000000006660000000000000000010000001237543365700001300000000000TRAILER!!! # Dialog script for dopimportfield automatically generated 10/08/13 10:18:46

{
    name	dopimportfield
    script	dopimportfield
    label	"Dop Import Fields"

    help {
	""
    }

    inputlabel	1	"Sub-Network Input #1"
    inputlabel	2	"Sub-Network Input #2"
    inputlabel	3	"Sub-Network Input #3"
    inputlabel	4	"Sub-Network Input #4"

    parm {
	name	"doppath"
	label	"DOP Network"
	type	oppath
	default	{ "" }
	range	{ 0 1 }
	export	none
	parmtag	{ "opfilter" "!!DOP!!" }
	parmtag	{ "oprelative" "." }
    }
    parm {
	name	"dopnode"
	label	"DOP Node"
	type	oppath
	default	{ "" }
	range	{ 0 1 }
	export	none
	parmtag	{ "oprelative" "." }
    }
    parm {
	name	"defobj"
	label	"Default Object"
	type	string
	default	{ "" }
	disablewhen	"{ dopnode != \"\" }"
	range	{ 0 1 }
	export	none
    }
    parm {
	name	"doposxform"
	label	"Transform Geometry With Position Data"
	type	toggle
	default	{ "on" }
	range	{ 0 1 }
	export	none
	parmtag	{ "autoscope" "0000000000000000" }
    }
    parm {
	name	"doxform"
	label	"Transform Geometry With Geometry Data"
	type	toggle
	default	{ "on" }
	range	{ 0 1 }
	export	none
	parmtag	{ "autoscope" "0000000000000000" }
    }
    parm {
	name	"computeminmax"
	label	"Compute Min/Max Values"
	type	toggle
	default	{ "0" }
	range	{ 0 1 }
	export	none
    }
    parm {
	name	"importsimsettings"
	label	"Import Simulation Settings"
	type	toggle
	default	{ "1" }
	range	{ 0 1 }
	export	none
    }
    parm {
	name	"presets"
	label	"Presets"
	type	string
	default	{ "choose" }
	menu	{
	    "smoke"	"Smoke"
	    "liquid"	"Liquid"
	    "dsdfire"	"Fire (DSD)"
	    "pyro"	"Pyro"
	    "flip"	"FLIP Fluid"
	    "upressmoke"	"Upres Smoke"
	    "upresliquid"	"Upres Liquid"
	    "upresdsdfire"	"Upres Fire (DSD)"
	    "uprespyro"	"Upres Pyro"
	    "particles"	"Particles"
	    "choose"	"Choose"
	}
	range	{ 0 1 }
	export	none
	parmtag	{ "script_callback" "hou.pwd().hdaModule().invokePresetMenu(kwargs)" }
	parmtag	{ "script_callback_language" "python" }
    }
    group {
	name	"folder0"
	label	"Import"

	multiparm {
	    name	"fields"
	    label	"Fields to Import"

	    parm {
		name	"enable#"
		label	"Import"
		type	toggle
		joinnext
		default	{ "1" }
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"visible#"
		label	"Visualization"
		type	ordinal
		default	{ "smoke" }
		menu	{
		    "smoke"	"Smoke"
		    "rainbow"	"Rainbow"
		    "iso"	"Isosurface"
		    "invisible"	"Invisible"
		    "nochange"	"No Change"
		}
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"objname#"
		label	"Object"
		type	string
		joinnext
		default	{ "" }
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"fieldname#"
		label	"Field"
		type	string
		default	{ "" }
		range	{ 0 1 }
		export	none
	    }
	}

    }

    group {
	name	"folder0_1"
	label	"Compression"

	parm {
	    name	"delete_attributes"
	    label	"Attributes to Delete"
	    type	string
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	multiparm {
	    name	"attribute_numcasts"
	    label	"Attributes to Cast"
	    default	0
	    parmtag	{ "autoscope" "0000000000000000" }

	    parm {
		name	"attribute_class#"
		label	"Class"
		type	string
		default	{ "point" }
		menu	{
		    "detail"	"Detail"
		    "primitive"	"Primitive"
		    "point"	"Point"
		    "vertex"	"Vertex"
		}
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"attribute_attribs#"
		label	"Attributes"
		type	string
		default	{ "" }
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"attribute_precision#"
		label	"Precision"
		type	string
		default	{ "fpreal32" }
		menu	{
		    "uint8"	"8-bit unsigned integer"
		    "int8"	"8-bit signed integer"
		    "int16"	"16-bit integer"
		    "int32"	"32-bit integer"
		    "int64"	"64-bit integer"
		    "fpreal16"	"16-bit float"
		    "fpreal32"	"32-bit float"
		    "fpreal64"	"64-bit float"
		}
		range	{ 0 1 }
		export	none
	    }
	}

	multiparm {
	    name	"compression"
	    label	"Fields to Compress"

	    parm {
		name	"compgroup#"
		label	"Source Group"
		type	string
		default	{ "" }
		menutoggle	{
		    [ "opmenu -l placeholder_for_menus group" ]
		}
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"constanttol#"
		label	"Constant Tol"
		type	float
		default	{ "0" }
		range	{ 0! 1 }
		export	none
	    }
	    parm {
		name	"quantizetol#"
		label	"Quantization Tol"
		type	float
		default	{ "0" }
		range	{ 0! 1 }
		export	none
	    }
	    parm {
		name	"dither#"
		label	"Dithering"
		type	ordinal
		default	{ "ordered" }
		menu	{
		    "none"	"None"
		    "ordered"	"Ordered"
		}
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"usefp16_#"
		label	"Use 16bit Float"
		type	toggle
		default	{ "0" }
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"maskgroup#"
		label	"Mask Group"
		type	string
		default	{ "" }
		menutoggle	{
		    [ "opmenu -l placeholder_for_menus maskgrp" ]
		}
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "sop_input" "1" }
	    }
	    parm {
		name	"maskexpand#"
		label	"Mask Expansion"
		type	integer
		default	{ "1" }
		range	{ 0! 10 }
		export	none
	    }
	    parm {
		name	"domaskmin#"
		label	"Min Mask"
		type	toggle
		nolabel
		joinnext
		default	{ "off" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"maskmin#"
		label	"Mask Minimum"
		type	float
		default	{ "0" }
		disablewhen	"{ domaskmin# == 0 }"
		range	{ -1 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"domaskmax#"
		label	"Min Mask"
		type	toggle
		nolabel
		joinnext
		default	{ "off" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"maskmax#"
		label	"Mask Maximum"
		type	float
		default	{ "1" }
		disablewhen	"{ domaskmax# == 0 }"
		range	{ -1 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"invertmask#"
		label	"Invert Mask"
		type	toggle
		default	{ "off" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	}

    }

}
INDX              DialogScript      6OE!# Dialog script for fieldname automatically generated 02/22/12 12:10:48

{
    name	fieldname
    script	fieldname
    label	"Field Name"

    outercode {
	"// Bring all of pyro in case we want to use some of the"
	"// library functions in a field expression"
	"#include <pyro.h>"
    }

    code {
	"#if $islegal"
	"   $fieldval = isbound(\"$parmname\") ? $parmname : $dfltval;"
	"#elif !strcmp(\"$finalval\",\"__default__\")"
	"   $fieldval = $dfltval;"
	"#else"
	"   $fieldval = (vector4) ( $finalval );"
	"#endif"
    }

    input	vector4	dfltval	"Default Field Value"
    output	vector4	fieldval	"Field Value"
    inputflags	dfltval	0
    signature	"Default Inputs"	default	{ vector4 vector4 }

    outputoverrides	default
    {
	___begin	auto
			(0,0,0,0)
    }

    help {
	""
    }

    parm {
	name	"name"
	label	"Field Name or Expr"
	type	string
	default	{ "density" }
	range	{ 0 1 }
	export	none
	unquoted
    }
    parm {
	name	"dfltval"
	label	"Default Value"
	type	vector4
	size	4
	default	{ "0" "0" "0" "0" }
	range	{ -1 1 }
	export	none
    }
    parm {
	name	"islegal"
	label	"Is Legal"
	type	integer
	invisible
	default	{ [ "phm().needsparmvop(node('.'),evalParm('name'))" python ] }
	disablewhen	"{ dummy == 1 }"
	range	{ 0 10 }
	export	none
    }
    parm {
	name	"parmname"
	label	"Parm Name"
	type	string
	invisible
	default	{ [ "phm().makeparmname(node('.'),evalParm('name'))" python ] }
	disablewhen	"{ dummy == 1 }"
	range	{ 0 1 }
	export	none
	unquoted
    }
    parm {
	name	"finalval"
	label	"Final Value"
	type	string
	invisible
	default	{ [ "phm().finalval(node('.'),evalParm('name'),evalParmTuple('dfltval'))" python ] }
	disablewhen	"{ dummy == 1 }"
	range	{ 0 1 }
	export	none
	unquoted
    }
    parm {
	name	"final"
	label	"Final Assignment"
	type	string
	invisible
	default	{ [ "'vector4 fieldval = %s;' % evalParm('finalval')" python ] }
	disablewhen	"{ dummy == 1 }"
	range	{ 0 1 }
	export	none
	unquoted
    }
    parm {
	name	"dummy"
	label	"dummy"
	type	integer
	invisible
	default	{ "1" }
	range	{ 0 10 }
	export	none
	parmtag	{ "export_disable" "1" }
    }
}
INDX              Contents       WS7   DialogScript   W  O_0707070000010000000006660000000000000000010000001237543365700001300000000000TRAILER!!! # Dialog script for typeconvert automatically generated 03/13/12 14:37:38

{
    name	typeconvert
    script	typeconvert
    label	"Type Convert"

    input	vector4	val	"Value whose type needs conversion"
    input	float	const	"Padding Constant"
    output	float	outval	outval
    inputflags	val	0
    inputflags	const	0
    signature	"Untyped Input"	default	{ vector4 float float }

    outputoverrides	default
    {
	___begin	auto
			(0)
    }

    help {
	""
    }

    parm {
	name	"intype"
	label	"Input Type"
	type	string
	default	{ "float" }
	menu	{
	    "float"	"Float"
	    "vector"	"Vector"
	    "vector4"	"Vector4"
	}
	range	{ 0 1 }
	export	none
	unquoted
	parmtag	{ "script_callback_language" "python" }
	parmtag	{ "script_callback" "hou.phm().updatemethod(kwargs)" }
	parmtag	{ "autoscope" "0000000000000000" }
    }
    parm {
	name	"outtype"
	label	"Output Type"
	type	string
	default	{ "float" }
	menu	{
	    "float"	"Float"
	    "vector"	"Vector"
	    "vector4"	"Vector4"
	}
	range	{ 0 1 }
	export	none
	unquoted
	parmtag	{ "script_callback_language" "python" }
	parmtag	{ "script_callback" "hou.phm().updatemethod(kwargs)" }
	parmtag	{ "autoscope" "0000000000000000" }
    }
    parm {
	name	"method"
	label	"Conversion Method"
	type	string
	default	{ "assign" }
	disablewhen	"{ needconvert == 0 }"
	menu	{
	    [ "hou.nodeType(hou.vopNodeTypeCategory(),'typeconvertimpl').hdaModule().methodmenu(hou.evalParm('intype'),hou.evalParm('outtype'))" ]
	    language	python
	}
	range	{ 0 1 }
	export	none
	parmtag	{ "script_callback_language" "python" }
	parmtag	{ "autoscope" "0000000000000000" }
    }
    parm {
	name	"const"
	label	"Constant"
	type	float
	default	{ "0" }
	disablewhen	"{ method != padc }"
	range	{ -1 1 }
	export	none
	parmtag	{ "autoscope" "0000000000000000" }
    }
    parm {
	name	"needconvert"
	label	"needconvert"
	type	integer
	default	{ [ "evalParm('intype')!=evalParm('outtype')" python ] }
	disablewhen	"{ intype != ':)' }"
	range	{ 0 10 }
	export	none
    }
}
INDX              DialogScript      R//*
 * PROPRIETARY INFORMATION.  This software is proprietary to
 * Side Effects Software Inc., and is not to be reproduced,
 * transmitted, or disclosed in any way without written permission.
 *
 * Produced by:
 *	Side Effects Software Inc
 *	477 Richmond Street West
 *	Toronto, Ontario
 *	Canada   M5V 3E7
 *	416-504-9876
 *
 */

{
    name	"importattrib"
    script	"importattrib"
    label	"importattrib"


    code {
	"$adata = 0;"
	"if( $isconnected_ptnum )"
	"    $success = import($attrib, $adata, $input_index, $ptnum);"
	"else"
	"    $success = import($attrib, $adata, $input_index);"
    }

    input	string	attrib		"Attribute Name"
    input	int	input_index	"OP Input Index"
    input	int	ptnum		"Point Number"
    output	int	success		"Return 1 For Success, 0 For Failure"
    output	vector	adata		"Attribute Value"
    signature	"Float Attribute"	f  { string int int int float }
    signature	"Integer Attribute"	i  { string int int int int }
    signature	"Vector Attribute"	default { }
    signature	"Vector4 Attribute"	v4 { string int int int vector4 }
    signature	"Matrix3 Attribute"	m3 { string int int int matrix3 }
    signature	"Matrix Attribute"	m  { string int int int matrix }

    parm {
	name	attrib
	label	"Attribute"
	type	string
	default	{ "Cd" }
    }
    parm {
	name	input_index
	label	"OP Input Index"
	type	int
        size    1
        default { 0 }
	range	{ 0 3 }
    }
}

INDX              DialogScript      OE## Dialog script for pyroColorCorrect automatically generated 02/22/12 12:20:15

{
    name	pyroColorCorrect
    script	colorcorrect
    label	"Pyro Color Correct"

    outercode {
	"#include <pyro_color.h>"
    }

    code {
	"#if $cc_active"
	"   $colcc = cctoggle($col          , "
	"                     $cc_gamut     , "
	"                     $cc_hrot      , $cc_bias  , $cc_gain   , $cc_gamma    , "
	"                     $cc_contrast  , $cc_sat   , $cc_value  , $cc_tint     , "
	"                     $cc_dohrot    , $cc_dobias, $cc_dogain , $cc_dogamma  , "
	"                     $cc_docontrast, $cc_dosat , $cc_dovalue, $cc_dotint );"
	"#else"
	"   $colcc = $col;"
	"#endif"
    }

    input	vector	col	"Color To Correct"
    input	int	cc_gamut	"Gamut Mapping"
    input	int	cc_dohrot	"Enable Hue Rotation"
    input	float	cc_hrot	"Hue Rotation"
    input	int	cc_dobias	"Enable Bias Correction"
    input	vector	cc_bias	"Bias Correction"
    input	int	cc_dogain	"Enable Gain Correction"
    input	vector	cc_gain	"Gain Correction"
    input	int	cc_dogamma	"Enable Gamma Correction"
    input	vector	cc_gamma	"Gamma Correction"
    input	int	cc_docontrast	"Enable Contrast Correction"
    input	vector	cc_contrast	"Contrast Correction"
    input	int	cc_dosat	"Enable Saturation Correction"
    input	float	cc_sat	"Saturation Correction"
    input	int	cc_dovalue	"Enable Value Correction"
    input	float	cc_value	"Value Correction"
    input	int	cc_dotint	"Enable Tint Correction"
    input	vector	cc_tint	"Tint Correction"
    output	vector	colcc	"Corrected Color"
    inputflags	col	0
    inputflags	cc_gamut	0
    inputflags	cc_dohrot	0
    inputflags	cc_hrot	0
    inputflags	cc_dobias	0
    inputflags	cc_bias	0
    inputflags	cc_dogain	0
    inputflags	cc_gain	0
    inputflags	cc_dogamma	0
    inputflags	cc_gamma	0
    inputflags	cc_docontrast	0
    inputflags	cc_contrast	0
    inputflags	cc_dosat	0
    inputflags	cc_sat	0
    inputflags	cc_dovalue	0
    inputflags	cc_value	0
    inputflags	cc_dotint	0
    inputflags	cc_tint	0
    signature	"Default Inputs"	default	{ vector int int float int vector int vector int vector int vector int float int float int vector vector }

    outputoverrides	default
    {
	___begin	auto
			(0,0,0)
    }

    help {
	""
    }

    parm {
	name	"makeui"
	label	"Promote Interface"
	type	button
	nolabel
	default	{ "0" }
	menu	{
	    [ "import pyro2" ]
	    [ "return pyro2.makeuimenu()" ]
	    language	python
	}
	range	{ 0 1 }
	export	none
	parmtag	{ "script_callback_language" "python" }
	parmtag	{ "script_callback" "hou.phm().uiCreate(kwargs)" }
    }
    group {
	name	"vopparms"
	label	"VOP Parameters"

	parm {
	    name	"cc_active"
	    label	"Active"
	    type	toggle
	    default	{ "1" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"cc_gamut"
	    label	"Gamut Mapping"
	    type	ordinal
	    default	{ "3" }
	    disablewhen	"{ cc_active == 0 }"
	    menu	{
		"0"	"None"
		"1"	"Clamp"
		"2"	"Absolute Colorimetry"
		"3"	"Relative Colorimetry"
	    }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"cc_dohrot"
	    label	"Label"
	    type	toggle
	    nolabel
	    joinnext
	    default	{ "0" }
	    disablewhen	"{ cc_active == 0 }"
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"cc_hrot"
	    label	"Hue Rotation"
	    type	float
	    default	{ "0" }
	    disablewhen	"{ cc_active == 0 } { cc_dohrot == 0 }"
	    range	{ -1 1 }
	    export	none
	}
	parm {
	    name	"cc_dobias"
	    label	"Label"
	    type	toggle
	    nolabel
	    joinnext
	    default	{ "0" }
	    disablewhen	"{ cc_active == 0 }"
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"cc_bias"
	    label	"Bias"
	    type	vector
	    size	3
	    default	{ "0.5" "0.5" "0.5" }
	    disablewhen	"{ cc_active == 0 } { cc_dobias == 0 }"
	    range	{ 1e-05! 0.99999! }
	    export	none
	}
	parm {
	    name	"cc_dogain"
	    label	"Label"
	    type	toggle
	    nolabel
	    joinnext
	    default	{ "0" }
	    disablewhen	"{ cc_active == 0 }"
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"cc_gain"
	    label	"Gain"
	    type	vector
	    size	3
	    default	{ "0.5" "0.5" "0.5" }
	    disablewhen	"{ cc_active == 0 } { cc_dogain == 0 }"
	    range	{ 1e-05! 0.99999! }
	    export	none
	}
	parm {
	    name	"cc_dogamma"
	    label	"Label"
	    type	toggle
	    nolabel
	    joinnext
	    default	{ "0" }
	    disablewhen	"{ cc_active == 0 }"
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"cc_gamma"
	    label	"Gamma"
	    type	vector
	    size	3
	    default	{ "1" "1" "1" }
	    disablewhen	"{ cc_active == 0 } { cc_dogamma == 0 }"
	    range	{ 0! 2 }
	    export	none
	}
	parm {
	    name	"cc_docontrast"
	    label	"Label"
	    type	toggle
	    nolabel
	    joinnext
	    default	{ "0" }
	    disablewhen	"{ cc_active == 0 }"
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"cc_contrast"
	    label	"Contrast"
	    type	vector
	    size	3
	    default	{ "1" "1" "1" }
	    disablewhen	"{ cc_active == 0 } { cc_docontrast == 0 }"
	    range	{ 0 2 }
	    export	none
	}
	parm {
	    name	"cc_dosat"
	    label	"Label"
	    type	toggle
	    nolabel
	    joinnext
	    default	{ "0" }
	    disablewhen	"{ cc_active == 0 }"
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"cc_sat"
	    label	"Saturation"
	    type	float
	    default	{ "1" }
	    disablewhen	"{ cc_active == 0 } { cc_dosat == 0 }"
	    range	{ -2 2 }
	    export	none
	}
	parm {
	    name	"cc_dovalue"
	    label	"Label"
	    type	toggle
	    nolabel
	    joinnext
	    default	{ "0" }
	    disablewhen	"{ cc_active == 0 }"
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"cc_value"
	    label	"Brightness"
	    type	float
	    default	{ "1" }
	    disablewhen	"{ cc_active == 0 } { cc_dovalue == 0 }"
	    range	{ 0 2 }
	    export	none
	}
	parm {
	    name	"cc_dotint"
	    label	"Label"
	    type	toggle
	    nolabel
	    joinnext
	    default	{ "0" }
	    disablewhen	"{ cc_active == 0 }"
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"cc_tint"
	    label	"Tint"
	    type	color
	    size	3
	    default	{ "1" "1" "1" }
	    disablewhen	"{ cc_active == 0 } { cc_dotint == 0 }"
	    range	{ 0 1 }
	    export	none
	}
    }

    group {
	name	"vopparms_1"
	label	"UI Promotion"

	parm {
	    name	"ui_prefix"
	    label	"Parameter Prefix"
	    type	string
	    joinnext
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"ui_postfix"
	    label	"Postfix"
	    type	string
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"ui_infolder"
	    label	"ui_infolder"
	    type	toggle
	    nolabel
	    joinnext
	    default	{ "0" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"ui_foldername"
	    label	"Create In Folder"
	    type	string
	    default	{ [ "node('.').creator().relativePathTo(node('.')).replace('/','_')" python ] }
	    disablewhen	"{ ui_infolder == 0 }"
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"spacer4"
	    label	"spacer"
	    type	label
	    nolabel
	    default	{ "" }
	    disablewhen	"{ cc_active == 0 }"
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"ui_withactive"
	    label	"Include On/Off Switch"
	    type	toggle
	    joinnext
	    default	{ "1" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"ui_initactive"
	    label	"Default"
	    type	toggle
	    joinnext
	    default	{ "1" }
	    disablewhen	"{ ui_withactive == 0 }"
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"ui_labelactive"
	    label	"Label"
	    type	string
	    default	{ "Active" }
	    disablewhen	"{ ui_withactive == 0 }"
	    range	{ 0 1 }
	    export	none
	}
    }

}
INDX              Contents       WS7   DialogScript   W  iNΘ0707070000010000000006660000000000000000010000001237543366300001300000000000TRAILER!!! # Dialog script for pointjitter automatically generated 09/26/11 15:12:24

{
    name	pointjitter
    script	pointjitter
    label	PointJitter

    help {
	""
    }

    inputlabel	1	"Sub-Network Input #1"
    inputlabel	2	"Sub-Network Input #2"
    inputlabel	3	"Sub-Network Input #3"
    inputlabel	4	"Sub-Network Input #4"

    parm {
	name	"group"
	label	"Group"
	type	string
	default	{ "" }
	menutoggle	{
	    [ "opmenu -l jitter vex_group" ]
	}
	range	{ 0 1 }
	export	none
	parmtag	{ "autoscope" "0000000000000000" }
    }
    parm {
	name	"useidattrib"
	label	"Use ID Attribute"
	type	toggle
	nolabel
	joinnext
	default	{ "0" }
	range	{ 0 1 }
	export	none
    }
    parm {
	name	"idattrib"
	label	"Id Attribute"
	type	string
	default	{ "id" }
	disablewhen	"{ useidattrib == 0 }"
	range	{ 0 1 }
	export	none
	parmtag	{ "shaderparmcontexts" "sop" }
	parmtag	{ "autoscope" "0000000000000000" }
	parmtag	{ "parmvop" "1" }
    }
    parm {
	name	"scale"
	label	"Scale"
	type	float
	default	{ "1" }
	range	{ 0 10 }
	export	none
    }
    parm {
	name	"axisscale"
	label	"Axis Scales"
	type	vector
	size	3
	default	{ "1" "1" "1" }
	range	{ -1 1 }
	export	none
    }
    parm {
	name	"seed"
	label	"Seed"
	type	float
	default	{ "1" }
	range	{ 0 10 }
	export	none
    }
    parm {
	name	"usepscale"
	label	"Use PScale"
	type	toggle
	default	{ "off" }
	range	{ 0 1 }
	export	none
    }
}
INDX              DialogScript      R//*
 * PROPRIETARY INFORMATION.  This software is proprietary to
 * Side Effects Software Inc., and is not to be reproduced,
 * transmitted, or disclosed in any way without written permission.
 *
 * Produced by:
 *	Side Effects Software Inc
 *	477 Richmond Street West
 *	Toronto, Ontario
 *	Canada   M5V 3E7
 *	416-504-9876
 *
 */

#include <parameter.ds>
{
    name	"smooth"
    script	"smooth"
    label	"smooth"

    outercode {
	INCLUDE_VOPLIB
    }

    code {
	"$val = vop_smooth($min, $max, $amount, $rolloff);"
    }

    input	float	min	"Range Bottom"
    input	float	max	"Range Top"
    input	float	amount	"Amount"
    input	float	rolloff	"Rolloff"
    output	float	val	"Number Between 0 And 1"

    signature	"Float"	default	{ }
    signature	"Uniform Float"	uf	{ ufloat ufloat ufloat ufloat ufloat }

    VOP_FLT_PARM(min,	  "Range Bottom", 0)
    VOP_FLT_PARM(max,	  "Range Top",	  1)
    VOP_FLT_PARM(amount,  "Amount",	  0.5)
    VOP_FLT_PARM(rolloff, "Rolloff",	  1)

    VOP_FLT_PARM(min_uf,     "Range Bottom", 0)
    VOP_FLT_PARM(max_uf,     "Range Top",  1)
    VOP_FLT_PARM(amount_uf,  "Amount",	  0.5)
    VOP_FLT_PARM(rolloff_uf, "Rolloff",	  1)
}
INDX              Contents       WS7   DialogScript   W  jQ%
0707070000010000000006660000000000000000010000001237543365600001300000000000TRAILER!!! # Dialog script for pyrosolver::2.0 automatically generated 07/30/13 16:41:46

{
    name	pyrosolver::2.0
    script	pyrosolver::2.0
    label	"Pyro Solver"


    help {
	""
    }

    inputlabel	1	Object
    inputlabel	2	Pre-solve
    inputlabel	3	"Velocity Update"
    inputlabel	4	Advection
    inputlabel	5	"Sourcing (post-solve)"

    group {
	name	"combustion_1"
	label	"Simulation"

	parm {
	    name	"timescale"
	    label	"Timescale"
	    type	float
	    default	{ "1" }
	    range	{ 0 10 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"temp_diffusion"
	    label	"Temperature Diffusion"
	    type	float
	    default	{ "0.5" }
	    range	{ 0! 10 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	    parmtag	{ "units" "m1" }
	}
	parm {
	    name	"cooling_rate"
	    label	"Cooling Rate"
	    type	float
	    default	{ "0.75" }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"viscosity"
	    label	"Viscosity"
	    type	float
	    default	{ "0" }
	    range	{ 0 10 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"lift"
	    label	"Buoyancy Lift"
	    type	float
	    default	{ "5" }
	    range	{ 0 10 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	    parmtag	{ "units" "kg1m1s-2" }
	}
	parm {
	    name	"buoyancy_dir"
	    label	"Buoyancy Dir"
	    type	direction
	    size	3
	    default	{ "0" "1" "0" }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
    }

    group {
	name	"combustion_1_1"
	label	"Combustion"

	parm {
	    name	"enable_combustion"
	    label	"Enable Combustion"
	    type	toggle
	    default	{ "1" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"ignitiontemp"
	    label	"Ignition Temperature"
	    type	float
	    default	{ "0.1" }
	    disablewhen	"{ enable_combustion == 0 }"
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"burnrate"
	    label	"Burn Rate"
	    type	float
	    default	{ "0.9" }
	    disablewhen	"{ enable_combustion == 0 }"
	    range	{ 0! 1! }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"fuelinefficiency"
	    label	"Fuel Inefficiency"
	    type	float
	    default	{ "0.1" }
	    disablewhen	"{ enable_combustion == 0 }"
	    range	{ 0! 1! }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"heatoutput"
	    label	"Temperature Output"
	    type	float
	    default	{ "0.25" }
	    disablewhen	"{ enable_combustion == 0 }"
	    range	{ 0 10 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"gasrelease"
	    label	"Gas Released"
	    type	float
	    default	{ "15" }
	    disablewhen	"{ enable_combustion == 0 }"
	    range	{ 0 25 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	group {
	    name	"flames"
	    label	"Flames"

	    parm {
		name	"cooldown_time"
		label	"Flame Height"
		type	float
		default	{ "3" }
		disablewhen	"{ enable_combustion == 0 }"
		range	{ 0 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "parmvop" "1" }
	    }
	    parm {
		name	"enable_cooling_field"
		label	"Enable Cooling Field"
		type	toggle
		nolabel
		joinnext
		default	{ "1" }
		disablewhen	"{ enable_combustion == 0 }"
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"cooling_field"
		label	"Cooling Field"
		type	string
		default	{ "temperature" }
		disablewhen	"{ enable_cooling_field == 0 } { enable_combustion == 0 }"
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"cooling_field_range"
		label	"Cooling Field Range"
		type	float
		size	2
		default	{ "0" "1" }
		disablewhen	"{ enable_cooling_field == 0 } { enable_combustion == 0 }"
		range	{ 0 10 }
		export	none
	    }
	    parm {
		name	"remap_cooldown_time"
		label	"Remap Heat Cool Field"
		type	ramp_flt
		default	{ "2" }
		disablewhen	"{ enable_cooling_field == 0 } { enable_combustion == 0 }"
		range	{ 1! 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "parmvop" "1" }
		parmtag	{ "rampbasis_var" "remap_cooldown_time_the_basis_strings" }
		parmtag	{ "rampbasisdefault" "linear" }
		parmtag	{ "rampfloatdefault" "1pos ( 0 ) 1value ( 1 ) 1interp ( linear ) 2pos ( 1 ) 2value ( 0.10000000149011612 ) 2interp ( linear )" }
		parmtag	{ "rampkeys_var" "remap_cooldown_time_the_key_positions" }
		parmtag	{ "rampshowcontrolsdefault" "0" }
		parmtag	{ "rampvalues_var" "remap_cooldown_time_the_key_values" }
	    }
	}

	group {
	    name	"flames_1"
	    label	"Smoke"

	    parm {
		name	"emit_smoke"
		label	"Emit Smoke"
		type	toggle
		default	{ "1" }
		disablewhen	"{ enable_combustion == 0 }"
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"use_dense"
		label	"Create Dense Smoke"
		type	toggle
		default	{ "off" }
		disablewhen	"{ emit_smoke == 0 } { enable_combustion == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "parmvop" "1" }
	    }
	    parm {
		name	"source"
		label	"Source"
		type	ordinal
		default	{ "heat" }
		disablewhen	"{ emit_smoke == 0 } { enable_combustion == 0 }"
		menu	{
		    "burn"	"Burn    "
		    "heat"	"Heat"
		}
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"smoke_amount"
		label	"Smoke Amount"
		type	float
		default	{ "1" }
		disablewhen	"{ emit_smoke == 0 } { enable_combustion == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "parmvop" "1" }
	    }
	    parm {
		name	"heat_cutoff"
		label	"Heat Cutoff"
		type	float
		default	{ "0.2" }
		disablewhen	"{ emit_smoke == 0 } { enable_combustion == 0 } { source == burn }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "parmvop" "1" }
	    }
	    parm {
		name	"blend"
		label	"Blend Amount"
		type	float
		default	{ "0.2" }
		disablewhen	"{ emit_smoke == 0 } { enable_combustion == 0 } { source == burn }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "parmvop" "1" }
	    }
	}

	group {
	    name	"flames_2"
	    label	"Gas"

	    parm {
		name	"gas_heat_influence"
		label	"Flame Contribution"
		type	float
		default	{ "0.2" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"gas_burn_influence"
		label	"Burn Contribution"
		type	float
		default	{ "1" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	}

	group {
	    name	"flames_3"
	    label	"Temperature"

	    parm {
		name	"binf_temperature_to_flames"
		label	"Flames Influence Cooling Rate"
		type	toggle
		default	{ "0" }
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"temp_heat_influence"
		label	"Flame Contribution"
		type	float
		default	{ "0" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"temp_burn_influence"
		label	"Burn Contribution"
		type	float
		default	{ "1" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"flame_rate"
		label	"Drop Rate"
		type	float
		default	{ "1" }
		disablewhen	"{ binf_temperature_to_flames == 0 }"
		range	{ 0 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "parmvop" "1" }
	    }
	    parm {
		name	"flame_out_of_bound_influence"
		label	"Outer Area Drop Rate"
		type	float
		default	{ "0.5" }
		disablewhen	"{ binf_temperature_to_flames == 0 }"
		range	{ 0! 1! }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "parmvop" "1" }
	    }
	    parm {
		name	"flame_cutoff"
		label	"Flame Cutoff"
		type	float
		default	{ "2" }
		disablewhen	"{ binf_temperature_to_flames == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "parmvop" "1" }
	    }
	    parm {
		name	"flame_sharpness"
		label	"Sharpness"
		type	float
		default	{ "0.5" }
		disablewhen	"{ binf_temperature_to_flames == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "parmvop" "1" }
	    }
	}

	group {
	    name	"flames_4"
	    label	"Fuel"

	    parm {
		name	"advect_fuel"
		label	"Advect Fuel"
		type	toggle
		default	{ "0" }
		disablewhen	"{ enable_combustion == 0 }"
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"fuel_speed"
		label	"Fuel Speed"
		type	float
		default	{ "0.1" }
		disablewhen	"{ advect_fuel == 0 } { enable_combustion == 0 }"
		range	{ 0 10 }
		export	none
	    }
	}

    }

    group {
	name	"combustion_1_2"
	label	"Shape"

	parm {
	    name	"enable_dissipation"
	    label	"Dissipation"
	    type	toggle
	    nolabel
	    joinnext
	    default	{ "on" }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"evap"
	    label	"Dissipation"
	    type	float
	    default	{ "0.1" }
	    disablewhen	"{ enable_dissipation == 0 }"
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	    parmtag	{ "parmvop" "1" }
	}
	parm {
	    name	"enable_disturbance"
	    label	"Disturbance"
	    type	toggle
	    nolabel
	    joinnext
	    default	{ "0" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"dist_scale"
	    label	"Disturbance"
	    type	float
	    default	{ "0.5" }
	    disablewhen	"{ enable_disturbance == 0 }"
	    range	{ 0 10 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	    parmtag	{ "parmvop" "1" }
	}
	parm {
	    name	"enable_shredding"
	    label	"Shredding   "
	    type	toggle
	    nolabel
	    joinnext
	    default	{ "off" }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"shred_scale"
	    label	"Shredding"
	    type	float
	    default	{ "0.5" }
	    disablewhen	"{ enable_shredding == 0 }"
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"enable_sharpening"
	    label	"Sharpening"
	    type	toggle
	    nolabel
	    joinnext
	    default	{ "0" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"sharpenrate"
	    label	"Sharpening"
	    type	float
	    default	{ "0.5" }
	    disablewhen	"{ enable_sharpening == 0 }"
	    range	{ 0! 2 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"enable_turbulence"
	    label	"Turbulence"
	    type	toggle
	    nolabel
	    joinnext
	    default	{ "off" }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"turbulence_scale"
	    label	"Turbulence"
	    type	float
	    default	{ "0.1" }
	    disablewhen	"{ enable_turbulence == 0 }"
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	    parmtag	{ "parmvop" "1" }
	}
	parm {
	    name	"enable_confinement"
	    label	"Confinement  "
	    type	toggle
	    nolabel
	    joinnext
	    default	{ "off" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"confinementscale"
	    label	"Confinement"
	    type	float
	    default	{ "1" }
	    disablewhen	"{ enable_confinement == 0 }"
	    range	{ 0 10 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	group {
	    name	"wind_2"
	    label	"Dissipation"

	    parm {
		name	"use_dissipation_control_field"
		label	"Use Control Field"
		type	toggle
		nolabel
		joinnext
		default	{ "on" }
		disablewhen	"{ enable_dissipation == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "parmvop" "1" }
	    }
	    parm {
		name	"dissipation_control_field"
		label	"Control Field"
		type	string
		default	{ "temperature" }
		disablewhen	"{ use_dissipation_control_field == 0 } { enable_dissipation == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"dissipation_control_range"
		label	"Control Range"
		type	float
		size	2
		default	{ "0" "1" }
		disablewhen	"{ use_dissipation_control_field == 0 } { enable_dissipation == 0 }"
		range	{ 0 10 }
		export	none
	    }
	    parm {
		name	"remap_dissipation_field"
		label	"Remap Dissipation Field"
		type	ramp_flt
		default	{ "4" }
		disablewhen	"{ use_dissipation_control_field == 0 } { enable_dissipation == 0 }"
		range	{ 1! 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "parmvop" "1" }
		parmtag	{ "rampbasis_var" "remap_dissipation_field_the_basis_strings" }
		parmtag	{ "rampbasisdefault" "linear" }
		parmtag	{ "rampfloatdefault" "1pos ( 0 ) 1value ( 1 ) 1interp ( catmull-rom ) 2pos ( 0.17888999999999999 ) 2value ( 0.875 ) 2interp ( catmull-rom ) 3pos ( 0.36799999999999999 ) 3value ( 0.27000000000000002 ) 3interp ( catmull-rom ) 4pos ( 1 ) 4value ( 0 ) 4interp ( catmull-rom )" }
		parmtag	{ "rampkeys_var" "remap_dissipation_field_the_key_positions" }
		parmtag	{ "rampshowcontrolsdefault" "0" }
		parmtag	{ "rampvalues_var" "remap_dissipation_field_the_key_values" }
	    }
	}

	group {
	    name	"wind_2_1"
	    label	"Disturbance"

	    parm {
		name	"dist_target"
		label	"Field to Disturb"
		type	ordinal
		default	{ "vel" }
		disablewhen	"{ enable_disturbance == 0 }"
		menu	{
		    "temperature"	"Temperature"
		    "vel"	"Velocity"
		}
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"dist_density_cutoff"
		label	"Cutoff"
		type	float
		default	{ "0.15" }
		disablewhen	"{ enable_disturbance == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "parmvop" "1" }
	    }
	    parm {
		name	"dist_override_block_size"
		label	"Use Block Size"
		type	toggle
		default	{ "1" }
		disablewhen	"{ enable_disturbance == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "parmvop" "1" }
	    }
	    parm {
		name	"dist_block_size"
		label	"Block Size"
		type	float
		default	{ "0.2" }
		disablewhen	"{ dist_override_block_size == 0 } { enable_disturbance == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "parmvop" "1" }
	    }
	    parm {
		name	"dist_locality"
		label	"Locality"
		type	integer
		default	{ "1" }
		disablewhen	"{ enable_disturbance == 0 } { dist_override_block_size == 1 }"
		range	{ 1 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "parmvop" "1" }
	    }
	    group {
		name	"control_settings2"
		label	"Control Settings"

		parm {
		    name	"dist_use_control_field"
		    label	"Use Control Field"
		    type	toggle
		    nolabel
		    joinnext
		    default	{ "off" }
		    disablewhen	"{ enable_disturbance == 0 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		    parmtag	{ "parmvop" "1" }
		}
		parm {
		    name	"dist_control_field"
		    label	"Use Control Field"
		    type	string
		    default	{ "" }
		    disablewhen	"{ dist_use_control_field == 0 } { enable_disturbance == 0 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		}
		parm {
		    name	"dist_control_influence"
		    label	"Control Influence"
		    type	float
		    default	{ "0.5" }
		    disablewhen	"{ dist_use_control_field == 0 } { enable_disturbance == 0 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		    parmtag	{ "parmvop" "1" }
		}
		parm {
		    name	"dist_control_range"
		    label	"Control Range"
		    type	float
		    size	2
		    default	{ "0" "1" }
		    disablewhen	"{ dist_use_control_field == 0 } { enable_disturbance == 0 }"
		    range	{ 0 10 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		}
		parm {
		    name	"dist_remap_control_field"
		    label	"Remap Control Field"
		    type	toggle
		    default	{ "off" }
		    disablewhen	"{ dist_use_control_field == 0 } { enable_disturbance == 0 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		    parmtag	{ "parmvop" "1" }
		}
		parm {
		    name	"dist_control_field_ramp"
		    label	"Control Field Ramp"
		    type	ramp_flt
		    default	{ "2" }
		    disablewhen	"{ dist_use_control_field == 0 } { enable_disturbance == 0 } { dist_remap_control_field == 0 }"
		    range	{ 1! 10 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "rampbasis_var" "control_field_ramp_the_basis_strings" }
		    parmtag	{ "rampbasisdefault" "linear" }
		    parmtag	{ "rampfloatdefault" "1pos ( 0 ) 1value ( 0 ) 1interp ( linear ) 2pos ( 1 ) 2value ( 1 ) 2interp ( linear )" }
		    parmtag	{ "rampkeys_var" "control_field_ramp_the_key_positions" }
		    parmtag	{ "rampshowcontrolsdefault" "0" }
		    parmtag	{ "rampvalues_var" "control_field_ramp_the_key_values" }
		}
	    }

	    group {
		name	"control_settings2_1"
		label	"Bindings"

		parm {
		    name	"dist_thresh_field"
		    label	"Threshold Field"
		    type	string
		    default	{ "density" }
		    disablewhen	"{ enable_disturbance == 0 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		}
	    }

	}

	group {
	    name	"wind_2_2"
	    label	"Shredding"

	    parm {
		name	"shred_temp_threshold"
		label	"Temperature Threshold"
		type	float
		default	{ "0.75" }
		disablewhen	"{ enable_shredding == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "parmvop" "1" }
	    }
	    parm {
		name	"shred_fade"
		label	"Threshold Width"
		type	float
		default	{ "0.1" }
		disablewhen	"{ enable_shredding == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "parmvop" "1" }
	    }
	    parm {
		name	"shred_squash"
		label	"Squash"
		type	float
		default	{ "1" }
		disablewhen	"{ enable_shredding == 0 }"
		range	{ 0 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "parmvop" "1" }
	    }
	    parm {
		name	"shred_stretch"
		label	"Stretch"
		type	float
		default	{ "0.5" }
		disablewhen	"{ enable_shredding == 0 }"
		range	{ 0 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "parmvop" "1" }
	    }
	    parm {
		name	"clip_gradient"
		label	"Clip Influence Gradient"
		type	toggle
		nolabel
		joinnext
		default	{ "on" }
		disablewhen	"{ enable_shredding == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "parmvop" "1" }
	    }
	    parm {
		name	"clip_value"
		label	"Clip Gradient"
		type	float
		default	{ "7" }
		disablewhen	"{ clip_gradient == 0 } { enable_shredding == 0 }"
		range	{ 0 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "parmvop" "1" }
	    }
	    group {
		name	"shred_settings_2_1"
		label	"Control Settings"

		parm {
		    name	"shred_use_control_field"
		    label	"Use Control Field"
		    type	toggle
		    nolabel
		    joinnext
		    default	{ "off" }
		    disablewhen	"{ enable_shredding == 0 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		    parmtag	{ "parmvop" "1" }
		}
		parm {
		    name	"shred_control_field"
		    label	"Control Field"
		    type	string
		    default	{ "density" }
		    disablewhen	"{ shred_use_control_field == 0 } { enable_shredding == 0 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		}
		parm {
		    name	"shred_control_influence"
		    label	"Control Influence"
		    type	float
		    default	{ "0.5" }
		    disablewhen	"{ shred_use_control_field == 0 } { enable_shredding == 0 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		    parmtag	{ "parmvop" "1" }
		}
		parm {
		    name	"shred_control_range"
		    label	"Control Range"
		    type	vector2
		    size	2
		    default	{ "0" "1" }
		    disablewhen	"{ shred_use_control_field == 0 } { enable_shredding == 0 }"
		    range	{ -1 1 }
		    export	none
		}
		parm {
		    name	"remap_control_field"
		    label	"Remap Control Field"
		    type	toggle
		    default	{ "off" }
		    disablewhen	"{ shred_use_control_field == 0 } { enable_shredding == 0 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		    parmtag	{ "parmvop" "1" }
		}
		parm {
		    name	"control_field_ramp"
		    label	"Control Field Ramp"
		    type	ramp_flt
		    default	{ "2" }
		    disablewhen	"{ shred_use_control_field == 0 } { remap_control_field == 0 } { enable_shredding == 0 }"
		    range	{ 1! 10 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "rampbasis_var" "control_field_ramp_the_basis_strings" }
		    parmtag	{ "rampbasisdefault" "linear" }
		    parmtag	{ "rampfloatdefault" "1pos ( 0 ) 1value ( 0 ) 1interp ( linear ) 2pos ( 1 ) 2value ( 1 ) 2interp ( linear )" }
		    parmtag	{ "rampkeys_var" "control_field_ramp_the_key_positions" }
		    parmtag	{ "rampshowcontrolsdefault" "0" }
		    parmtag	{ "rampvalues_var" "control_field_ramp_the_key_values" }
		}
	    }

	    group {
		name	"shred_settings_2_1_1"
		label	"Visualization"

		parm {
		    name	"shred_visualize_shredding"
		    label	"Visualize Shredding"
		    type	toggle
		    default	{ "off" }
		    disablewhen	"{ enable_shredding == 0 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		}
		parm {
		    name	"shred_guideplane"
		    label	"Plane Orientation"
		    type	ordinal
		    default	{ "xy" }
		    disablewhen	"{ shred_visualize_shredding == 0 } { enable_shredding == 0 }"
		    menu	{
			"xy"	"XY plane     "
			"yz"	"YZ plane"
			"zx"	"ZX plane"
		    }
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		}
		parm {
		    name	"shred_guidevistype"
		    label	"Visualization Type"
		    type	ordinal
		    default	{ "speed" }
		    disablewhen	"{ enable_shredding == 0 } { shred_visualize_shredding == 0 }"
		    menu	{
			"none"	"None"
			"distance"	"Distance"
			"speed"	"Speed"
			"origin"	"Origin"
			"dir"	"Direction     "
			"value"	"Value"
		    }
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		}
		parm {
		    name	"shred_guidevismode"
		    label	"Visualization Mode"
		    type	ordinal
		    default	{ "false" }
		    disablewhen	"{ enable_shredding == 0 } { shred_visualize_shredding == 0 }"
		    menu	{
			"false"	"Infra-Red"
			"pink"	"White to Red"
			"mono"	"Grayscale"
			"blackbody"	"Black Body"
			"bipartite"	"Two-Tone"
		    }
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		}
		parm {
		    name	"shred_guidevisscale"
		    label	"Visualization Scale"
		    type	float
		    default	{ "1" }
		    disablewhen	"{ enable_shredding == 0 } { shred_visualize_shredding == 0 }"
		    range	{ 0 10 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		}
		parm {
		    name	"shred_guideplaneval"
		    label	"Plane Position"
		    type	float
		    default	{ "0" }
		    disablewhen	"{ enable_shredding == 0 } { shred_visualize_shredding == 0 }"
		    range	{ -1! 1! }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		}
		parm {
		    name	"shred_guidestreamerlen"
		    label	"Streamer Length"
		    type	float
		    default	{ "1" }
		    disablewhen	"{ enable_shredding == 0 } { shred_visualize_shredding == 0 }"
		    range	{ 0 10 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		}
		parm {
		    name	"shred_guidestreamerminspeed"
		    label	"Streamer Minimum Speed"
		    type	float
		    default	{ "0.001" }
		    disablewhen	"{ enable_shredding == 0 } { shred_visualize_shredding == 0 }"
		    range	{ 0 10 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		}
		parm {
		    name	"shred_guiderange"
		    label	"Visualization Range"
		    type	float
		    size	2
		    default	{ "0" "5" }
		    disablewhen	"{ enable_shredding == 0 } { shred_visualize_shredding == 0 }"
		    range	{ 0 10 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		}
	    }

	    group {
		name	"shred_settings_2_1_2"
		label	"Bindings"

		parm {
		    name	"shred_clear_temporary_fields"
		    label	"Clear Temporary Fields"
		    type	toggle
		    default	{ "on" }
		    disablewhen	"{ enable_shredding == 0 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		}
		parm {
		    name	"shred_temperature_field"
		    label	"Temperature Field"
		    type	string
		    default	{ "temperature" }
		    disablewhen	"{ enable_shredding == 0 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		}
		parm {
		    name	"shred_velocity_field"
		    label	"Velocity Field"
		    type	string
		    default	{ "vel" }
		    disablewhen	"{ enable_shredding == 0 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		}
	    }

	}

	group {
	    name	"wind_2_3"
	    label	"Sharpness"

	    parm {
		name	"sharpen_field"
		label	"Field Name"
		type	string
		default	{ "density" }
		disablewhen	"{ enable_sharpening == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"sharpen_locality"
		label	"Locality"
		type	integer
		default	{ "4" }
		disablewhen	"{ enable_sharpening == 0 }"
		range	{ 1! 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	}

	group {
	    name	"wind_2_4"
	    label	"Turbulence"

	    parm {
		name	"turb_swirl_size"
		label	"Swirl Size"
		type	float
		default	{ "1" }
		disablewhen	"{ enable_turbulence == 0 }"
		range	{ 0 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"turb_rough"
		label	"Grain"
		type	float
		default	{ "0.5" }
		disablewhen	"{ enable_turbulence == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "parmvop" "1" }
	    }
	    parm {
		name	"turb_pulse_length"
		label	"Pulse Length"
		type	float
		default	{ "0.5" }
		disablewhen	"{ enable_turbulence == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"turb_seed"
		label	"Seed"
		type	float
		default	{ "0" }
		disablewhen	"{ enable_turbulence == 0 }"
		range	{ 0 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"turb_control_threshold"
		label	"Influence Threshold"
		type	float
		default	{ "0.01" }
		disablewhen	"{ enable_turbulence == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "parmvop" "1" }
	    }
	    parm {
		name	"turb_turb"
		label	"Turbulence"
		type	integer
		default	{ "2" }
		disablewhen	"{ enable_turbulence == 0 }"
		range	{ 1 12 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "parmvop" "1" }
	    }
	    group {
		name	"control_settings"
		label	"Control Settings"

		parm {
		    name	"turb_use_control_field"
		    label	"Use Control Field"
		    type	toggle
		    nolabel
		    joinnext
		    default	{ "on" }
		    disablewhen	"{ enable_turbulence == 0 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		    parmtag	{ "parmvop" "1" }
		}
		parm {
		    name	"turb_control_field"
		    label	"Control Field"
		    type	string
		    default	{ "density" }
		    disablewhen	"{ turb_use_control_field == 0 } { enable_turbulence == 0 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		}
		parm {
		    name	"turb_control_influence"
		    label	"Control Influence"
		    type	float
		    default	{ "0.5" }
		    disablewhen	"{ turb_use_control_field == 0 } { enable_turbulence == 0 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		    parmtag	{ "parmvop" "1" }
		}
		parm {
		    name	"turb_control_range"
		    label	"Control Range"
		    type	float
		    size	2
		    default	{ "0" "1" }
		    disablewhen	"{ turb_use_control_field == 0 } { enable_turbulence == 0 }"
		    range	{ 0 10 }
		    export	none
		}
		parm {
		    name	"turb_remap_control_field"
		    label	"Remap Control Field"
		    type	toggle
		    default	{ "off" }
		    disablewhen	"{ turb_use_control_field == 0 } { enable_turbulence == 0 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		    parmtag	{ "parmvop" "1" }
		}
		parm {
		    name	"turb_control_ramp"
		    label	"Control Field Ramp"
		    type	ramp_flt
		    default	{ "2" }
		    disablewhen	"{ turb_use_control_field == 0 } { turb_remap_control_field == 0 } { enable_turbulence == 0 }"
		    range	{ 1! 10 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "rampbasis_var" "control_ramp_the_basis_strings" }
		    parmtag	{ "rampbasisdefault" "linear" }
		    parmtag	{ "rampfloatdefault" "1pos ( 0 ) 1value ( 0 ) 1interp ( linear ) 2pos ( 1 ) 2value ( 1 ) 2interp ( linear )" }
		    parmtag	{ "rampkeys_var" "control_ramp_the_key_positions" }
		    parmtag	{ "rampshowcontrolsdefault" "0" }
		    parmtag	{ "rampvalues_var" "control_ramp_the_key_values" }
		}
	    }

	    group {
		name	"control_settings_1"
		label	"Visualization"

		parm {
		    name	"turb_vis_turbulence"
		    label	"Visualize Turbulence"
		    type	toggle
		    default	{ "off" }
		    disablewhen	"{ enable_turbulence == 0 } { enable_turbulence == 0 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		}
		parm {
		    name	"turb_guideplane"
		    label	"Plane Orientation"
		    type	ordinal
		    default	{ "xy" }
		    disablewhen	"{ turb_vis_turbulence == 0 } { enable_turbulence == 0 }"
		    menu	{
			"xy"	"XY plane     "
			"yz"	"YZ plane"
			"zx"	"ZX plane"
		    }
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		}
		parm {
		    name	"turb_guidevistype"
		    label	"Visualization Type"
		    type	ordinal
		    default	{ "speed" }
		    disablewhen	"{ turb_vis_turbulence == 0 } { enable_turbulence == 0 }"
		    menu	{
			"none"	"None     "
			"distance"	"Distance"
			"speed"	"Speed"
			"origin"	"Origin"
			"dir"	"Direction     "
			"value"	"Value"
		    }
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		}
		parm {
		    name	"turb_guidevismode"
		    label	"Visualization Mode"
		    type	ordinal
		    default	{ "false" }
		    disablewhen	"{ turb_vis_turbulence == 0 } { enable_turbulence == 0 }"
		    menu	{
			"false"	"Infra-Red"
			"pink"	"White to Red"
			"mono"	"Grayscale"
			"blackbody"	"Black Body"
			"bipartite"	"Two-Tone"
		    }
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		}
		parm {
		    name	"turb_guidevisscale"
		    label	"Visualization Scale"
		    type	float
		    default	{ "1" }
		    disablewhen	"{ turb_vis_turbulence == 0 } { enable_turbulence == 0 }"
		    range	{ 0 10 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		}
		parm {
		    name	"turb_guideplaneval"
		    label	"Plane Position"
		    type	float
		    default	{ "0" }
		    disablewhen	"{ turb_vis_turbulence == 0 } { enable_turbulence == 0 }"
		    range	{ -1! 1! }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		}
		parm {
		    name	"turb_guidestreamerlen"
		    label	"Streamer Length"
		    type	float
		    default	{ "0.25" }
		    disablewhen	"{ turb_vis_turbulence == 0 } { enable_turbulence == 0 }"
		    range	{ 0 10 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		}
		parm {
		    name	"turb_guidestreamerminspeed"
		    label	"Streamer Minimum Speed"
		    type	float
		    default	{ "0.001" }
		    disablewhen	"{ turb_vis_turbulence == 0 } { enable_turbulence == 0 }"
		    range	{ 0 10 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		}
		parm {
		    name	"turb_guiderange"
		    label	"Visualization Range"
		    type	float
		    size	2
		    default	{ "0" "1" }
		    disablewhen	"{ turb_vis_turbulence == 0 } { enable_turbulence == 0 }"
		    range	{ 0 10 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		}
	    }

	    group {
		name	"control_settings_2"
		label	"Bindings"

		parm {
		    name	"turb_clear_temporary_fields"
		    label	"Clear Temporary Fields"
		    type	toggle
		    default	{ "on" }
		    disablewhen	"{ enable_turbulence == 0 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		}
		parm {
		    name	"turb_density_field"
		    label	"Density Field"
		    type	string
		    default	{ "temperature" }
		    disablewhen	"{ enable_turbulence == 0 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		}
		parm {
		    name	"turb_velocity_field"
		    label	"Velocity Field"
		    type	string
		    default	{ "vel" }
		    disablewhen	"{ enable_turbulence == 0 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		}
	    }

	}

	group {
	    name	"wind_2_5"
	    label	"Confinement"

	    parm {
		name	"conf_use_control_field"
		label	"Use Control Field"
		type	toggle
		nolabel
		joinnext
		default	{ "off" }
		disablewhen	"{ enable_confinement == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"conf_control_field"
		label	"Control Field"
		type	string
		default	{ "confinement" }
		disablewhen	"{ conf_use_control_field == 0 } { enable_confinement == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"conf_remap_control_field"
		label	"Remap Control Field"
		type	toggle
		default	{ "off" }
		disablewhen	"{ conf_use_control_field == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "parmvop" "1" }
	    }
	    parm {
		name	"conf_control_range"
		label	"Control Range"
		type	float
		size	2
		default	{ "0" "1" }
		disablewhen	"{ conf_use_control_field == 0 } { conf_remap_control_field == 0 } { enable_confinement == 0 }"
		range	{ 0 10 }
		export	none
	    }
	    parm {
		name	"conf_control_influence"
		label	"Control Influence"
		type	float
		default	{ "0.5" }
		disablewhen	"{ conf_use_control_field == 0 } { conf_remap_control_field == 0 } { enable_confinement == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "parmvop" "1" }
	    }
	    group {
		name	"visualization"
		label	"Visualization"

		parm {
		    name	"conf_visualize_confinement"
		    label	"Visualize Confinement"
		    type	toggle
		    default	{ "off" }
		    disablewhen	"{ enable_confinement == 0 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		}
		parm {
		    name	"conf_guideplane"
		    label	"Plane Orientation"
		    type	ordinal
		    default	{ "xy" }
		    disablewhen	"{ conf_visualize_confinement == 0 } { enable_confinement == 0 }"
		    menu	{
			"xy"	"XY plane     "
			"yz"	"YZ plane"
			"zx"	"ZX plane"
		    }
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		}
		parm {
		    name	"conf_guidevistype"
		    label	"Visualization Type"
		    type	ordinal
		    default	{ "speed" }
		    disablewhen	"{ conf_visualize_confinement == 0 } { enable_confinement == 0 }"
		    menu	{
			"none"	"None"
			"distance"	"Distance     "
			"speed"	"Speed"
			"origin"	"Origin"
			"dir"	"Direction"
			"value"	"Value"
		    }
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		}
		parm {
		    name	"conf_guidevismode"
		    label	"Visualization Mode"
		    type	ordinal
		    default	{ "false" }
		    disablewhen	"{ conf_visualize_confinement == 0 } { enable_confinement == 0 }"
		    menu	{
			"false"	"Infra-Red"
			"pink"	"White to Red"
			"mono"	"Grayscale"
			"blackbody"	"Black Body"
			"bipartite"	"Two-Tone"
		    }
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		}
		parm {
		    name	"conf_guidevisscale"
		    label	"Visualization Scale"
		    type	float
		    default	{ "1" }
		    disablewhen	"{ conf_visualize_confinement == 0 } { enable_confinement == 0 }"
		    range	{ 0 10 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		}
		parm {
		    name	"conf_guideplaneval"
		    label	"Plane Position"
		    type	float
		    default	{ "0" }
		    disablewhen	"{ conf_visualize_confinement == 0 } { enable_confinement == 0 }"
		    range	{ -1! 1! }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		}
		parm {
		    name	"conf_guidestreamerlen"
		    label	"Streamer Length"
		    type	float
		    default	{ "1" }
		    disablewhen	"{ conf_visualize_confinement == 0 } { enable_confinement == 0 }"
		    range	{ 0 10 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		}
		parm {
		    name	"conf_guidestreamerminspeed"
		    label	"Streamer Minimum Speed"
		    type	float
		    default	{ "0.001" }
		    disablewhen	"{ conf_visualize_confinement == 0 } { enable_confinement == 0 }"
		    range	{ 0 10 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		}
		parm {
		    name	"conf_guiderange"
		    label	"Visualization Range"
		    type	float
		    size	2
		    default	{ "0" "1" }
		    disablewhen	"{ conf_visualize_confinement == 0 } { enable_confinement == 0 }"
		    range	{ 0 10 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		}
	    }

	    group {
		name	"visualization_1"
		label	"Control Field Ramp"

		parm {
		    name	"conf_control_field_ramp2"
		    label	"Control Field Ramp"
		    type	ramp_flt
		    default	{ "2" }
		    disablewhen	"{ conf_use_control_field == 0 } { conf_remap_control_field == 0 } { enable_confinement == 0 }"
		    range	{ 1! 10 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		    parmtag	{ "parmvop" "1" }
		    parmtag	{ "rampbasis_var" "control_field_ramp_the_basis_strings" }
		    parmtag	{ "rampbasisdefault" "linear" }
		    parmtag	{ "rampfloatdefault" "1pos ( 0 ) 1value ( 0 ) 1interp ( linear ) 2pos ( 1 ) 2value ( 1 ) 2interp ( linear )" }
		    parmtag	{ "rampkeys_var" "control_field_ramp_the_key_positions" }
		    parmtag	{ "rampshowcontrolsdefault" "0" }
		    parmtag	{ "rampvalues_var" "control_field_ramp_the_key_values" }
		}
	    }

	    group {
		name	"visualization_2"
		label	"Bindings"

		parm {
		    name	"conf_cleartemp"
		    label	"Clear Temporary Fields"
		    type	toggle
		    default	{ "on" }
		    disablewhen	"{ enable_confinement == 0 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		}
		parm {
		    name	"conf_vel"
		    label	"Velocity Field"
		    type	string
		    default	{ "vel" }
		    disablewhen	"{ enable_confinement == 0 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		}
		parm {
		    name	"conf_confinement"
		    label	"Confinement Field"
		    type	string
		    default	{ "confinement" }
		    disablewhen	"{ enable_confinement == 0 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		}
	    }

	}

    }

    group {
	name	"combustion_1_3"
	label	"Relationships"

	parm {
	    name	"enable_relationships"
	    label	"Enable Relationships"
	    type	toggle
	    default	{ "on" }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	group {
	    name	"std_switcher_0_6"
	    label	"Sources"

	    parm {
		name	"enable_source_relationship"
		label	"Enable Source Relationship"
		type	toggle
		default	{ "off" }
		disablewhen	"{ enable_relationships == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"sourcedest"
		label	"Add Source To"
		type	string
		default	{ "density" }
		disablewhen	"{ enable_relationships == 0 } { enable_source_relationship == 0 }"
		menureplace	{
		    "density"	"Density"
		    "temperature"	"Temperature"
		    "fuel"	"Fuel"
		}
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"sourcemerge"
		label	"Source Merge"
		type	ordinal
		joinnext
		default	{ "max" }
		disablewhen	"{ enable_relationships == 0 } { enable_source_relationship == 0 }"
		menu	{
		    "copy"	"Copy"
		    "add"	"Add"
		    "sub"	"Subtract"
		    "mul"	"Multiply"
		    "div"	"Divide"
		    "max"	"Maximum            "
		    "min"	"Minimum"
		    "average"	"Average"
		}
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"source_amount"
		label	"Scale"
		type	float
		default	{ "1" }
		disablewhen	"{ enable_relationships == 0 } { enable_source_relationship == 0 }"
		range	{ 0 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"sourcevelmerge"
		label	"Velocity Merge"
		type	ordinal
		joinnext
		default	{ "wavg" }
		disablewhen	"{ enable_relationships == 0 } { enable_source_relationship == 0 }"
		menu	{
		    "none"	"None"
		    "wavg"	"Weighted Average"
		    "netnewsource"	"Net New Source"
		}
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"scale_vel"
		label	"Scale"
		type	float
		default	{ "1" }
		disablewhen	"{ enable_relationships == 0 } { enable_source_relationship == 0 }"
		range	{ 0 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"sourcetemperaturemerge"
		label	"Temperature Merge"
		type	ordinal
		joinnext
		default	{ "wavg" }
		disablewhen	"{ enable_relationships == 0 } { enable_source_relationship == 0 }"
		menu	{
		    "none"	"None"
		    "wavg"	"Weighted Average"
		    "netnewsource"	"Net New Source"
		}
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"scale_temp"
		label	"Scale"
		type	float
		default	{ "1" }
		disablewhen	"{ enable_relationships == 0 } { enable_source_relationship == 0 }"
		range	{ 0 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"veltype"
		label	"Velocity Type"
		type	ordinal
		default	{ "rigidvelocity" }
		disablewhen	"{ enable_relationships == 0 } { enable_source_relationship == 0 }"
		menu	{
		    "rigidvelocity"	"Rigid Velocity"
		    "pointvelocity"	"Point Velocity"
		    "volumevelocity"	"Volume Velocity   "
		}
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	}

	group {
	    name	"std_switcher_0_6_1"
	    label	"Pumps"

	    parm {
		name	"enable_pump_relationship"
		label	"Enable Pump Relationship"
		type	toggle
		default	{ "off" }
		disablewhen	"{ enable_relationships == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"pumpvelmerge"
		label	"Velocity Merge"
		type	ordinal
		joinnext
		default	{ "blend" }
		disablewhen	"{ enable_relationships == 0 } { enable_pump_relationship == 0 }"
		menu	{
		    "blend"	"Blend              "
		    "add"	"Add"
		}
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"pumpvelscale"
		label	"Scale"
		type	float
		default	{ "1" }
		disablewhen	"{ enable_relationships == 0 } { enable_pump_relationship == 0 }"
		range	{ 0 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"pumpveltype"
		label	"Velocity Type"
		type	ordinal
		default	{ "rigidvelocity" }
		disablewhen	"{ enable_relationships == 0 } { enable_pump_relationship == 0 }"
		menu	{
		    "rigidvelocity"	"Rigid Velocity"
		    "pointvelocity"	"Point Velocity"
		    "volumevelocity"	"Volume Velocity"
		}
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"pumptemperaturemerge"
		label	"Temperature Merge"
		type	ordinal
		default	{ "none" }
		disablewhen	"{ enable_relationships == 0 } { enable_pump_relationship == 0 }"
		menu	{
		    "none"	"None"
		    "setinterior"	"Set Interior      "
		}
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	}

	group {
	    name	"std_switcher_0_6_2"
	    label	"Collisions"

	    parm {
		name	"enable_collision_relationship"
		label	"Enable Collision Relationship"
		type	toggle
		default	{ "on" }
		disablewhen	"{ enable_relationships == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"collisiontemperaturemerge"
		label	"Temperature Merge"
		type	ordinal
		default	{ "collisioninterior" }
		disablewhen	"{ enable_relationships == 0 } { enable_collision_relationship == 0 }"
		menu	{
		    "none"	"None"
		    "collisioninterior"	"Collision Interior"
		}
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"collision_usebandwidth"
		label	"Restrict Mask to Bandwidth"
		type	toggle
		default	{ "on" }
		disablewhen	"{ enable_relationships == 0 } { enable_collision_relationship == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"collision_usepointvelocity"
		label	"Use Point Velocity for Collisions"
		type	toggle
		default	{ "off" }
		disablewhen	"{ enable_relationships == 0 } { enable_collision_relationship == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"collision_usevolumevelocity"
		label	"Use Volume Velocity for Collisions"
		type	toggle
		default	{ "off" }
		disablewhen	"{ enable_relationships == 0 } { enable_collision_relationship == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"collision_allownonsdf"
		label	"Collide with Non-SDF"
		type	toggle
		default	{ "off" }
		disablewhen	"{ enable_relationships == 0 } { enable_collision_relationship == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"extrapolatecollision"
		label	"Extrapolate into Collisions"
		type	toggle
		default	{ "off" }
		disablewhen	"{ enable_relationships == 0 } { enable_collision_relationship == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"correctcollision"
		label	"Correct Collisions"
		type	toggle
		default	{ "on" }
		disablewhen	"{ enable_relationships == 0 } { enable_collision_relationship == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	}

	group {
	    name	"std_switcher_0_6_3"
	    label	"Sink"

	    parm {
		name	"enable_sink"
		label	"Enable Sink Relationship"
		type	toggle
		default	{ "off" }
		disablewhen	"{ enable_relationships == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	}

    }

    group {
	name	"combustion_1_4"
	label	"Advanced"

	parm {
	    name	"opencl"
	    label	"Use OpenCL"
	    type	toggle
	    default	{ "off" }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"minimumsubsteps"
	    label	"Min Substeps"
	    type	integer
	    default	{ "1" }
	    range	{ 0 10 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"substeps"
	    label	"Max Substeps"
	    type	integer
	    default	{ "1" }
	    range	{ 0 10 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"cflcond"
	    label	"CFL Condition"
	    type	float
	    default	{ "1" }
	    range	{ 0 10 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"frames_before_solve"
	    label	"Frames Before Solve"
	    type	integer
	    default	{ "0" }
	    range	{ 0 10 }
	    export	none
	}
	group {
	    name	"wind_6"
	    label	"External Forces"

	    parm {
		name	"scaled_forces"
		label	"Scaled Forces"
		type	string
		default	{ "*" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"absolute_forces"
		label	"Absolute Forces"
		type	string
		default	{ "" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	}

	group {
	    name	"wind_6_1"
	    label	"Rest Field"

	    parm {
		name	"enable_rest"
		label	"Enable Rest"
		type	toggle
		default	{ "off" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"dual_rest_fields"
		label	"Dual Rest Fields"
		type	toggle
		default	{ "on" }
		disablewhen	"{ enable_rest == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"rest_framedelay"
		label	"Frames Between Solves"
		type	float
		default	{ "50" }
		disablewhen	"{ enable_rest == 0 }"
		range	{ 0 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"rest_frameoffset"
		label	"Frame Offset"
		type	float
		default	{ "1" }
		disablewhen	"{ enable_rest == 0 }"
		range	{ 0 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"rest_advectspeed"
		label	"Rest Advection Rate"
		type	float
		default	{ "0.2" }
		disablewhen	"{ enable_rest == 0 }"
		range	{ 0 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	}

	group {
	    name	"wind_6_2"
	    label	"Projection"

	    parm {
		name	"projection_method"
		label	"Projection Method"
		type	ordinal
		default	{ "1" }
		menu	{
		    "0"	"PCG"
		    "1"	"Multigrid                   "
		}
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"multigrid_minpass"
		label	"Multigrid Iterations"
		type	integer
		default	{ "1" }
		disablewhen	"{ projection_method == 0 }"
		range	{ 0! 20 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	}

	group {
	    name	"wind_6_3"
	    label	"Advection"

	    parm {
		name	"advecttype"
		label	"Advection Type"
		type	ordinal
		joinnext
		default	{ "modifiedmaccormack" }
		menu	{
		    "single"	"Single Stage"
		    "bfecc"	"BFECC"
		    "modifiedmaccormack"	"Modified MacCormack"
		}
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"clampvalues"
		label	"Clamp Values"
		type	ordinal
		default	{ "revert" }
		disablewhen	"{ advecttype == single }"
		menu	{
		    "off"	"None"
		    "on"	"Clamp"
		    "revert"	"Revert"
		}
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"vel_advecttype"
		label	"Vel Advection Type"
		type	ordinal
		joinnext
		default	{ "modifiedmaccormack" }
		menu	{
		    "single"	"Single Stage"
		    "bfecc"	"BFECC"
		    "modifiedmaccormack"	"Modified MacCormack"
		}
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"vel_clampvalues"
		label	"Clamp Values"
		type	ordinal
		default	{ "revert" }
		disablewhen	"{ advecttype == single }"
		menu	{
		    "off"	"None"
		    "on"	"Clamp"
		    "revert"	"Revert"
		}
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"advectmethod"
		label	"Advection Method"
		type	ordinal
		default	{ "trace" }
		menu	{
		    "single"	"Single Step"
		    "trace"	"Trace"
		    "midpoint"	"Trace Midpoint          "
		    "hjweno"	"HJWENO"
		    "upwind"	"Upwind"
		}
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"advect_cfl"
		label	"Advect CFL"
		type	float
		default	{ "1.5" }
		range	{ 0 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	}

	group {
	    name	"wind_6_4"
	    label	"Timescale"

	    parm {
		name	"timescale_burn_influence"
		label	"Burn Influence"
		type	float
		default	{ "0" }
		range	{ 0! 1! }
		export	none
	    }
	    parm {
		name	"heat_influence"
		label	"Heat Influence"
		type	float
		default	{ "0.3" }
		range	{ 0! 1! }
		export	none
	    }
	}

	group {
	    name	"wind_6_5"
	    label	"Collisions"

	    parm {
		name	"correct_collisions"
		label	"Correct Collisions"
		type	toggle
		default	{ "1" }
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"feedbackscale"
		label	"Feedback Scale"
		type	float
		default	{ "0" }
		range	{ 0 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "units" "kg1m1s-2" }
	    }
	}

	group {
	    name	"wind_6_6"
	    label	"Clear Fields"

	    parm {
		name	"fieldsclear"
		label	"Fields to Clear"
		type	ordinal
		default	{ "none" }
		menu	{
		    "none"	"None"
		    "hidden"	"Hidden"
		    "static"	"Static"
		}
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"extraclear"
		label	"Additional"
		type	string
		default	{ "" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	}

    }

    parm {
	name	"addaffectors"
	label	"Make Objects Mutual Affectors"
	type	toggle
	default	{ "on" }
	range	{ 0 1 }
	export	none
	parmtag	{ "autoscope" "0000000000000000" }
    }
    parm {
	name	"uniquedataname"
	label	"Unique Data Name"
	type	toggle
	default	{ "off" }
	range	{ 0 1 }
	export	none
	parmtag	{ "autoscope" "0000000000000000" }
    }
    parm {
	name	"group"
	label	"Group"
	type	string
	default	{ "*" }
	menutoggle	{
	    [ "opmenu -l smokesolver_build2 group" ]
	}
	range	{ 0 1 }
	export	none
	parmtag	{ "autoscope" "0000000000000000" }
    }
    parm {
	name	"dataname"
	label	"Data Name"
	type	string
	default	{ "Solver" }
	range	{ 0 1 }
	export	none
	parmtag	{ "autoscope" "0000000000000000" }
    }
}
INDX              Contents       WS7   DialogScript   W  Rs0707070000010000000006660000000000000000010000001237543366300001300000000000TRAILER!!! # Dialog script for attribwrangle automatically generated 11/01/13 09:52:15

{
    name	attribwrangle
    script	attribwrangle
    label	AttribWrangle

    help {
	""
    }

    inputlabel	1	"Sub-Network Input #1"
    inputlabel	2	"Sub-Network Input #2"
    inputlabel	3	"Sub-Network Input #3"
    inputlabel	4	"Sub-Network Input #4"

    group {
	name	"folder0"
	label	"Code"

	parm {
	    name	"group"
	    label	"Group"
	    type	string
	    default	{ "" }
	    menutoggle	{
		[ "opmenu -l attribvop1 bindgroup" ]
	    }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"grouptype"
	    label	"Group Type"
	    type	ordinal
	    default	{ "guess" }
	    menu	{
		"guess"	"Guess from Group"
		"vertices"	"Vertices"
		"edges"	"Edges"
		"points"	"Points"
		"prims"	"Primitives"
	    }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"class"
	    label	"Run Over"
	    type	ordinal
	    default	{ "point" }
	    menu	{
		"detail"	"Detail (only once)"
		"primitive"	"Primitives"
		"point"	"Points"
		"vertex"	"Vertices"
	    }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"snippet"
	    label	"VEXpression"
	    type	string
	    default	{ "" }
	    menureplace	{
		[ "import vexpressionmenu" ]
		[ "" ]
		[ "return vexpressionmenu.buildSnippetMenu('attribwrangle/snippet')" ]
		language	python
	    }
	    range	{ 0 1 }
	    export	all
	    parmtag	{ "autoscope" "0000000000000000" }
	    parmtag	{ "editor" "1" }
	    parmtag	{ "editorlang" "VEX" }
	    parmtag	{ "editorlines" "10" }
	}
	parm {
	    name	"exportlist"
	    label	"Attributes to Create"
	    type	string
	    default	{ "*" }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
    }

    group {
	name	"folder0_1"
	label	"Bindings"

	parm {
	    name	"autobind"
	    label	"Autobind by Name"
	    type	toggle
	    default	{ "on" }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	multiparm {
	    name	"bindings"
	    label	"Number of Bindings"
	    default	0
	    parmtag	{ "autoscope" "0000000000000000" }
	    parmtag	{ "multistartoffset" "1" }

	    parm {
		name	"bindname#"
		label	"Attribute Name"
		type	string
		default	{ "" }
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"bindparm#"
		label	"VEX Parameter"
		type	string
		default	{ "" }
		range	{ 0 1 }
		export	none
	    }
	}

	parm {
	    name	"groupautobind"
	    label	"Autobind Groups by Name"
	    type	toggle
	    default	{ "on" }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	multiparm {
	    name	"groupbindings"
	    label	"Group Bindings"
	    default	0
	    parmtag	{ "autoscope" "0000000000000000" }
	    parmtag	{ "multistartoffset" "1" }

	    parm {
		name	"bindgroupname#"
		label	"Group Name"
		type	string
		default	{ "" }
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"bindgroupparm#"
		label	"VEX Parameter"
		type	string
		default	{ "" }
		range	{ 0 1 }
		export	none
	    }
	}

	parm {
	    name	"vex_cwdpath"
	    label	"Evaluation Node Path"
	    type	oppath
	    default	{ "." }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	    parmtag	{ "oprelative" "." }
	}
	parm {
	    name	"vex_outputmask"
	    label	"Export Parameters"
	    type	string
	    default	{ "*" }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
    }

}
INDX              DialogScript      OE%'# Dialog script for ttwswitchimpl automatically generated 02/22/12 12:25:59

{
    name	ttwswitchimpl
    script	arrayswitch
    label	"Typed Two Way Switch Impl"

    code {
	"$output = $index ? $input2 : $input1;"
    }

    input	int	int_float	"Type-Based Switcher"
    input	int	input1	"Array 1"
    input	int	input2	"Array 2"
    output	int	output	"Output 1"
    inputflags	int_float	0
    inputflags	input1	0
    inputflags	input2	0
    signature	i_i_0	default	{ int int int int }
    signature	i_i_1	i_i_1	{ float int int int }
    signature	i_f_0	i_f_0	{ int int float int }
    signature	i_f_1	i_f_1	{ float int float float }
    signature	i_v_0	i_v_0	{ int int vector int }
    signature	i_v_1	i_v_1	{ float int vector vector }
    signature	i_v4_0	i_v4_0	{ int int vector4 int }
    signature	i_v4_1	i_v4_1	{ float int vector4 vector4 }
    signature	i_m3_0	i_m3_0	{ int int matrix3 int }
    signature	i_m3_1	i_m3_1	{ float int matrix3 matrix3 }
    signature	i_m_0	i_m_0	{ int int matrix int }
    signature	i_m_1	i_m_1	{ float int matrix matrix }
    signature	i_s_0	i_s_0	{ int int string int }
    signature	i_s_1	i_s_1	{ float int string string }
    signature	i_ia_0	i_ia_0	{ int int inta int }
    signature	i_ia_1	i_ia_1	{ float int inta inta }
    signature	i_fa_0	i_fa_0	{ int int floata int }
    signature	i_fa_1	i_fa_1	{ float int floata floata }
    signature	i_va_0	i_va_0	{ int int vectora int }
    signature	i_va_1	i_va_1	{ float int vectora vectora }
    signature	i_v4a_0	i_v4a_0	{ int int vector4a int }
    signature	i_v4a_1	i_v4a_1	{ float int vector4a vector4a }
    signature	i_m3a_0	i_m3a_0	{ int int matrix3a int }
    signature	i_m3a_1	i_m3a_1	{ float int matrix3a matrix3a }
    signature	i_ma_0	i_ma_0	{ int int matrixa int }
    signature	i_ma_1	i_ma_1	{ float int matrixa matrixa }
    signature	i_sa_0	i_sa_0	{ int int stringa int }
    signature	i_sa_1	i_sa_1	{ float int stringa stringa }
    signature	f_i_0	f_i_0	{ int float int float }
    signature	f_i_1	f_i_1	{ float float int int }
    signature	f_f_0	f_f_0	{ int float float float }
    signature	f_f_1	f_f_1	{ float float float float }
    signature	f_v_0	f_v_0	{ int float vector float }
    signature	f_v_1	f_v_1	{ float float vector vector }
    signature	f_v4_0	f_v4_0	{ int float vector4 float }
    signature	f_v4_1	f_v4_1	{ float float vector4 vector4 }
    signature	f_m3_0	f_m3_0	{ int float matrix3 float }
    signature	f_m3_1	f_m3_1	{ float float matrix3 matrix3 }
    signature	f_m_0	f_m_0	{ int float matrix float }
    signature	f_m_1	f_m_1	{ float float matrix matrix }
    signature	f_s_0	f_s_0	{ int float string float }
    signature	f_s_1	f_s_1	{ float float string string }
    signature	f_ia_0	f_ia_0	{ int float inta float }
    signature	f_ia_1	f_ia_1	{ float float inta inta }
    signature	f_fa_0	f_fa_0	{ int float floata float }
    signature	f_fa_1	f_fa_1	{ float float floata floata }
    signature	f_va_0	f_va_0	{ int float vectora float }
    signature	f_va_1	f_va_1	{ float float vectora vectora }
    signature	f_v4a_0	f_v4a_0	{ int float vector4a float }
    signature	f_v4a_1	f_v4a_1	{ float float vector4a vector4a }
    signature	f_m3a_0	f_m3a_0	{ int float matrix3a float }
    signature	f_m3a_1	f_m3a_1	{ float float matrix3a matrix3a }
    signature	f_ma_0	f_ma_0	{ int float matrixa float }
    signature	f_ma_1	f_ma_1	{ float float matrixa matrixa }
    signature	f_sa_0	f_sa_0	{ int float stringa float }
    signature	f_sa_1	f_sa_1	{ float float stringa stringa }
    signature	v_i_0	v_i_0	{ int vector int vector }
    signature	v_i_1	v_i_1	{ float vector int int }
    signature	v_f_0	v_f_0	{ int vector float vector }
    signature	v_f_1	v_f_1	{ float vector float float }
    signature	v_v_0	v_v_0	{ int vector vector vector }
    signature	v_v_1	v_v_1	{ float vector vector vector }
    signature	v_v4_0	v_v4_0	{ int vector vector4 vector }
    signature	v_v4_1	v_v4_1	{ float vector vector4 vector4 }
    signature	v_m3_0	v_m3_0	{ int vector matrix3 vector }
    signature	v_m3_1	v_m3_1	{ float vector matrix3 matrix3 }
    signature	v_m_0	v_m_0	{ int vector matrix vector }
    signature	v_m_1	v_m_1	{ float vector matrix matrix }
    signature	v_s_0	v_s_0	{ int vector string vector }
    signature	v_s_1	v_s_1	{ float vector string string }
    signature	v_ia_0	v_ia_0	{ int vector inta vector }
    signature	v_ia_1	v_ia_1	{ float vector inta inta }
    signature	v_fa_0	v_fa_0	{ int vector floata vector }
    signature	v_fa_1	v_fa_1	{ float vector floata floata }
    signature	v_va_0	v_va_0	{ int vector vectora vector }
    signature	v_va_1	v_va_1	{ float vector vectora vectora }
    signature	v_v4a_0	v_v4a_0	{ int vector vector4a vector }
    signature	v_v4a_1	v_v4a_1	{ float vector vector4a vector4a }
    signature	v_m3a_0	v_m3a_0	{ int vector matrix3a vector }
    signature	v_m3a_1	v_m3a_1	{ float vector matrix3a matrix3a }
    signature	v_ma_0	v_ma_0	{ int vector matrixa vector }
    signature	v_ma_1	v_ma_1	{ float vector matrixa matrixa }
    signature	v_sa_0	v_sa_0	{ int vector stringa vector }
    signature	v_sa_1	v_sa_1	{ float vector stringa stringa }
    signature	v4_i_0	v4_i_0	{ int vector4 int vector4 }
    signature	v4_i_1	v4_i_1	{ float vector4 int int }
    signature	v4_f_0	v4_f_0	{ int vector4 float vector4 }
    signature	v4_f_1	v4_f_1	{ float vector4 float float }
    signature	v4_v_0	v4_v_0	{ int vector4 vector vector4 }
    signature	v4_v_1	v4_v_1	{ float vector4 vector vector }
    signature	v4_v4_0	v4_v4_0	{ int vector4 vector4 vector4 }
    signature	v4_v4_1	v4_v4_1	{ float vector4 vector4 vector4 }
    signature	v4_m3_0	v4_m3_0	{ int vector4 matrix3 vector4 }
    signature	v4_m3_1	v4_m3_1	{ float vector4 matrix3 matrix3 }
    signature	v4_m_0	v4_m_0	{ int vector4 matrix vector4 }
    signature	v4_m_1	v4_m_1	{ float vector4 matrix matrix }
    signature	v4_s_0	v4_s_0	{ int vector4 string vector4 }
    signature	v4_s_1	v4_s_1	{ float vector4 string string }
    signature	v4_ia_0	v4_ia_0	{ int vector4 inta vector4 }
    signature	v4_ia_1	v4_ia_1	{ float vector4 inta inta }
    signature	v4_fa_0	v4_fa_0	{ int vector4 floata vector4 }
    signature	v4_fa_1	v4_fa_1	{ float vector4 floata floata }
    signature	v4_va_0	v4_va_0	{ int vector4 vectora vector4 }
    signature	v4_va_1	v4_va_1	{ float vector4 vectora vectora }
    signature	v4_v4a_0	v4_v4a_0	{ int vector4 vector4a vector4 }
    signature	v4_v4a_1	v4_v4a_1	{ float vector4 vector4a vector4a }
    signature	v4_m3a_0	v4_m3a_0	{ int vector4 matrix3a vector4 }
    signature	v4_m3a_1	v4_m3a_1	{ float vector4 matrix3a matrix3a }
    signature	v4_ma_0	v4_ma_0	{ int vector4 matrixa vector4 }
    signature	v4_ma_1	v4_ma_1	{ float vector4 matrixa matrixa }
    signature	v4_sa_0	v4_sa_0	{ int vector4 stringa vector4 }
    signature	v4_sa_1	v4_sa_1	{ float vector4 stringa stringa }
    signature	m3_i_0	m3_i_0	{ int matrix3 int matrix3 }
    signature	m3_i_1	m3_i_1	{ float matrix3 int int }
    signature	m3_f_0	m3_f_0	{ int matrix3 float matrix3 }
    signature	m3_f_1	m3_f_1	{ float matrix3 float float }
    signature	m3_v_0	m3_v_0	{ int matrix3 vector matrix3 }
    signature	m3_v_1	m3_v_1	{ float matrix3 vector vector }
    signature	m3_v4_0	m3_v4_0	{ int matrix3 vector4 matrix3 }
    signature	m3_v4_1	m3_v4_1	{ float matrix3 vector4 vector4 }
    signature	m3_m3_0	m3_m3_0	{ int matrix3 matrix3 matrix3 }
    signature	m3_m3_1	m3_m3_1	{ float matrix3 matrix3 matrix3 }
    signature	m3_m_0	m3_m_0	{ int matrix3 matrix matrix3 }
    signature	m3_m_1	m3_m_1	{ float matrix3 matrix matrix }
    signature	m3_s_0	m3_s_0	{ int matrix3 string matrix3 }
    signature	m3_s_1	m3_s_1	{ float matrix3 string string }
    signature	m3_ia_0	m3_ia_0	{ int matrix3 inta matrix3 }
    signature	m3_ia_1	m3_ia_1	{ float matrix3 inta inta }
    signature	m3_fa_0	m3_fa_0	{ int matrix3 floata matrix3 }
    signature	m3_fa_1	m3_fa_1	{ float matrix3 floata floata }
    signature	m3_va_0	m3_va_0	{ int matrix3 vectora matrix3 }
    signature	m3_va_1	m3_va_1	{ float matrix3 vectora vectora }
    signature	m3_v4a_0	m3_v4a_0	{ int matrix3 vector4a matrix3 }
    signature	m3_v4a_1	m3_v4a_1	{ float matrix3 vector4a vector4a }
    signature	m3_m3a_0	m3_m3a_0	{ int matrix3 matrix3a matrix3 }
    signature	m3_m3a_1	m3_m3a_1	{ float matrix3 matrix3a matrix3a }
    signature	m3_ma_0	m3_ma_0	{ int matrix3 matrixa matrix3 }
    signature	m3_ma_1	m3_ma_1	{ float matrix3 matrixa matrixa }
    signature	m3_sa_0	m3_sa_0	{ int matrix3 stringa matrix3 }
    signature	m3_sa_1	m3_sa_1	{ float matrix3 stringa stringa }
    signature	m_i_0	m_i_0	{ int matrix int matrix }
    signature	m_i_1	m_i_1	{ float matrix int int }
    signature	m_f_0	m_f_0	{ int matrix float matrix }
    signature	m_f_1	m_f_1	{ float matrix float float }
    signature	m_v_0	m_v_0	{ int matrix vector matrix }
    signature	m_v_1	m_v_1	{ float matrix vector vector }
    signature	m_v4_0	m_v4_0	{ int matrix vector4 matrix }
    signature	m_v4_1	m_v4_1	{ float matrix vector4 vector4 }
    signature	m_m3_0	m_m3_0	{ int matrix matrix3 matrix }
    signature	m_m3_1	m_m3_1	{ float matrix matrix3 matrix3 }
    signature	m_m_0	m_m_0	{ int matrix matrix matrix }
    signature	m_m_1	m_m_1	{ float matrix matrix matrix }
    signature	m_s_0	m_s_0	{ int matrix string matrix }
    signature	m_s_1	m_s_1	{ float matrix string string }
    signature	m_ia_0	m_ia_0	{ int matrix inta matrix }
    signature	m_ia_1	m_ia_1	{ float matrix inta inta }
    signature	m_fa_0	m_fa_0	{ int matrix floata matrix }
    signature	m_fa_1	m_fa_1	{ float matrix floata floata }
    signature	m_va_0	m_va_0	{ int matrix vectora matrix }
    signature	m_va_1	m_va_1	{ float matrix vectora vectora }
    signature	m_v4a_0	m_v4a_0	{ int matrix vector4a matrix }
    signature	m_v4a_1	m_v4a_1	{ float matrix vector4a vector4a }
    signature	m_m3a_0	m_m3a_0	{ int matrix matrix3a matrix }
    signature	m_m3a_1	m_m3a_1	{ float matrix matrix3a matrix3a }
    signature	m_ma_0	m_ma_0	{ int matrix matrixa matrix }
    signature	m_ma_1	m_ma_1	{ float matrix matrixa matrixa }
    signature	m_sa_0	m_sa_0	{ int matrix stringa matrix }
    signature	m_sa_1	m_sa_1	{ float matrix stringa stringa }
    signature	s_i_0	s_i_0	{ int string int string }
    signature	s_i_1	s_i_1	{ float string int int }
    signature	s_f_0	s_f_0	{ int string float string }
    signature	s_f_1	s_f_1	{ float string float float }
    signature	s_v_0	s_v_0	{ int string vector string }
    signature	s_v_1	s_v_1	{ float string vector vector }
    signature	s_v4_0	s_v4_0	{ int string vector4 string }
    signature	s_v4_1	s_v4_1	{ float string vector4 vector4 }
    signature	s_m3_0	s_m3_0	{ int string matrix3 string }
    signature	s_m3_1	s_m3_1	{ float string matrix3 matrix3 }
    signature	s_m_0	s_m_0	{ int string matrix string }
    signature	s_m_1	s_m_1	{ float string matrix matrix }
    signature	s_s_0	s_s_0	{ int string string string }
    signature	s_s_1	s_s_1	{ float string string string }
    signature	s_ia_0	s_ia_0	{ int string inta string }
    signature	s_ia_1	s_ia_1	{ float string inta inta }
    signature	s_fa_0	s_fa_0	{ int string floata string }
    signature	s_fa_1	s_fa_1	{ float string floata floata }
    signature	s_va_0	s_va_0	{ int string vectora string }
    signature	s_va_1	s_va_1	{ float string vectora vectora }
    signature	s_v4a_0	s_v4a_0	{ int string vector4a string }
    signature	s_v4a_1	s_v4a_1	{ float string vector4a vector4a }
    signature	s_m3a_0	s_m3a_0	{ int string matrix3a string }
    signature	s_m3a_1	s_m3a_1	{ float string matrix3a matrix3a }
    signature	s_ma_0	s_ma_0	{ int string matrixa string }
    signature	s_ma_1	s_ma_1	{ float string matrixa matrixa }
    signature	s_sa_0	s_sa_0	{ int string stringa string }
    signature	s_sa_1	s_sa_1	{ float string stringa stringa }
    signature	ia_i_0	ia_i_0	{ int inta int inta }
    signature	ia_i_1	ia_i_1	{ float inta int int }
    signature	ia_f_0	ia_f_0	{ int inta float inta }
    signature	ia_f_1	ia_f_1	{ float inta float float }
    signature	ia_v_0	ia_v_0	{ int inta vector inta }
    signature	ia_v_1	ia_v_1	{ float inta vector vector }
    signature	ia_v4_0	ia_v4_0	{ int inta vector4 inta }
    signature	ia_v4_1	ia_v4_1	{ float inta vector4 vector4 }
    signature	ia_m3_0	ia_m3_0	{ int inta matrix3 inta }
    signature	ia_m3_1	ia_m3_1	{ float inta matrix3 matrix3 }
    signature	ia_m_0	ia_m_0	{ int inta matrix inta }
    signature	ia_m_1	ia_m_1	{ float inta matrix matrix }
    signature	ia_s_0	ia_s_0	{ int inta string inta }
    signature	ia_s_1	ia_s_1	{ float inta string string }
    signature	ia_ia_0	ia_ia_0	{ int inta inta inta }
    signature	ia_ia_1	ia_ia_1	{ float inta inta inta }
    signature	ia_fa_0	ia_fa_0	{ int inta floata inta }
    signature	ia_fa_1	ia_fa_1	{ float inta floata floata }
    signature	ia_va_0	ia_va_0	{ int inta vectora inta }
    signature	ia_va_1	ia_va_1	{ float inta vectora vectora }
    signature	ia_v4a_0	ia_v4a_0	{ int inta vector4a inta }
    signature	ia_v4a_1	ia_v4a_1	{ float inta vector4a vector4a }
    signature	ia_m3a_0	ia_m3a_0	{ int inta matrix3a inta }
    signature	ia_m3a_1	ia_m3a_1	{ float inta matrix3a matrix3a }
    signature	ia_ma_0	ia_ma_0	{ int inta matrixa inta }
    signature	ia_ma_1	ia_ma_1	{ float inta matrixa matrixa }
    signature	ia_sa_0	ia_sa_0	{ int inta stringa inta }
    signature	ia_sa_1	ia_sa_1	{ float inta stringa stringa }
    signature	fa_i_0	fa_i_0	{ int floata int floata }
    signature	fa_i_1	fa_i_1	{ float floata int int }
    signature	fa_f_0	fa_f_0	{ int floata float floata }
    signature	fa_f_1	fa_f_1	{ float floata float float }
    signature	fa_v_0	fa_v_0	{ int floata vector floata }
    signature	fa_v_1	fa_v_1	{ float floata vector vector }
    signature	fa_v4_0	fa_v4_0	{ int floata vector4 floata }
    signature	fa_v4_1	fa_v4_1	{ float floata vector4 vector4 }
    signature	fa_m3_0	fa_m3_0	{ int floata matrix3 floata }
    signature	fa_m3_1	fa_m3_1	{ float floata matrix3 matrix3 }
    signature	fa_m_0	fa_m_0	{ int floata matrix floata }
    signature	fa_m_1	fa_m_1	{ float floata matrix matrix }
    signature	fa_s_0	fa_s_0	{ int floata string floata }
    signature	fa_s_1	fa_s_1	{ float floata string string }
    signature	fa_ia_0	fa_ia_0	{ int floata inta floata }
    signature	fa_ia_1	fa_ia_1	{ float floata inta inta }
    signature	fa_fa_0	fa_fa_0	{ int floata floata floata }
    signature	fa_fa_1	fa_fa_1	{ float floata floata floata }
    signature	fa_va_0	fa_va_0	{ int floata vectora floata }
    signature	fa_va_1	fa_va_1	{ float floata vectora vectora }
    signature	fa_v4a_0	fa_v4a_0	{ int floata vector4a floata }
    signature	fa_v4a_1	fa_v4a_1	{ float floata vector4a vector4a }
    signature	fa_m3a_0	fa_m3a_0	{ int floata matrix3a floata }
    signature	fa_m3a_1	fa_m3a_1	{ float floata matrix3a matrix3a }
    signature	fa_ma_0	fa_ma_0	{ int floata matrixa floata }
    signature	fa_ma_1	fa_ma_1	{ float floata matrixa matrixa }
    signature	fa_sa_0	fa_sa_0	{ int floata stringa floata }
    signature	fa_sa_1	fa_sa_1	{ float floata stringa stringa }
    signature	va_i_0	va_i_0	{ int vectora int vectora }
    signature	va_i_1	va_i_1	{ float vectora int int }
    signature	va_f_0	va_f_0	{ int vectora float vectora }
    signature	va_f_1	va_f_1	{ float vectora float float }
    signature	va_v_0	va_v_0	{ int vectora vector vectora }
    signature	va_v_1	va_v_1	{ float vectora vector vector }
    signature	va_v4_0	va_v4_0	{ int vectora vector4 vectora }
    signature	va_v4_1	va_v4_1	{ float vectora vector4 vector4 }
    signature	va_m3_0	va_m3_0	{ int vectora matrix3 vectora }
    signature	va_m3_1	va_m3_1	{ float vectora matrix3 matrix3 }
    signature	va_m_0	va_m_0	{ int vectora matrix vectora }
    signature	va_m_1	va_m_1	{ float vectora matrix matrix }
    signature	va_s_0	va_s_0	{ int vectora string vectora }
    signature	va_s_1	va_s_1	{ float vectora string string }
    signature	va_ia_0	va_ia_0	{ int vectora inta vectora }
    signature	va_ia_1	va_ia_1	{ float vectora inta inta }
    signature	va_fa_0	va_fa_0	{ int vectora floata vectora }
    signature	va_fa_1	va_fa_1	{ float vectora floata floata }
    signature	va_va_0	va_va_0	{ int vectora vectora vectora }
    signature	va_va_1	va_va_1	{ float vectora vectora vectora }
    signature	va_v4a_0	va_v4a_0	{ int vectora vector4a vectora }
    signature	va_v4a_1	va_v4a_1	{ float vectora vector4a vector4a }
    signature	va_m3a_0	va_m3a_0	{ int vectora matrix3a vectora }
    signature	va_m3a_1	va_m3a_1	{ float vectora matrix3a matrix3a }
    signature	va_ma_0	va_ma_0	{ int vectora matrixa vectora }
    signature	va_ma_1	va_ma_1	{ float vectora matrixa matrixa }
    signature	va_sa_0	va_sa_0	{ int vectora stringa vectora }
    signature	va_sa_1	va_sa_1	{ float vectora stringa stringa }
    signature	v4a_i_0	v4a_i_0	{ int vector4a int vector4a }
    signature	v4a_i_1	v4a_i_1	{ float vector4a int int }
    signature	v4a_f_0	v4a_f_0	{ int vector4a float vector4a }
    signature	v4a_f_1	v4a_f_1	{ float vector4a float float }
    signature	v4a_v_0	v4a_v_0	{ int vector4a vector vector4a }
    signature	v4a_v_1	v4a_v_1	{ float vector4a vector vector }
    signature	v4a_v4_0	v4a_v4_0	{ int vector4a vector4 vector4a }
    signature	v4a_v4_1	v4a_v4_1	{ float vector4a vector4 vector4 }
    signature	v4a_m3_0	v4a_m3_0	{ int vector4a matrix3 vector4a }
    signature	v4a_m3_1	v4a_m3_1	{ float vector4a matrix3 matrix3 }
    signature	v4a_m_0	v4a_m_0	{ int vector4a matrix vector4a }
    signature	v4a_m_1	v4a_m_1	{ float vector4a matrix matrix }
    signature	v4a_s_0	v4a_s_0	{ int vector4a string vector4a }
    signature	v4a_s_1	v4a_s_1	{ float vector4a string string }
    signature	v4a_ia_0	v4a_ia_0	{ int vector4a inta vector4a }
    signature	v4a_ia_1	v4a_ia_1	{ float vector4a inta inta }
    signature	v4a_fa_0	v4a_fa_0	{ int vector4a floata vector4a }
    signature	v4a_fa_1	v4a_fa_1	{ float vector4a floata floata }
    signature	v4a_va_0	v4a_va_0	{ int vector4a vectora vector4a }
    signature	v4a_va_1	v4a_va_1	{ float vector4a vectora vectora }
    signature	v4a_v4a_0	v4a_v4a_0	{ int vector4a vector4a vector4a }
    signature	v4a_v4a_1	v4a_v4a_1	{ float vector4a vector4a vector4a }
    signature	v4a_m3a_0	v4a_m3a_0	{ int vector4a matrix3a vector4a }
    signature	v4a_m3a_1	v4a_m3a_1	{ float vector4a matrix3a matrix3a }
    signature	v4a_ma_0	v4a_ma_0	{ int vector4a matrixa vector4a }
    signature	v4a_ma_1	v4a_ma_1	{ float vector4a matrixa matrixa }
    signature	v4a_sa_0	v4a_sa_0	{ int vector4a stringa vector4a }
    signature	v4a_sa_1	v4a_sa_1	{ float vector4a stringa stringa }
    signature	m3a_i_0	m3a_i_0	{ int matrix3a int matrix3a }
    signature	m3a_i_1	m3a_i_1	{ float matrix3a int int }
    signature	m3a_f_0	m3a_f_0	{ int matrix3a float matrix3a }
    signature	m3a_f_1	m3a_f_1	{ float matrix3a float float }
    signature	m3a_v_0	m3a_v_0	{ int matrix3a vector matrix3a }
    signature	m3a_v_1	m3a_v_1	{ float matrix3a vector vector }
    signature	m3a_v4_0	m3a_v4_0	{ int matrix3a vector4 matrix3a }
    signature	m3a_v4_1	m3a_v4_1	{ float matrix3a vector4 vector4 }
    signature	m3a_m3_0	m3a_m3_0	{ int matrix3a matrix3 matrix3a }
    signature	m3a_m3_1	m3a_m3_1	{ float matrix3a matrix3 matrix3 }
    signature	m3a_m_0	m3a_m_0	{ int matrix3a matrix matrix3a }
    signature	m3a_m_1	m3a_m_1	{ float matrix3a matrix matrix }
    signature	m3a_s_0	m3a_s_0	{ int matrix3a string matrix3a }
    signature	m3a_s_1	m3a_s_1	{ float matrix3a string string }
    signature	m3a_ia_0	m3a_ia_0	{ int matrix3a inta matrix3a }
    signature	m3a_ia_1	m3a_ia_1	{ float matrix3a inta inta }
    signature	m3a_fa_0	m3a_fa_0	{ int matrix3a floata matrix3a }
    signature	m3a_fa_1	m3a_fa_1	{ float matrix3a floata floata }
    signature	m3a_va_0	m3a_va_0	{ int matrix3a vectora matrix3a }
    signature	m3a_va_1	m3a_va_1	{ float matrix3a vectora vectora }
    signature	m3a_v4a_0	m3a_v4a_0	{ int matrix3a vector4a matrix3a }
    signature	m3a_v4a_1	m3a_v4a_1	{ float matrix3a vector4a vector4a }
    signature	m3a_m3a_0	m3a_m3a_0	{ int matrix3a matrix3a matrix3a }
    signature	m3a_m3a_1	m3a_m3a_1	{ float matrix3a matrix3a matrix3a }
    signature	m3a_ma_0	m3a_ma_0	{ int matrix3a matrixa matrix3a }
    signature	m3a_ma_1	m3a_ma_1	{ float matrix3a matrixa matrixa }
    signature	m3a_sa_0	m3a_sa_0	{ int matrix3a stringa matrix3a }
    signature	m3a_sa_1	m3a_sa_1	{ float matrix3a stringa stringa }
    signature	ma_i_0	ma_i_0	{ int matrixa int matrixa }
    signature	ma_i_1	ma_i_1	{ float matrixa int int }
    signature	ma_f_0	ma_f_0	{ int matrixa float matrixa }
    signature	ma_f_1	ma_f_1	{ float matrixa float float }
    signature	ma_v_0	ma_v_0	{ int matrixa vector matrixa }
    signature	ma_v_1	ma_v_1	{ float matrixa vector vector }
    signature	ma_v4_0	ma_v4_0	{ int matrixa vector4 matrixa }
    signature	ma_v4_1	ma_v4_1	{ float matrixa vector4 vector4 }
    signature	ma_m3_0	ma_m3_0	{ int matrixa matrix3 matrixa }
    signature	ma_m3_1	ma_m3_1	{ float matrixa matrix3 matrix3 }
    signature	ma_m_0	ma_m_0	{ int matrixa matrix matrixa }
    signature	ma_m_1	ma_m_1	{ float matrixa matrix matrix }
    signature	ma_s_0	ma_s_0	{ int matrixa string matrixa }
    signature	ma_s_1	ma_s_1	{ float matrixa string string }
    signature	ma_ia_0	ma_ia_0	{ int matrixa inta matrixa }
    signature	ma_ia_1	ma_ia_1	{ float matrixa inta inta }
    signature	ma_fa_0	ma_fa_0	{ int matrixa floata matrixa }
    signature	ma_fa_1	ma_fa_1	{ float matrixa floata floata }
    signature	ma_va_0	ma_va_0	{ int matrixa vectora matrixa }
    signature	ma_va_1	ma_va_1	{ float matrixa vectora vectora }
    signature	ma_v4a_0	ma_v4a_0	{ int matrixa vector4a matrixa }
    signature	ma_v4a_1	ma_v4a_1	{ float matrixa vector4a vector4a }
    signature	ma_m3a_0	ma_m3a_0	{ int matrixa matrix3a matrixa }
    signature	ma_m3a_1	ma_m3a_1	{ float matrixa matrix3a matrix3a }
    signature	ma_ma_0	ma_ma_0	{ int matrixa matrixa matrixa }
    signature	ma_ma_1	ma_ma_1	{ float matrixa matrixa matrixa }
    signature	ma_sa_0	ma_sa_0	{ int matrixa stringa matrixa }
    signature	ma_sa_1	ma_sa_1	{ float matrixa stringa stringa }
    signature	sa_i_0	sa_i_0	{ int stringa int stringa }
    signature	sa_i_1	sa_i_1	{ float stringa int int }
    signature	sa_f_0	sa_f_0	{ int stringa float stringa }
    signature	sa_f_1	sa_f_1	{ float stringa float float }
    signature	sa_v_0	sa_v_0	{ int stringa vector stringa }
    signature	sa_v_1	sa_v_1	{ float stringa vector vector }
    signature	sa_v4_0	sa_v4_0	{ int stringa vector4 stringa }
    signature	sa_v4_1	sa_v4_1	{ float stringa vector4 vector4 }
    signature	sa_m3_0	sa_m3_0	{ int stringa matrix3 stringa }
    signature	sa_m3_1	sa_m3_1	{ float stringa matrix3 matrix3 }
    signature	sa_m_0	sa_m_0	{ int stringa matrix stringa }
    signature	sa_m_1	sa_m_1	{ float stringa matrix matrix }
    signature	sa_s_0	sa_s_0	{ int stringa string stringa }
    signature	sa_s_1	sa_s_1	{ float stringa string string }
    signature	sa_ia_0	sa_ia_0	{ int stringa inta stringa }
    signature	sa_ia_1	sa_ia_1	{ float stringa inta inta }
    signature	sa_fa_0	sa_fa_0	{ int stringa floata stringa }
    signature	sa_fa_1	sa_fa_1	{ float stringa floata floata }
    signature	sa_va_0	sa_va_0	{ int stringa vectora stringa }
    signature	sa_va_1	sa_va_1	{ float stringa vectora vectora }
    signature	sa_v4a_0	sa_v4a_0	{ int stringa vector4a stringa }
    signature	sa_v4a_1	sa_v4a_1	{ float stringa vector4a vector4a }
    signature	sa_m3a_0	sa_m3a_0	{ int stringa matrix3a stringa }
    signature	sa_m3a_1	sa_m3a_1	{ float stringa matrix3a matrix3a }
    signature	sa_ma_0	sa_ma_0	{ int stringa matrixa stringa }
    signature	sa_ma_1	sa_ma_1	{ float stringa matrixa matrixa }
    signature	sa_sa_0	sa_sa_0	{ int stringa stringa stringa }
    signature	sa_sa_1	sa_sa_1	{ float stringa stringa stringa }

    outputoverrides	default
    {
	___begin	auto
			(0)
    }
    outputoverrides	i_i_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	i_f_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	i_f_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	i_v_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	i_v_1
    {
	___begin	auto
			(0,0,0)
    }
    outputoverrides	i_v4_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	i_v4_1
    {
	___begin	auto
			(0,0,0,0)
    }
    outputoverrides	i_m3_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	i_m3_1
    {
	___begin	auto
			(1,0,0,0,1,0,0,0,1)
    }
    outputoverrides	i_m_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	i_m_1
    {
	___begin	auto
			(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)
    }
    outputoverrides	i_s_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	i_s_1
    {
	___begin	auto
			("")
    }
    outputoverrides	i_ia_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	i_ia_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	i_fa_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	i_fa_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	i_va_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	i_va_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	i_v4a_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	i_v4a_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	i_m3a_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	i_m3a_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	i_ma_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	i_ma_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	i_sa_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	i_sa_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	f_i_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	f_i_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	f_f_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	f_f_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	f_v_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	f_v_1
    {
	___begin	auto
			(0,0,0)
    }
    outputoverrides	f_v4_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	f_v4_1
    {
	___begin	auto
			(0,0,0,0)
    }
    outputoverrides	f_m3_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	f_m3_1
    {
	___begin	auto
			(1,0,0,0,1,0,0,0,1)
    }
    outputoverrides	f_m_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	f_m_1
    {
	___begin	auto
			(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)
    }
    outputoverrides	f_s_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	f_s_1
    {
	___begin	auto
			("")
    }
    outputoverrides	f_ia_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	f_ia_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	f_fa_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	f_fa_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	f_va_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	f_va_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	f_v4a_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	f_v4a_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	f_m3a_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	f_m3a_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	f_ma_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	f_ma_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	f_sa_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	f_sa_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	v_i_0
    {
	___begin	auto
			(0,0,0)
    }
    outputoverrides	v_i_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	v_f_0
    {
	___begin	auto
			(0,0,0)
    }
    outputoverrides	v_f_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	v_v_0
    {
	___begin	auto
			(0,0,0)
    }
    outputoverrides	v_v_1
    {
	___begin	auto
			(0,0,0)
    }
    outputoverrides	v_v4_0
    {
	___begin	auto
			(0,0,0)
    }
    outputoverrides	v_v4_1
    {
	___begin	auto
			(0,0,0,0)
    }
    outputoverrides	v_m3_0
    {
	___begin	auto
			(0,0,0)
    }
    outputoverrides	v_m3_1
    {
	___begin	auto
			(1,0,0,0,1,0,0,0,1)
    }
    outputoverrides	v_m_0
    {
	___begin	auto
			(0,0,0)
    }
    outputoverrides	v_m_1
    {
	___begin	auto
			(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)
    }
    outputoverrides	v_s_0
    {
	___begin	auto
			(0,0,0)
    }
    outputoverrides	v_s_1
    {
	___begin	auto
			("")
    }
    outputoverrides	v_ia_0
    {
	___begin	auto
			(0,0,0)
    }
    outputoverrides	v_ia_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	v_fa_0
    {
	___begin	auto
			(0,0,0)
    }
    outputoverrides	v_fa_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	v_va_0
    {
	___begin	auto
			(0,0,0)
    }
    outputoverrides	v_va_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	v_v4a_0
    {
	___begin	auto
			(0,0,0)
    }
    outputoverrides	v_v4a_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	v_m3a_0
    {
	___begin	auto
			(0,0,0)
    }
    outputoverrides	v_m3a_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	v_ma_0
    {
	___begin	auto
			(0,0,0)
    }
    outputoverrides	v_ma_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	v_sa_0
    {
	___begin	auto
			(0,0,0)
    }
    outputoverrides	v_sa_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	v4_i_0
    {
	___begin	auto
			(0,0,0,0)
    }
    outputoverrides	v4_i_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	v4_f_0
    {
	___begin	auto
			(0,0,0,0)
    }
    outputoverrides	v4_f_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	v4_v_0
    {
	___begin	auto
			(0,0,0,0)
    }
    outputoverrides	v4_v_1
    {
	___begin	auto
			(0,0,0)
    }
    outputoverrides	v4_v4_0
    {
	___begin	auto
			(0,0,0,0)
    }
    outputoverrides	v4_v4_1
    {
	___begin	auto
			(0,0,0,0)
    }
    outputoverrides	v4_m3_0
    {
	___begin	auto
			(0,0,0,0)
    }
    outputoverrides	v4_m3_1
    {
	___begin	auto
			(1,0,0,0,1,0,0,0,1)
    }
    outputoverrides	v4_m_0
    {
	___begin	auto
			(0,0,0,0)
    }
    outputoverrides	v4_m_1
    {
	___begin	auto
			(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)
    }
    outputoverrides	v4_s_0
    {
	___begin	auto
			(0,0,0,0)
    }
    outputoverrides	v4_s_1
    {
	___begin	auto
			("")
    }
    outputoverrides	v4_ia_0
    {
	___begin	auto
			(0,0,0,0)
    }
    outputoverrides	v4_ia_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	v4_fa_0
    {
	___begin	auto
			(0,0,0,0)
    }
    outputoverrides	v4_fa_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	v4_va_0
    {
	___begin	auto
			(0,0,0,0)
    }
    outputoverrides	v4_va_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	v4_v4a_0
    {
	___begin	auto
			(0,0,0,0)
    }
    outputoverrides	v4_v4a_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	v4_m3a_0
    {
	___begin	auto
			(0,0,0,0)
    }
    outputoverrides	v4_m3a_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	v4_ma_0
    {
	___begin	auto
			(0,0,0,0)
    }
    outputoverrides	v4_ma_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	v4_sa_0
    {
	___begin	auto
			(0,0,0,0)
    }
    outputoverrides	v4_sa_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	m3_i_0
    {
	___begin	auto
			(1,0,0,0,1,0,0,0,1)
    }
    outputoverrides	m3_i_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	m3_f_0
    {
	___begin	auto
			(1,0,0,0,1,0,0,0,1)
    }
    outputoverrides	m3_f_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	m3_v_0
    {
	___begin	auto
			(1,0,0,0,1,0,0,0,1)
    }
    outputoverrides	m3_v_1
    {
	___begin	auto
			(0,0,0)
    }
    outputoverrides	m3_v4_0
    {
	___begin	auto
			(1,0,0,0,1,0,0,0,1)
    }
    outputoverrides	m3_v4_1
    {
	___begin	auto
			(0,0,0,0)
    }
    outputoverrides	m3_m3_0
    {
	___begin	auto
			(1,0,0,0,1,0,0,0,1)
    }
    outputoverrides	m3_m3_1
    {
	___begin	auto
			(1,0,0,0,1,0,0,0,1)
    }
    outputoverrides	m3_m_0
    {
	___begin	auto
			(1,0,0,0,1,0,0,0,1)
    }
    outputoverrides	m3_m_1
    {
	___begin	auto
			(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)
    }
    outputoverrides	m3_s_0
    {
	___begin	auto
			(1,0,0,0,1,0,0,0,1)
    }
    outputoverrides	m3_s_1
    {
	___begin	auto
			("")
    }
    outputoverrides	m3_ia_0
    {
	___begin	auto
			(1,0,0,0,1,0,0,0,1)
    }
    outputoverrides	m3_ia_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	m3_fa_0
    {
	___begin	auto
			(1,0,0,0,1,0,0,0,1)
    }
    outputoverrides	m3_fa_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	m3_va_0
    {
	___begin	auto
			(1,0,0,0,1,0,0,0,1)
    }
    outputoverrides	m3_va_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	m3_v4a_0
    {
	___begin	auto
			(1,0,0,0,1,0,0,0,1)
    }
    outputoverrides	m3_v4a_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	m3_m3a_0
    {
	___begin	auto
			(1,0,0,0,1,0,0,0,1)
    }
    outputoverrides	m3_m3a_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	m3_ma_0
    {
	___begin	auto
			(1,0,0,0,1,0,0,0,1)
    }
    outputoverrides	m3_ma_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	m3_sa_0
    {
	___begin	auto
			(1,0,0,0,1,0,0,0,1)
    }
    outputoverrides	m3_sa_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	m_i_0
    {
	___begin	auto
			(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)
    }
    outputoverrides	m_i_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	m_f_0
    {
	___begin	auto
			(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)
    }
    outputoverrides	m_f_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	m_v_0
    {
	___begin	auto
			(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)
    }
    outputoverrides	m_v_1
    {
	___begin	auto
			(0,0,0)
    }
    outputoverrides	m_v4_0
    {
	___begin	auto
			(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)
    }
    outputoverrides	m_v4_1
    {
	___begin	auto
			(0,0,0,0)
    }
    outputoverrides	m_m3_0
    {
	___begin	auto
			(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)
    }
    outputoverrides	m_m3_1
    {
	___begin	auto
			(1,0,0,0,1,0,0,0,1)
    }
    outputoverrides	m_m_0
    {
	___begin	auto
			(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)
    }
    outputoverrides	m_m_1
    {
	___begin	auto
			(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)
    }
    outputoverrides	m_s_0
    {
	___begin	auto
			(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)
    }
    outputoverrides	m_s_1
    {
	___begin	auto
			("")
    }
    outputoverrides	m_ia_0
    {
	___begin	auto
			(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)
    }
    outputoverrides	m_ia_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	m_fa_0
    {
	___begin	auto
			(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)
    }
    outputoverrides	m_fa_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	m_va_0
    {
	___begin	auto
			(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)
    }
    outputoverrides	m_va_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	m_v4a_0
    {
	___begin	auto
			(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)
    }
    outputoverrides	m_v4a_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	m_m3a_0
    {
	___begin	auto
			(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)
    }
    outputoverrides	m_m3a_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	m_ma_0
    {
	___begin	auto
			(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)
    }
    outputoverrides	m_ma_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	m_sa_0
    {
	___begin	auto
			(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)
    }
    outputoverrides	m_sa_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	s_i_0
    {
	___begin	auto
			("")
    }
    outputoverrides	s_i_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	s_f_0
    {
	___begin	auto
			("")
    }
    outputoverrides	s_f_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	s_v_0
    {
	___begin	auto
			("")
    }
    outputoverrides	s_v_1
    {
	___begin	auto
			(0,0,0)
    }
    outputoverrides	s_v4_0
    {
	___begin	auto
			("")
    }
    outputoverrides	s_v4_1
    {
	___begin	auto
			(0,0,0,0)
    }
    outputoverrides	s_m3_0
    {
	___begin	auto
			("")
    }
    outputoverrides	s_m3_1
    {
	___begin	auto
			(1,0,0,0,1,0,0,0,1)
    }
    outputoverrides	s_m_0
    {
	___begin	auto
			("")
    }
    outputoverrides	s_m_1
    {
	___begin	auto
			(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)
    }
    outputoverrides	s_s_0
    {
	___begin	auto
			("")
    }
    outputoverrides	s_s_1
    {
	___begin	auto
			("")
    }
    outputoverrides	s_ia_0
    {
	___begin	auto
			("")
    }
    outputoverrides	s_ia_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	s_fa_0
    {
	___begin	auto
			("")
    }
    outputoverrides	s_fa_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	s_va_0
    {
	___begin	auto
			("")
    }
    outputoverrides	s_va_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	s_v4a_0
    {
	___begin	auto
			("")
    }
    outputoverrides	s_v4a_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	s_m3a_0
    {
	___begin	auto
			("")
    }
    outputoverrides	s_m3a_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	s_ma_0
    {
	___begin	auto
			("")
    }
    outputoverrides	s_ma_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	s_sa_0
    {
	___begin	auto
			("")
    }
    outputoverrides	s_sa_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	ia_i_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	ia_i_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	ia_f_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	ia_f_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	ia_v_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	ia_v_1
    {
	___begin	auto
			(0,0,0)
    }
    outputoverrides	ia_v4_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	ia_v4_1
    {
	___begin	auto
			(0,0,0,0)
    }
    outputoverrides	ia_m3_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	ia_m3_1
    {
	___begin	auto
			(1,0,0,0,1,0,0,0,1)
    }
    outputoverrides	ia_m_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	ia_m_1
    {
	___begin	auto
			(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)
    }
    outputoverrides	ia_s_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	ia_s_1
    {
	___begin	auto
			("")
    }
    outputoverrides	ia_ia_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	ia_ia_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	ia_fa_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	ia_fa_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	ia_va_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	ia_va_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	ia_v4a_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	ia_v4a_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	ia_m3a_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	ia_m3a_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	ia_ma_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	ia_ma_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	ia_sa_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	ia_sa_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	fa_i_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	fa_i_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	fa_f_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	fa_f_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	fa_v_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	fa_v_1
    {
	___begin	auto
			(0,0,0)
    }
    outputoverrides	fa_v4_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	fa_v4_1
    {
	___begin	auto
			(0,0,0,0)
    }
    outputoverrides	fa_m3_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	fa_m3_1
    {
	___begin	auto
			(1,0,0,0,1,0,0,0,1)
    }
    outputoverrides	fa_m_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	fa_m_1
    {
	___begin	auto
			(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)
    }
    outputoverrides	fa_s_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	fa_s_1
    {
	___begin	auto
			("")
    }
    outputoverrides	fa_ia_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	fa_ia_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	fa_fa_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	fa_fa_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	fa_va_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	fa_va_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	fa_v4a_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	fa_v4a_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	fa_m3a_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	fa_m3a_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	fa_ma_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	fa_ma_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	fa_sa_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	fa_sa_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	va_i_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	va_i_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	va_f_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	va_f_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	va_v_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	va_v_1
    {
	___begin	auto
			(0,0,0)
    }
    outputoverrides	va_v4_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	va_v4_1
    {
	___begin	auto
			(0,0,0,0)
    }
    outputoverrides	va_m3_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	va_m3_1
    {
	___begin	auto
			(1,0,0,0,1,0,0,0,1)
    }
    outputoverrides	va_m_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	va_m_1
    {
	___begin	auto
			(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)
    }
    outputoverrides	va_s_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	va_s_1
    {
	___begin	auto
			("")
    }
    outputoverrides	va_ia_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	va_ia_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	va_fa_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	va_fa_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	va_va_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	va_va_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	va_v4a_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	va_v4a_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	va_m3a_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	va_m3a_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	va_ma_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	va_ma_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	va_sa_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	va_sa_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	v4a_i_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	v4a_i_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	v4a_f_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	v4a_f_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	v4a_v_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	v4a_v_1
    {
	___begin	auto
			(0,0,0)
    }
    outputoverrides	v4a_v4_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	v4a_v4_1
    {
	___begin	auto
			(0,0,0,0)
    }
    outputoverrides	v4a_m3_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	v4a_m3_1
    {
	___begin	auto
			(1,0,0,0,1,0,0,0,1)
    }
    outputoverrides	v4a_m_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	v4a_m_1
    {
	___begin	auto
			(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)
    }
    outputoverrides	v4a_s_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	v4a_s_1
    {
	___begin	auto
			("")
    }
    outputoverrides	v4a_ia_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	v4a_ia_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	v4a_fa_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	v4a_fa_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	v4a_va_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	v4a_va_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	v4a_v4a_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	v4a_v4a_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	v4a_m3a_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	v4a_m3a_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	v4a_ma_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	v4a_ma_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	v4a_sa_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	v4a_sa_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	m3a_i_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	m3a_i_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	m3a_f_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	m3a_f_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	m3a_v_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	m3a_v_1
    {
	___begin	auto
			(0,0,0)
    }
    outputoverrides	m3a_v4_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	m3a_v4_1
    {
	___begin	auto
			(0,0,0,0)
    }
    outputoverrides	m3a_m3_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	m3a_m3_1
    {
	___begin	auto
			(1,0,0,0,1,0,0,0,1)
    }
    outputoverrides	m3a_m_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	m3a_m_1
    {
	___begin	auto
			(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)
    }
    outputoverrides	m3a_s_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	m3a_s_1
    {
	___begin	auto
			("")
    }
    outputoverrides	m3a_ia_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	m3a_ia_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	m3a_fa_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	m3a_fa_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	m3a_va_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	m3a_va_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	m3a_v4a_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	m3a_v4a_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	m3a_m3a_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	m3a_m3a_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	m3a_ma_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	m3a_ma_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	m3a_sa_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	m3a_sa_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	ma_i_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	ma_i_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	ma_f_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	ma_f_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	ma_v_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	ma_v_1
    {
	___begin	auto
			(0,0,0)
    }
    outputoverrides	ma_v4_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	ma_v4_1
    {
	___begin	auto
			(0,0,0,0)
    }
    outputoverrides	ma_m3_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	ma_m3_1
    {
	___begin	auto
			(1,0,0,0,1,0,0,0,1)
    }
    outputoverrides	ma_m_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	ma_m_1
    {
	___begin	auto
			(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)
    }
    outputoverrides	ma_s_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	ma_s_1
    {
	___begin	auto
			("")
    }
    outputoverrides	ma_ia_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	ma_ia_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	ma_fa_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	ma_fa_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	ma_va_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	ma_va_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	ma_v4a_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	ma_v4a_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	ma_m3a_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	ma_m3a_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	ma_ma_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	ma_ma_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	ma_sa_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	ma_sa_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	sa_i_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	sa_i_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	sa_f_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	sa_f_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	sa_v_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	sa_v_1
    {
	___begin	auto
			(0,0,0)
    }
    outputoverrides	sa_v4_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	sa_v4_1
    {
	___begin	auto
			(0,0,0,0)
    }
    outputoverrides	sa_m3_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	sa_m3_1
    {
	___begin	auto
			(1,0,0,0,1,0,0,0,1)
    }
    outputoverrides	sa_m_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	sa_m_1
    {
	___begin	auto
			(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)
    }
    outputoverrides	sa_s_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	sa_s_1
    {
	___begin	auto
			("")
    }
    outputoverrides	sa_ia_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	sa_ia_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	sa_fa_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	sa_fa_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	sa_va_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	sa_va_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	sa_v4a_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	sa_v4a_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	sa_m3a_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	sa_m3a_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	sa_ma_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	sa_ma_1
    {
	___begin	auto
			(0)
    }
    outputoverrides	sa_sa_0
    {
	___begin	auto
			(0)
    }
    outputoverrides	sa_sa_1
    {
	___begin	auto
			(0)
    }

    help {
	""
    }

    parm {
	name	"signature"
	baseparm
	export	none
    }
    parm {
	name	"index"
	label	"index"
	type	integer
	default	{ [ "int(pwd().currentSignatureName()[-1])" python ] }
	range	{ 0 10 }
	export	none
	parmtag	{ "script_callback_language" "python" }
	parmtag	{ "script_callback" "" }
    }
    parm {
	name	"gensig"
	label	"Print Signatures"
	type	button
	invisible
	default	{ "0" }
	range	{ 0 1 }
	export	none
	parmtag	{ "script_callback_language" "python" }
	parmtag	{ "script_callback" "hou.phm().printsigs()" }
    }
}
INDX              DialogScript      OOE## Dialog script for efit automatically generated 02/22/12 12:19:12

{
    name	efit
    script	efit
    label	"Fit Range Unclamped"

    outercode {
	"#include <pyro_math.h>"
    }

    code {
	""
	"#if $active"
	"   $fitval = efit($val,$smin,$smax,$tmin,$tmax);"
	"   $isactive = 1;"
	"#else"
	"   $fitval = $val;"
	"   $isactive = 0;"
	"#endif"
    }

    input	float	val	"Value to Fit"
    input	float	smin	"Source Min"
    input	float	smax	"Source Max"
    input	float	tmin	"Target Min"
    input	float	tmax	"Target Max"
    output	float	fitval	"Extrapolated Fit"
    output	int	isactive	"Output 1"
    inputflags	val	0
    inputflags	smin	0
    inputflags	smax	0
    inputflags	tmin	0
    inputflags	tmax	0
    signature	"1D Value and Limits"	default	{ float float float float float float int }
    signature	"3D Value, 1D Limits"	vf	{ vector float float float float vector int }
    signature	"3D Value and Limits"	v	{ vector vector vector vector vector vector int }
    signature	"4D Value, 1D Limits"	v4f	{ vector4 float float float float vector4 int }
    signature	"4D Value and Limits"	v4	{ vector4 vector4 vector4 vector4 vector4 vector4 int }

    outputoverrides	default
    {
	___begin	val
			(0)
	___begin	auto
			(0)
    }
    outputoverrides	vf
    {
	___begin	auto
			(0,0,0)
	___begin	auto
			(0)
    }
    outputoverrides	v
    {
	___begin	val
			(0,0,0)
	___begin	auto
			(0)
    }
    outputoverrides	v4f
    {
	___begin	auto
			(0,0,0,0)
	___begin	auto
			(0)
    }
    outputoverrides	v4
    {
	___begin	val
			(0,0,0,0)
	___begin	auto
			(0)
    }

    help {
	""
    }

    parm {
	name	"signature"
	baseparm
	export	none
    }
    parm {
	name	"spacer3"
	label	"spacer"
	type	label
	nolabel
	default	{ "" }
	range	{ 0 1 }
	export	none
    }
    parm {
	name	"makeui"
	label	"Promote Interface"
	type	button
	nolabel
	default	{ "0" }
	menu	{
	    [ "import pyro2" ]
	    [ "return pyro2.makeuimenu()" ]
	    language	python
	}
	range	{ 0 1 }
	export	none
	parmtag	{ "script_callback_language" "python" }
	parmtag	{ "script_callback" "hou.phm().uiCreate(kwargs)" }
	parmtag	{ "export_disable" "1" }
    }
    group {
	name	"folder0"
	label	"VOP Parameters"

	parm {
	    name	"active"
	    label	"Active"
	    type	toggle
	    default	{ "1" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"labelparm"
	    label	"1D Value and Limits"
	    type	label
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"smin"
	    label	"Source Min"
	    type	float
	    default	{ "0" }
	    disablewhen	"{ active == 0 }"
	    range	{ -1 1 }
	    export	none
	}
	parm {
	    name	"smax"
	    label	"Source Max"
	    type	float
	    default	{ "1" }
	    disablewhen	"{ active == 0 }"
	    range	{ -1 1 }
	    export	none
	}
	parm {
	    name	"tmin"
	    label	"Target Min"
	    type	float
	    default	{ "0" }
	    disablewhen	"{ active == 0 }"
	    range	{ -1 1 }
	    export	none
	}
	parm {
	    name	"tmax"
	    label	"Target Max"
	    type	float
	    default	{ "1" }
	    disablewhen	"{ active == 0 }"
	    range	{ -1 1 }
	    export	none
	}
	parm {
	    name	"labelparm2"
	    label	"3D Value and Limits"
	    type	label
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"smin_v"
	    label	"Source Min"
	    type	vector
	    size	3
	    default	{ "0" "0" "0" }
	    disablewhen	"{ active == 0 }"
	    range	{ -1 1 }
	    export	none
	}
	parm {
	    name	"smax_v"
	    label	"Source Max"
	    type	vector
	    size	3
	    default	{ "1" "1" "1" }
	    disablewhen	"{ active == 0 }"
	    range	{ -1 1 }
	    export	none
	}
	parm {
	    name	"tmin_v"
	    label	"Target Min"
	    type	vector
	    size	3
	    default	{ "0" "0" "0" }
	    disablewhen	"{ active == 0 }"
	    range	{ -1 1 }
	    export	none
	}
	parm {
	    name	"tmax_v"
	    label	"Target Max"
	    type	vector
	    size	3
	    default	{ "1" "1" "1" }
	    disablewhen	"{ active == 0 }"
	    range	{ -1 1 }
	    export	none
	}
	parm {
	    name	"labelparm3"
	    label	"4D Value and Limits"
	    type	label
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"smin_v4"
	    label	"Source Min"
	    type	vector4
	    size	4
	    default	{ "0" "0" "0" "0" }
	    disablewhen	"{ active == 0 }"
	    range	{ -1 1 }
	    export	none
	}
	parm {
	    name	"smax_v4"
	    label	"Source Max"
	    type	vector4
	    size	4
	    default	{ "1" "1" "1" "1" }
	    disablewhen	"{ active == 0 }"
	    range	{ -1 1 }
	    export	none
	}
	parm {
	    name	"tmin_v4"
	    label	"Target Min"
	    type	vector4
	    size	4
	    default	{ "0" "0" "0" "0" }
	    disablewhen	"{ active == 0 }"
	    range	{ -1 1 }
	    export	none
	}
	parm {
	    name	"tmax_v4"
	    label	"Target Max"
	    type	vector4
	    size	4
	    default	{ "1" "1" "1" "1" }
	    disablewhen	"{ active == 0 }"
	    range	{ -1 1 }
	    export	none
	}
    }

    group {
	name	"folder0_1"
	label	"UI Promotion"

	group {
	    name	"folder1_1"
	    label	"UI Promotion"

	    parm {
		name	"ui_prefix"
		label	"Parameter Prefix"
		type	string
		joinnext
		default	{ "" }
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"ui_postfix"
		label	"Postfix"
		type	string
		default	{ "" }
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"ui_infolder"
		label	"ui_infolder"
		type	toggle
		nolabel
		joinnext
		default	{ "0" }
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"ui_foldername"
		label	"Create In Folder"
		type	string
		default	{ [ "node('.').creator().relativePathTo(node('.')).replace('/','_')" python ] }
		disablewhen	"{ ui_infolder == 0 }"
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"leftalign2"
		label	"spacer"
		type	label
		nolabel
		default	{ "" }
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"ui_withactive"
		label	"Add Active Toggle"
		type	toggle
		joinnext
		default	{ "1" }
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"leftalign"
		label	"spacer"
		type	label
		nolabel
		default	{ "" }
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"ui_activename"
		label	"Active Name"
		type	string
		default	{ "active" }
		disablewhen	"{ ui_withactive == 0 }"
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"ui_activelabel"
		label	"Active Label"
		type	string
		default	{ "Fit To Range (Unclamped)" }
		disablewhen	"{ ui_withactive == 0 }"
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"ui_initactive"
		label	"Initial Active State"
		type	toggle
		default	{ "0" }
		disablewhen	"{ ui_withactive == 0 }"
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"leftalign3"
		label	"spacer"
		type	label
		nolabel
		default	{ "" }
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"ui_dwhen"
		label	"Extra Disable When"
		type	string
		default	{ "" }
		range	{ 0 1 }
		export	none
	    }
	}

    }

    parm {
	name	"pfx"
	label	"pfx"
	type	string
	invisible
	default	{ [ "evalParm('signature').replace('default','f')" python ] }
	range	{ 0 1 }
	export	none
	unquoted
    }
}
INDX              Contents       WS7   DialogScript   W  M'g0707070000010000000006660000000000000000010000001237543365600001300000000000TRAILER!!! # Dialog script for platonic automatically generated 01/07/11 14:22:07

{
    name	platonic
    script	platonic
    label	"Platonic Solids"

    help {
	""
    }
    bindhandle t1 sphere "Transformer" tx ""
    bindhandle t2 sphere "Transformer" ty ""
    bindhandle t3 sphere "Transformer" tz ""

    parm {
	name	"type"
	label	"Solid Type"
	type	integer
	default	{ "0" }
	menu	{
	    "0"	"Tetrahedron"
	    "1"	"Cube"
	    "2"	"Octahedron"
	    "3"	"Icosahedron"
	    "4"	"Dodecahedron"
	    "5"	"Soccer Ball"
	    "6"	"Utah Teapot"
	}
	range	{ 0 10 }
	export	all
    }
    parm {
	name	"orient"
	label	"Orientation"
	type	ordinal
	default	{ "y" }
	menu	{
	    "x"	"X axis"
	    "y"	"Y axis"
	    "z"	"Z axis"
	}
	range	{ 0 1 }
	export	none
    }
    parm {
	name	"radius"
	label	"Radius"
	type	float
	default	{ "1" }
	range	{ 0 10 }
	export	all
    }
    parm {
	name	"t"
	label	"Position"
	type	float
	size	3
	default	{ "0" "0" "0" }
	range	{ 0 10 }
	export	dialog
    }
}
INDX              Contents       WS7   DialogScript   W  
VR(0707070000010000000006660000000000000000010000001237543365600001300000000000TRAILER!!! # Dialog script for gasadvectfield automatically generated 09/05/13 14:44:46

{
    name	gasadvectfield
    script	gasadvectfield
    label	"Gas Advect Field"


    help {
	""
    }

    inputlabel	1	"Input 1"
    inputlabel	2	"Input 2"
    inputlabel	3	"Input 3"
    inputlabel	4	"Input 4"

    parm {
	name	"advecttype"
	label	"Advection Type"
	type	ordinal
	joinnext
	default	{ "modifiedmaccormack" }
	menu	{
	    "single"	"Single Stage"
	    "bfecc"	"BFECC"
	    "modifiedmaccormack"	"Modified MacCormack"
	}
	range	{ 0 1 }
	export	none
    }
    parm {
	name	"clampvalues"
	label	"Clamp Values"
	type	ordinal
	default	{ "revert" }
	disablewhen	"{ advecttype == single }"
	menu	{
	    "off"	"None"
	    "on"	"Clamp"
	    "revert"	"Revert"
	}
	range	{ 0 1 }
	export	none
    }
    parm {
	name	"field"
	label	"Field"
	type	string
	default	{ "" }
	range	{ 0 1 }
	export	none
	parmtag	{ "autoscope" "0000000000000000" }
    }
    parm {
	name	"velocity"
	label	"Velocity Field"
	type	string
	default	{ "" }
	range	{ 0 1 }
	export	none
	parmtag	{ "autoscope" "0000000000000000" }
    }
    parm {
	name	"advectmethod"
	label	"Advection Method"
	type	ordinal
	default	{ "trace" }
	menu	{
	    "single"	"Single Step"
	    "trace"	"Trace"
	    "midpoint"	"Trace Midpoint"
	    "hjweno"	"HJWENO"
	    "upwind"	"Upwind"
	}
	range	{ 0 1 }
	export	none
	parmtag	{ "autoscope" "0000000000000000" }
    }
    parm {
	name	"cflcond"
	label	"CFL Condition"
	type	float
	default	{ "1" }
	range	{ 0 10 }
	export	none
    }
    parm {
	name	"selfadvection"
	label	"Allow Self Advection"
	type	toggle
	default	{ "off" }
	range	{ 0 1 }
	export	none
	parmtag	{ "autoscope" "0000000000000000" }
    }
    parm {
	name	"usetimestep"
	label	"Use Timestep"
	type	toggle
	default	{ "on" }
	range	{ 0 1 }
	export	none
	parmtag	{ "autoscope" "0000000000000000" }
    }
    parm {
	name	"timescale"
	label	"Time Scale"
	type	float
	default	{ "1" }
	range	{ 0 10 }
	export	none
	parmtag	{ "autoscope" "0000000000000000" }
    }
    parm {
	name	"opencl"
	label	"Use OpenCL"
	type	toggle
	default	{ "0" }
	range	{ 0 1 }
	export	none
    }
    parm {
	name	"group"
	label	"Group"
	type	string
	default	{ "*" }
	menutoggle	{
	    [ "opmenu -l normal_advect group" ]
	}
	range	{ 0 1 }
	export	none
	parmtag	{ "autoscope" "0000000000000000" }
    }
    parm {
	name	"dataname"
	label	"Data Name"
	type	string
	default	{ "$OS" }
	range	{ 0 1 }
	export	none
	parmtag	{ "autoscope" "0000000000000000" }
    }
    parm {
	name	"uniquedataname"
	label	"Unique Data Name"
	type	toggle
	default	{ "on" }
	range	{ 0 1 }
	export	none
	parmtag	{ "autoscope" "0000000000000000" }
    }
}
INDX              DialogScript      R//*
 * PROPRIETARY INFORMATION.  This software is proprietary to
 * Side Effects Software Inc., and is not to be reproduced,
 * transmitted, or disclosed in any way without written permission.
 *
 * Produced by:
 *	Side Effects Software Inc
 *	477 Richmond Street West
 *	Toronto, Ontario
 *	Canada   M5V 3E7
 *	416-504-9876
 *
 */

#include <parameter.ds>

{
    name	"length"
    script	"length"
    label	"length"


    code {
	"$len = length($vec);"
    }

    input	vector	vec	"Vector"
    output	float	len	"Vector Length"
    signature	"3D Vector"		default	{ }
    signature	"3D Point"		p	{ point float }
    signature	"3D Normal"		n	{ normal float }
    signature	"4D Vector"		v4	{ vector4 float }
    signature	"Uniform 3D Vector"	uv	{ uvector ufloat }
    signature	"Uniform 3D Point"	up	{ upoint ufloat }
    signature	"Uniform 3D Normal"	un	{ unormal float }

    VOP_VEC_PARM(vec,		"Value", 1, 1, 1)
    VOP_VEC_PARM(vec_p,		"Value", 1, 1, 1)
    VOP_VEC_PARM(vec_n,		"Value", 1, 1, 1)
    VOP_VEC4_PARM(vec_v4,	"Value", 1, 1, 1, 1)
    VOP_VEC_PARM(vec_uv,	"Value", 1, 1, 1)
    VOP_VEC_PARM(vec_up,	"Value", 1, 1, 1)
    VOP_VEC_PARM(vec_un,	"Value", 1, 1, 1)

    group { name "g0" obsolete 12.0 }
}
INDX              Contents       WS7   DialogScript   W  PV%0707070000010000000006660000000000000000010000001237543365600001300000000000TRAILER!!! # Dialog script for matchaxis automatically generated 07/25/12 16:25:09

{
    name	matchaxis
    script	match_axis
    label	MatchAxis

    help {
	""
    }
    bindhandle to1 vector "Vector" vx ""
    bindhandle to2 vector "Vector" vy ""
    bindhandle to3 vector "Vector" vz ""

    inputlabel	1	"Sub-Network Input #1"
    inputlabel	2	"Sub-Network Input #2"
    inputlabel	3	"Sub-Network Input #3"
    inputlabel	4	"Sub-Network Input #4"

    parm {
	name	"group"
	label	"Point Group"
	type	string
	default	{ "" }
	menutoggle	{
	    [ "opmenu -l vopsop1 vex_group" ]
	}
	range	{ 0 1 }
	export	none
	parmtag	{ "autoscope" "0000000000000000" }
    }
    parm {
	name	"from"
	label	"From Vector"
	type	float
	size	3
	default	{ "0" "1" "0" }
	range	{ 0 10 }
	export	none
	parmtag	{ "autoscope" "0000000000000000" }
    }
    parm {
	name	"to"
	label	"To Vector"
	type	float
	size	3
	default	{ "0" "1" "0" }
	range	{ 0 10 }
	export	none
	parmtag	{ "autoscope" "0000000000000000" }
    }
}
INDX              Contents       WS7   DialogScript   W  Px^0707070000010000000006660000000000000000010000001237543365600001300000000000TRAILER!!! # Dialog script for gasresizefluiddynamic automatically generated 10/12/12 14:17:21

{
    name	gasresizefluiddynamic
    script	gasresizefluiddynamic
    label	"Gas Resize Fluid Dynamic"


    help {
	""
    }

    inputlabel	1	"Input 1"
    inputlabel	2	"Input 2"
    inputlabel	3	"Input 3"
    inputlabel	4	"Input 4"

    parm {
	name	"fluidtype"
	label	"Fluid Type"
	type	ordinal
	default	{ "smoke" }
	menu	{
	    "fire"	"Fire"
	    "smoke"	"Smoke"
	    "liquid"	"Liquid"
	}
	range	{ 0 1 }
	export	none
	parmtag	{ "autoscope" "0000000000000000" }
    }
    parm {
	name	"extrafields"
	label	"Extra Resize Fields"
	type	string
	default	{ "" }
	range	{ 0 1 }
	export	none
	parmtag	{ "autoscope" "0000000000000000" }
    }
    parm {
	name	"delay_frames"
	label	"Delay Frames"
	type	integer
	default	{ "0" }
	range	{ 0 10 }
	export	none
    }
    group {
	name	"folder0_1"
	label	"Bounds"

	parm {
	    name	"bound_padding"
	    label	"Padding"
	    type	float
	    default	{ "0.3" }
	    range	{ 0! 1 }
	    export	none
	    parmtag	{ "units" "m1" }
	}
	parm {
	    name	"weighted"
	    label	"Weigthed"
	    type	toggle
	    nolabel
	    joinnext
	    default	{ "1" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"bound_subtract"
	    label	"Subtract Threshold"
	    type	float
	    default	{ "0.2" }
	    disablewhen	"{ weighted == 0 }"
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "units" "m1" }
	}
	parm {
	    name	"padding_min_scale"
	    label	"Lower Padding Scale"
	    type	vector
	    size	3
	    default	{ "1" "1" "1" }
	    range	{ 0! 1 }
	    export	none
	}
	parm {
	    name	"padding_max_scale"
	    label	"Upper Padding Scale"
	    type	vector
	    size	3
	    default	{ "1" "1" "1" }
	    range	{ 0! 1 }
	    export	none
	}
	group {
	    name	"field"
	    label	"Field"

	    parm {
		name	"reference_field"
		label	"Reference Field"
		type	string
		default	{ "density" }
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"scale"
		label	"Resolution Scale"
		type	float
		default	{ "1" }
		range	{ 0! 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"field_cutoff"
		label	"Field Cutoff"
		type	float
		default	{ "0.005" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "parmvop" "1" }
	    }
	}

	group {
	    name	"field_1"
	    label	"Tracking Object"

	    parm {
		name	"use_tracking_objects"
		label	"Use Tracking Object"
		type	toggle
		nolabel
		joinnext
		default	{ "0" }
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"tracking_source"
		label	"Track By Object"
		type	ordinal
		default	{ "0" }
		disablewhen	"{ use_tracking_objects == 0 }"
		menu	{
		    "0"	"Sop"
		    "1"	"Dop"
		}
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"tracking_path"
		label	"Sop Path"
		type	oppath
		default	{ "" }
		disablewhen	"{ use_tracking_objects == 0 } { tracking_source == 1 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "oprelative" "." }
	    }
	    parm {
		name	"data_name"
		label	"Dop Path"
		type	string
		default	{ "resizebounds" }
		disablewhen	"{ use_tracking_objects == 0 } { tracking_source == 0 }"
		range	{ 0 1 }
		export	none
	    }
	}

    }

    group {
	name	"folder0_1_1"
	label	"Max Bounds"

	parm {
	    name	"use_max_bounds"
	    label	"Clamp To Maximum Size"
	    type	toggle
	    nolabel
	    joinnext
	    default	{ "1" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"bound_mode"
	    label	"Clamp To Maxium Size"
	    type	ordinal
	    default	{ "1" }
	    disablewhen	"{ use_max_bounds == 0 }"
	    menu	{
		"0"	"From Object"
		"1"	"Initialization Static"
		"2"	"Initialization Dynamic"
		"3"	"Manual"
	    }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"operator_path"
	    label	"Object"
	    type	oppath
	    default	{ "" }
	    disablewhen	"{ bound_mode == 1 } { bound_mode == 3 }"
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "oprelative" "." }
	}
	parm {
	    name	"bound_size"
	    label	"Size"
	    type	vector
	    size	3
	    default	{ "0" "0" "0" }
	    disablewhen	"{ bound_mode != 3 }"
	    range	{ -1 1 }
	    export	none
	    parmtag	{ "units" "m1" }
	}
	parm {
	    name	"bound_center"
	    label	"Center"
	    type	vector
	    size	3
	    default	{ "0" "0" "0" }
	    disablewhen	"{ bound_mode != 3 }"
	    range	{ -1 1 }
	    export	none
	}
	parm {
	    name	"enforce_boundaries"
	    label	"Enforce Boundaries"
	    type	toggle
	    joinnext
	    default	{ "0" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"minx"
	    label	"-X"
	    type	toggle
	    joinnext
	    default	{ "1" }
	    disablewhen	"{ enforce_boundaries == 0 }"
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"maxx"
	    label	"+X"
	    type	toggle
	    joinnext
	    default	{ "1" }
	    disablewhen	"{ enforce_boundaries == 0 }"
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"miny"
	    label	"-Y"
	    type	toggle
	    joinnext
	    default	{ "1" }
	    disablewhen	"{ enforce_boundaries == 0 }"
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"maxy"
	    label	"+Y"
	    type	toggle
	    joinnext
	    default	{ "1" }
	    disablewhen	"{ enforce_boundaries == 0 }"
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"minz"
	    label	"-Z"
	    type	toggle
	    joinnext
	    default	{ "1" }
	    disablewhen	"{ enforce_boundaries == 0 }"
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"maxz"
	    label	"+Z"
	    type	toggle
	    default	{ "1" }
	    disablewhen	"{ enforce_boundaries == 0 }"
	    range	{ 0 1 }
	    export	none
	}
    }

}
INDX              Contents       WS7   DialogScript   W  lO_0707070000010000000006660000000000000000010000001237543365700001300000000000TRAILER!!! # Dialog script for fieldparm automatically generated 03/13/12 14:37:37

{
    name	fieldparm
    script	pyro2wrap_field
    label	"Field Parameter"

    outercode {
	""
    }

    code {
	""
    }

    input	vector4	dfltval	"Default Field Value"
    input	float	padval	"Padding Constant"
    output	float	field	field
    output	int	bound	bound
    inputflags	dfltval	0
    inputflags	padval	0
    signature	Default	default	{ vector4 float float int }

    outputoverrides	default
    {
	___begin	auto
			(0)
	___begin	auto
			(0)
    }

    help {
	""
    }

    parm {
	name	"makeui"
	label	"Promote Interface"
	type	button
	nolabel
	default	{ "0" }
	menu	{
	    [ "import pyro2" ]
	    [ "return pyro2.makeuimenu()" ]
	    language	python
	}
	range	{ 0 1 }
	export	none
	parmtag	{ "script_callback_language" "python" }
	parmtag	{ "script_callback" "hou.phm().uiCreate(kwargs)" }
	parmtag	{ "export_disable" "1" }
    }
    group {
	name	"folder0"
	label	"VOP Parameters"

	parm {
	    name	"name"
	    label	"Field Name"
	    type	string
	    default	{ "density" }
	    range	{ 0 1 }
	    export	none
	    unquoted
	}
	parm {
	    name	"intype"
	    label	"Field Type"
	    type	string
	    default	{ "float" }
	    menu	{
		"float"	"Float"
		"vector"	"Vector"
		"vector4"	"Vector4"
	    }
	    range	{ 0 1 }
	    export	none
	    unquoted
	    parmtag	{ "script_callback_language" "python" }
	    parmtag	{ "script_callback" "if not kwargs['node'].isInsideLockedHDA(): kwargs['node'].parm('method').set('assign')" }
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"promote"
	    label	"Promote"
	    type	toggle
	    default	{ "0" }
	    disablewhen	"{ name == \"\" }"
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"outtype"
	    label	"Output Type"
	    type	string
	    default	{ "float" }
	    disablewhen	"{ name == \"\" } { promote == 0 }"
	    menu	{
		"float"	"Float"
		"vector"	"Vector"
		"vector4"	"Vector4"
	    }
	    range	{ 0 1 }
	    export	none
	    unquoted
	    parmtag	{ "script_callback_language" "python" }
	    parmtag	{ "script_callback" "if not kwargs['node'].isInsideLockedHDA(): kwargs['node'].parm('method').set('assign')" }
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"method"
	    label	"Method"
	    type	string
	    default	{ "assign" }
	    disablewhen	"{ name == \"\" } { promote == 0 } { doconvert == 0 }"
	    menu	{
		[ "hou.nodeType(hou.vopNodeTypeCategory(),'typeconvertimpl').hdaModule().methodmenu(hou.evalParm('intype'),hou.evalParm('outtype'))" ]
		language	python
	    }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"padval"
	    label	"Padding Constant"
	    type	float
	    default	{ "0" }
	    disablewhen	"{ name == \"\" } { promote == 0 } { method != padc }"
	    range	{ -1 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"dfltval"
	    label	"Default Value"
	    type	vector4
	    size	4
	    default	{ "0" "0" "0" "0" }
	    disablewhen	"{ name != \"\" }"
	    range	{ -1 1 }
	    export	none
	}
	parm {
	    name	"doconvert"
	    label	"doconvert"
	    type	integer
	    default	{ [ "evalParm('promote') and evalParm('intype')!=evalParm('outtype')" python ] }
	    range	{ 0 10 }
	    export	none
	}
    }

    group {
	name	"folder0_1"
	label	"UI Promotion"

	parm {
	    name	"ui_prefix"
	    label	"Parameter Prefix"
	    type	string
	    joinnext
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"ui_postfix"
	    label	"Postfix"
	    type	string
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"ui_infolder"
	    label	"ui_infolder"
	    type	toggle
	    nolabel
	    joinnext
	    default	{ "0" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"ui_foldername"
	    label	"Create In Folder"
	    type	string
	    default	{ [ "node('.').creator().relativePathTo(node('.')).replace('/','_')" python ] }
	    disablewhen	"{ ui_infolder == 0 }"
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"spacer2"
	    label	"spacer"
	    type	label
	    nolabel
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"ui_initfieldlabel"
	    label	"Field Label"
	    type	string
	    default	{ "Field Name" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"ui_initfieldname"
	    label	"Default Field Name"
	    type	string
	    default	{ [ "chs(name)" hscript-expr ] }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"ui_initfieldtype"
	    label	"Default Field Type"
	    type	string
	    default	{ [ "chs(intype)" hscript-expr ] }
	    menu	{
		"float"	"Float"
		"vector"	"Vector"
		"vector4"	"Vector4"
	    }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "script_callback_language" "python" }
	    parmtag	{ "script_callback" "" }
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"ui_forceouttype"
	    label	"Forced Output Type"
	    type	string
	    default	{ "none" }
	    menu	{
		"none"	"none"
		"float"	"Float"
		"vector"	"Vector"
		"vector4"	"Vector4"
	    }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "script_callback_language" "hscript" }
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"spacer"
	    label	"spacer"
	    type	label
	    nolabel
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"ui_forcefieldname"
	    label	"Disallow Empty String in Field Name"
	    type	toggle
	    default	{ "0" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"ui_incdfltvalue"
	    label	"Include Default Field Value"
	    type	toggle
	    default	{ "1" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"leftalign3"
	    label	"spacer"
	    type	label
	    nolabel
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"ui_dwhen"
	    label	"Extra Disable When"
	    type	string
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	}
    }

}
INDX              Contents       WS0   DialogScript   W  MR(ҧ0707070000010000000006660000000000000000010000001237543027400001300000000000TRAILER!!! # Dialog script for attribfade automatically generated 09/05/13 14:51:19

{
    name	attribfade
    script	attribfade
    label	AttribFade

    help {
	""
    }

    inputlabel	1	"Fade Value"
    inputlabel	2	"Start Frame"
    inputlabel	3	"Hold Frame Scale"
    inputlabel	4	"Sub-Network Input #4"

    parm {
	name	"visualize"
	label	"Visualize Fade"
	type	toggle
	default	{ "1" }
	range	{ 0 1 }
	export	none
    }
    parm {
	name	"group"
	label	"Point Group"
	type	string
	default	{ "" }
	menutoggle	{
	    [ "opmenu -l vopsop1 vex_group" ]
	}
	range	{ 0 1 }
	export	none
	parmtag	{ "autoscope" "0000000000000000" }
    }
    group {
	name	"folder0"
	label	"Attributes"

	parm {
	    name	"fadeattrib"
	    label	"Fade"
	    type	string
	    default	{ "fade" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"startattrib"
	    label	"Fade Start Frame"
	    type	string
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"startremap"
	    label	"Start Frame Retime"
	    type	float
	    size	2
	    default	{ "0" "1" }
	    disablewhen	"{ startattrib == \"\" }"
	    range	{ -1 1 }
	    export	none
	}
	parm {
	    name	"durationattrib"
	    label	"Hold Scale"
	    type	string
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	}
    }

    group {
	name	"folder0_1"
	label	"Timings"

	parm {
	    name	"fadeoffset"
	    label	"Frame Offset"
	    type	float
	    default	{ "0" }
	    range	{ -10 10 }
	    export	none
	}
	parm {
	    name	"fadein"
	    label	"Fade In Frames"
	    type	float
	    default	{ "2" }
	    range	{ 0 10 }
	    export	none
	}
	parm {
	    name	"fadehold"
	    label	"Fade Hold Frames"
	    type	float
	    default	{ "0" }
	    range	{ 0 10 }
	    export	none
	}
	parm {
	    name	"fadeout"
	    label	"Fade Out Frames"
	    type	float
	    default	{ "2" }
	    range	{ 0 10 }
	    export	none
	}
	parm {
	    name	"fadein_ramp"
	    label	"Fade In Ramp"
	    type	ramp_flt
	    default	{ "2" }
	    range	{ 1! 10 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	    parmtag	{ "parmvop" "1" }
	    parmtag	{ "rampbasis_var" "fadein_ramp_the_basis_strings" }
	    parmtag	{ "rampbasisdefault" "monotonecubic" }
	    parmtag	{ "rampfloatdefault" "1pos ( 0 ) 1value ( 0 ) 1interp ( linear ) 2pos ( 1 ) 2value ( 1 ) 2interp ( linear )" }
	    parmtag	{ "rampkeys_var" "fadein_ramp_the_key_positions" }
	    parmtag	{ "rampshowcontrolsdefault" "0" }
	    parmtag	{ "rampvalues_var" "fadein_ramp_the_key_values" }
	}
	parm {
	    name	"fadeout_ramp"
	    label	"Fade Out Ramp"
	    type	ramp_flt
	    default	{ "2" }
	    range	{ 1! 10 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	    parmtag	{ "parmvop" "1" }
	    parmtag	{ "rampbasis_var" "fadeout_ramp_the_basis_strings" }
	    parmtag	{ "rampbasisdefault" "monotonecubic" }
	    parmtag	{ "rampfloatdefault" "1pos ( 0 ) 1value ( 1 ) 1interp ( linear ) 2pos ( 1 ) 2value ( 0 ) 2interp ( linear )" }
	    parmtag	{ "rampkeys_var" "fadeout_ramp_the_key_positions" }
	    parmtag	{ "rampshowcontrolsdefault" "0" }
	    parmtag	{ "rampvalues_var" "fadeout_ramp_the_key_values" }
	}
    }

}
INDX              DialogScript      R//*
 * PROPRIETARY INFORMATION.  This software is proprietary to
 * Side Effects Software Inc., and is not to be reproduced,
 * transmitted, or disclosed in any way without written permission.
 *
 * Produced by:
 *	Side Effects Software Inc
 *	477 Richmond Street West
 *	Toronto, Ontario
 *	Canada   M5V 3E7
 *	416-504-9876
 *
 */

#include <parameter.ds>

{
    name	"inttovec"
    script	"inttovec"
    label	"inttovec"

    outercode {
	INCLUDE_VOPLIB
    }

    code {
	"$vec = set((float) $int1, (float) $int2, (float) $int3);"
    }

    output	vector	vec	"Output Vector"

    VOP_INT_INPUT_R(int1, "Component 1", 0, 0, 1)
    VOP_INT_INPUT_R(int2, "Component 2", 0, 0, 1)
    VOP_INT_INPUT_R(int3, "Component 3", 0, 0, 1)
}
INDX              DialogScript      OE! # Dialog script for contour automatically generated 02/22/12 12:08:16

{
    name	contour
    script	contour
    label	Contour

    outercode {
	"#include <pyro_utils.h>"
    }

    code {
	""
	"#if  $active"
	"   // Determine the filter size"
	"   float $fsize = 0;"
	"   #if strcmp(\"$ftype\",\"point\")"
	"      #if $isconnected_fw"
	"         float $fwidth = $fw;"
	"      #else"
	"         float $fwidth = VOPFW($val);"
	"      #endif"
	"      $fsize = abs($fwidth*$fscale);"
	"      $cval = contour($val,max(0,$width),max(0,$sharp),$fsize);"
	"   #else"
	"      $cval = contour($val,max(0,$width),max(0,$sharp));"
	"   #endif"
	""
	"#else"
	""
	"$cval = $val;"
	""
	"#endif"
    }

    input	float	val	"Value to Modify"
    input	float	width	Width
    input	float	sharp	Sharpness
    input	float	fw	"Filter Width Override"
    input	float	fscale	"Filter Scale"
    output	float	cval	"Modified Value"
    inputflags	val	0
    inputflags	width	0
    inputflags	sharp	0
    inputflags	fw	0
    inputflags	fscale	0
    signature	"Default Inputs"	default	{ float float float float float float }
    signature	"3D Value"	v	{ vector float float float float vector }
    signature	"4D Value"	p	{ vector4 float float float float vector4 }

    outputoverrides	default
    {
	___begin	auto
			(0)
    }
    outputoverrides	v
    {
	___begin	auto
			(0,0,0)
    }
    outputoverrides	p
    {
	___begin	auto
			(0,0,0,0)
    }

    help {
	""
    }

    parm {
	name	"signature"
	baseparm
	export	none
    }
    parm {
	name	"spacer3"
	label	"spacer"
	type	label
	nolabel
	default	{ "" }
	range	{ 0 1 }
	export	none
    }
    parm {
	name	"makeui"
	label	"Promote Interface"
	type	button
	nolabel
	default	{ "0" }
	menu	{
	    [ "import pyro2" ]
	    [ "return pyro2.makeuimenu()" ]
	    language	python
	}
	range	{ 0 1 }
	export	none
	parmtag	{ "script_callback_language" "python" }
	parmtag	{ "script_callback" "hou.phm().uiCreate(kwargs)" }
	parmtag	{ "export_disable" "1" }
    }
    group {
	name	"folder0"
	label	"VOP Parameters"

	parm {
	    name	"active"
	    label	"Active"
	    type	toggle
	    default	{ "1" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"width"
	    label	"Width"
	    type	float
	    default	{ "0.01" }
	    disablewhen	"{ active == 0 }"
	    range	{ 0! 0.1 }
	    export	none
	}
	parm {
	    name	"sharp"
	    label	"Sharpness"
	    type	float
	    default	{ "4" }
	    disablewhen	"{ active == 0 }"
	    range	{ 0! 10 }
	    export	none
	}
	parm {
	    name	"ftype"
	    label	"Filter"
	    type	string
	    joinnext
	    default	{ "point" }
	    disablewhen	"{ active == 0 }"
	    menu	{
		"point"	"Point"
		"box"	"Box"
		"gauss"	"Gaussian"
	    }
	    range	{ 0 1 }
	    export	none
	    unquoted
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"fscale"
	    label	"Scale"
	    type	float
	    default	{ "1" }
	    disablewhen	"{ active == 0 } { ftype == point }"
	    range	{ 0 2 }
	    export	none
	}
    }

    group {
	name	"folder0_1"
	label	"UI Promotion"

	parm {
	    name	"ui_prefix"
	    label	"Parameter Prefix"
	    type	string
	    joinnext
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"ui_postfix"
	    label	"Postfix"
	    type	string
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"ui_infolder"
	    label	"ui_infolder"
	    type	toggle
	    nolabel
	    joinnext
	    default	{ "0" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"ui_foldername"
	    label	"Create In Folder"
	    type	string
	    default	{ [ "node('.').creator().relativePathTo(node('.')).replace('/','_')" python ] }
	    disablewhen	"{ ui_infolder == 0 }"
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"leftalign"
	    label	"spacer"
	    type	label
	    nolabel
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"ui_withactive"
	    label	"Add Active Toggle"
	    type	toggle
	    joinnext
	    default	{ "1" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"leftalign2"
	    label	"spacer"
	    type	label
	    nolabel
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"ui_activename"
	    label	"Active Name"
	    type	string
	    default	{ "active" }
	    disablewhen	"{ ui_withactive == 0 }"
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"ui_initactive"
	    label	"Initial Active State"
	    type	toggle
	    default	{ "0" }
	    disablewhen	"{ ui_withactive == 0 }"
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"leftalign3"
	    label	"spacer"
	    type	label
	    nolabel
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"ui_dwhen"
	    label	"Extra Disable When"
	    type	string
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	}
    }

}
INDX              DialogScript      KOE$# Dialog script for unifiednoise automatically generated 02/22/12 12:24:44

{
    name	unifiednoise
    script	pyro_noise
    label	"Unified Noise"

    outercode {
	"#include <pyro_noise.h>"
    }

    code {
	"$noise    = ($rtype)$passval;"
	"$x_avg    = 0;"
	"$x_oct    = 0;"
	"$x_off    = 0;"
	"#if $active && $isconnected_pos"
	"   float $dfreq = $dispfreq;"
	"   #if !strcmp(\"$basis\",\"pperlin\") || !strcmp(\"$basis\",\"pflow\")"
	"      $dfreq = (int)$dispfreq;"
	"   #endif"
	"   "
	"   int $dual = $isconnected_pos2 && $isconnected_kpos && $isconnected_kpos2 &&"
	"               $pos!=$pos2 && $kpos2!=0;"
	""
	"   vector4 $p   = $pos * $freq - $offset;"
	"   vector4 $p2  = $p; "
	"   float   $kp  = 1;"
	"   float   $kp2 = 0;"
	"   if($dual) {"
	"      $kp  = $kpos;"
	"      $p2  = $pos2 * $freq - $offset;"
	"      $kp2 = $kpos2;"
	"   }"
	""
	"   #if $isconnected_fw"
	"      float $fwidth  = $fw;"
	"      float $fwidth2 = $fw;"
	"   #else"
	"      float $fwidth  = VOPFW(($ptype)$p);"
	"      float $fwidth2 = $dual ? VOPFW(($ptype)$p2) : $fwidth;"
	"   #endif"
	"   "
	"   // Validate some inputs"
	"   float $fmax = max($freq);"
	"   float $lw = $disp*$fmax;"
	"   float $fs = $fwidth * $fscale;"
	"   float $fs2= $fwidth2* $fscale;"
	"   float $e  = max(0,$expon);"
	"   "
	"   $rtype $n1=0, $n2=0;"
	""
	"   #if !strcmp(\"$fractal\",\"none\")"
	""
	"      if($kp>0)  $n1 = ${pfx}noise_$basis$dim("
	"                           $p,$inv,$fold,$accuml,$accumg, $fs,$e,$period,"
	"                           $dolwarp,$dogwarp, $lw,$dfreq,$gflow,$flowrot, "
	"                           $x_avg,$x_off);"
	""
	"      if($kp2!=0)$n2 = ${pfx}noise_$basis$dim("
	"                           $p2,$inv,$fold,$accuml,$accumg, $fs2,$e,$period,"
	"                           $dolwarp,$dogwarp, $lw,$dfreq,$gflow,$flowrot,"
	"                           $x_avg,$x_off);"
	"   #else"
	""
	"      if($kp>0)  $n1 = ${fractal}_$pfx$basis$dim("
	"                           $p,$inv,$fold,$accuml,$accumg, $fs,$e,$period,"
	"                           $dolwarp,$dogwarp, $lw,$dfreq,$gflow,$flowrot, "
	"                           $x_avg,$x_off, $oct,$lac,$rough, $x_oct);"
	""
	"      if($kp2!=0)$n2 = ${fractal}_$pfx$basis$dim("
	"                           $p2,$inv,$fold,$accuml,$accumg, $fs2,$e,$period,"
	"                           $dolwarp,$dogwarp, $lw,$dfreq,$gflow,$flowrot, "
	"                           $x_avg,$x_off, $oct,$lac,$rough, $x_oct);"
	"   #endif"
	""
	"   $noise = $n1*$kp + $n2*$kp2;"
	"   if($docc) $noise = ${pfx}noise_ccv($noise, $cc_inv, "
	"                                      $cc_dobias,$cc_bias, "
	"                                      $cc_dogain,$cc_gain, "
	"                                      $cc_dorng,$cc_rnglo,$cc_rnghi, $cc_amp);"
	""
	""
	"#endif"
    }

    input	vector	pos	"Primary Sample Position"
    input	vector	pos2	"Secondary Sample Position (for dual-rest)"
    input	float	kpos	"Weight of noise texture sampled at the primary position (for dual-rest)"
    input	float	kpos2	"Weight of noise texture sampled at the secondary position (for dual-rest)"
    input	vector4	freq	Frequency
    input	vector4	offset	Offset
    input	vector4	period	Period
    input	int	inv	Complement
    input	int	fold	Fold
    input	float	expon	Exponent
    input	int	dolwarp	"Enable Lattice Warp"
    input	float	disp	"Lattice Warp"
    input	float	dispfreq	"Lattice Warp Freq"
    input	int	dogwarp	"Enable Gradient Warp"
    input	float	gflow	"Gradient Warp"
    input	float	flowrot	Flow
    input	int	accuml	"Accumulate Lattice Warp"
    input	int	accumg	"Accumulate Gradient Warp"
    input	float	oct	"Max Octaves"
    input	float	lac	Lacunarity
    input	float	rough	Roughness
    input	int	docc	"Output Correction"
    input	int	cc_dobias	"Do Bias"
    input	vector	cc_bias	Bias
    input	int	cc_dogain	"Do Gain"
    input	vector	cc_gain	Gain
    input	int	cc_inv	Complement
    input	int	cc_dorng	"Remap Range"
    input	vector	cc_rnglo	"Range Min"
    input	vector	cc_rnghi	"Range Max"
    input	vector	cc_amp	"Final Amplitude"
    input	float	fw	"Filter Width Override"
    input	float	fscale	"Filter Scale"
    output	float	noise	Noise
    output	float	x_avg	""
    output	float	x_oct	"Actual Number Of Octaves"
    output	vector	x_off	"Offset Due To Warps (Current Space)"
    inputflags	pos	0
    inputflags	pos2	0
    inputflags	kpos	0
    inputflags	kpos2	0
    inputflags	freq	0
    inputflags	offset	0
    inputflags	period	0
    inputflags	inv	0
    inputflags	fold	0
    inputflags	expon	0
    inputflags	dolwarp	0
    inputflags	disp	0
    inputflags	dispfreq	0
    inputflags	dogwarp	0
    inputflags	gflow	0
    inputflags	flowrot	0
    inputflags	accuml	0
    inputflags	accumg	0
    inputflags	oct	0
    inputflags	lac	0
    inputflags	rough	0
    inputflags	docc	0
    inputflags	cc_dobias	0
    inputflags	cc_bias	0
    inputflags	cc_dogain	0
    inputflags	cc_gain	0
    inputflags	cc_inv	0
    inputflags	cc_dorng	0
    inputflags	cc_rnglo	0
    inputflags	cc_rnghi	0
    inputflags	cc_amp	0
    inputflags	fw	0
    inputflags	fscale	0
    signature	"3D Input, 1D Noise"	default	{ vector vector float float vector4 vector4 vector4 int int float int float float int float float int int float float float int int vector int vector int int vector vector vector float float float float float vector }
    signature	"1D Input, 1D Noise"	f1	{ float vector float float vector4 vector4 vector4 int int float int float float int float float int int float float float int int vector int vector int int vector vector vector float float float float float vector }
    signature	"2D Input, 1D Noise"	f2	{ vector vector float float vector4 vector4 vector4 int int float int float float int float float int int float float float int int vector int vector int int vector vector vector float float float float float vector }
    signature	"4D Input, 1D Noise"	f4	{ vector4 vector4 float float vector4 vector4 vector4 int int float int float float int float float int int float float float int int vector int vector int int vector vector vector float float float float float vector }
    signature	"1D Input, 3D Noise"	v1	{ float vector float float vector4 vector4 vector4 int int float int float float int float float int int float float float int int vector int vector int int vector vector vector float float vector float float vector }
    signature	"2D Input, 3D Noise"	v2	{ vector vector float float vector4 vector4 vector4 int int float int float float int float float int int float float float int int vector int vector int int vector vector vector float float vector float float vector }
    signature	"3D Input, 3D Noise"	v3	{ vector vector float float vector4 vector4 vector4 int int float int float float int float float int int float float float int int vector int vector int int vector vector vector float float vector float float vector }
    signature	"4D Input, 3D Noise"	v4	{ vector4 vector4 float float vector4 vector4 vector4 int int float int float float int float float int int float float float int int vector int vector int int vector vector vector float float vector float float vector }

    outputoverrides	default
    {
	___begin	auto
			(0)
	___begin	auto
			(0)
	___begin	auto
			(0)
	___begin	auto
			(0,0,0)
    }
    outputoverrides	f1
    {
	___begin	auto
			(0)
	___begin	auto
			(0)
	___begin	auto
			(0)
	___begin	auto
			(0,0,0)
    }
    outputoverrides	f2
    {
	___begin	auto
			(0)
	___begin	auto
			(0)
	___begin	auto
			(0)
	___begin	auto
			(0,0,0)
    }
    outputoverrides	f4
    {
	___begin	auto
			(0)
	___begin	auto
			(0)
	___begin	auto
			(0)
	___begin	auto
			(0,0,0)
    }
    outputoverrides	v1
    {
	___begin	auto
			(0,0,0)
	___begin	auto
			(0)
	___begin	auto
			(0)
	___begin	auto
			(0,0,0)
    }
    outputoverrides	v2
    {
	___begin	auto
			(0,0,0)
	___begin	auto
			(0)
	___begin	auto
			(0)
	___begin	auto
			(0,0,0)
    }
    outputoverrides	v3
    {
	___begin	auto
			(0,0,0)
	___begin	auto
			(0)
	___begin	auto
			(0)
	___begin	auto
			(0,0,0)
    }
    outputoverrides	v4
    {
	___begin	auto
			(0,0,0)
	___begin	auto
			(0)
	___begin	auto
			(0)
	___begin	auto
			(0,0,0)
    }

    help {
	""
    }

    parm {
	name	"makeui"
	label	"Promote Interface"
	type	button
	nolabel
	default	{ "0" }
	menu	{
	    [ "import pyro2" ]
	    [ "return pyro2.makeuimenu()" ]
	    language	python
	}
	range	{ 0 1 }
	export	none
	parmtag	{ "script_callback_language" "python" }
	parmtag	{ "script_callback" "hou.phm().uiCreate(kwargs)" }
    }
    group {
	name	"folder1"
	label	"VOP Parameters"

	parm {
	    name	"signature"
	    baseparm
	    export	none
	}
	parm {
	    name	"active"
	    label	"Active"
	    type	toggle
	    default	{ "1" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"passval"
	    label	"Inactive Output"
	    type	vector
	    size	3
	    default	{ "0" "0" "0" }
	    disablewhen	"{ active != 0 }"
	    range	{ -1 1 }
	    export	none
	}
	parm {
	    name	"freq"
	    label	"Frequency"
	    type	vector4
	    size	4
	    default	{ "1" "1" "1" "1" }
	    disablewhen	"{ active == 0 }"
	    range	{ -1 1 }
	    export	none
	}
	parm {
	    name	"offset"
	    label	"Offset"
	    type	vector4
	    size	4
	    default	{ "0" "0" "0" "0" }
	    disablewhen	"{ active == 0 }"
	    range	{ -1 1 }
	    export	none
	}
	parm {
	    name	"period"
	    label	"Period"
	    type	vector4
	    size	4
	    default	{ "1" "1" "1" "1" }
	    disablewhen	"{ active == 0 } { basis != pperlin basis != pflow }"
	    range	{ 0! 1 }
	    export	none
	}
	parm {
	    name	"fscale"
	    label	"Filter Scale"
	    type	float
	    default	{ "1" }
	    disablewhen	"{ active == 0 } { fractal == none }"
	    range	{ 0! 2 }
	    export	none
	}
	parm {
	    name	"spacer3"
	    label	"spacer"
	    type	label
	    nolabel
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	}
	group {
	    name	"folder0"
	    label	"Construction"

	    parm {
		name	"basis"
		label	"Noise Type"
		type	string
		default	{ "simplex" }
		disablewhen	"{ active == 0 }"
		menu	{
		    "sine"	"Sinusoid"
		    "perlin"	"Perlin"
		    "pperlin"	"Periodic Perlin"
		    "simplex"	"Simplex (Improved Perlin)"
		    "sparse"	"Sparse Convolution"
		    "flow"	"Flow"
		    "pflow"	"Periodic Flow"
		    "worleyFA"	"Worley (cellular) F1"
		    "worleyFB"	"Worley (cellular) F2-F1"
		    "alligator"	"Alligator"
		}
		range	{ 0 1 }
		export	none
		unquoted
	    }
	    parm {
		name	"inv"
		label	"Complement"
		type	toggle
		default	{ "0" }
		disablewhen	"{ active == 0 }"
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"fold"
		label	"Fold"
		type	toggle
		default	{ "0" }
		disablewhen	"{ active == 0 }"
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"expon"
		label	"Exponent"
		type	float
		default	{ "1" }
		disablewhen	"{ active == 0 }"
		range	{ 0! 2 }
		export	none
	    }
	    parm {
		name	"dolwarp"
		label	"Enable Lattice Warp"
		type	toggle
		nolabel
		joinnext
		default	{ "0" }
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"disp"
		label	"Lattice Warp"
		type	float
		joinnext
		default	{ "0" }
		disablewhen	"{ active == 0 } { dolwarp == 0 }"
		range	{ -0.5 0.5 }
		export	none
	    }
	    parm {
		name	"dispfreq"
		label	"Freq"
		type	float
		default	{ "1" }
		disablewhen	"{ active == 0 } { dolwarp == 0 }"
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"dogwarp"
		label	"Enable Gradient Warp"
		type	toggle
		nolabel
		joinnext
		default	{ "0" }
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"gflow"
		label	"Gradient Warp"
		type	float
		default	{ "0" }
		disablewhen	"{ active == 0 } { dogwarp == 0 }"
		range	{ -0.5 0.5 }
		export	none
	    }
	    parm {
		name	"flowrot"
		label	"Flow Rotation"
		type	float
		default	{ "0" }
		disablewhen	"{ active == 0 } { basis != flow basis != pflow }"
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"fractal"
		label	"Fractal Type"
		type	string
		default	{ "none" }
		disablewhen	"{ active == 0 }"
		menu	{
		    "none"	"None"
		    "fBm"	"Standard (fBm)"
		    "mfT"	"Terrain"
		    "hmfT"	"Hybrid Terrain"
		}
		range	{ 0 1 }
		export	none
		unquoted
	    }
	    parm {
		name	"accuml"
		label	"Accumulate Lattice Warp"
		type	toggle
		default	{ "0" }
		disablewhen	"{ active == 0 } { fractal == none }"
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"accumg"
		label	"Accumulate Gradient Warp"
		type	toggle
		default	{ "0" }
		disablewhen	"{ active == 0 } { fractal == none }"
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"oct"
		label	"Max Octaves"
		type	float
		default	{ "8" }
		disablewhen	"{ active == 0 } { fractal == none }"
		range	{ 0! 16 }
		export	none
	    }
	    parm {
		name	"lac"
		label	"Lacunarity"
		type	float
		default	{ "2.01234" }
		disablewhen	"{ active == 0 } { fractal == none }"
		range	{ 0 4 }
		export	none
	    }
	    parm {
		name	"rough"
		label	"Roughness"
		type	float
		default	{ "0.5" }
		disablewhen	"{ active == 0 } { fractal == none }"
		range	{ 0! 1 }
		export	none
	    }
	}

	group {
	    name	"folder0_1"
	    label	"Output"

	    parm {
		name	"docc"
		label	"Output Correction"
		type	toggle
		default	{ "0" }
		disablewhen	"{ active == 0 }"
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"spacer8"
		label	"spacer"
		type	label
		nolabel
		default	{ "" }
		disablewhen	"{ active == 0 }"
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"cc_dobias"
		label	"Do Bias"
		type	toggle
		nolabel
		joinnext
		default	{ "0" }
		disablewhen	"{ active == 0 } { docc == 0 }"
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"cc_bias"
		label	"Bias"
		type	vector
		size	3
		default	{ "0.5" "0.5" "0.5" }
		disablewhen	"{ active == 0 } { docc == 0 } { cc_dobias == 0 }"
		range	{ 0! 1! }
		export	none
	    }
	    parm {
		name	"cc_dogain"
		label	"Do Gain"
		type	toggle
		nolabel
		joinnext
		default	{ "0" }
		disablewhen	"{ active == 0 } { docc == 0 }"
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"cc_gain"
		label	"Gain"
		type	vector
		size	3
		default	{ "0.5" "0.5" "0.5" }
		disablewhen	"{ active == 0 } { docc == 0 } { cc_dogain == 0 }"
		range	{ 0! 1! }
		export	none
	    }
	    parm {
		name	"spacer5"
		label	"spacer"
		type	label
		nolabel
		default	{ "" }
		disablewhen	"{ active == 0 }"
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"cc_inv"
		label	"Complement"
		type	toggle
		default	{ "0" }
		disablewhen	"{ active == 0 } { docc == 0 }"
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"spacer6"
		label	"spacer"
		type	label
		nolabel
		default	{ "" }
		disablewhen	"{ active == 0 }"
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"cc_dorng"
		label	"Output Range (Clamped)"
		type	toggle
		default	{ "0" }
		disablewhen	"{ active == 0 } { docc == 0 }"
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"cc_rnglo"
		label	"New Minimum"
		type	vector
		size	3
		default	{ "0" "0" "0" }
		disablewhen	"{ active == 0 } { docc == 0 } { cc_dorng == 0 }"
		range	{ -1 1 }
		export	none
	    }
	    parm {
		name	"cc_rnghi"
		label	"New Maximum"
		type	vector
		size	3
		default	{ "1" "1" "1" }
		disablewhen	"{ active == 0 } { docc == 0 } { cc_dorng == 0 }"
		range	{ 0 2 }
		export	none
	    }
	    parm {
		name	"spacer7"
		label	"spacer"
		type	label
		nolabel
		default	{ "" }
		disablewhen	"{ active == 0 }"
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"cc_amp"
		label	"Final Amplitude"
		type	vector
		size	3
		default	{ "1" "1" "1" }
		disablewhen	"{ active == 0 } { docc == 0 }"
		range	{ 0 2 }
		export	none
	    }
	}

    }

    group {
	name	"folder1_1"
	label	"UI Promotion"

	parm {
	    name	"ui_prefix"
	    label	"Parameter Prefix"
	    type	string
	    joinnext
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"ui_postfix"
	    label	"Postfix"
	    type	string
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"ui_infolder"
	    label	"ui_infolder"
	    type	toggle
	    nolabel
	    joinnext
	    default	{ "1" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"ui_foldername"
	    label	"Create In Folder"
	    type	string
	    default	{ [ "node('.').creator().relativePathTo(node('.')).replace('/','_')" python ] }
	    disablewhen	"{ ui_infolder == 0 }"
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"spacer4"
	    label	"spacer"
	    type	label
	    nolabel
	    default	{ "" }
	    disablewhen	"{ active == 0 }"
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"ui_withactive"
	    label	"Add Active Toggle"
	    type	toggle
	    joinnext
	    default	{ "1" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"leftalign"
	    label	"spacer"
	    type	label
	    nolabel
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"ui_activename"
	    label	"Active Name"
	    type	string
	    default	{ "active" }
	    disablewhen	"{ ui_withactive == 0 }"
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"ui_activelabel"
	    label	"Active Label"
	    type	string
	    default	{ "Active" }
	    disablewhen	"{ ui_withactive == 0 }"
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"ui_initactive"
	    label	"Initial Active State"
	    type	toggle
	    default	{ "0" }
	    disablewhen	"{ ui_withactive == 0 }"
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"ui_withoffval"
	    label	"Include Inactive Value"
	    type	toggle
	    joinnext
	    default	{ "1" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"lalign3"
	    label	"lalign"
	    type	label
	    nolabel
	    default	{ "" }
	    disablewhen	"{ active == 0 }"
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"ui_initoffval"
	    label	"Inactive Value Default"
	    type	vector
	    size	3
	    default	{ "0" "0" "0" }
	    disablewhen	"{ ui_withoffval == 0 }"
	    range	{ -1 1 }
	    export	none
	}
	parm {
	    name	"ui_initsigned"
	    label	"Initialize As Signed Noise"
	    type	toggle
	    joinnext
	    default	{ "0" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"leftalign3"
	    label	"leftalign"
	    type	label
	    nolabel
	    default	{ "" }
	    disablewhen	"{ active == 0 }"
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"leftalign4"
	    label	"spacer"
	    type	label
	    nolabel
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"ui_dwhen"
	    label	"Extra Disable When"
	    type	string
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	}
    }

    parm {
	name	"pfx"
	label	"pfx"
	type	string
	invisible
	default	{ [ "ch('signature').replace('default','f3')[0]" python ] }
	range	{ 0 1 }
	export	none
	unquoted
    }
    parm {
	name	"ptype"
	label	"ptype"
	type	string
	invisible
	default	{ [ "('float','vector','vector','vector4')[int(ch('signature').replace('default','f3')[1])-1]" python ] }
	range	{ 0 1 }
	export	none
	unquoted
    }
    parm {
	name	"rtype"
	label	"rtype"
	type	string
	invisible
	default	{ [ "{'d':'float','f':'float','v':'vector'}[ch('signature')[0]]" python ] }
	range	{ 0 1 }
	export	none
	unquoted
    }
    parm {
	name	"dim"
	label	"dim"
	type	integer
	invisible
	default	{ [ "int(ch('signature').replace('default','f3')[1])" python ] }
	range	{ 1! 4! }
	export	none
	parmtag	{ "script_unquoted" "1" }
    }
}
INDX              Contents       WS7   DialogScript   W  QGO0707070000010000000006660000000000000000010000001237543365600001300000000000TRAILER!!! # Dialog script for volumevopoutput automatically generated 03/18/13 13:32:12

{
    name	volumevopoutput
    script	volumevexoutput
    label	"Volume VOP Output"

    input	float	density	"Combined Value"
    inputflags	density	0
    signature	"Default Inputs"	default	{ float }

    outputoverrides	default
    {
    }

    help {
	""
    }

    parm {
	name	"sum"
	label	"sum"
	type	float
	invisible
	default	{ "0" }
	range	{ 0 10 }
	export	none
    }
}
INDX              DialogScript      R//*
 * PROPRIETARY INFORMATION.  This software is proprietary to
 * Side Effects Software Inc., and is not to be reproduced,
 * transmitted, or disclosed in any way without written permission.
 *
 * Produced by:
 *	Side Effects Software Inc
 *	477 Richmond Street West
 *	Toronto, Ontario
 *	Canada   M5V 3E7
 *	416-504-9876
 *
 */

#include <parameter.ds>

{
    name	"twoway"
    script	"twoway"
    label	"twoway"


    code {
	"#ifndef __vex"
	"  $result = ($condtype != 0 ? ($condition != 0 ? $input2 : $input1)"
	"                            : ($condition != 0 ? $input1 : $input2));"
	"#else"
        "  #if !strcmp($signature, \"b\")"
	"    float $scale = ($condtype != 0 ? ($condition != 0 ? 1 : 0)"
	"                                   : ($condition != 0 ? 0 : 1));"
	"    $result = (1-$scale)*$input1 + $scale*$input2;"
        "  #else"
	"    $result = ($condtype != 0 ? ($condition != 0 ? $input2 : $input1)"
	"                              : ($condition != 0 ? $input1 : $input2));"
	"  #endif"
        "#endif"
    }

    input	int	condition	"Condition Value (int)"
    input	float	input1		"Input 1"
    input	float	input2		"Input 2"
    output	float	result		"Output Value"

    signature	"Float"	 		default { }
    signature	"Integer"		i	{ int int int int }
    signature	"String"		s	{ int string string string }
    signature	"3D Vector" 		v 	{ int vector vector vector }
    signature	"3D Point" 		p 	{ int point point point }
    signature	"3D Normal" 		n 	{ int normal normal normal }
    signature	"RGB Color"	 	c 	{ int color color color }
    signature	"BSDF"	 		b 	{ int bsdf bsdf bsdf }
    signature	"4D Vector" 		v4 	{ int vector4 vector4 vector4 }
    signature	"3x3 Matrix" 		m3 	{ int matrix3 matrix3 matrix3 }
    signature	"4x4 Matrix" 		m 	{ int matrix matrix matrix }

    signature	"Uniform Float"	 	uf	{ ufloat ufloat ufloat ufloat }
    signature	"Uniform 3D Vector" 	uv 	{ ufloat uvector uvector uvector }
    signature	"Uniform 3D Point" 	up 	{ ufloat upoint upoint upoint }
    signature	"Uniform 3D Normal" 	un 	{ ufloat unormal unormal unormal }
    signature	"Uniform RGB Color"	uc 	{ ufloat ucolor ucolor ucolor }
    signature	"Uniform 4x4 Matrix" 	um 	{ ufloat umatrix umatrix umatrix }


    parm {
	name	condtype
	label	Condition
	type	int
	menu	{
	    "true"	"Use Input 1 If Condition True"
	    "false"	"Use Input 1 If Condition False"
	}
	default	{ 0 }
    }

    VOP_FLT_PARM(input2, "Input 2", 0)
    VOP_INT_PARM(input2_i, "Input 2", 0)
    VOP_STR_PARM(input2_s, "Input 2", "")
    VOP_VEC_PARM(input2_v, "Input 2", 0, 0, 0)
    VOP_VEC_PARM(input2_p, "Input 2", 0, 0, 0)
    VOP_VEC_PARM(input2_n, "Input 2", 0, 0, 0)
    VOP_CLR_PARM(input2_c, "Input 2", 1, 1, 1)
    VOP_VEC4_PARM(input2_v4, "Input 2", 0, 0, 0, 0)
    parm {
	name	input2_m3
	label	"Input 2"
	type	float
	size	9
	default	{ 1 0 0 0 1 0 0 0 1 }
    }
    parm {
	name	input2_m
	label	"Input 2"
	type	float
	size	16
	default	{ 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 }
    }

    VOP_FLT_PARM(input2_uf, "Input 2", 0)
    VOP_VEC_PARM(input2_uv, "Input 2", 0, 0, 0)
    VOP_VEC_PARM(input2_up, "Input 2", 0, 0, 0)
    VOP_VEC_PARM(input2_un, "Input 2", 0, 0, 0)
    VOP_VEC_PARM(input2_uc, "Input 2", 0, 0, 0)
    parm {
	name	input2_um
	label	"Input 2"
	type	float
	size	16
	default	{ 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 }
    }
    
    group { name "g0" obsolete 12.0 }
    group { name "g1" obsolete 12.0 }
    group { name "g2" obsolete 12.0 }
}

INDX              DialogScript      5R//*
 * PROPRIETARY INFORMATION.  This software is proprietary to
 * Side Effects Software Inc., and is not to be reproduced,
 * transmitted, or disclosed in any way without written permission.
 *
 * Produced by:
 *	Side Effects Software Inc
 *	477 Richmond Street West
 *	Toronto, Ontario
 *	Canada   M5V 3E7
 *	416-504-9876
 *
 */

#include <parameter.ds>

{
    name	"fit"
    script	"fit"
    label	"fit"

    outercode {
	INCLUDE_VOPLIB
    }

    code {
	"$shift = vop_fit($val, $srcmin, $srcmax, $destmin, $destmax);"
    }

    input	float	val	"Input Value"
    input	float	srcmin	"Minimum Value In Source Range"
    input	float	srcmax	"Maximum Value In Source Range"
    input	float	destmin	"Minimum Value In Destination Range"
    input	float	destmax	"Maximum Value In Destination Range"
    output	float	shift	"Shifted Value"

    signature	"Float" 		default { }
    signature	"3D Vector" 		v	{ vector vector vector vector vector vector }
    signature	"3D Point"		p	{ point point point point point point }
    signature	"3D Normal"		n	{ normal normal normal normal normal normal }
    signature	"RGB Color"		c	{ color color color color color color }
    signature	"4D Vector"		v4	{ vector4 vector4 vector4 vector4 vector4 vector4 }

    signature	"Uniform Float"		uf	{ ufloat ufloat ufloat ufloat ufloat ufloat }
    signature	"Uniform 3D Vector"	uv	{ uvector uvector uvector uvector uvector uvector }
    signature	"Uniform 3D Point"	up	{ upoint upoint upoint upoint upoint upoint }
    signature	"Uniform 3D Normal"	un	{ unormal unormal unormal unormal unormal unormal }
    signature	"Uniform RGB Color"	uc	{ ucolor ucolor ucolor ucolor ucolor ucolor }

    VOP_FLT_PARM(srcmin,	"Source Min", 0)
    VOP_FLT_PARM(srcmax,	"Source Max", 1)
    VOP_FLT_PARM(destmin,	"Destination Min", 0)
    VOP_FLT_PARM(destmax,	"Destination Max", 1)

    VOP_VEC_PARM(srcmin_v,	"Source Min", 0, 0, 0)
    VOP_VEC_PARM(srcmax_v,	"Source Max", 1, 1, 1)
    VOP_VEC_PARM(destmin_v,	"Destination Min", 0, 0, 0)
    VOP_VEC_PARM(destmax_v,	"Destination Max", 1, 1, 1)

    VOP_VEC_PARM(srcmin_p,	"Source Min", 0, 0, 0)
    VOP_VEC_PARM(srcmax_p,	"Source Max", 1, 1, 1)
    VOP_VEC_PARM(destmin_p,	"Destination Min", 0, 0, 0)
    VOP_VEC_PARM(destmax_p,	"Destination Max", 1, 1, 1)

    VOP_VEC_PARM(srcmin_n,	"Source Min", 0, 0, 0)
    VOP_VEC_PARM(srcmax_n,	"Source Max", 1, 1, 1)
    VOP_VEC_PARM(destmin_n,	"Destination Min", 0, 0, 0)
    VOP_VEC_PARM(destmax_n,	"Destination Max", 1, 1, 1)

    VOP_CLR_PARM(srcmin_c,	"Source Min", 0, 0, 0)
    VOP_CLR_PARM(srcmax_c,	"Source Max", 1, 1, 1)
    VOP_CLR_PARM(destmin_c,	"Destination Min", 0, 0, 0)
    VOP_CLR_PARM(destmax_c,	"Destination Max", 1, 1, 1)

    VOP_VEC4_PARM(srcmin_v4, "Source Min", 0, 0, 0, 0)
    VOP_VEC4_PARM(srcmax_v4, "Source Max", 1, 1, 1, 1)
    VOP_VEC4_PARM(destmin_v4, "Destination Min", 0, 0, 0, 0)
    VOP_VEC4_PARM(destmax_v4, "Destination Max", 1, 1, 1, 1)

    VOP_FLT_PARM(srcmin_uf,	"Source Min", 0)
    VOP_FLT_PARM(srcmax_uf,	"Source Max", 1)
    VOP_FLT_PARM(destmin_uf, "Destination Min", 0)
    VOP_FLT_PARM(destmax_uf, "Destination Max", 1)

    VOP_VEC_PARM(srcmin_uv,	"Source Min", 0, 0, 0)
    VOP_VEC_PARM(srcmax_uv,	"Source Max", 1, 1, 1)
    VOP_VEC_PARM(destmin_uv, "Destination Min", 0, 0, 0)
    VOP_VEC_PARM(destmax_uv, "Destination Max", 1, 1, 1)

    VOP_VEC_PARM(srcmin_up,	"Source Min", 0, 0, 0)
    VOP_VEC_PARM(srcmax_up,	"Source Max", 1, 1, 1)
    VOP_VEC_PARM(destmin_up, "Destination Min", 0, 0, 0)
    VOP_VEC_PARM(destmax_up, "Destination Max", 1, 1, 1)

    VOP_VEC_PARM(srcmin_un,	"Source Min", 0, 0, 0)
    VOP_VEC_PARM(srcmax_un,	"Source Max", 1, 1, 1)
    VOP_VEC_PARM(destmin_un, "Destination Min", 0, 0, 0)
    VOP_VEC_PARM(destmax_un, "Destination Max", 1, 1, 1)

    VOP_CLR_PARM(srcmin_uc,	"Source Min", 0, 0, 0)
    VOP_CLR_PARM(srcmax_uc,	"Source Max", 1, 1, 1)
    VOP_CLR_PARM(destmin_uc, "Destination Min", 0, 0, 0)
    VOP_CLR_PARM(destmax_uc, "Destination Max", 1, 1, 1)

    group { name "gs" obsolete 12.0 }
    group { name "gv" obsolete 12.0 }
    group { name "gv4" obsolete 12.0 }
    group { name "gu" obsolete 12.0 }
}
INDX              Contents       WS7   DialogScript   W  ^OE#0707070000010000000006660000000000000000010000001237543365700001300000000000TRAILER!!! # Dialog script for pyroColorVolume automatically generated 02/22/12 12:20:53

{
    name	pyroColorVolume
    script	pyroColorVolume
    label	"Pyro Color Volume"

    input	vector4	fld_dfltval	"FIELD: Default Field Value"
    input	float	fld_fit_srcmin	"FIELD: Fit: Source Min"
    input	float	fld_fit_srcmax	"FIELD: Fit: Source Max"
    input	float	fld_fit_tgtmin	"FIELD: Fit: Target Min"
    input	float	fld_fit_tgtmax	"FIELD: Fit: Target Max"
    input	float	fld_ramp_rngmin	"FIELD: Ramp: Range Min"
    input	float	fld_ramp_rngmax	"FIELD: Ramp: Range Max"
    input	string	fld_spacename	"FIELD: Ramp: Name Of Color Space (rgb,hsl,hsv,Lab,XYZ)"
    input	string	fld_gammaname	"FIELD: Ramp: Name Of Gamma Space (linear,srgb,custom)"
    input	float	fld_gammaval	"FIELD: Ramp: Custom Gamma Value"
    input	float	fld_lowlimit	"FIELD: Lower Limit"
    input	float	fld_highlimit	"FIELD: Upper Limit"
    input	float	fld_contour_width	"FIELD: Contour: Width"
    input	float	fld_contour_sharp	"FIELD: Contour: Sharpness"
    input	float	fld_sclip_start	"FIELD: SoftClip: Start Value"
    input	float	fld_sclip_suppress	"FIELD: SoftClip: Suppression"
    input	float	fld_amp	"FIELD: Final Amplitude"
    input	float	fld_padval	"FIELD: Promotion Padding Value"
    input	int	dr_restinterp	"NOISE: Rest Interpolation"
    input	float	pn_time	"NOISE: Time (P[3])"
    input	vector4	pn_freq	"NOISE: Frequency"
    input	vector4	pn_offset	"NOISE: Offset"
    input	vector4	pn_period	"NOISE: Period"
    input	int	pn_inv	"NOISE: Complement"
    input	int	pn_fold	"NOISE: Fold"
    input	float	pn_expon	"NOISE: Exponent"
    input	int	pn_dolwarp	"NOISE: Enable Lattice Warp"
    input	float	pn_disp	"NOISE: Lattice Warp"
    input	float	pn_dispfreq	"NOISE: Lattice Warp Freq"
    input	int	pn_dogwarp	"NOISE: Enable Gradient Warp"
    input	float	pn_gflow	"NOISE: Gradient Warp"
    input	float	pn_flowrot	"NOISE: Flow Rotation"
    input	int	pn_accuml	"NOISE: Accumulate Lattice Warp"
    input	int	pn_accumg	"NOISE: Accumulate Gradient Warp"
    input	float	pn_oct	"NOISE: Max Octaves"
    input	float	pn_lac	"NOISE: Lacunarity"
    input	float	pn_rough	"NOISE: Roughness"
    input	int	pn_docc	"NOISE: Output Correction"
    input	int	pn_cc_dobias	"NOISE: Do Bias"
    input	vector	pn_cc_bias	"NOISE: Bias"
    input	int	pn_cc_dogain	"NOISE: Do Gain"
    input	vector	pn_cc_gain	"NOISE: Gain"
    input	int	pn_cc_inv	"NOISE: Complement"
    input	int	pn_cc_dorng	"NOISE: Remap Range"
    input	vector	pn_cc_rnglo	"NOISE: Range Min"
    input	vector	pn_cc_rnghi	"NOISE: Range Max"
    input	vector	pn_cc_amp	"NOISE: Final Amplitude"
    input	int	cm_usecd	"COLOR MODEL: Use Point Color (Tint With Cd)"
    input	int	cm_cmodel	"COLOR MODEL: Color Model Index"
    input	color	cm_constcol	"COLOR MODEL: Constant Color"
    input	float	cm_rangemin	"COLOR MODEL: RAMP: Interval Min"
    input	float	cm_rangemax	"COLOR MODEL: RAMP: Interval Max"
    input	string	cm_spacename	"COLOR MODEL: Name Of Color Space (rgb,hsl,hsv,Lab,XYZ)"
    input	string	cm_gammaname	"COLOR MODEL: Name Of Gamma Space (linear,srgb,custom)"
    input	float	cm_gammaval	"COLOR MODEL: Custom Gamma Value"
    input	float	cm_temp	"COLOR MODEL: BB: Temperature"
    input	int	cm_dotm	"COLOR MODEL: BB: Enable Tone Mapping"
    input	float	cm_tm_adapt	"COLOR MODEL: BB: Tonemapping: Adaptation"
    input	float	cm_tm_burn	"COLOR MODEL: BB: Tonemapping: Burn"
    input	int	cm_cc_gamut	"COLOR MODEL: Gamut Mapping Type"
    input	int	cm_cc_dohrot	"COLOR MODEL: Enable Hue Rotation"
    input	float	cm_cc_hrot	"COLOR MODEL: Hue rotation"
    input	int	cm_cc_dobias	"COLOR MODEL: Enable Bias Correction"
    input	vector	cm_cc_bias	"COLOR MODEL: Bias Correction"
    input	int	cm_cc_dogain	"COLOR MODEL: Enable Gain Correction"
    input	vector	cm_cc_gain	"COLOR MODEL: Gain Correction"
    input	int	cm_cc_dogamma	"COLOR MODEL: Enable Gamma Correction"
    input	vector	cm_cc_gamma	"COLOR MODEL: Gamma Correction"
    input	int	cm_cc_docontrast	"COLOR MODEL: Enable Contrast Correction"
    input	vector	cm_cc_contrast	"COLOR MODEL: Contrast Correction"
    input	int	cm_cc_dosat	"COLOR MODEL: Enable Saturation Correction"
    input	float	cm_cc_sat	"COLOR MODEL: Saturation Correction"
    input	int	cm_cc_dovalue	"COLOR MODEL: Enable Brightness Correction"
    input	float	cm_cc_value	"COLOR MODEL: Brightness Correction"
    input	int	cm_cc_dotint	"COLOR MODEL: Enable Tint Correction"
    input	vector	cm_cc_tint	"COLOR MODEL: Tint Correction"
    input	float	fw	"SHARED: Override Filter Width"
    input	float	fscale_tx	"Filter Scale For Textures"
    input	float	fscale_noise	"Filter Scale for Noise"
    output	vector	color_final	color_final
    output	float	field_final	field_final
    output	float	field_shaped	field_shaped
    output	float	field_raw	field_raw
    output	float	noise	noise
    output	float	noise_average	noise_average
    output	float	noise_octaves	noise_octaves
    output	float	noise_offset	noise_offset
    inputflags	fld_dfltval	0
    inputflags	fld_fit_srcmin	0
    inputflags	fld_fit_srcmax	0
    inputflags	fld_fit_tgtmin	0
    inputflags	fld_fit_tgtmax	0
    inputflags	fld_ramp_rngmin	0
    inputflags	fld_ramp_rngmax	0
    inputflags	fld_spacename	0
    inputflags	fld_gammaname	0
    inputflags	fld_gammaval	0
    inputflags	fld_lowlimit	0
    inputflags	fld_highlimit	0
    inputflags	fld_contour_width	0
    inputflags	fld_contour_sharp	0
    inputflags	fld_sclip_start	0
    inputflags	fld_sclip_suppress	0
    inputflags	fld_amp	0
    inputflags	fld_padval	0
    inputflags	dr_restinterp	0
    inputflags	pn_time	0
    inputflags	pn_freq	0
    inputflags	pn_offset	0
    inputflags	pn_period	0
    inputflags	pn_inv	0
    inputflags	pn_fold	0
    inputflags	pn_expon	0
    inputflags	pn_dolwarp	0
    inputflags	pn_disp	0
    inputflags	pn_dispfreq	0
    inputflags	pn_dogwarp	0
    inputflags	pn_gflow	0
    inputflags	pn_flowrot	0
    inputflags	pn_accuml	0
    inputflags	pn_accumg	0
    inputflags	pn_oct	0
    inputflags	pn_lac	0
    inputflags	pn_rough	0
    inputflags	pn_docc	0
    inputflags	pn_cc_dobias	0
    inputflags	pn_cc_bias	0
    inputflags	pn_cc_dogain	0
    inputflags	pn_cc_gain	0
    inputflags	pn_cc_inv	0
    inputflags	pn_cc_dorng	0
    inputflags	pn_cc_rnglo	0
    inputflags	pn_cc_rnghi	0
    inputflags	pn_cc_amp	0
    inputflags	cm_usecd	0
    inputflags	cm_cmodel	0
    inputflags	cm_constcol	0
    inputflags	cm_rangemin	0
    inputflags	cm_rangemax	0
    inputflags	cm_spacename	0
    inputflags	cm_gammaname	0
    inputflags	cm_gammaval	0
    inputflags	cm_temp	0
    inputflags	cm_dotm	0
    inputflags	cm_tm_adapt	0
    inputflags	cm_tm_burn	0
    inputflags	cm_cc_gamut	0
    inputflags	cm_cc_dohrot	0
    inputflags	cm_cc_hrot	0
    inputflags	cm_cc_dobias	0
    inputflags	cm_cc_bias	0
    inputflags	cm_cc_dogain	0
    inputflags	cm_cc_gain	0
    inputflags	cm_cc_dogamma	0
    inputflags	cm_cc_gamma	0
    inputflags	cm_cc_docontrast	0
    inputflags	cm_cc_contrast	0
    inputflags	cm_cc_dosat	0
    inputflags	cm_cc_sat	0
    inputflags	cm_cc_dovalue	0
    inputflags	cm_cc_value	0
    inputflags	cm_cc_dotint	0
    inputflags	cm_cc_tint	0
    inputflags	fw	0
    inputflags	fscale_tx	0
    inputflags	fscale_noise	0
    signature	"Default Inputs"	default	{ vector4 float float float float float float string string float float float float float float float float float int float vector4 vector4 vector4 int int float int float float int float float int int float float float int int vector int vector int int vector vector vector int int color float float string string float float int float float int int float int vector int vector int vector int vector int float int float int vector float float float vector float float float float float float float }

    outputoverrides	default
    {
	___begin	auto
			(0,0,0)
	___begin	auto
			(0)
	___begin	auto
			(0)
	___begin	auto
			(0)
	___begin	auto
			(0)
	___begin	auto
			(0)
	___begin	auto
			(0)
	___begin	auto
			(0)
    }

    help {
	""
    }

    parm {
	name	"makeui"
	label	"Promote Interface"
	type	button
	nolabel
	default	{ "ui" }
	menu	{
	    [ "import pyro2" ]
	    [ "return pyro2.makeuimenu()" ]
	    language	python
	}
	range	{ 0 1 }
	export	none
	parmtag	{ "script_callback_language" "python" }
	parmtag	{ "script_callback" "hou.phm().uiCreate(kwargs)" }
	parmtag	{ "autoscope" "0000000000000000" }
    }
    group {
	name	"folder0"
	label	"VOP Parameters"

	parm {
	    name	"fld_name"
	    label	"Field Name"
	    type	string
	    joinnext
	    default	{ "density" }
	    range	{ 0 1 }
	    export	none
	    unquoted
	    parmtag	{ "script_callback_language" "python" }
	    parmtag	{ "script_callback" "" }
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"fld_intype"
	    label	"Field Type"
	    type	string
	    default	{ "float" }
	    disablewhen	"{ fld_name == \"\" }"
	    menu	{
		"float"	"Float"
		"vector"	"Vector"
		"vector4"	"Vector4"
	    }
	    range	{ 0 1 }
	    export	none
	    unquoted
	    parmtag	{ "script_callback_language" "python" }
	    parmtag	{ "script_callback" "hou.phm().updatemethod(kwargs)" }
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"fld_promote"
	    label	"Promote"
	    type	toggle
	    nolabel
	    joinnext
	    default	{ "off" }
	    disablewhen	"{ fld_name == \"\" }"
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "script_callback_language" "python" }
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"fld_outtype"
	    label	"Promote To Type"
	    type	string
	    joinnext
	    default	{ "float" }
	    disablewhen	"{ fld_name == \"\" } { fld_promote == 0 }"
	    menu	{
		"float"	"Float"
		"vector"	"Vector"
		"vector4"	"Vector4"
	    }
	    range	{ 0 1 }
	    export	none
	    unquoted
	    parmtag	{ "script_callback_language" "python" }
	    parmtag	{ "script_callback" "hou.phm().updatemethod(kwargs)" }
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"fld_method"
	    label	"Method"
	    type	string
	    nolabel
	    joinnext
	    default	{ "assign" }
	    disablewhen	"{ fld_name == \"\" } { fld_promote == 0 } { fld_doconvert == 0 }"
	    menu	{
		[ "hou.nodeType(hou.vopNodeTypeCategory(),'typeconvertimpl').hdaModule().methodmenu(hou.evalParm('fld_intype'),hou.evalParm('fld_outtype'))" ]
		language	python
	    }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"fld_padval"
	    label	"Pad Value"
	    type	float
	    nolabel
	    default	{ "0" }
	    disablewhen	"{ fld_name == \"\" } { fld_promote == 0 } { fld_method != padc }"
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"fld_doconvert"
	    label	"fld_doconvert"
	    type	integer
	    invisible
	    default	{ [ "evalParm('fld_promote') and evalParm('fld_intype')!=evalParm('fld_outtype')" python ] }
	    range	{ 0 10 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"fld_dfltval"
	    label	"Default Field Value"
	    type	vector4
	    size	4
	    default	{ "0" "0" "0" "0" }
	    disablewhen	"{ fld_name != \"\" }"
	    range	{ -1 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	group {
	    name	"folder"
	    label	"Color"

	    parm {
		name	"cm_usecd"
		label	"Use Point Color (Tint With Cd)"
		type	toggle
		default	{ "0" }
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"spacer"
		label	"spacer"
		type	label
		nolabel
		default	{ "" }
		range	{ 0 1 }
		export	none
	    }
	    group {
		name	"folder5"
		label	"Color Model"

		parm {
		    name	"spacer3"
		    label	"spacer"
		    type	label
		    nolabel
		    default	{ "" }
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"cm_cmodel"
		    label	"Color Model"
		    type	ordinal
		    default	{ "0" }
		    menu	{
			"0"	"Constant Color"
			"1"	"Ramp Lookup"
			"2"	"Blackbody"
		    }
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"spacer4"
		    label	"spacer"
		    type	label
		    nolabel
		    default	{ "" }
		    range	{ 0 1 }
		    export	none
		}
		group {
		    name	"folder2"
		    label	"Constant"

		    parm {
			name	"spacer2"
			label	"spacer"
			type	label
			nolabel
			default	{ "" }
			range	{ 0 1 }
			export	none
		    }
		    parm {
			name	"cm_constcol"
			label	"Constant"
			type	color
			size	3
			default	{ "1" "1" "1" }
			disablewhen	"{ cm_cmodel != 0 }"
			range	{ 0 1 }
			export	none
		    }
		}

		group {
		    name	"folder2_1"
		    label	"Ramp"

		    parm {
			name	"cm_rampparm"
			label	"Unique Ramp Name"
			type	string
			joinnext
			default	{ "rampparm_color" }
			disablewhen	"{ cm_cmodel != 1 }"
			range	{ 0 1 }
			export	none
			parmtag	{ "autoscope" "0000000000000000" }
		    }
		    parm {
			name	"cm_spacename"
			label	"Color Type"
			type	string
			default	{ "rgb" }
			disablewhen	"{ cm_cmodel != 1 }"
			menu	{
			    "rgb"	"RGB"
			    "hsv"	"HSV"
			    "lab"	"LAB"
			    "hsl"	"HSL"
			    "xyz"	"XYZ"
			}
			range	{ 0 1 }
			export	none
			parmtag	{ "autoscope" "0000000000000000" }
		    }
		    parm {
			name	"cm_gammaname"
			label	"Gamma"
			type	string
			joinnext
			default	{ "linear" }
			disablewhen	"{ cm_cmodel != 1 }"
			menu	{
			    "linear"	"Linear"
			    "srgb"	"sRGB"
			    "custom"	"Custom"
			}
			range	{ 0 1 }
			export	none
			parmtag	{ "autoscope" "0000000000000000" }
		    }
		    parm {
			name	"cm_gammaval"
			label	"Gamma Value"
			type	float
			nolabel
			default	{ "2.2" }
			disablewhen	"{ cm_cmodel != 1 } { cm_gammaname != custom }"
			range	{ 0.0001! 4 }
			export	none
			parmtag	{ "script_unquoted" "1" }
			parmtag	{ "autoscope" "0000000000000000" }
		    }
		    parm {
			name	"disablewhen2"
			label	"Disable When"
			type	string
			default	{ "" }
			disablewhen	"{ cm_cmodel != 1 }"
			range	{ 0 1 }
			export	none
			parmtag	{ "autoscope" "0000000000000000" }
		    }
		    parm {
			name	"callback2"
			label	"Callback Script"
			type	string
			default	{ "" }
			disablewhen	"{ cm_cmodel != 1 }"
			range	{ 0 1 }
			export	none
			parmtag	{ "autoscope" "0000000000000000" }
		    }
		    parm {
			name	"help2"
			label	"Help"
			type	string
			default	{ "" }
			disablewhen	"{ cm_cmodel != 1 }"
			range	{ 0 1 }
			export	none
			parmtag	{ "autoscope" "0000000000000000" }
		    }
		    parm {
			name	"spacer5"
			label	"spacer"
			type	label
			nolabel
			default	{ "" }
			range	{ 0 1 }
			export	none
		    }
		    parm {
			name	"cm_rangemin"
			label	"Ramp Interval"
			type	float
			joinnext
			default	{ "0" }
			disablewhen	"{ cm_cmodel != 1 }"
			range	{ 0 1 }
			export	none
			parmtag	{ "autoscope" "0000000000000000" }
		    }
		    parm {
			name	"cm_rangemax"
			label	"Max"
			type	float
			nolabel
			default	{ "1" }
			disablewhen	"{ cm_cmodel != 1 }"
			range	{ 0 1 }
			export	none
			parmtag	{ "autoscope" "0000000000000000" }
		    }
		    parm {
			name	"cm_lbt"
			label	"Ramp Boundaries"
			type	string
			joinnext
			default	{ "hold" }
			disablewhen	"{ cm_cmodel != 1 }"
			menu	{
			    "hold"	"Hold"
			    "cycle"	"Cycle"
			    "accum"	"Cycle-Accumulate"
			    "mirror"	"Mirror"
			    "slope"	"Slope"
			}
			range	{ 0 1 }
			export	none
			unquoted
			parmtag	{ "autoscope" "0000000000000000" }
		    }
		    parm {
			name	"cm_rbt"
			label	"Right"
			type	string
			nolabel
			default	{ "hold" }
			disablewhen	"{ cm_cmodel != 1 }"
			menu	{
			    "hold"	"Hold"
			    "cycle"	"Cycle"
			    "accum"	"Cycle-Accumulate"
			    "mirror"	"Mirror"
			    "slope"	"Slope"
			}
			range	{ 0 1 }
			export	none
			unquoted
			parmtag	{ "autoscope" "0000000000000000" }
		    }
		}

		group {
		    name	"folder2_2"
		    label	"Blackbody"

		    parm {
			name	"cm_temp"
			label	"Temperature (K)"
			type	float
			default	{ "5000" }
			disablewhen	"{ cm_cmodel != 2 }"
			range	{ 350! 15000 }
			export	none
		    }
		    parm {
			name	"spacer10"
			label	"spacer"
			type	label
			nolabel
			default	{ "" }
			range	{ 0 1 }
			export	none
		    }
		    parm {
			name	"cm_dotm"
			label	"Tone Mapping:"
			type	toggle
			joinnext
			default	{ "1" }
			disablewhen	"{ cm_cmodel != 2 }"
			range	{ 0 1 }
			export	none
		    }
		    parm {
			name	"spacer11"
			label	"spacer8"
			type	label
			nolabel
			default	{ "" }
			range	{ 0 1 }
			export	none
		    }
		    parm {
			name	"cm_tm_adapt"
			label	"Adaptation"
			type	float
			default	{ "0.18" }
			disablewhen	"{ cm_dotm == 0 } { cm_cmodel != 2 }"
			range	{ 0! 1 }
			export	none
		    }
		    parm {
			name	"cm_tm_burn"
			label	"Burn"
			type	float
			default	{ "0" }
			disablewhen	"{ cm_dotm == 0 } { cm_cmodel != 2 }"
			range	{ -2 2 }
			export	none
		    }
		    parm {
			name	"spacer6"
			label	"spacer"
			type	label
			nolabel
			default	{ "" }
			range	{ 0 1 }
			export	none
		    }
		}

	    }

	    group {
		name	"folder5_1"
		label	"Color Correction"

		parm {
		    name	"cm_cc_active"
		    label	"Color Correct"
		    type	toggle
		    default	{ "0" }
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "script_callback_language" "python" }
		}
		parm {
		    name	"cm_cc_gamut"
		    label	"Gamut Mapping"
		    type	ordinal
		    default	{ "3" }
		    disablewhen	"{ cm_cc_active == 0 }"
		    menu	{
			"0"	"None"
			"1"	"Clamp"
			"2"	"Absolute Colorimetry"
			"3"	"Relative Colorimetry"
		    }
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"cm_cc_dohrot"
		    label	"Do HRot"
		    type	toggle
		    nolabel
		    joinnext
		    default	{ "0" }
		    disablewhen	"{ cm_cc_active == 0 }"
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"cm_cc_hrot"
		    label	"Hue Rotation"
		    type	float
		    default	{ "0" }
		    disablewhen	"{ cm_cc_dohrot == 0 } { cm_cc_active == 0 }"
		    range	{ -1 1 }
		    export	none
		}
		parm {
		    name	"cm_cc_dobias"
		    label	"Do Bias"
		    type	toggle
		    nolabel
		    joinnext
		    default	{ "0" }
		    disablewhen	"{ cm_cc_active == 0 }"
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"cm_cc_bias"
		    label	"Bias"
		    type	float
		    size	3
		    default	{ "0.5" "0.5" "0.5" }
		    disablewhen	"{ cm_cc_dobias == 0 } { cm_cc_active == 0 }"
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"cm_cc_dogain"
		    label	"Do Gain"
		    type	toggle
		    nolabel
		    joinnext
		    default	{ "0" }
		    disablewhen	"{ cm_cc_active == 0 }"
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"cm_cc_gain"
		    label	"Gain"
		    type	float
		    size	3
		    default	{ "0.5" "0.5" "0.5" }
		    disablewhen	"{ cm_cc_dogain == 0 } { cm_cc_active == 0 }"
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"cm_cc_dogamma"
		    label	"Do Gamma"
		    type	toggle
		    nolabel
		    joinnext
		    default	{ "0" }
		    disablewhen	"{ cm_cc_active == 0 }"
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"cm_cc_gamma"
		    label	"Gamma"
		    type	float
		    size	3
		    default	{ "1" "1" "1" }
		    disablewhen	"{ cm_cc_dogamma == 0 } { cm_cc_active == 0 }"
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"cm_cc_docontrast"
		    label	"Do Contrast"
		    type	toggle
		    nolabel
		    joinnext
		    default	{ "0" }
		    disablewhen	"{ cm_cc_active == 0 }"
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"cm_cc_contrast"
		    label	"Contrast"
		    type	float
		    size	3
		    default	{ "1" "1" "1" }
		    disablewhen	"{ cm_cc_docontrast == 0 } { cm_cc_active == 0 }"
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"cm_cc_dosat"
		    label	"Do Saturation"
		    type	toggle
		    nolabel
		    joinnext
		    default	{ "0" }
		    disablewhen	"{ cm_cc_active == 0 }"
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"cm_cc_sat"
		    label	"Saturation"
		    type	float
		    default	{ "1" }
		    disablewhen	"{ cm_cc_dosat == 0 } { cm_cc_active == 0 }"
		    range	{ -2 2 }
		    export	none
		}
		parm {
		    name	"cm_cc_dovalue"
		    label	"Do Brightness"
		    type	toggle
		    nolabel
		    joinnext
		    default	{ "0" }
		    disablewhen	"{ cm_cc_active == 0 }"
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"cm_cc_value"
		    label	"Brightness"
		    type	float
		    default	{ "1" }
		    disablewhen	"{ cm_cc_dovalue == 0 } { cm_cc_active == 0 }"
		    range	{ 0 2 }
		    export	none
		}
		parm {
		    name	"cm_cc_dotint"
		    label	"Do Tint"
		    type	toggle
		    nolabel
		    joinnext
		    default	{ "0" }
		    disablewhen	"{ cm_cc_active == 0 }"
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"cm_cc_tint"
		    label	"Tint"
		    type	color
		    size	3
		    default	{ "1" "1" "1" }
		    disablewhen	"{ cm_cc_dotint == 0 } { cm_cc_active == 0 }"
		    range	{ 0 1 }
		    export	none
		}
	    }

	}

	group {
	    name	"folder_1"
	    label	"Field Shape"

	    parm {
		name	"fld_dofit"
		label	"Fit to Range (Unclamped)"
		type	toggle
		joinnext
		default	{ "off" }
		disablewhen	"{ fld_name == \"\" }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"labelparm2"
		label	"forceleft"
		type	label
		nolabel
		default	{ "" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"fld_fit_srcmin"
		label	"Source Range"
		type	float
		joinnext
		default	{ "0" }
		disablewhen	"{ fld_name == \"\" } { fld_dofit == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"fld_fit_srcmax"
		label	"Source Max"
		type	float
		nolabel
		default	{ "1" }
		disablewhen	"{ fld_name == \"\" } { fld_dofit == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"fld_fit_tgtmin"
		label	"Target Range"
		type	float
		joinnext
		default	{ "0" }
		disablewhen	"{ fld_name == \"\" } { fld_dofit == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"fld_fit_tgtmax"
		label	"Target Max"
		type	float
		nolabel
		default	{ "1" }
		disablewhen	"{ fld_name == \"\" } { fld_dofit == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"labelparm4"
		label	"spacer"
		type	label
		invisible
		nolabel
		default	{ "" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"fld_doramp"
		label	"Use Lookup Ramp"
		type	toggle
		joinnext
		default	{ "off" }
		disablewhen	"{ fld_name == \"\" }"
		range	{ 0 1 }
		export	none
		parmtag	{ "script_callback_language" "python" }
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"labelparm13"
		label	"forceleft"
		type	label
		nolabel
		default	{ "" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"fld_rampparm"
		label	"Unique Ramp Name"
		type	string
		default	{ "rampparm_field" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"fld_disablewhen"
		label	"Disable When"
		type	string
		default	{ [ "'{ %sfld_name%s \"\" } { %sfld_doramp%s 0 }'%(ch('ui_prefix'),ch('ui_postfix'),ch('ui_prefix'),ch('ui_postfix'))" python ] }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"fld_callback"
		label	"Callback Script"
		type	string
		default	{ "" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"fld_help"
		label	"Help"
		type	string
		default	{ "" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"labelparm19"
		label	"spacer"
		type	label
		nolabel
		default	{ "" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"fld_ramptype"
		label	"Ramp Type"
		type	ordinal
		joinnext
		default	{ "flt" }
		disablewhen	"{ fld_name == \"\" } { fld_doramp == 0 }"
		menu	{
		    "flt"	"Float Spline"
		    "rgb"	"Color Ramp"
		}
		range	{ 0 1 }
		export	none
		parmtag	{ "script_callback_language" "python" }
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"fld_spacename"
		label	"Space"
		type	string
		nolabel
		default	{ "rgb" }
		disablewhen	"{ fld_name == \"\" } { fld_doramp == 0 } { fld_ramptype == flt }"
		menu	{
		    "rgb"	"RGB"
		    "hsv"	"HSV"
		    "lab"	"LAB"
		    "hsl"	"HSL"
		    "xyz"	"XYZ"
		}
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"fld_gammaname"
		label	"Gamma"
		type	string
		joinnext
		default	{ "linear" }
		disablewhen	"{ fld_name == \"\" } { fld_doramp == 0 }"
		menu	{
		    "linear"	"Linear"
		    "srgb"	"sRGB"
		    "custom"	"Custom"
		}
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"fld_gammaval"
		label	"Gamma Value"
		type	float
		nolabel
		default	{ "2.2" }
		disablewhen	"{ fld_name == \"\" } { fld_doramp == 0 } { fld_gammaname != custom }"
		range	{ 0.0001! 4 }
		export	none
		parmtag	{ "script_unquoted" "1" }
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"fld_ramp_rngmin"
		label	"Ramp Interval"
		type	float
		joinnext
		default	{ "0" }
		disablewhen	"{ fld_name == \"\" } { fld_doramp == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"fld_ramp_rngmax"
		label	"Ramp Interval Max"
		type	float
		nolabel
		default	{ "1" }
		disablewhen	"{ fld_name == \"\" } { fld_doramp == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"fld_lbt"
		label	"Ramp Boundaries"
		type	string
		joinnext
		default	{ "hold" }
		disablewhen	"{ fld_name == \"\" } { fld_doramp == 0 }"
		menu	{
		    "hold"	"Hold"
		    "cycle"	"Cycle"
		    "accum"	"Cycle-Accumulate"
		    "mirror"	"Mirror"
		    "slope"	"Slope"
		}
		range	{ 0 1 }
		export	none
		unquoted
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"fld_rbt"
		label	"Right"
		type	string
		nolabel
		default	{ "hold" }
		disablewhen	"{ fld_name == \"\" } { fld_doramp == 0 }"
		menu	{
		    "hold"	"Hold"
		    "cycle"	"Cycle"
		    "accum"	"Cycle-Accumulate"
		    "mirror"	"Mirror"
		    "slope"	"Slope"
		}
		range	{ 0 1 }
		export	none
		unquoted
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"labelparm15"
		label	"spacer"
		type	label
		nolabel
		default	{ "" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"fld_docontour"
		label	"Contour"
		type	toggle
		nolabel
		joinnext
		default	{ "off" }
		disablewhen	"{ fld_name == \"\" }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"fld_contour_width"
		label	"Contour Width"
		type	float
		joinnext
		default	{ "0.02" }
		disablewhen	"{ fld_name == \"\" } { fld_docontour == 0 }"
		range	{ 0! 0.1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"fld_contour_sharp"
		label	"Sharpness"
		type	float
		default	{ "4" }
		disablewhen	"{ fld_name == \"\" } { fld_docontour == 0 }"
		range	{ 0! 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"fld_dosclip"
		label	"Soft Clip"
		type	toggle
		nolabel
		joinnext
		default	{ "off" }
		disablewhen	"{ fld_name == \"\" }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"fld_sclip_start"
		label	"Soft Clip Start"
		type	float
		joinnext
		default	{ "0.8" }
		disablewhen	"{ fld_name == \"\" } { fld_dosclip == 0 }"
		range	{ 0! 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"fld_sclip_suppress"
		label	"  Suppress"
		type	float
		default	{ "1" }
		disablewhen	"{ fld_name == \"\" } { fld_dosclip == 0 }"
		range	{ 0! 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"labelparm16"
		label	"spacer"
		type	label
		nolabel
		default	{ "" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"fld_dolowlimit"
		label	"Clamp at Lower Limit"
		type	toggle
		nolabel
		joinnext
		default	{ "off" }
		disablewhen	"{ fld_name == \"\" }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"fld_lowlimit"
		label	"Clamp To Min"
		type	float
		default	{ "0" }
		disablewhen	"{ fld_name == \"\" } { fld_dolowlimit == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"fld_dohighlimit"
		label	"Clamp at Upper Limit"
		type	toggle
		nolabel
		joinnext
		default	{ "off" }
		disablewhen	"{ fld_name == \"\" }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"fld_highlimit"
		label	"Clamp To Max"
		type	float
		default	{ "1" }
		disablewhen	"{ fld_name == \"\" } { fld_dohighlimit == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"labelparm17"
		label	"spacer"
		type	label
		nolabel
		default	{ "" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"fld_amp"
		label	"Final Amplitude"
		type	float
		default	{ "1" }
		disablewhen	"{ fld_name == \"\" }"
		range	{ 0 2 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	}

	group {
	    name	"folder_2"
	    label	"Field Noise"

	    parm {
		name	"pn_active"
		label	"Active"
		type	toggle
		default	{ "0" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"pn_ntype"
		label	"Noise Output Type"
		type	ordinal
		joinnext
		default	{ "default" }
		disablewhen	"{ pn_active == 0 }"
		menu	{
		    [ "d3 = (\"default\", \"Float\", \"v3\", \"Vector\")" ]
		    [ "d4 = (\"f4\", \"Float\", \"v4\", \"Vector\")" ]
		    [ "return (d3,d4)[kwargs[\"node\"].evalParm(\"pn_dim4\")]" ]
		    language	python
		}
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"pn_dim4"
		label	"Space"
		type	integer
		joinnext
		default	{ "0" }
		disablewhen	"{ pn_active == 0 }"
		menu	{
		    "0"	"3D"
		    "1"	"4D"
		}
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"pn_time"
		label	"Time"
		type	float
		default	{ "0" }
		disablewhen	"{ pn_active == 0 } { pn_dim4 == 0 }"
		range	{ 0 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"pn_fieldop"
		label	"Field Operation"
		type	string
		default	{ "add" }
		disablewhen	"{ pn_active == 0 }"
		menu	{
		    "add"	"Offset (Field + Noise)"
		    "mult"	"Scale (Field * Noise)"
		}
		range	{ 0 1 }
		export	none
		unquoted
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"pn_freq"
		label	"Frequency"
		type	vector4
		size	4
		default	{ "1" "1" "1" "1" }
		disablewhen	"{ pn_active == 0 }"
		range	{ -1 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"pn_offset"
		label	"Offset"
		type	vector4
		size	4
		default	{ "0" "0" "0" "0" }
		disablewhen	"{ pn_active == 0 }"
		range	{ -1 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"pn_period"
		label	"Period"
		type	vector4
		size	4
		default	{ "1" "1" "1" "1" }
		disablewhen	"{ pn_active == 0 } { pn_basis != pperlin pn_basis != pflow }"
		range	{ 0! 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"labelparm3"
		label	"spacer"
		type	label
		nolabel
		default	{ "" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    group {
		name	"folder1"
		label	"Construction"

		parm {
		    name	"pn_basis"
		    label	"Noise Type"
		    type	string
		    default	{ "simplex" }
		    disablewhen	"{ pn_active == 0 }"
		    menu	{
			"sine"	"Sinusoid"
			"perlin"	"Perlin"
			"pperlin"	"Periodic Perlin"
			"simplex"	"Simplex (Improved Perlin)"
			"sparse"	"Sparse Convolution"
			"flow"	"Flow"
			"pflow"	"Periodic Flow"
			"worleyFA"	"Worley (cellular) F1"
			"worleyFB"	"Worley (cellular) F2-F1"
			"alligator"	"Alligator"
		    }
		    range	{ 0 1 }
		    export	none
		    unquoted
		    parmtag	{ "autoscope" "0000000000000000" }
		}
		parm {
		    name	"pn_fold"
		    label	"Fold"
		    type	toggle
		    default	{ "off" }
		    disablewhen	"{ pn_active == 0 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		}
		parm {
		    name	"pn_inv"
		    label	"Complement"
		    type	toggle
		    default	{ "off" }
		    disablewhen	"{ pn_name == \"\" } { pn_active == 0 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		}
		parm {
		    name	"pn_expon"
		    label	"Exponent"
		    type	float
		    default	{ "1" }
		    disablewhen	"{ pn_active == 0 }"
		    range	{ 0! 2 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		}
		parm {
		    name	"pn_dolwarp"
		    label	"Enable Lattice Warp"
		    type	toggle
		    nolabel
		    joinnext
		    default	{ "0" }
		    disablewhen	"{ pn_active == 0 }"
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"pn_disp"
		    label	"Lattice Warp"
		    type	float
		    joinnext
		    default	{ "0" }
		    disablewhen	"{ pn_active == 0 } { pn_dolwarp == 0 }"
		    range	{ -0.5 0.5 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		}
		parm {
		    name	"pn_dispfreq"
		    label	"Freq"
		    type	float
		    default	{ "1" }
		    disablewhen	"{ pn_active == 0 } { pn_dolwarp == 0 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		}
		parm {
		    name	"pn_dogwarp"
		    label	"Enable Gradient Warp"
		    type	toggle
		    nolabel
		    joinnext
		    default	{ "0" }
		    disablewhen	"{ pn_active == 0 } { pn_dogwarp == 0 }"
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"pn_gflow"
		    label	"Gradient Warp"
		    type	float
		    default	{ "0" }
		    disablewhen	"{ pn_active == 0 } { pn_dogwarp == 0 }"
		    range	{ -0.5 0.5 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		}
		parm {
		    name	"pn_flowrot"
		    label	"Flow Rotation"
		    type	float
		    default	{ "0" }
		    disablewhen	"{ pn_active == 0 } { pn_basis != flowrot pn_basis != pflow }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		}
		parm {
		    name	"pn_fractal"
		    label	"Fractal Type"
		    type	string
		    default	{ "none" }
		    disablewhen	"{ pn_active == 0 }"
		    menu	{
			"none"	"None"
			"fBm"	"Standard (fBm)"
			"mfT"	"Terrain"
			"hmfT"	"Hybrid Terrain"
		    }
		    range	{ 0 1 }
		    export	none
		    unquoted
		    parmtag	{ "autoscope" "0000000000000000" }
		}
		parm {
		    name	"pn_accuml"
		    label	"Accumulate Lattice Warp"
		    type	toggle
		    default	{ "off" }
		    disablewhen	"{ pn_active == 0 } { pn_fractal == none }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		}
		parm {
		    name	"pn_accumg"
		    label	"Accumulate Gradient Warp"
		    type	toggle
		    default	{ "off" }
		    disablewhen	"{ pn_active == 0 } { pn_fractal == none }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		}
		parm {
		    name	"pn_oct"
		    label	"Max Octaves"
		    type	float
		    default	{ "8" }
		    disablewhen	"{ pn_active == 0 } { pn_fractal == none }"
		    range	{ 0! 16 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		}
		parm {
		    name	"pn_lac"
		    label	"Lacunarity"
		    type	float
		    default	{ "2.01234" }
		    disablewhen	"{ pn_active == 0 } { pn_fractal == none }"
		    range	{ 0 4 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		}
		parm {
		    name	"pn_rough"
		    label	"Roughness"
		    type	float
		    default	{ "0.5" }
		    disablewhen	"{ pn_active == 0 } { pn_fractal == none }"
		    range	{ 0! 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		}
	    }

	    group {
		name	"folder1_1"
		label	"Output"

		parm {
		    name	"pn_docc"
		    label	"Output Correction"
		    type	toggle
		    default	{ "off" }
		    disablewhen	"{ pn_active == 0 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		}
		parm {
		    name	"labelparm7"
		    label	"spacer"
		    type	label
		    nolabel
		    default	{ "" }
		    disablewhen	"{ pn_active == 0 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		}
		parm {
		    name	"pn_cc_dobias"
		    label	"Do Bias"
		    type	toggle
		    nolabel
		    joinnext
		    default	{ "off" }
		    disablewhen	"{ pn_active == 0 } { pn_docc == 0 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		}
		parm {
		    name	"pn_cc_bias"
		    label	"Bias"
		    type	vector
		    size	3
		    default	{ "0.5" "0.5" "0.5" }
		    disablewhen	"{ pn_active == 0 } { pn_docc == 0 } { pn_cc_dobias == 0 }"
		    range	{ 0! 1! }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		}
		parm {
		    name	"pn_cc_dogain"
		    label	"Do Gain"
		    type	toggle
		    nolabel
		    joinnext
		    default	{ "off" }
		    disablewhen	"{ pn_active == 0 } { pn_docc == 0 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		}
		parm {
		    name	"pn_cc_gain"
		    label	"Gain"
		    type	vector
		    size	3
		    default	{ "0.5" "0.5" "0.5" }
		    disablewhen	"{ pn_active == 0 } { pn_docc == 0 } { pn_cc_dogain == 0 }"
		    range	{ 0! 1! }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		}
		parm {
		    name	"pn_cc_inv"
		    label	"Complement"
		    type	toggle
		    default	{ "off" }
		    disablewhen	"{ pn_active == 0 } { pn_docc == 0 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		}
		parm {
		    name	"labelparm5"
		    label	"spacer"
		    type	label
		    nolabel
		    default	{ "" }
		    disablewhen	"{ pn_active == 0 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		}
		parm {
		    name	"pn_cc_dorng"
		    label	"Output Range (Clamped)"
		    type	toggle
		    default	{ "off" }
		    disablewhen	"{ pn_active == 0 } { pn_docc == 0 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		}
		parm {
		    name	"pn_cc_rnglo"
		    label	"New Minimum"
		    type	vector
		    size	3
		    default	{ "0" "0" "0" }
		    disablewhen	"{ pn_active == 0 } { pn_docc == 0 } { pn_cc_dorng == 0 }"
		    range	{ -1 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		}
		parm {
		    name	"pn_cc_rnghi"
		    label	"New Maximum"
		    type	vector
		    size	3
		    default	{ "1" "1" "1" }
		    disablewhen	"{ pn_active == 0 } { pn_docc == 0 } { pn_cc_dorng == 0 }"
		    range	{ 0 2 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		}
		parm {
		    name	"labelparm6"
		    label	"spacer"
		    type	label
		    nolabel
		    default	{ "" }
		    disablewhen	"{ pn_active == 0 }"
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		}
		parm {
		    name	"pn_cc_amp"
		    label	"Final Amplitude"
		    type	vector
		    size	3
		    default	{ "1" "1" "1" }
		    disablewhen	"{ pn_active == 0 } { pn_docc == 0 }"
		    range	{ 0 2 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		}
	    }

	    group {
		name	"folder1_2"
		label	"Rest Position"

		group {
		    name	"folder4"
		    label	"Fields"

		    parm {
			name	"labelparm"
			label	"spacer"
			type	label
			nolabel
			default	{ "" }
			range	{ 0 1 }
			export	none
			parmtag	{ "autoscope" "0000000000000000" }
		    }
		    parm {
			name	"dr_restinterp"
			label	"Ratio Interpolation"
			type	ordinal
			default	{ "0" }
			menu	{
			    "0"	"Unmodified (Linear)"
			    "1"	"Cubic"
			    "2"	"Cosine"
			}
			range	{ 0 1 }
			export	none
			parmtag	{ "autoscope" "0000000000000000" }
		    }
		    parm {
			name	"labelparm8"
			label	"spacer"
			type	label
			nolabel
			default	{ "" }
			range	{ 0 1 }
			export	none
			parmtag	{ "autoscope" "0000000000000000" }
		    }
		    parm {
			name	"dr_rest_name"
			label	"Rest Position 1"
			type	string
			joinnext
			default	{ "rest" }
			range	{ 0 1 }
			export	none
			parmtag	{ "autoscope" "0000000000000000" }
		    }
		    parm {
			name	"dr_rest_intype"
			label	"Type"
			type	string
			default	{ "vector" }
			disablewhen	"{ dr_rest_name == \"\" }"
			menu	{
			    "float"	"Float"
			    "vector"	"Vector"
			    "vector4"	"Vector4"
			}
			range	{ 0 1 }
			export	none
			unquoted
			parmtag	{ "script_callback_language" "python" }
			parmtag	{ "autoscope" "0000000000000000" }
		    }
		    parm {
			name	"dr_rest_method"
			label	"Conversion to Vector"
			type	string
			joinnext
			default	{ "assign" }
			disablewhen	"{ dr_rest_name == \"\" } { dr_rest_intype == vector }"
			menu	{
			    [ "opmenu -l DualRest rest_method" ]
			}
			range	{ 0 1 }
			export	none
			parmtag	{ "autoscope" "0000000000000000" }
		    }
		    parm {
			name	"dr_rest_padval"
			label	"Padding Constant"
			type	float
			nolabel
			default	{ "0" }
			disablewhen	"{ dr_rest_name == \"\" } { dr_rest_method != padc }"
			range	{ 0 1 }
			export	none
			parmtag	{ "autoscope" "0000000000000000" }
		    }
		    parm {
			name	"dr_rest_ratio_name"
			label	"Rest1 Ratio"
			type	string
			joinnext
			default	{ "rest_ratio" }
			range	{ 0 1 }
			export	none
			parmtag	{ "autoscope" "0000000000000000" }
		    }
		    parm {
			name	"dr_rest_ratio_intype"
			label	"Type"
			type	string
			default	{ "float" }
			disablewhen	"{ dr_rest_ratio_name == \"\" }"
			menu	{
			    "float"	"Float"
			    "vector"	"Vector"
			    "vector4"	"Vector4"
			}
			range	{ 0 1 }
			export	none
			unquoted
			parmtag	{ "script_callback_language" "python" }
			parmtag	{ "autoscope" "0000000000000000" }
		    }
		    parm {
			name	"dr_rest_ratio_method"
			label	"Conversion to Float"
			type	string
			default	{ "assign" }
			disablewhen	"{ dr_rest_ratio_name == \"\" } { dr_rest_ratio_intype == float }"
			menu	{
			    [ "opmenu -l DualRest rest_ratio_method" ]
			}
			range	{ 0 1 }
			export	none
			parmtag	{ "autoscope" "0000000000000000" }
		    }
		    parm {
			name	"dr_rest2_name"
			label	"Rest Position 2"
			type	string
			joinnext
			default	{ "rest2" }
			range	{ 0 1 }
			export	none
			parmtag	{ "autoscope" "0000000000000000" }
		    }
		    parm {
			name	"dr_rest2_intype"
			label	"Type"
			type	string
			default	{ "vector" }
			disablewhen	"{ dr_rest2_name == \"\" }"
			menu	{
			    "float"	"Float"
			    "vector"	"Vector"
			    "vector4"	"Vector4"
			}
			range	{ 0 1 }
			export	none
			unquoted
			parmtag	{ "script_callback_language" "python" }
			parmtag	{ "autoscope" "0000000000000000" }
		    }
		    parm {
			name	"dr_rest2_method"
			label	"Conversion to Vector"
			type	string
			joinnext
			default	{ "assign" }
			disablewhen	"{ dr_rest2_name == \"\" } { dr_rest2_intype == vector }"
			menu	{
			    [ "opmenu -l DualRest rest2_method" ]
			}
			range	{ 0 1 }
			export	none
			parmtag	{ "autoscope" "0000000000000000" }
		    }
		    parm {
			name	"dr_rest2_padval"
			label	"Padding Constant"
			type	float
			nolabel
			default	{ "0" }
			disablewhen	"{ dr_rest2_name == \"\" } { dr_rest2_method != padc }"
			range	{ 0 1 }
			export	none
			parmtag	{ "autoscope" "0000000000000000" }
		    }
		    parm {
			name	"dr_rest2_ratio_name"
			label	"Rest2 Ratio"
			type	string
			joinnext
			default	{ "rest2_ratio" }
			range	{ 0 1 }
			export	none
			parmtag	{ "autoscope" "0000000000000000" }
		    }
		    parm {
			name	"dr_rest2_ratio_intype"
			label	"Type"
			type	string
			default	{ "float" }
			disablewhen	"{ dr_rest2_ratio_name == \"\" }"
			menu	{
			    "float"	"Float"
			    "vector"	"Vector"
			    "vector4"	"Vector4"
			}
			range	{ 0 1 }
			export	none
			unquoted
			parmtag	{ "script_callback_language" "python" }
			parmtag	{ "autoscope" "0000000000000000" }
		    }
		    parm {
			name	"dr_rest2_ratio_method"
			label	"Conversion to Float"
			type	string
			default	{ "assign" }
			disablewhen	"{ dr_rest2_ratio_name == \"\" } { dr_rest2_ratio_intype == float }"
			menu	{
			    [ "opmenu -l DualRest rest2_ratio_method" ]
			}
			range	{ 0 1 }
			export	none
			parmtag	{ "autoscope" "0000000000000000" }
		    }
		}

		group {
		    name	"folder4_1"
		    label	"Fallbacks"

		    parm {
			name	"labelparm9"
			label	"spacer"
			type	label
			nolabel
			default	{ "" }
			range	{ 0 1 }
			export	none
			parmtag	{ "autoscope" "0000000000000000" }
		    }
		    parm {
			name	"labelparm10"
			label	"fallback_label"
			type	label
			nolabel
			default	{ "Fallback Rest Position Upon Failure (VEX):" }
			range	{ 0 1 }
			export	none
			parmtag	{ "autoscope" "0000000000000000" }
		    }
		    parm {
			name	"labelparm11"
			label	"spacer"
			type	label
			nolabel
			default	{ "" }
			range	{ 0 1 }
			export	none
			parmtag	{ "autoscope" "0000000000000000" }
		    }
		    parm {
			name	"dr_fail_shading"
			label	"SHADING Contexts"
			type	string
			default	{ "ptransform(\"space:object\",P)" }
			range	{ 0 1 }
			export	none
			unquoted
			parmtag	{ "autoscope" "0000000000000000" }
		    }
		    parm {
			name	"dr_fail_cop"
			label	"COP|COP2 Contexts"
			type	string
			default	{ "set(X,Y,0)" }
			range	{ 0 1 }
			export	none
			unquoted
			parmtag	{ "autoscope" "0000000000000000" }
		    }
		    parm {
			name	"dr_fail_sop"
			label	"SOP|POP Contexts"
			type	string
			default	{ "P" }
			range	{ 0 1 }
			export	none
			unquoted
			parmtag	{ "autoscope" "0000000000000000" }
		    }
		    parm {
			name	"dr_fail_chop"
			label	"CHOP Context"
			type	string
			default	{ "set((float)I/SR,V,0)" }
			range	{ 0 1 }
			export	none
			unquoted
			parmtag	{ "autoscope" "0000000000000000" }
		    }
		    parm {
			name	"dr_fail_cvex"
			label	"CVEX Context"
			type	string
			default	{ "0" }
			range	{ 0 1 }
			export	none
			unquoted
			parmtag	{ "autoscope" "0000000000000000" }
		    }
		    parm {
			name	"dr_fail_fail"
			label	"Unknown Context"
			type	string
			default	{ "0" }
			range	{ 0 1 }
			export	none
			unquoted
			parmtag	{ "autoscope" "0000000000000000" }
		    }
		}

	    }

	}

	group {
	    name	"folder_3"
	    label	"Filter"

	    parm {
		name	"labelparm12"
		label	"Texture Filter"
		type	label
		default	{ "" }
		disablewhen	"{ pn_active == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"sepparm6"
		label	"Separator"
		type	separator
		default	{ }
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"ftype"
		label	"Filter Type"
		type	string
		joinnext
		default	{ "point" }
		menu	{
		    "point"	"Point"
		    "box"	"Box"
		    "gauss"	"Gaussian"
		}
		range	{ 0 1 }
		export	none
		unquoted
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"fscale_tx"
		label	"Scale"
		type	float
		default	{ "1" }
		disablewhen	"{ ftype == point }"
		range	{ 0 2 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"labelparm18"
		label	"Noise Filter"
		type	label
		default	{ "" }
		disablewhen	"{ pn_active == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    parm {
		name	"sepparm7"
		label	"Separator"
		type	separator
		default	{ }
		range	{ 0 1 }
		export	none
	    }
	    parm {
		name	"fscale_noise"
		label	"Filter Scale"
		type	float
		default	{ "1" }
		range	{ 0 2 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	}

    }

    group {
	name	"folder0_1"
	label	"UI Promotion"

	parm {
	    name	"ui_prefix"
	    label	"Parameter Prefix"
	    type	string
	    joinnext
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"ui_postfix"
	    label	"Postfix"
	    type	string
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"ui_infolder"
	    label	"ui_infolder"
	    type	toggle
	    nolabel
	    joinnext
	    default	{ "1" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"ui_foldername"
	    label	"Create In Folder"
	    type	string
	    default	{ [ "node('.').creator().relativePathTo(node('.')).replace('/','_')" python ] }
	    disablewhen	"{ ui_infolder == 0 }"
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"spacer8"
	    label	"spacer"
	    type	label
	    nolabel
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"title"
	    label	"Field Settings"
	    type	label
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"sepparm4"
	    label	"Separator"
	    type	separator
	    default	{ }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"uif_forcefieldname"
	    label	"Disallow Empty String in Field Name"
	    type	toggle
	    joinnext
	    default	{ "0" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"lalign4"
	    label	"lalign"
	    type	label
	    nolabel
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"spacer9"
	    label	"spacer"
	    type	label
	    nolabel
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"title2"
	    label	"Noise Settings"
	    type	label
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"sepparm5"
	    label	"Separator"
	    type	separator
	    default	{ }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"uin_initactive"
	    label	"Default Active State"
	    type	toggle
	    joinnext
	    default	{ "0" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"lalign3"
	    label	"lalign"
	    type	label
	    nolabel
	    default	{ "" }
	    disablewhen	"{ pn_active == 0 }"
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"uin_initsigned"
	    label	"Initialize As Signed Noise"
	    type	toggle
	    joinnext
	    default	{ "1" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"leftalign3"
	    label	"leftalign"
	    type	label
	    nolabel
	    default	{ "" }
	    disablewhen	"{ pn_active == 0 }"
	    range	{ 0 1 }
	    export	none
	}
    }

    parm {
	name	"huesrc"
	label	"huesrc"
	type	integer
	invisible
	default	{ [ "int(evalParm('fld_name')=='')" python ] }
	range	{ 0 10 }
	export	none
    }
}
INDX              DialogScript      R//*
 * PROPRIETARY INFORMATION.  This software is proprietary to
 * Side Effects Software Inc., and is not to be reproduced,
 * transmitted, or disclosed in any way without written permission.
 *
 * Produced by:
 *	Side Effects Software Inc
 *	477 Richmond Street West
 *	Toronto, Ontario
 *	Canada   M5V 3E7
 *	416-504-9876
 *
 */

{
    name	"addconst"
    script	"addconst"
    label	"addconst"


    code {
	"$added = $val + $addconst;"
    }

    input	int	val		"Input Value"
    output	int	added		"Input Value + Constant"
    signature	"Integer"		default	{ }
    signature	"Float"			f	{ float float }
    signature	"3D Vector"		v	{ vector vector }
    signature	"3D Point"		p	{ point point }
    signature	"3D Normal"		n	{ normal normal }
    signature	"4D Vector"		v4	{ vector4 vector4 }
    signature	"RGB Color"		c	{ color color }
    signature	"Uniform Float"		uf	{ ufloat ufloat }
    signature	"Uniform 3D Vector"	uv	{ uvector uvector }
    signature	"Uniform 3D Point"	up	{ upoint upoint }
    signature	"Uniform 3D Normal"	un	{ unormal unormal }
    signature	"Uniform RGB Color"	uc	{ ucolor ucolor }

    parm {
	name	addconst
	label	"Add"
	type	float
	size	1
	default	{ 1.0 }
    }
}
INDX              Contents       WS7   DialogScript   W  6nR0707070000010000000006660000000000000000010000001237543365600001300000000000TRAILER!!! # Dialog script for dopio automatically generated 11/19/13 11:28:51

{
    name	dopio
    script	dopio
    label	"Dop I/O"

    help {
	""
    }

    inputlabel	1	"Sub-Network Input #1"
    inputlabel	2	"Sub-Network Input #2"
    inputlabel	3	"Sub-Network Input #3"
    inputlabel	4	"Sub-Network Input #4"

    parm {
	name	"loadfromdisk"
	label	"Load from Disk"
	type	toggle
	joinnext
	default	{ "0" }
	range	{ 0 1 }
	export	none
    }
    parm {
	name	"reload"
	label	"Reload Geometry"
	type	button
	default	{ "1" }
	range	{ 0 1 }
	export	none
    }
    parm {
	name	"file"
	label	"Geometry File"
	type	geometry
	default	{ "$HIP/geo/$HIPNAME.$OS.$F.bgeo" }
	menureplace	{
	    [ "opmenu -l render sopoutput" ]
	}
	range	{ 0 1 }
	export	none
	parmtag	{ "autoscope" "0000000000000000" }
	parmtag	{ "filechooser_mode" "write" }
    }
    group {
	name	"folder0"
	label	"Import from DOPs"

	parm {
	    name	"doppath"
	    label	"DOP Network"
	    type	oppath
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	    parmtag	{ "opfilter" "!!DOP!!" }
	    parmtag	{ "oprelative" "." }
	}
	parm {
	    name	"dopnode"
	    label	"DOP Node"
	    type	oppath
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	    parmtag	{ "oprelative" "." }
	}
	parm {
	    name	"defobj"
	    label	"Default Object"
	    type	string
	    default	{ "" }
	    disablewhen	"{ dopnode != \"\" }"
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"doposxform"
	    label	"Transform Geometry With Position Data"
	    type	toggle
	    default	{ "on" }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"doxform"
	    label	"Transform Geometry With Geometry Data"
	    type	toggle
	    default	{ "on" }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"computeminmax"
	    label	"Compute Min/Max Values"
	    type	toggle
	    default	{ "off" }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"importsimsettings"
	    label	"Import Simulation Settings"
	    type	toggle
	    default	{ "on" }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"presets"
	    label	"Presets"
	    type	string
	    default	{ "choose" }
	    menu	{
		"smoke"	"Smoke"
		"liquid"	"Liquid"
		"dsdfire"	"Fire (DSD)"
		"pyro"	"Pyro"
		"flip"	"FLIP Fluid"
		"upressmoke"	"Upres Smoke"
		"upresliquid"	"Upres Liquid"
		"upresdsdfire"	"Upres Fire (DSD)"
		"uprespyro"	"Upres Pyro"
		"particles"	"Particles"
		"choose"	"Choose"
	    }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	    parmtag	{ "script_callback" "hou.pwd().hdaModule().invokePresetMenu(kwargs)" }
	    parmtag	{ "script_callback_language" "python" }
	}
	group {
	    name	"folder1"
	    label	"Fields"

	    multiparm {
		name	"fields"
		label	"Fields to Import"
		default	0
		parmtag	{ "autoscope" "0000000000000000" }

		parm {
		    name	"enable#"
		    label	"Import"
		    type	toggle
		    joinnext
		    default	{ "1" }
		    disablewhen	"{ loadfromdisk == 1 }"
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"visible#"
		    label	"Visualization"
		    type	ordinal
		    default	{ "smoke" }
		    disablewhen	"{ loadfromdisk == 1 }"
		    menu	{
			"smoke"	"Smoke"
			"rainbow"	"Rainbow"
			"iso"	"Isosurface"
			"invisible"	"Invisible"
			"nochange"	"No Change"
		    }
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"objname#"
		    label	"Object"
		    type	string
		    joinnext
		    default	{ "" }
		    disablewhen	"{ loadfromdisk == 1 }"
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"fieldname#"
		    label	"Field"
		    type	string
		    default	{ "" }
		    disablewhen	"{ loadfromdisk == 1 }"
		    range	{ 0 1 }
		    export	none
		}
	    }

	}

	group {
	    name	"folder1_1"
	    label	"Compression"

	    parm {
		name	"delete_attributes"
		label	"Attributes to Delete"
		type	string
		default	{ "" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
	    }
	    multiparm {
		name	"attribute_numcasts"
		label	"Attributes to Cast"
		default	0
		parmtag	{ "autoscope" "0000000000000000" }

		parm {
		    name	"attribute_class#"
		    label	"Class"
		    type	string
		    default	{ "point" }
		    menu	{
			"detail"	"Detail"
			"primitive"	"Primitive"
			"point"	"Point"
			"vertex"	"Vertex"
		    }
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"attribute_attribs#"
		    label	"Attributes"
		    type	string
		    default	{ "" }
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"attribute_precision#"
		    label	"Precision"
		    type	string
		    default	{ "fpreal32" }
		    menu	{
			"uint8"	"8-bit unsigned integer"
			"int8"	"8-bit signed integer"
			"int16"	"16-bit integer"
			"int32"	"32-bit integer"
			"int64"	"64-bit integer"
			"fpreal16"	"16-bit float"
			"fpreal32"	"32-bit float"
			"fpreal64"	"64-bit float"
		    }
		    range	{ 0 1 }
		    export	none
		}
	    }

	    multiparm {
		name	"compression"
		label	"Fields to Compress"
		default	0
		parmtag	{ "autoscope" "0000000000000000" }

		parm {
		    name	"compgroup#"
		    label	"Source Group"
		    type	string
		    default	{ "" }
		    menutoggle	{
			[ "opmenu -l placeholder_for_menus group" ]
		    }
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		}
		parm {
		    name	"constanttol#"
		    label	"Constant Tol"
		    type	float
		    default	{ "0" }
		    range	{ 0! 1 }
		    export	none
		}
		parm {
		    name	"quantizetol#"
		    label	"Quantization Tol"
		    type	float
		    default	{ "0" }
		    range	{ 0! 1 }
		    export	none
		}
		parm {
		    name	"dither#"
		    label	"Dithering"
		    type	ordinal
		    default	{ "ordered" }
		    menu	{
			"none"	"None"
			"ordered"	"Ordered"
		    }
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		}
		parm {
		    name	"usefp16_#"
		    label	"Use 16bit Float"
		    type	toggle
		    default	{ "0" }
		    range	{ 0 1 }
		    export	none
		}
		parm {
		    name	"maskgroup#"
		    label	"Mask Group"
		    type	string
		    default	{ "" }
		    menutoggle	{
			[ "opmenu -l placeholder_for_menus maskgrp" ]
		    }
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		    parmtag	{ "sop_input" "1" }
		}
		parm {
		    name	"maskexpand#"
		    label	"Mask Expansion"
		    type	integer
		    default	{ "1" }
		    range	{ 0! 10 }
		    export	none
		}
		parm {
		    name	"domaskmin#"
		    label	"Min Mask"
		    type	toggle
		    nolabel
		    joinnext
		    default	{ "off" }
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		}
		parm {
		    name	"maskmin#"
		    label	"Mask Minimum"
		    type	float
		    default	{ "0" }
		    disablewhen	"{ domaskmin# == 0 }"
		    range	{ -1 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		}
		parm {
		    name	"domaskmax#"
		    label	"Min Mask"
		    type	toggle
		    nolabel
		    joinnext
		    default	{ "off" }
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		}
		parm {
		    name	"maskmax#"
		    label	"Mask Maximum"
		    type	float
		    default	{ "1" }
		    disablewhen	"{ domaskmax# == 0 }"
		    range	{ -1 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		}
		parm {
		    name	"invertmask#"
		    label	"Invert Mask"
		    type	toggle
		    default	{ "off" }
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		}
	    }

	}

    }

    group {
	name	"folder0_1"
	label	"Export to File"

	parm {
	    name	"execute"
	    label	"Render"
	    type	button
	    joinnext
	    default	{ "0" }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	    parmtag	{ "script_callback" "n = hou.pwd(); n.node('render').render(); n.node('read_back').parm('reload').pressButton()" }
	    parmtag	{ "script_callback_language" "python" }
	    parmtag	{ "takecontrol" "always" }
	}
	parm {
	    name	"renderdialog"
	    label	"Render Control..."
	    type	button
	    nolabel
	    default	{ "0" }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	    parmtag	{ "takecontrol" "always" }
	}
	parm {
	    name	"trange"
	    label	"Valid Frame Range"
	    type	ordinal
	    default	{ "normal" }
	    menu	{
		"off"	"Render Any Frame"
		"normal"	"Render Frame Range"
		"on"	"Render Frame Range Only (Strict)"
	    }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"f"
	    label	"Start/End/Inc"
	    type	float
	    size	3
	    default	{ "1" "240" "1" }
	    disablewhen	"{ trange == off }"
	    range	{ 0 10 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"take"
	    label	"Render With Take"
	    type	string
	    default	{ "_current_" }
	    menu	{
		[ "opmenu -l render take" ]
	    }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"xformtype"
	    label	"Transform"
	    type	ordinal
	    default	{ "none" }
	    menu	{
		"none"	"None"
		"world"	"Into World Space"
	    }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"mkpath"
	    label	"Create Intermediate Directories"
	    type	toggle
	    default	{ "on" }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"initsim"
	    label	"Initialize Simulation OPs"
	    type	toggle
	    default	{ "off" }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"alfprogress"
	    label	"Alfred Style Progress"
	    type	toggle
	    default	{ "off" }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"reportnetwork"
	    label	"Report Network Use"
	    type	toggle
	    default	{ "off" }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"saveretry"
	    label	"Save Retries"
	    type	integer
	    default	{ "0" }
	    range	{ 0! 5 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"savebackground"
	    label	"Save in Background"
	    type	toggle
	    default	{ "on" }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"tprerender"
	    label	"Pre-Render Script"
	    type	toggle
	    nolabel
	    joinnext
	    default	{ "on" }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"prerender"
	    label	"Pre-Render Script"
	    type	file
	    joinnext
	    default	{ "" }
	    menureplace	{
		[ "opmenu -l render prerender" ]
	    }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	    parmtag	{ "filechooser_mode" "read" }
	}
	parm {
	    name	"lprerender"
	    label	"Pre-Render Script Language"
	    type	string
	    nolabel
	    default	{ "hscript" }
	    menu	{
		"hscript"	"Hscript"
		"python"	"Python"
	    }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"tpreframe"
	    label	"Pre-Frame Script"
	    type	toggle
	    nolabel
	    joinnext
	    default	{ "on" }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"preframe"
	    label	"Pre-Frame Script"
	    type	file
	    joinnext
	    default	{ "" }
	    menureplace	{
		[ "opmenu -l render preframe" ]
	    }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	    parmtag	{ "filechooser_mode" "read" }
	}
	parm {
	    name	"lpreframe"
	    label	"Pre-Frame Script Language"
	    type	string
	    nolabel
	    default	{ "hscript" }
	    menu	{
		"hscript"	"Hscript"
		"python"	"Python"
	    }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"tpostframe"
	    label	"Post-Frame Script"
	    type	toggle
	    nolabel
	    joinnext
	    default	{ "on" }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"postframe"
	    label	"Post-Frame Script"
	    type	file
	    joinnext
	    default	{ "" }
	    menureplace	{
		[ "opmenu -l render postframe" ]
	    }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	    parmtag	{ "filechooser_mode" "read" }
	}
	parm {
	    name	"lpostframe"
	    label	"Post-Frame Script Language"
	    type	string
	    nolabel
	    default	{ "hscript" }
	    menu	{
		"hscript"	"Hscript"
		"python"	"Python"
	    }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"tpostrender"
	    label	"Post-Render Script"
	    type	toggle
	    nolabel
	    joinnext
	    default	{ "on" }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"postrender"
	    label	"Post-Render Script"
	    type	file
	    joinnext
	    default	{ "" }
	    menureplace	{
		[ "opmenu -l render postrender" ]
	    }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	    parmtag	{ "filechooser_mode" "read" }
	}
	parm {
	    name	"lpostrender"
	    label	"Post-Render Script Language"
	    type	string
	    nolabel
	    default	{ "hscript" }
	    menu	{
		"hscript"	"Hscript"
		"python"	"Python"
	    }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
    }

}
INDX              DialogScript      
kR//*
 * PROPRIETARY INFORMATION.  This software is proprietary to
 * Side Effects Software Inc., and is not to be reproduced,
 * transmitted, or disclosed in any way without written permission.
 *
 * Produced by:
 *	Side Effects Software Inc
 *	477 Richmond Street West
 *	Toronto, Ontario
 *	Canada   M5V 3E7
 *	416-504-9876
 *
 */

#include <parameter.ds>

{
    name	"aaflownoise"
    script	"aaflownoise"
    label	"aaflownoise"


    outercode {
	INCLUDE_VOPLIB
    }

    code {
	"#ifndef __vex"
	"   #error \"Flow noise is VEX only\""
	"#else"
	"  #if !strcmp($signature, \"default\")"
	"   $noise = vop_fbmFlowNoiseFV($pos * $freq - $offset, $rough, $maxoctave, $flow, $flowrate, $advect);"
	"  #elif !strcmp($signature, \"fp\")"
	"   $noise = vop_fbmFlowNoiseFP($pos * $freq - $offset, $rough, $maxoctave, $flow, $flowrate, $advect);"
	"  #elif !strcmp($signature, \"vv\")"
	"   $noise = vop_fbmFlowNoiseVV($pos * $freq - $offset, $rough, $maxoctave, $flow, $flowrate, $advect);"
	"  #else"
	"   $noise = vop_fbmFlowNoiseVP($pos * $freq - $offset, $rough, $maxoctave, $flow, $flowrate, $advect);"
	"  #endif"
	"#endif"
	"$noise *= $amp;"
    }

    input	point	pos		"Position"
    input	vector	freq		"Frequency"
    input	point	offset		"Offset"
    input	float	amp		"Amplitude"
    input	float	rough		"Roughness"
    input	int	maxoctave	"Max Octaves"
    input	float	flow		"Flow"
    input	float	flowrate	"Flow Rate"
    input	float	advect		"Self-Advection"
    output	float	noise		"Anti-Aliased Noise"

    signature	"3D Input, 1D Noise"	default	{ point  vector  point  float float int float float float float }
    signature	"4D Input, 1D Noise"	fp	{ vector4 vector4 vector4 float float int float float float float }
    signature	"3D Input, 3D Noise"	vv	{ point   vector  point  float float int float float float vector }
    signature	"4D Input, 3D Noise"	vp	{ vector4 vector4 vector4 float float int float float float vector }

    VOP_FLT_PARM	(pos_ff,	"1D Position", 0)
    VOP_VEC_PARM	(pos,		"3D Position", 0, 0, 0)
    VOP_VEC4_PARM	(pos_fp,	"4D Position", 0, 0, 0, 0)

    VOP_FLT_PARM	(freq_ff,	"1D Frequency", 1)
    VOP_VEC_PARM	(freq,		"3D Frequency", 1, 1, 1)
    VOP_VEC4_PARM	(freq_fp,	"4D Frequency", 1, 1, 1, 1)

    VOP_FLT_PARM	(offset_ff,	"1D Offset", 0)
    VOP_VEC_PARM	(offset,	"3D Offset", 0, 0, 0)
    VOP_VEC4_PARM	(offset_fp,	"4D Offset", 0, 0, 0, 0)

    VOP_FLT_PARM_R	(amp,		"Amplitude", 1, -1, 1)
    VOP_FLT_PARM	(rough,		"Roughness", 0.5)
    VOP_INT_PARM_R	(maxoctave,	"Max Octaves", 8, 1, 32)
    VOP_FLT_PARM	(flow,		"Flow", 0)
    VOP_FLT_PARM	(flowrate,	"Flow Rate", 1)
    VOP_FLT_PARM	(advect,	"Self-Advection", 0)
}
INDX              Contents       WS7   DialogScript   W  OQ0707070000010000000006660000000000000000010000001237543365600001300000000000TRAILER!!! # Dialog script for gasturbulence automatically generated 06/14/12 17:04:53

{
    name	gasturbulence
    script	gasturbulence
    label	"Gas Turbulence"


    help {
	""
    }

    inputlabel	1	"Input 1"
    inputlabel	2	"Input 2"
    inputlabel	3	"Input 3"
    inputlabel	4	"Input 4"

    parm {
	name	"vis_turbulence"
	label	"Visualize Turbulence"
	type	toggle
	default	{ "off" }
	range	{ 0 1 }
	export	none
	parmtag	{ "autoscope" "0000000000000000" }
    }
    parm {
	name	"timescale"
	label	"Time Scale"
	type	float
	default	{ "1" }
	range	{ 0 1 }
	export	none
	parmtag	{ "autoscope" "0000000000000000" }
	parmtag	{ "parmvop" "1" }
    }
    group {
	name	"settings"
	label	"Turbulence Settings"

	parm {
	    name	"turbulence_scale"
	    label	"Scale"
	    type	float
	    default	{ "0.15" }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	    parmtag	{ "parmvop" "1" }
	}
	parm {
	    name	"swirl_size"
	    label	"Swirl Size"
	    type	float
	    default	{ "0.65" }
	    range	{ 0 10 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"rough"
	    label	"Grain"
	    type	float
	    default	{ "0.5" }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	    parmtag	{ "parmvop" "1" }
	}
	parm {
	    name	"pulse_length"
	    label	"Pulse Length"
	    type	float
	    default	{ "0.5" }
	    range	{ 0 10 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"seed"
	    label	"Seed"
	    type	float
	    default	{ "2.4" }
	    range	{ 0 10 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"atten"
	    label	"Attenuation"
	    type	float
	    default	{ "1" }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	    parmtag	{ "parmvop" "1" }
	}
	parm {
	    name	"control_threshold"
	    label	"Influence Threshold"
	    type	float
	    default	{ "0.01" }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	    parmtag	{ "parmvop" "1" }
	}
	parm {
	    name	"turb"
	    label	"Turbulence"
	    type	integer
	    default	{ "2" }
	    range	{ 1 12 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	    parmtag	{ "parmvop" "1" }
	}
    }

    group {
	name	"settings_1"
	label	"Control Settings"

	parm {
	    name	"use_control_field"
	    label	"Use Control Field"
	    type	toggle
	    nolabel
	    joinnext
	    default	{ "off" }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	    parmtag	{ "parmvop" "1" }
	}
	parm {
	    name	"control_field"
	    label	"Control Field"
	    type	string
	    default	{ "density" }
	    disablewhen	"{ use_control_field == 0 }"
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"control_influence"
	    label	"Control Influence"
	    type	float
	    default	{ "0.5" }
	    disablewhen	"{ use_control_field == 0 }"
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	    parmtag	{ "parmvop" "1" }
	}
	parm {
	    name	"control_min"
	    label	"Control Min"
	    type	float
	    default	{ "0" }
	    disablewhen	"{ use_control_field == 0 }"
	    range	{ 0 10 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	    parmtag	{ "parmvop" "1" }
	}
	parm {
	    name	"control_max"
	    label	"Control Max"
	    type	float
	    default	{ "1" }
	    disablewhen	"{ use_control_field == 0 }"
	    range	{ 0 10 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	    parmtag	{ "parmvop" "1" }
	}
	parm {
	    name	"remap_control_field"
	    label	"Remap Control Field"
	    type	toggle
	    default	{ "off" }
	    disablewhen	"{ use_control_field == 0 }"
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	    parmtag	{ "parmvop" "1" }
	}
	parm {
	    name	"control_ramp"
	    label	"Control Field Ramp"
	    type	ramp_flt
	    default	{ "2" }
	    disablewhen	"{ use_control_field == 0 } { remap_control_field == 0 }"
	    range	{ 1! 10 }
	    export	none
	    parmtag	{ "rampvalues_var" "control_ramp_the_key_values" }
	    parmtag	{ "rampkeys_var" "control_ramp_the_key_positions" }
	    parmtag	{ "rampbasis_var" "control_ramp_the_basis_strings" }
	    parmtag	{ "autoscope" "0000000000000000" }
	    parmtag	{ "rampfloatdefault" "1pos ( 0 ) 1value ( 0 ) 1interp ( linear ) 2pos ( 1 ) 2value ( 1 ) 2interp ( linear )" }
	    parmtag	{ "rampshowcontrolsdefault" "0" }
	    parmtag	{ "parmvop" "1" }
	    parmtag	{ "rampbasisdefault" "linear" }
	}
    }

    group {
	name	"settings_2"
	label	"Visualization"

	parm {
	    name	"guideplane"
	    label	"Plane Orientation"
	    type	ordinal
	    default	{ "xy" }
	    disablewhen	"{ vis_turbulence == 0 }"
	    menu	{
		"xy"	"XY plane     "
		"yz"	"YZ plane"
		"zx"	"ZX plane"
	    }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"guidevistype"
	    label	"Visualization Type"
	    type	ordinal
	    default	{ "speed" }
	    disablewhen	"{ vis_turbulence == 0 }"
	    menu	{
		"none"	"None     "
		"distance"	"Distance"
		"speed"	"Speed"
		"origin"	"Origin"
		"dir"	"Direction     "
		"value"	"Value"
	    }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"guidevismode"
	    label	"Visualization Mode"
	    type	ordinal
	    default	{ "false" }
	    disablewhen	"{ vis_turbulence == 0 }"
	    menu	{
		"false"	"Infra-Red"
		"pink"	"White to Red"
		"mono"	"Grayscale"
		"blackbody"	"Black Body"
		"bipartite"	"Two-Tone"
	    }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"guidevisscale"
	    label	"Visualization Scale"
	    type	float
	    default	{ "1" }
	    disablewhen	"{ vis_turbulence == 0 }"
	    range	{ 0 10 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"guideplaneval"
	    label	"Plane Position"
	    type	float
	    default	{ "0" }
	    disablewhen	"{ vis_turbulence == 0 }"
	    range	{ -1! 1! }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"guidestreamerlen"
	    label	"Streamer Length"
	    type	float
	    default	{ "1" }
	    disablewhen	"{ vis_turbulence == 0 }"
	    range	{ 0 10 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"guidestreamerminspeed"
	    label	"Streamer Minimum Speed"
	    type	float
	    default	{ "0.001" }
	    disablewhen	"{ vis_turbulence == 0 }"
	    range	{ 0 10 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"guiderange"
	    label	"Visualization Range"
	    type	float
	    size	2
	    default	{ "0" "1" }
	    disablewhen	"{ vis_turbulence == 0 }"
	    range	{ 0 10 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
    }

    group {
	name	"settings_3"
	label	"Temporary Fields"

	parm {
	    name	"clear_temporary_fields"
	    label	"Clear Temporary Fields"
	    type	toggle
	    default	{ "1" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"forcevel"
	    label	"Force Velocity"
	    type	string
	    default	{ "forcevel_temp" }
	    range	{ 0 1 }
	    export	none
	}
    }

    group {
	name	"settings_4"
	label	"Bindings"

	parm {
	    name	"density_field"
	    label	"Density Field"
	    type	string
	    default	{ "density" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"velocity_field"
	    label	"Velocity Field"
	    type	string
	    default	{ "vel" }
	    range	{ 0 1 }
	    export	none
	}
    }

}
INDX              DialogScript      '{OE$# Dialog script for rampfilter automatically generated 02/22/12 12:23:30

{
    name	rampfilter
    script	rampfilter
    label	"Ramp Filter"

    outercode {
	"#include <pyro_aaramp.h>"
    }

    code {
	""
	"// Constants derived from the signature"
	"#if   !strcmp($signature,\"default\")"
	"   #define  PTYPE    float"
	"   #define  PWIDTH   1"
	"   #define  RWIDTH   1"
	"   #define  RTYPE    float"
	"#elif !strcmp($signature,\"vf\")"
	"   #define  PTYPE    vector"
	"   #define  PWIDTH   3"
	"   #define  RWIDTH   1"
	"   #define  RTYPE    float"
	"#elif !strcmp($signature,\"pf\")"
	"   #define  PTYPE    vector4"
	"   #define  PWIDTH   4"
	"   #define  RWIDTH   1"
	"   #define  RTYPE    float"
	"#elif !strcmp($signature,\"fv\")"
	"   #define  PTYPE    float"
	"   #define  PWIDTH   1"
	"   #define  RWIDTH   3"
	"   #define  RTYPE    vector"
	"#elif !strcmp($signature,\"vv\")"
	"   #define  PTYPE    vector"
	"   #define  PWIDTH   3"
	"   #define  RWIDTH   3"
	"   #define  RTYPE    vector"
	"#elif !strcmp($signature,\"pv\")"
	"   #define  PTYPE    vector4"
	"   #define  PWIDTH   4"
	"   #define  RWIDTH   3"
	"   #define  RTYPE    vector"
	"#endif"
	""
	"$ramp     = $pos;"
	"$bases    = $inbases;"
	"$keys     = $inkeys;"
	"$vals     = $invals;"
	""
	"#if $active && $isconnected_inbases && $isconnected_inkeys && $isconnected_invals"
	"   // Trivial case 1: Single key (constant value)"
	"   if(arraylength($inkeys)<2) {"
	"      $ramp = $invals[0];"
	"   }"
	"   // Multiple keys"
	"   else"
	"   {"
	"      // Transform the ramp range into the [0,1] interval"
	"      PTYPE $p = efit($pos,$rangemin,$rangemax,0,1);"
	""
	"      // Ensure the ramp has keys at 0 and 1. This reduces the amount of"
	"      // branching during analysis, which leads to faster compiles."
	"      ramp_condition($inbases,$inkeys,$invals, $bases,$keys,$vals);"
	"      "
	"      // Number of keys"
	"      int $n = arraylength($keys);"
	"   "
	"      // Determine the filter size"
	"      float $fsize = 0;"
	"      #if strcmp(\"$ftype\",\"point\")"
	"         #if $isconnected_fw"
	"            float $fwidth = $fw;"
	"         #else"
	"            float $fwidth = VOPFW($p);"
	"         #endif"
	"         $fsize = abs($fwidth*$fscale);"
	"      #endif"
	"      "
	"      // Last addressable array index"
	"      int $nl = $n-1;"
	""
	"      // the slope at each boundary"
	"      RTYPE $lm=0,$rm=0;"
	"      #if !strcmp(\"$lbt\",\"slope\") || !strcmp(\"$rbt\",\"slope\")"
	"         ramp_slopes($nl,$bases,$keys,$vals, $lm,$rm);"
	"      #endif"
	""
	"      // boundary values and boundary value delta"
	"      RTYPE $lv = $vals[0];"
	"      RTYPE $rv = $vals[$nl];"
	"      RTYPE $dv = $rv-$lv;"
	""
	"      // temporarily convert output to array so we can loop over"
	"      // the lookup components in case this is >1"
	"      RTYPE $rarr[]; resize($rarr,PWIDTH);"
	"      #if PWIDTH>1"
	"         float $parr[] = (float[])$p;"
	"      #else"
	"         float $parr[] = array($p);"
	"      #endif"
	""
	"      //and now do one ramp lookup per positional component"
	"      float $pp;"
	"      int $i;"
	"      for($i=0;$i<PWIDTH;$i++) "
	"      {"
	"         $pp = $parr[$i];"
	""
	"         // Trivial case 2: zero-size filter width"
	"         if(equalzero($fsize)) {"
	"            #if !strcmp(\"$lbt\",\"hold\") && !strcmp(\"$rbt\",\"hold\")"
	"               $rarr[$i] = ramp_lookup($pp,$bases,$keys,$vals);"
	"            #else"
	"               $rarr[$i] = ramp_${lbt}_${rbt}_point ($nl, $pp,$pp,$pp,"
	"                              $lv,$rv,$lm,$rm,$dv, $bases,$keys,$vals);"
	"            #endif"
	"         } else {"
	"            // Trivial case 3: point filter"
	"            #if !strcmp(\"$ftype\",\"point\")"
	"               #if !strcmp(\"$lbt\",\"hold\") && !strcmp(\"$rbt\",\"hold\")"
	"                  $rarr[$i] = ramp_lookup($pp,$bases,$keys,$vals);"
	"               #else"
	"                  $rarr[$i] = ramp_${lbt}_${rbt}_point ($nl, $pp,$pp,$pp,"
	"                                 $lv,$rv,$lm,$rm,$dv, $bases,$keys,$vals);"
	"               #endif"
	""
	"            // Wide filter"
	"            #else"
	"               // the limits of integration (k0,k1)"
	"               $fsize*=fscale_${ftype}();"
	"               float $dk = 0.5*$fsize;"
	"               float $k0 = $pp - $dk;"
	"               float $k1 = $k0 + $fsize;"
	"               $rarr[$i] = ramp_${lbt}_${rbt}_$ftype ($nl, $pp,$k0,$k1,"
	"                              $lv,$rv,$lm,$rm,$dv, $bases,$keys,$vals);"
	"            #endif"
	"         }"
	"      }"
	""
	"      // finally, convert the array back to the output type"
	"      #if PWIDTH == 1"
	"         $ramp = $rarr[0];"
	"      #elif RWIDTH == 1"
	"         $ramp = (PTYPE)$rarr;"
	"      #else"
	"         #if PWIDTH == 3"
	"            $ramp = set($rarr[0].x,$rarr[1].y,$rarr[2].z);"
	"         #else"
	"            $ramp = set($rarr[0].x,$rarr[1].y,$rarr[2].z,$pos.w);"
	"         #endif"
	"      #endif"
	""
	"      // Transform to linear RGB space if needed"
	"      #if RWIDTH == 3"
	"         $ramp = ramp_torgb($spacename,$ramp);"
	"      #endif"
	"      $ramp = ramp_tolinear($gammaname,$ramp,$gammaval);"
	""
	"   }"
	""
	"#endif"
	""
	"#undef  PTYPE"
	"#undef  PWIDTH"
	"#undef  RWIDTH"
	"#undef  RTYPE"
    }

    input	float	pos	"Lookup Position"
    input	float	rangemin	"Range Min"
    input	float	rangemax	"Range Max"
    input	stringa	inbases	"Ramb Bases"
    input	floata	inkeys	"Ramp Keys"
    input	floata	invals	"Ramp Values"
    input	string	spacename	"Name Of Color Space (rgb,hsl,hsv,Lab,XYZ)"
    input	string	gammaname	"Name Of Gamma Space (linear,srgb,custom)"
    input	float	gammaval	"Custom Gamma Value"
    input	float	fw	"Filter Width Override"
    input	float	fscale	"Filter Scale"
    output	float	ramp	"Output 1"
    output	stringa	bases	"Ramp Basis Functions"
    output	floata	keys	"Ramp Key Positions"
    output	floata	vals	"Ramp Key Values"
    inputflags	pos	0
    inputflags	rangemin	0
    inputflags	rangemax	0
    inputflags	inbases	0
    inputflags	inkeys	0
    inputflags	invals	0
    inputflags	spacename	0
    inputflags	gammaname	0
    inputflags	gammaval	0
    inputflags	fw	0
    inputflags	fscale	0
    signature	"1D Lookup, 1D Ramp"	default	{ float float float stringa floata floata string string float float float float stringa floata floata }
    signature	"3D Lookup, 1D Ramp"	vf	{ vector float float stringa floata floata string string float float float vector stringa floata floata }
    signature	"4D Lookup, 1D Ramp"	pf	{ vector4 float float stringa floata floata string string float float float vector4 stringa floata floata }
    signature	"1D Lookup, 3D Ramp"	fv	{ float float float stringa floata vectora string string float float float vector stringa floata vectora }
    signature	"3D Lookup, 3D Ramp"	vv	{ vector float float stringa floata vectora string string float float float vector stringa floata vectora }
    signature	"4D Lookup, 3D Ramp"	pv	{ vector4 float float stringa floata vectora string string float float float vector stringa floata vectora }

    outputoverrides	default
    {
	___begin	auto
			(0)
	___begin	auto
			(0)
	___begin	auto
			(0)
	___begin	auto
			(0)
    }
    outputoverrides	vf
    {
	___begin	auto
			(0,0,0)
	___begin	auto
			(0)
	___begin	auto
			(0)
	___begin	auto
			(0)
    }
    outputoverrides	pf
    {
	___begin	auto
			(0,0,0,0)
	___begin	auto
			(0)
	___begin	auto
			(0)
	___begin	auto
			(0)
    }
    outputoverrides	fv
    {
	___begin	auto
			(0,0,0)
	___begin	auto
			(0)
	___begin	auto
			(0)
	___begin	auto
			(0)
    }
    outputoverrides	vv
    {
	___begin	auto
			(0,0,0)
	___begin	auto
			(0)
	___begin	auto
			(0)
	___begin	auto
			(0)
    }
    outputoverrides	pv
    {
	___begin	auto
			(0,0,0)
	___begin	auto
			(0)
	___begin	auto
			(0)
	___begin	auto
			(0)
    }

    help {
	""
    }

    parm {
	name	"signature"
	baseparm
	export	none
    }
    parm {
	name	"active"
	label	"Active"
	type	toggle
	default	{ "1" }
	range	{ 0 1 }
	export	none
    }
    parm {
	name	"spacename"
	label	"Space"
	type	string
	default	{ "rgb" }
	disablewhen	"{ active == 0 }"
	menu	{
	    "rgb"	"RGB"
	    "hsv"	"HSV"
	    "Lab"	"LAB"
	    "hsl"	"HSL"
	    "XYZ"	"XYZ"
	}
	range	{ 0 1 }
	export	none
	parmtag	{ "autoscope" "0000000000000000" }
    }
    parm {
	name	"gammaname"
	label	"Gamma"
	type	string
	joinnext
	default	{ "linear" }
	disablewhen	"{ active == 0 }"
	menu	{
	    "linear"	"Linear"
	    "srgb"	"sRGB"
	    "custom"	"Custom"
	}
	range	{ 0 1 }
	export	none
	parmtag	{ "autoscope" "0000000000000000" }
    }
    parm {
	name	"gammaval"
	label	"Gamma Value"
	type	float
	nolabel
	default	{ "2.2" }
	disablewhen	"{ active == 0 } { gammaname != custom }"
	range	{ 0.0001! 4 }
	export	none
    }
    parm {
	name	"rangemin"
	label	"Range"
	type	float
	joinnext
	default	{ "0" }
	disablewhen	"{ active == 0 }"
	range	{ 0 1 }
	export	none
    }
    parm {
	name	"rangemax"
	label	"Range Max"
	type	float
	nolabel
	default	{ "1" }
	disablewhen	"{ active == 0 }"
	range	{ 0 1 }
	export	none
    }
    parm {
	name	"lbt"
	label	"Extend Left"
	type	string
	joinnext
	default	{ "hold" }
	disablewhen	"{ active == 0 }"
	menu	{
	    "hold"	"Hold"
	    "cycle"	"Cycle"
	    "accum"	"Cycle-Accumulate"
	    "mirror"	"Mirror"
	    "slope"	"Slope"
	}
	range	{ 0 1 }
	export	none
	unquoted
    }
    parm {
	name	"rbt"
	label	"Right"
	type	string
	default	{ "hold" }
	disablewhen	"{ active == 0 }"
	menu	{
	    "hold"	"Hold"
	    "cycle"	"Cycle"
	    "accum"	"Cycle-Accumulate"
	    "mirror"	"Mirror"
	    "slope"	"Slope"
	}
	range	{ 0 1 }
	export	none
	unquoted
    }
    parm {
	name	"spacer"
	label	"spacer"
	type	label
	nolabel
	default	{ "" }
	range	{ 0 1 }
	export	none
    }
    parm {
	name	"ftype"
	label	"Filter"
	type	string
	joinnext
	default	{ "point" }
	menu	{
	    "point"	"Point"
	    "box"	"Box"
	    "gauss"	"Gaussian"
	}
	range	{ 0 1 }
	export	none
	unquoted
    }
    parm {
	name	"fscale"
	label	"Scale"
	type	float
	default	{ "1" }
	disablewhen	"{ active == 0 } { ftype == point }"
	range	{ 0 2 }
	export	none
    }
}
INDX              Contents       WS7   DialogScript   W  gFm+0707070000010000000006660000000000000000010000001237543365600001300000000000TRAILER!!! # Dialog script for linktosourceobject automatically generated 09/13/07 13:02:35

{
    name	linktosourceobject
    script	sourceobject
    label	"Link To Source Object"


    help {
	""
    }

    inputlabel	1	"Input 0"
    inputlabel	2	"Input 1"
    inputlabel	3	"Input 2"
    inputlabel	4	"Input 3"

    parm {
	name	"objpath"
	label	"OBJ Path"
	type	oppath
	default	{ "" }
	range	{ 0 1 }
	export	none
	parmtag	{ "oprelative" "." }
	parmtag	{ "opfilter" "!!OBJ!!" }
    }
    parm {
	name	"sharedata"
	label	"Data Sharing"
	type	ordinal
	default	{ "off" }
	menu	{
	    "off"	"Do Not Share Data"
	    "on"	"Share Data Across All Time"
	    "onestep"	"Share Data In One Timestep"
	}
	range	{ 0 1 }
	export	none
	parmtag	{ "autoscope" "0000000000000000" }
    }
    parm {
	name	"activation"
	label	"Activation"
	type	integer
	default	{ "1" }
	range	{ 0 10 }
	export	none
	parmtag	{ "autoscope" "0000000000000000" }
    }
    parm {
	name	"group"
	label	"Group"
	type	string
	default	{ "*" }
	menutoggle	{
	    [ "opmenu -l emptydata1 group" ]
	}
	range	{ 0 1 }
	export	none
	parmtag	{ "autoscope" "0000000000000000" }
    }
}
INDX              Contents       WS7   DialogScript   W Ry;0707070000010000000006660000000000000000010000001237543365600001300000000000TRAILER!!! # Dialog script for smokeobject automatically generated 11/05/13 13:40:55

{
    name	smokeobject
    script	smokeobject
    label	"Smoke Object"


    help {
	""
    }
    bindhandle sizex xform "Transformer" sx ""
    bindhandle sizey xform "Transformer" sy ""
    bindhandle sizez xform "Transformer" sz ""
    bindhandle tx xform "Transformer" tx ""
    bindhandle ty xform "Transformer" ty ""
    bindhandle tz xform "Transformer" tz ""

    inputlabel	1	"Input 0"
    inputlabel	2	"Input 1"
    inputlabel	3	"Input 2"
    inputlabel	4	"Input 3"

    group {
	name	"creation_1"
	label	"Properties"

	parm {
	    name	"twod"
	    label	"Two Dimensional"
	    type	toggle
	    nolabel
	    joinnext
	    default	{ "off" }
	    range	{ 0 1 }
	    export	all
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"voxelplane"
	    label	"Two Dimensional"
	    type	ordinal
	    default	{ "xy" }
	    menu	{
		"xy"	"XY plane     "
		"yz"	"YZ plane"
		"zx"	"ZX plane"
	    }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"uniformvoxels"
	    label	"Division Method"
	    type	ordinal
	    default	{ "size" }
	    menu	{
		"nonsquare"	"Non Square"
		"x"	"X Axis"
		"y"	"Y Axis"
		"z"	"Z Axis"
		"max"	"Max Axis"
		"size"	"By Size"
	    }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"divsize"
	    label	"Division Size"
	    type	float
	    default	{ "0.2" }
	    disablewhen	"{ uniformvoxels != size }"
	    hidewhen	"{ uniformvoxels != size }"
	    range	{ 0! 10 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	    parmtag	{ "units" "m1" }
	}
	parm {
	    name	"uniformdiv"
	    label	"Uniform Divisions"
	    type	integer
	    default	{ "10" }
	    disablewhen	"{ uniformvoxels == nonsquare } { uniformvoxels == size }"
	    hidewhen	"{ uniformvoxels == nonsquare } { uniformvoxels == size }"
	    range	{ 1! 300 }
	    export	all
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"div"
	    label	"Divisions"
	    type	integer
	    size	3
	    default	{ "10" "10" "10" }
	    disablewhen	"{ uniformvoxels != nonsquare }"
	    hidewhen	"{ uniformvoxels != nonsquare }"
	    range	{ 1! 1000 }
	    export	none
	    parmtag	{ "autoscope" "0000" }
	}
	parm {
	    name	"size"
	    label	"Size"
	    type	vector
	    size	3
	    default	{ "1" "1" "1" }
	    disablewhen	"{ instance_objects == 1 override_container_size == 1 }"
	    range	{ 0! 10 }
	    export	none
	    parmtag	{ "autoscope" "0000" }
	    parmtag	{ "units" "m1" }
	}
	parm {
	    name	"t"
	    label	"Center"
	    type	vector
	    size	3
	    default	{ "0" "0" "0" }
	    disablewhen	"{ instance_objects == 1 override_container_size == 1 }"
	    range	{ -1 1 }
	    export	none
	    parmtag	{ "autoscope" "0000" }
	    parmtag	{ "units" "m1" }
	}
    }

    group {
	name	"creation_1_1"
	label	"Creation"

	parm {
	    name	"usesimframe"
	    label	"Creation Frame Specifies Simulation Frame"
	    type	toggle
	    default	{ "0" }
	    disablewhen	"{ continuous == 1 instance_objects == 1 }"
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000" }
	}
	parm {
	    name	"createframe"
	    label	"Creation Frame"
	    type	integer
	    default	{ "ch(opcreator(\".\")+\"/startframe\")" }
	    disablewhen	"{ continuous == 1 instance_objects == 1 }"
	    range	{ 0 10 }
	    export	none
	    parmtag	{ "autoscope" "0000" }
	}
	parm {
	    name	"object_name"
	    label	"Object Name"
	    type	string
	    default	{ "$OS" }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000" }
	}
	parm {
	    name	"solvefirstframe"
	    label	"Solve on Creation Frame"
	    type	toggle
	    default	{ "off" }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"allowcaching"
	    label	"Allow Caching"
	    type	toggle
	    default	{ "on" }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
    }

    group {
	name	"creation_1_2"
	label	"Instancing"

	parm {
	    name	"instance_objects"
	    label	"Create Objects From Points"
	    type	toggle
	    default	{ "0" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"override_container_size"
	    label	"Override Container Size"
	    type	toggle
	    default	{ "1" }
	    disablewhen	"{ instance_objects == 0 }"
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"override_division_size"
	    label	"Override Division Size"
	    type	toggle
	    default	{ "0" }
	    disablewhen	"{ instance_objects == 0 }"
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"numobjects"
	    label	"Number of Objects"
	    type	integer
	    default	{ "1" }
	    disablewhen	"{ instance_objects == 1 }"
	    range	{ 0! 10 }
	    export	none
	    parmtag	{ "autoscope" "0000" }
	}
	parm {
	    name	"instance_points"
	    label	"Instance Points"
	    type	oppath
	    default	{ "" }
	    disablewhen	"{ instance_objects == 0 }"
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "oprelative" "." }
	}
	parm {
	    name	"continuous"
	    label	"Continuous"
	    type	toggle
	    default	{ "0" }
	    disablewhen	"{ instance_objects == 0 }"
	    range	{ 0 1 }
	    export	none
	}
    }

    parm {
	name	"size_unit_comp"
	label	"Unit Compensation"
	type	vector
	invisible
	size	3
	default	{ "ch(\"./divsize\")- ((ch(\"./sizex\")+ch(\"./tx\"))%ch(\"./divsize\"))" "ch(\"./divsize\")- ((ch(\"./sizey\")+ch(\"./ty\"))%ch(\"./divsize\"))" "ch(\"./divsize\")- ((ch(\"./sizez\")+ch(\"./tz\"))%ch(\"./divsize\"))" }
	range	{ -1 1 }
	export	none
    }
    group {
	name	"std_switcher_0"
	label	"Guides"
	grouptag	{ "import_enable" "1" }
	grouptag	{ "import_source" "op:smokeconfigureobject2" }
	grouptag	{ "import_token" "std_switcher_0:Guides" }

	group {
	    name	"folder0"
	    label	"Visualization"
	    grouptag	{ "import_source" "op:smokeconfigureobject2" }
	    grouptag	{ "import_token" "folder0:Visualization" }

	    parm {
		name	"multifield_showguide"
		label	"Multi"
		type	toggle
		nolabel
		joinnext
		default	{ "off" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "multifield_showguide" }
	    }
	    parm {
		name	"multifield_color"
		label	"Multi Field"
		type	color
		size	3
		default	{ "1" "1" "1" }
		range	{ 0! 1! }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "multifield_color" }
	    }
	    parm {
		name	"density_showguide"
		label	"Density         "
		type	toggle
		nolabel
		joinnext
		default	{ "on" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "density_showguide" }
	    }
	    parm {
		name	"density_color"
		label	"Density"
		type	color
		size	3
		default	{ "1" "1" "1" }
		range	{ 0! 1! }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "density_color" }
	    }
	    parm {
		name	"temperature1_showguide"
		label	"Temperature "
		type	toggle
		nolabel
		joinnext
		default	{ "off" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "temperature1_showguide" }
	    }
	    parm {
		name	"temperature1_color"
		label	"Temperature"
		type	color
		size	3
		default	{ "1" "1" "1" }
		range	{ 0! 1! }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "temperature1_color" }
	    }
	    parm {
		name	"fuel_showguide"
		label	"Fuel             "
		type	toggle
		nolabel
		joinnext
		default	{ "off" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "fuel_showguide" }
	    }
	    parm {
		name	"fuel_color"
		label	"Fuel"
		type	color
		size	3
		default	{ "0.9" "0" "0.9" }
		range	{ 0! 1! }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "fuel_color" }
	    }
	    parm {
		name	"divergence_showguide"
		label	"Divergence   "
		type	toggle
		nolabel
		joinnext
		default	{ "off" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "divergence_showguide" }
	    }
	    parm {
		name	"divergence_color"
		label	"Divergence"
		type	color
		size	3
		default	{ "1" "0.8" "0" }
		range	{ 0! 1! }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "divergence_color" }
	    }
	    parm {
		name	"burn_showguide"
		label	"Burn            "
		type	toggle
		nolabel
		joinnext
		default	{ "off" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "burn_showguide" }
	    }
	    parm {
		name	"burn_color"
		label	"Burn"
		type	color
		size	3
		default	{ "1" "0.8" "0" }
		range	{ 0! 1! }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "burn_color" }
	    }
	    parm {
		name	"heat_showguide"
		label	"Show Guide Geometry"
		type	toggle
		nolabel
		joinnext
		default	{ "off" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "heat_showguide" }
	    }
	    parm {
		name	"heat_color"
		label	"Heat"
		type	color
		size	3
		default	{ "1" "1" "0" }
		range	{ 0! 1! }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "heat_color" }
	    }
	    parm {
		name	"velocity_showguide"
		label	"Velocity        "
		type	toggle
		nolabel
		joinnext
		default	{ "off" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "velocity_showguide" }
	    }
	    parm {
		name	"velocity_color"
		label	"Velocity"
		type	color
		size	3
		default	{ "1" "1" "1" }
		range	{ 0! 1! }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "velocity_color" }
	    }
	    parm {
		name	"collisionmask1_showguide"
		label	"Collision       "
		type	toggle
		nolabel
		joinnext
		default	{ "off" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "collisionmask1_showguide" }
	    }
	    parm {
		name	"collisionmask1_color"
		label	"Collision"
		type	color
		size	3
		default	{ "1" "1" "1" }
		range	{ 0! 1! }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "collisionmask1_color" }
	    }
	    parm {
		name	"sourcemask1_showguide"
		label	"Source         "
		type	toggle
		nolabel
		joinnext
		default	{ "off" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "sourcemask1_showguide" }
	    }
	    parm {
		name	"sourcemask1_color"
		label	"Source"
		type	color
		size	3
		default	{ "0" "0.9" "0" }
		range	{ 0! 1! }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "sourcemask1_color" }
	    }
	    parm {
		name	"sinkmask1_showguide"
		label	"Sink             "
		type	toggle
		nolabel
		joinnext
		default	{ "off" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "sinkmask1_showguide" }
	    }
	    parm {
		name	"sinkmask1_color"
		label	"Sink"
		type	color
		size	3
		default	{ "0.9" "0" "0" }
		range	{ 0! 1! }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "sinkmask1_color" }
	    }
	}

	group {
	    name	"folder0_1"
	    label	"Multi"
	    grouptag	{ "import_source" "op:smokeconfigureobject2" }
	    grouptag	{ "import_token" "folder0:Multi" }

	    parm {
		name	"multifield_usebox"
		label	"Bounding Box"
		type	toggle
		joinnext
		default	{ "off" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "multifield_usebox" }
	    }
	    parm {
		name	"multifield_useboxhash"
		label	"Bounding Box Hash"
		type	toggle
		default	{ "off" }
		disablewhen	"{ multifield_usebox == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "multifield_useboxhash" }
	    }
	    parm {
		name	"multifield_rangemin"
		label	"Minimum"
		type	float
		default	{ "0" }
		range	{ 0 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "multifield_rangemin" }
	    }
	    parm {
		name	"multifield_rangemax"
		label	"Maximum"
		type	float
		default	{ "1" }
		range	{ 0 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "multifield_rangemax" }
	    }
	    parm {
		name	"multifield_densityscale"
		label	"Density Scale"
		type	float
		default	{ "1" }
		range	{ 0! 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "multifield_densityscale" }
	    }
	    parm {
		name	"multifield_shadowscale"
		label	"Shadow Scale"
		type	float
		default	{ "1" }
		range	{ 0! 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "multifield_shadowscale" }
	    }
	    parm {
		name	"multifield_setmaxres"
		label	"Set Max Res"
		type	toggle
		nolabel
		joinnext
		default	{ "off" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "multifield_setmaxres" }
	    }
	    parm {
		name	"multifield_maxres"
		label	"Max Vis Res"
		type	integer
		default	{ "128" }
		disablewhen	"{ multifield_setmaxres == 0 }"
		range	{ 1! 512 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "multifield_maxres" }
	    }
	    group {
		name	"folder14"
		label	"Smoke"
		grouptag	{ "import_source" "op:smokeconfigureobject2" }
		grouptag	{ "import_token" "folder3:Smoke" }

		parm {
		    name	"multifield_densityfield"
		    label	"Density Field"
		    type	string
		    default	{ "" }
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		    parmtag	{ "import_source" "op:smokeconfigureobject2" }
		    parmtag	{ "import_token" "multifield_densityfield" }
		}
		parm {
		    name	"multifield_densityrampmode"
		    label	"Mode"
		    type	ordinal
		    joinnext
		    default	{ "clamp" }
		    menu	{
			"none"	"No Ramp"
			"clamp"	"Clamped Ramp"
			"periodic"	"Periodic Ramp"
		    }
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		    parmtag	{ "import_source" "op:smokeconfigureobject2" }
		    parmtag	{ "import_token" "multifield_densityrampmode" }
		}
		parm {
		    name	"multifield_densitypreset"
		    label	"Density"
		    type	ordinal
		    default	{ "none" }
		    menu	{
			"none"	"Presets"
			"increasing"	"Increasing"
			"descreasing"	"Decreasing"
			"hill"	"Hill"
			"valley"	"Valley"
			"step"	"Step"
			"square"	"Square"
		    }
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		    parmtag	{ "import_source" "op:smokeconfigureobject2" }
		    parmtag	{ "import_token" "multifield_densitypreset" }
		}
		parm {
		    name	"multifield_densityramp"
		    label	"Density Ramp"
		    type	ramp_flt
		    default	{ "2" }
		    range	{ 1! 10 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		    parmtag	{ "import_source" "op:smokeconfigureobject2" }
		    parmtag	{ "import_token" "multifield_densityramp" }
		    parmtag	{ "rampfloatdefault" "1pos ( 0 ) 1value ( 0 ) 1interp ( linear ) 2pos ( 1 ) 2value ( 1 ) 2interp ( linear )" }
		    parmtag	{ "rampshowcontrolsdefault" "0" }
		}
		parm {
		    name	"multifield_cdfield"
		    label	"Diffuse Field"
		    type	string
		    default	{ "" }
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		    parmtag	{ "import_source" "op:smokeconfigureobject2" }
		    parmtag	{ "import_token" "multifield_cdfield" }
		}
		parm {
		    name	"multifield_cdrangeoverride"
		    label	"Diffuse Range"
		    type	toggle
		    nolabel
		    joinnext
		    default	{ "off" }
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		    parmtag	{ "import_source" "op:smokeconfigureobject2" }
		    parmtag	{ "import_token" "multifield_cdrangeoverride" }
		}
		parm {
		    name	"multifield_cdrange"
		    label	"Diffuse Range"
		    type	float
		    size	2
		    default	{ "0" "1" }
		    disablewhen	"{ multifield_cdrangeoverride == 0 }"
		    range	{ 0 10 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		    parmtag	{ "import_source" "op:smokeconfigureobject2" }
		    parmtag	{ "import_token" "multifield_cdrange" }
		}
		parm {
		    name	"multifield_cdrampmode"
		    label	"Mode"
		    type	ordinal
		    joinnext
		    default	{ "clamp" }
		    menu	{
			"none"	"No Ramp"
			"clamp"	"Clamped Ramp"
			"periodic"	"Periodic Ramp"
		    }
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		    parmtag	{ "import_source" "op:smokeconfigureobject2" }
		    parmtag	{ "import_token" "multifield_cdrampmode" }
		}
		parm {
		    name	"multifield_cdpreset"
		    label	"Diffuse"
		    type	ordinal
		    default	{ "none" }
		    menu	{
			"none"	"Presets"
			"false"	"Infra-Red"
			"pink"	"White to Red"
			"mono"	"Grayscale"
			"blackbody"	"Black Body"
			"bipartite"	"Two-Tone"
		    }
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		    parmtag	{ "import_source" "op:smokeconfigureobject2" }
		    parmtag	{ "import_token" "multifield_cdpreset" }
		}
		parm {
		    name	"multifield_cdramp"
		    label	"Diffuse Ramp"
		    type	ramp_rgb
		    default	{ "2" }
		    range	{ 1! 10 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		    parmtag	{ "import_source" "op:smokeconfigureobject2" }
		    parmtag	{ "import_token" "multifield_cdramp" }
		    parmtag	{ "rampcolordefault" "1pos ( 0 ) 1c ( 0 0 0 ) 1interp ( linear ) 2pos ( 1 ) 2c ( 1 1 1 ) 2interp ( linear )" }
		    parmtag	{ "rampshowcontrolsdefault" "0" }
		}
	    }

	    group {
		name	"folder14_1"
		label	"Emission"
		grouptag	{ "import_source" "op:smokeconfigureobject2" }
		grouptag	{ "import_token" "folder3:Emission" }

		parm {
		    name	"multifield_emitscale"
		    label	"Emission Scale"
		    type	float
		    default	{ "0" }
		    range	{ 0! 10 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		    parmtag	{ "import_source" "op:smokeconfigureobject2" }
		    parmtag	{ "import_token" "multifield_emitscale" }
		}
		parm {
		    name	"multifield_emitfield"
		    label	"Emission Field"
		    type	string
		    default	{ "" }
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		    parmtag	{ "import_source" "op:smokeconfigureobject2" }
		    parmtag	{ "import_token" "multifield_emitfield" }
		}
		parm {
		    name	"multifield_emitrangeoverride"
		    label	"Emit Range"
		    type	toggle
		    nolabel
		    joinnext
		    default	{ "off" }
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		    parmtag	{ "import_source" "op:smokeconfigureobject2" }
		    parmtag	{ "import_token" "multifield_emitrangeoverride" }
		}
		parm {
		    name	"multifield_emitrange"
		    label	"Emit Range"
		    type	float
		    size	2
		    default	{ "0" "1" }
		    disablewhen	"{ multifield_emitrangeoverride == 0 }"
		    range	{ 0 10 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		    parmtag	{ "import_source" "op:smokeconfigureobject2" }
		    parmtag	{ "import_token" "multifield_emitrange" }
		}
		parm {
		    name	"multifield_emitrampmode"
		    label	"Mode"
		    type	ordinal
		    joinnext
		    default	{ "clamp" }
		    menu	{
			"none"	"No Ramp"
			"clamp"	"Clamped Ramp"
			"periodic"	"Periodic Ramp"
		    }
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		    parmtag	{ "import_source" "op:smokeconfigureobject2" }
		    parmtag	{ "import_token" "multifield_emitrampmode" }
		}
		parm {
		    name	"multifield_emitpreset"
		    label	"Emission"
		    type	ordinal
		    default	{ "none" }
		    menu	{
			"none"	"Presets"
			"increasing"	"Increasing"
			"descreasing"	"Decreasing"
			"hill"	"Hill"
			"valley"	"Valley"
			"step"	"Step"
			"square"	"Square"
		    }
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		    parmtag	{ "import_source" "op:smokeconfigureobject2" }
		    parmtag	{ "import_token" "multifield_emitpreset" }
		}
		parm {
		    name	"multifield_emitramp"
		    label	"Emission Ramp"
		    type	ramp_flt
		    default	{ "2" }
		    range	{ 1! 10 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		    parmtag	{ "import_source" "op:smokeconfigureobject2" }
		    parmtag	{ "import_token" "multifield_emitramp" }
		    parmtag	{ "rampfloatdefault" "1pos ( 0 ) 1value ( 0 ) 1interp ( linear ) 2pos ( 1 ) 2value ( 1 ) 2interp ( linear )" }
		    parmtag	{ "rampshowcontrolsdefault" "0" }
		}
		parm {
		    name	"multifield_emitcdfield"
		    label	"Emission Color Field"
		    type	string
		    default	{ "" }
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		    parmtag	{ "import_source" "op:smokeconfigureobject2" }
		    parmtag	{ "import_token" "multifield_emitcdfield" }
		}
		parm {
		    name	"multifield_emitcdrangeoverride"
		    label	"Emission Color Range"
		    type	toggle
		    nolabel
		    joinnext
		    default	{ "off" }
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		    parmtag	{ "import_source" "op:smokeconfigureobject2" }
		    parmtag	{ "import_token" "multifield_emitcdrangeoverride" }
		}
		parm {
		    name	"multifield_emitcdrange"
		    label	"Emission Color Range"
		    type	float
		    size	2
		    default	{ "0" "1" }
		    disablewhen	"{ multifield_emitcdrangeoverride == 0 }"
		    range	{ 0 10 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		    parmtag	{ "import_source" "op:smokeconfigureobject2" }
		    parmtag	{ "import_token" "multifield_emitcdrange" }
		}
		parm {
		    name	"multifield_emitcdrampmode"
		    label	"Mode"
		    type	ordinal
		    joinnext
		    default	{ "clamp" }
		    menu	{
			"none"	"No Ramp"
			"clamp"	"Clamped Ramp"
			"periodic"	"Periodic Ramp"
		    }
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		    parmtag	{ "import_source" "op:smokeconfigureobject2" }
		    parmtag	{ "import_token" "multifield_emitcdrampmode" }
		}
		parm {
		    name	"multifield_emitcdpreset"
		    label	"Emission"
		    type	ordinal
		    default	{ "none" }
		    menu	{
			"none"	"Presets"
			"false"	"Infra-Red"
			"pink"	"White to Red"
			"mono"	"Grayscale"
			"blackbody"	"Black Body"
			"bipartite"	"Two-Tone"
		    }
		    range	{ 0 1 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		    parmtag	{ "import_source" "op:smokeconfigureobject2" }
		    parmtag	{ "import_token" "multifield_emitcdpreset" }
		}
		parm {
		    name	"multifield_emitcdramp"
		    label	"Emission Color Ramp"
		    type	ramp_rgb
		    default	{ "4" }
		    range	{ 1! 10 }
		    export	none
		    parmtag	{ "autoscope" "0000000000000000" }
		    parmtag	{ "import_source" "op:smokeconfigureobject2" }
		    parmtag	{ "import_token" "multifield_emitcdramp" }
		    parmtag	{ "rampcolordefault" "1pos ( 0 ) 1c ( 0 0 0 ) 1interp ( linear ) 2pos ( 0.54000002145767212 ) 2c ( 1 0.43200001120567322 0 ) 2interp ( catmull-rom ) 3pos ( 0.89300000667572021 ) 3c ( 1 0.88330000638961792 0 ) 3interp ( catmull-rom ) 4pos ( 1 ) 4c ( 1 1 1 ) 4interp ( catmull-rom )" }
		    parmtag	{ "rampshowcontrolsdefault" "0" }
		}
	    }

	}

	group {
	    name	"folder0_2"
	    label	"Density"
	    grouptag	{ "import_source" "op:smokeconfigureobject2" }
	    grouptag	{ "import_token" "folder0:Density" }

	    parm {
		name	"density_usebox"
		label	"Bounding Box"
		type	toggle
		joinnext
		default	{ "on" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "density_usebox" }
	    }
	    parm {
		name	"density_useboxhash"
		label	"Bounding Box Hash"
		type	toggle
		default	{ "on" }
		disablewhen	"{ density_usebox == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "density_useboxhash" }
	    }
	    parm {
		name	"density_usesmoke"
		label	"Use Smoke   "
		type	toggle
		joinnext
		default	{ "on" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "density_usesmoke" }
	    }
	    parm {
		name	"density_guideremapsmoke"
		label	"Remap Smoke"
		type	toggle
		default	{ "off" }
		disablewhen	"{ density_usesmoke == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "density_guideremapsmoke" }
	    }
	    parm {
		name	"density_guidesmokedensity"
		label	"Smoke Density"
		type	float
		default	{ "1" }
		disablewhen	"{ density_usesmoke == 0 }"
		range	{ 0! 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "density_guidesmokedensity" }
	    }
	    parm {
		name	"density_guideuseplane"
		label	"Use Plane     "
		type	toggle
		joinnext
		default	{ "off" }
		disablewhen	"{ density_usesmoke == 1 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "density_guideuseplane" }
	    }
	    parm {
		name	"density_guideplane"
		label	"Plane Orientation"
		type	ordinal
		default	{ "xy" }
		disablewhen	"{ density_usesmoke == 1 } { density_guideuseplane == 0 }"
		menu	{
		    "xy"	"XY Plane"
		    "yz"	"YZ Plane"
		    "zx"	"ZX Plane"
		}
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "density_guideplane" }
	    }
	    parm {
		name	"density_guideplaneval"
		label	"Plane Position"
		type	float
		default	{ "0" }
		disablewhen	"{ density_usesmoke == 1 } { density_guideuseplane == 0 }"
		range	{ -1! 1! }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "density_guideplaneval" }
	    }
	    parm {
		name	"density_guidevismode"
		label	"Visualization Mode"
		type	ordinal
		joinnext
		default	{ "false" }
		disablewhen	"{ density_usesmoke == 1 density_guideremapsmoke == 0 } { density_usesmoke == 0 density_guideuseplane == 0 }"
		menu	{
		    "none"	"No Mapping"
		    "false"	"Infra-Red"
		    "pink"	"White to Red"
		    "mono"	"Grayscale"
		    "blackbody"	"Black Body"
		    "bipartite"	"Two-Tone"
		}
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "density_guidevismode" }
	    }
	    parm {
		name	"density_guidevisdensitymode"
		label	"Alpha Mapping"
		type	ordinal
		default	{ "none" }
		disablewhen	"{ density_usesmoke == 1 density_guideremapsmoke == 0 } { density_usesmoke == 0 density_guideuseplane == 0 }"
		menu	{
		    "none"	"No Mapping"
		    "increasing"	"Increasing"
		    "decreasing"	"Decreasing"
		    "hill"	"Hill"
		    "valley"	"Valley"
		    "step"	"Step"
		    "square"	"Square"
		}
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "density_guidevisdensitymode" }
	    }
	    parm {
		name	"density_guiderangemode"
		label	"Specify Range by Min/Max"
		type	toggle
		default	{ "on" }
		disablewhen	"{ density_usesmoke == 1 density_guideremapsmoke == 0 } { density_usesmoke == 0 density_guideuseplane == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "density_guiderangemode" }
	    }
	    parm {
		name	"density_guiderange"
		label	"Guide Range"
		type	float
		size	2
		default	{ "0" "1" }
		hidewhen	"{ density_usesmoke == 1 density_guideremapsmoke == 0 } { density_usesmoke == 0 density_guideuseplane == 0 } { density_guiderangemode == 0 }"
		range	{ 0 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "density_guiderange" }
	    }
	    parm {
		name	"density_guiderangecenter"
		label	"Guide Range Center"
		type	float
		default	{ "0.5" }
		hidewhen	"{ density_usesmoke == 1 density_guideremapsmoke == 0 } { density_usesmoke == 0 density_guideuseplane == 0 } { density_guiderangemode == 1 }"
		range	{ -1 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "density_guiderangecenter" }
	    }
	    parm {
		name	"density_guiderangesize"
		label	"Guide Range Width"
		type	float
		default	{ "1" }
		hidewhen	"{ density_usesmoke == 1 density_guideremapsmoke == 0 } { density_usesmoke == 0 density_guideuseplane == 0 } { density_guiderangemode == 1 }"
		range	{ 0 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "density_guiderangesize" }
	    }
	    parm {
		name	"density_guideiso"
		label	"Iso Offset"
		type	float
		default	{ "0" }
		disablewhen	"{ density_usesmoke == 1 } { density_guideuseplane == 1 }"
		range	{ -5 5 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "density_guideiso" }
	    }
	    parm {
		name	"density_guideinvert"
		label	"Invert Iso"
		type	toggle
		default	{ "off" }
		disablewhen	"{ density_usesmoke == 1 } { density_guideuseplane == 1 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "density_guideinvert" }
	    }
	}

	group {
	    name	"folder0_3"
	    label	"Temperature"
	    grouptag	{ "import_source" "op:smokeconfigureobject2" }
	    grouptag	{ "import_token" "folder0:Temperature" }

	    parm {
		name	"temperature1_usebox"
		label	"Bounding Box"
		type	toggle
		joinnext
		default	{ "off" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "temperature1_usebox" }
	    }
	    parm {
		name	"temperature1_useboxhash"
		label	"Bounding Box Hash"
		type	toggle
		default	{ "off" }
		disablewhen	"{ temperature1_usebox == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "temperature1_useboxhash" }
	    }
	    parm {
		name	"temperature1_usesmoke"
		label	"Use Smoke   "
		type	toggle
		joinnext
		default	{ "off" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "temperature1_usesmoke" }
	    }
	    parm {
		name	"temperature1_guideremapsmoke"
		label	"Remap Smoke"
		type	toggle
		default	{ "off" }
		disablewhen	"{ temperature1_usesmoke == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "temperature1_guideremapsmoke" }
	    }
	    parm {
		name	"temperature1_guidesmokedensity"
		label	"Smoke Density"
		type	float
		default	{ "1" }
		disablewhen	"{ temperature1_usesmoke == 0 }"
		range	{ 0! 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "temperature1_guidesmokedensity" }
	    }
	    parm {
		name	"temperature1_guideuseplane"
		label	"Use Plane     "
		type	toggle
		joinnext
		default	{ "on" }
		disablewhen	"{ temperature1_usesmoke == 1 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "temperature1_guideuseplane" }
	    }
	    parm {
		name	"temperature1_guideplane"
		label	"Plane Orientation"
		type	ordinal
		default	{ "xy" }
		disablewhen	"{ temperature1_usesmoke == 1 } { temperature1_guideuseplane == 0 }"
		menu	{
		    "xy"	"XY Plane"
		    "yz"	"YZ Plane"
		    "zx"	"ZX Plane"
		}
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "temperature1_guideplane" }
	    }
	    parm {
		name	"temperature1_guideplaneval"
		label	"Plane Position"
		type	float
		default	{ "0" }
		disablewhen	"{ temperature1_usesmoke == 1 } { temperature1_guideuseplane == 0 }"
		range	{ -1! 1! }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "temperature1_guideplaneval" }
	    }
	    parm {
		name	"temperature1_guidevismode"
		label	"Visualization Mode"
		type	ordinal
		joinnext
		default	{ "blackbody" }
		disablewhen	"{ temperature1_usesmoke == 1 temperature1_guideremapsmoke == 0 } { temperature1_usesmoke == 0 temperature1_guideuseplane == 0 }"
		menu	{
		    "none"	"No Mapping"
		    "false"	"Infra-Red"
		    "pink"	"White to Red"
		    "mono"	"Grayscale"
		    "blackbody"	"Black Body"
		    "bipartite"	"Two-Tone"
		}
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "temperature1_guidevismode" }
	    }
	    parm {
		name	"temperature1_guidevisdensitymode"
		label	"Alpha Mapping"
		type	ordinal
		default	{ "none" }
		disablewhen	"{ temperature1_usesmoke == 1 temperature1_guideremapsmoke == 0 } { temperature1_usesmoke == 0 temperature1_guideuseplane == 0 }"
		menu	{
		    "none"	"No Mapping"
		    "increasing"	"Increasing"
		    "decreasing"	"Decreasing"
		    "hill"	"Hill"
		    "valley"	"Valley"
		    "step"	"Step"
		    "square"	"Square"
		}
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "temperature1_guidevisdensitymode" }
	    }
	    parm {
		name	"temperature1_guiderangemode"
		label	"Specify Range by Min/Max"
		type	toggle
		default	{ "on" }
		disablewhen	"{ temperature1_usesmoke == 1 temperature1_guideremapsmoke == 0 } { temperature1_usesmoke == 0 temperature1_guideuseplane == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "temperature1_guiderangemode" }
	    }
	    parm {
		name	"temperature1_guiderange"
		label	"Guide Range"
		type	float
		size	2
		default	{ "0" "1" }
		hidewhen	"{ temperature1_usesmoke == 1 temperature1_guideremapsmoke == 0 } { temperature1_usesmoke == 0 temperature1_guideuseplane == 0 } { temperature1_guiderangemode == 0 }"
		range	{ 0 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "temperature1_guiderange" }
	    }
	    parm {
		name	"temperature1_guiderangecenter"
		label	"Guide Range Center"
		type	float
		default	{ "0.5" }
		hidewhen	"{ temperature1_usesmoke == 1 temperature1_guideremapsmoke == 0 } { temperature1_usesmoke == 0 temperature1_guideuseplane == 0 } { temperature1_guiderangemode == 1 }"
		range	{ -1 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "temperature1_guiderangecenter" }
	    }
	    parm {
		name	"temperature1_guiderangesize"
		label	"Guide Range Width"
		type	float
		default	{ "1" }
		hidewhen	"{ temperature1_usesmoke == 1 temperature1_guideremapsmoke == 0 } { temperature1_usesmoke == 0 temperature1_guideuseplane == 0 } { temperature1_guiderangemode == 1 }"
		range	{ 0 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "temperature1_guiderangesize" }
	    }
	    parm {
		name	"temperature1_guideiso"
		label	"Iso Offset"
		type	float
		default	{ "0" }
		disablewhen	"{ temperature1_usesmoke == 1 } { temperature1_guideuseplane == 1 }"
		range	{ -5 5 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "temperature1_guideiso" }
	    }
	    parm {
		name	"temperature1_guideinvert"
		label	"Invert Iso"
		type	toggle
		default	{ "off" }
		disablewhen	"{ temperature1_usesmoke == 1 } { temperature1_guideuseplane == 1 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "temperature1_guideinvert" }
	    }
	}

	group {
	    name	"folder0_4"
	    label	"Fuel"
	    grouptag	{ "import_source" "op:smokeconfigureobject2" }
	    grouptag	{ "import_token" "folder0:Fuel" }

	    parm {
		name	"fuel_usebox"
		label	"Bounding Box"
		type	toggle
		joinnext
		default	{ "off" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "fuel_usebox" }
	    }
	    parm {
		name	"fuel_useboxhash"
		label	"Bounding Box Hash"
		type	toggle
		default	{ "off" }
		disablewhen	"{ fuel_usebox == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "fuel_useboxhash" }
	    }
	    parm {
		name	"fuel_usesmoke"
		label	"Use Smoke   "
		type	toggle
		joinnext
		default	{ "on" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "fuel_usesmoke" }
	    }
	    parm {
		name	"fuel_guideremapsmoke"
		label	"Remap Smoke"
		type	toggle
		default	{ "off" }
		disablewhen	"{ fuel_usesmoke == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "fuel_guideremapsmoke" }
	    }
	    parm {
		name	"fuel_guidesmokedensity"
		label	"Smoke Density"
		type	float
		default	{ "1" }
		disablewhen	"{ fuel_usesmoke == 0 }"
		range	{ 0! 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "fuel_guidesmokedensity" }
	    }
	    parm {
		name	"fuel_guideuseplane"
		label	"Use Plane     "
		type	toggle
		joinnext
		default	{ "off" }
		disablewhen	"{ fuel_usesmoke == 1 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "fuel_guideuseplane" }
	    }
	    parm {
		name	"fuel_guideplane"
		label	"Plane Orientation"
		type	ordinal
		default	{ "xy" }
		disablewhen	"{ fuel_usesmoke == 1 } { fuel_guideuseplane == 0 }"
		menu	{
		    "xy"	"XY Plane"
		    "yz"	"YZ Plane"
		    "zx"	"ZX Plane"
		}
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "fuel_guideplane" }
	    }
	    parm {
		name	"fuel_guideplaneval"
		label	"Plane Position"
		type	float
		default	{ "0" }
		disablewhen	"{ fuel_usesmoke == 1 } { fuel_guideuseplane == 0 }"
		range	{ -1! 1! }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "fuel_guideplaneval" }
	    }
	    parm {
		name	"fuel_guidevismode"
		label	"Visualization Mode"
		type	ordinal
		joinnext
		default	{ "false" }
		disablewhen	"{ fuel_usesmoke == 1 fuel_guideremapsmoke == 0 } { fuel_usesmoke == 0 fuel_guideuseplane == 0 }"
		menu	{
		    "none"	"No Mapping"
		    "false"	"Infra-Red"
		    "pink"	"White to Red"
		    "mono"	"Grayscale"
		    "blackbody"	"Black Body"
		    "bipartite"	"Two-Tone"
		}
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "fuel_guidevismode" }
	    }
	    parm {
		name	"fuel_guidevisdensitymode"
		label	"Alpha Mapping"
		type	ordinal
		default	{ "none" }
		disablewhen	"{ fuel_usesmoke == 1 fuel_guideremapsmoke == 0 } { fuel_usesmoke == 0 fuel_guideuseplane == 0 }"
		menu	{
		    "none"	"No Mapping"
		    "increasing"	"Increasing"
		    "decreasing"	"Decreasing"
		    "hill"	"Hill"
		    "valley"	"Valley"
		    "step"	"Step"
		    "square"	"Square"
		}
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "fuel_guidevisdensitymode" }
	    }
	    parm {
		name	"fuel_guiderangemode"
		label	"Specify Range by Min/Max"
		type	toggle
		default	{ "on" }
		disablewhen	"{ fuel_usesmoke == 1 fuel_guideremapsmoke == 0 } { fuel_usesmoke == 0 fuel_guideuseplane == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "fuel_guiderangemode" }
	    }
	    parm {
		name	"fuel_guiderange"
		label	"Guide Range"
		type	float
		size	2
		default	{ "0" "1" }
		hidewhen	"{ fuel_usesmoke == 1 fuel_guideremapsmoke == 0 } { fuel_usesmoke == 0 fuel_guideuseplane == 0 } { fuel_guiderangemode == 0 }"
		range	{ 0 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "fuel_guiderange" }
	    }
	    parm {
		name	"fuel_guiderangecenter"
		label	"Guide Range Center"
		type	float
		default	{ "0.5" }
		hidewhen	"{ fuel_usesmoke == 1 fuel_guideremapsmoke == 0 } { fuel_usesmoke == 0 fuel_guideuseplane == 0 } { fuel_guiderangemode == 1 }"
		range	{ -1 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "fuel_guiderangecenter" }
	    }
	    parm {
		name	"fuel_guiderangesize"
		label	"Guide Range Width"
		type	float
		default	{ "1" }
		hidewhen	"{ fuel_usesmoke == 1 fuel_guideremapsmoke == 0 } { fuel_usesmoke == 0 fuel_guideuseplane == 0 } { fuel_guiderangemode == 1 }"
		range	{ 0 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "fuel_guiderangesize" }
	    }
	    parm {
		name	"fuel_guideiso"
		label	"Iso Offset"
		type	float
		default	{ "0" }
		disablewhen	"{ fuel_usesmoke == 1 } { fuel_guideuseplane == 1 }"
		range	{ -5 5 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "fuel_guideiso" }
	    }
	    parm {
		name	"fuel_guideinvert"
		label	"Invert Iso"
		type	toggle
		default	{ "off" }
		disablewhen	"{ fuel_usesmoke == 1 } { fuel_guideuseplane == 1 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "fuel_guideinvert" }
	    }
	}

	group {
	    name	"folder0_5"
	    label	"Divergence"
	    grouptag	{ "import_source" "op:smokeconfigureobject2" }
	    grouptag	{ "import_token" "folder0:Divergence" }

	    parm {
		name	"divergence_usebox"
		label	"Bounding Box"
		type	toggle
		joinnext
		default	{ "off" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "divergence_usebox" }
	    }
	    parm {
		name	"divergence_useboxhash"
		label	"Bounding Box Hash"
		type	toggle
		default	{ "off" }
		disablewhen	"{ divergence_usebox == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "divergence_useboxhash" }
	    }
	    parm {
		name	"divergence_usesmoke"
		label	"Use Smoke   "
		type	toggle
		joinnext
		default	{ "on" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "divergence_usesmoke" }
	    }
	    parm {
		name	"divergence_guideremapsmoke"
		label	"Remap Smoke"
		type	toggle
		default	{ "off" }
		disablewhen	"{ divergence_usesmoke == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "divergence_guideremapsmoke" }
	    }
	    parm {
		name	"divergence_guidesmokedensity"
		label	"Smoke Density"
		type	float
		default	{ "1" }
		disablewhen	"{ divergence_usesmoke == 0 }"
		range	{ 0! 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "divergence_guidesmokedensity" }
	    }
	    parm {
		name	"divergence_guideuseplane"
		label	"Use Plane     "
		type	toggle
		joinnext
		default	{ "off" }
		disablewhen	"{ divergence_usesmoke == 1 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "divergence_guideuseplane" }
	    }
	    parm {
		name	"divergence_guideplane"
		label	"Plane Orientation"
		type	ordinal
		default	{ "xy" }
		disablewhen	"{ divergence_usesmoke == 1 } { divergence_guideuseplane == 0 }"
		menu	{
		    "xy"	"XY Plane"
		    "yz"	"YZ Plane"
		    "zx"	"ZX Plane"
		}
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "divergence_guideplane" }
	    }
	    parm {
		name	"divergence_guideplaneval"
		label	"Plane Position"
		type	float
		default	{ "0" }
		disablewhen	"{ divergence_usesmoke == 1 } { divergence_guideuseplane == 0 }"
		range	{ -1! 1! }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "divergence_guideplaneval" }
	    }
	    parm {
		name	"divergence_guidevismode"
		label	"Visualization Mode"
		type	ordinal
		joinnext
		default	{ "false" }
		disablewhen	"{ divergence_usesmoke == 1 divergence_guideremapsmoke == 0 } { divergence_usesmoke == 0 divergence_guideuseplane == 0 }"
		menu	{
		    "none"	"No Mapping"
		    "false"	"Infra-Red"
		    "pink"	"White to Red"
		    "mono"	"Grayscale"
		    "blackbody"	"Black Body"
		    "bipartite"	"Two-Tone"
		}
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "divergence_guidevismode" }
	    }
	    parm {
		name	"divergence_guidevisdensitymode"
		label	"Alpha Mapping"
		type	ordinal
		default	{ "none" }
		disablewhen	"{ divergence_usesmoke == 1 divergence_guideremapsmoke == 0 } { divergence_usesmoke == 0 divergence_guideuseplane == 0 }"
		menu	{
		    "none"	"No Mapping"
		    "increasing"	"Increasing"
		    "decreasing"	"Decreasing"
		    "hill"	"Hill"
		    "valley"	"Valley"
		    "step"	"Step"
		    "square"	"Square"
		}
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "divergence_guidevisdensitymode" }
	    }
	    parm {
		name	"divergence_guiderangemode"
		label	"Specify Range by Min/Max"
		type	toggle
		default	{ "on" }
		disablewhen	"{ divergence_usesmoke == 1 divergence_guideremapsmoke == 0 } { divergence_usesmoke == 0 divergence_guideuseplane == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "divergence_guiderangemode" }
	    }
	    parm {
		name	"divergence_guiderange"
		label	"Guide Range"
		type	float
		size	2
		default	{ "0" "1" }
		hidewhen	"{ divergence_usesmoke == 1 divergence_guideremapsmoke == 0 } { divergence_usesmoke == 0 divergence_guideuseplane == 0 } { divergence_guiderangemode == 0 }"
		range	{ 0 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "divergence_guiderange" }
	    }
	    parm {
		name	"divergence_guiderangecenter"
		label	"Guide Range Center"
		type	float
		default	{ "0.5" }
		hidewhen	"{ divergence_usesmoke == 1 divergence_guideremapsmoke == 0 } { divergence_usesmoke == 0 divergence_guideuseplane == 0 } { divergence_guiderangemode == 1 }"
		range	{ -1 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "divergence_guiderangecenter" }
	    }
	    parm {
		name	"divergence_guiderangesize"
		label	"Guide Range Width"
		type	float
		default	{ "1" }
		hidewhen	"{ divergence_usesmoke == 1 divergence_guideremapsmoke == 0 } { divergence_usesmoke == 0 divergence_guideuseplane == 0 } { divergence_guiderangemode == 1 }"
		range	{ 0 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "divergence_guiderangesize" }
	    }
	    parm {
		name	"divergence_guideiso"
		label	"Iso Offset"
		type	float
		default	{ "0" }
		disablewhen	"{ divergence_usesmoke == 1 } { divergence_guideuseplane == 1 }"
		range	{ -5 5 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "divergence_guideiso" }
	    }
	    parm {
		name	"divergence_guideinvert"
		label	"Invert Iso"
		type	toggle
		default	{ "off" }
		disablewhen	"{ divergence_usesmoke == 1 } { divergence_guideuseplane == 1 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "divergence_guideinvert" }
	    }
	}

	group {
	    name	"folder0_6"
	    label	"Burn"
	    grouptag	{ "import_source" "op:smokeconfigureobject2" }
	    grouptag	{ "import_token" "folder0:Burn" }

	    parm {
		name	"burn_usebox"
		label	"Bounding Box"
		type	toggle
		joinnext
		default	{ "off" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "burn_usebox" }
	    }
	    parm {
		name	"burn_useboxhash"
		label	"Bounding Box Hash"
		type	toggle
		default	{ "off" }
		disablewhen	"{ burn_usebox == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "burn_useboxhash" }
	    }
	    parm {
		name	"burn_usesmoke"
		label	"Use Smoke   "
		type	toggle
		joinnext
		default	{ "on" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "burn_usesmoke" }
	    }
	    parm {
		name	"burn_guideremapsmoke"
		label	"Remap Smoke"
		type	toggle
		default	{ "off" }
		disablewhen	"{ burn_usesmoke == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "burn_guideremapsmoke" }
	    }
	    parm {
		name	"burn_guidesmokedensity"
		label	"Smoke Density"
		type	float
		default	{ "1" }
		disablewhen	"{ burn_usesmoke == 0 }"
		range	{ 0! 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "burn_guidesmokedensity" }
	    }
	    parm {
		name	"burn_guideuseplane"
		label	"Use Plane     "
		type	toggle
		joinnext
		default	{ "off" }
		disablewhen	"{ burn_usesmoke == 1 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "burn_guideuseplane" }
	    }
	    parm {
		name	"burn_guideplane"
		label	"Plane Orientation"
		type	ordinal
		default	{ "xy" }
		disablewhen	"{ burn_usesmoke == 1 } { burn_guideuseplane == 0 }"
		menu	{
		    "xy"	"XY Plane"
		    "yz"	"YZ Plane"
		    "zx"	"ZX Plane"
		}
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "burn_guideplane" }
	    }
	    parm {
		name	"burn_guideplaneval"
		label	"Plane Position"
		type	float
		default	{ "0" }
		disablewhen	"{ burn_usesmoke == 1 } { burn_guideuseplane == 0 }"
		range	{ -1! 1! }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "burn_guideplaneval" }
	    }
	    parm {
		name	"burn_guidevismode"
		label	"Visualization Mode"
		type	ordinal
		joinnext
		default	{ "false" }
		disablewhen	"{ burn_usesmoke == 1 burn_guideremapsmoke == 0 } { burn_usesmoke == 0 burn_guideuseplane == 0 }"
		menu	{
		    "none"	"No Mapping"
		    "false"	"Infra-Red"
		    "pink"	"White to Red"
		    "mono"	"Grayscale"
		    "blackbody"	"Black Body"
		    "bipartite"	"Two-Tone"
		}
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "burn_guidevismode" }
	    }
	    parm {
		name	"burn_guidevisdensitymode"
		label	"Alpha Mapping"
		type	ordinal
		default	{ "none" }
		disablewhen	"{ burn_usesmoke == 1 burn_guideremapsmoke == 0 } { burn_usesmoke == 0 burn_guideuseplane == 0 }"
		menu	{
		    "none"	"No Mapping"
		    "increasing"	"Increasing"
		    "decreasing"	"Decreasing"
		    "hill"	"Hill"
		    "valley"	"Valley"
		    "step"	"Step"
		    "square"	"Square"
		}
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "burn_guidevisdensitymode" }
	    }
	    parm {
		name	"burn_guiderangemode"
		label	"Specify Range by Min/Max"
		type	toggle
		default	{ "on" }
		disablewhen	"{ burn_usesmoke == 1 burn_guideremapsmoke == 0 } { burn_usesmoke == 0 burn_guideuseplane == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "burn_guiderangemode" }
	    }
	    parm {
		name	"burn_guiderange"
		label	"Guide Range"
		type	float
		size	2
		default	{ "0" "1" }
		hidewhen	"{ burn_usesmoke == 1 burn_guideremapsmoke == 0 } { burn_usesmoke == 0 burn_guideuseplane == 0 } { burn_guiderangemode == 0 }"
		range	{ 0 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "burn_guiderange" }
	    }
	    parm {
		name	"burn_guiderangecenter"
		label	"Guide Range Center"
		type	float
		default	{ "0.5" }
		hidewhen	"{ burn_usesmoke == 1 burn_guideremapsmoke == 0 } { burn_usesmoke == 0 burn_guideuseplane == 0 } { burn_guiderangemode == 1 }"
		range	{ -1 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "burn_guiderangecenter" }
	    }
	    parm {
		name	"burn_guiderangesize"
		label	"Guide Range Width"
		type	float
		default	{ "1" }
		hidewhen	"{ burn_usesmoke == 1 burn_guideremapsmoke == 0 } { burn_usesmoke == 0 burn_guideuseplane == 0 } { burn_guiderangemode == 1 }"
		range	{ 0 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "burn_guiderangesize" }
	    }
	    parm {
		name	"burn_guideiso"
		label	"Iso Offset"
		type	float
		default	{ "0" }
		disablewhen	"{ burn_usesmoke == 1 } { burn_guideuseplane == 1 }"
		range	{ -5 5 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "burn_guideiso" }
	    }
	    parm {
		name	"burn_guideinvert"
		label	"Invert Iso"
		type	toggle
		default	{ "off" }
		disablewhen	"{ burn_usesmoke == 1 } { burn_guideuseplane == 1 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "burn_guideinvert" }
	    }
	}

	group {
	    name	"folder0_7"
	    label	"Heat"
	    grouptag	{ "import_source" "op:smokeconfigureobject2" }
	    grouptag	{ "import_token" "folder0:Heat" }

	    parm {
		name	"heat_usebox"
		label	"Bounding Box"
		type	toggle
		joinnext
		default	{ "off" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "heat_usebox" }
	    }
	    parm {
		name	"heat_useboxhash"
		label	"Bounding Box Hash"
		type	toggle
		default	{ "off" }
		disablewhen	"{ heat_usebox == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "heat_useboxhash" }
	    }
	    parm {
		name	"heat_usesmoke"
		label	"Use Smoke   "
		type	toggle
		joinnext
		default	{ "on" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "heat_usesmoke" }
	    }
	    parm {
		name	"heat_guideremapsmoke"
		label	"Remap Smoke"
		type	toggle
		default	{ "off" }
		disablewhen	"{ heat_usesmoke == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "heat_guideremapsmoke" }
	    }
	    parm {
		name	"heat_guidesmokedensity"
		label	"Smoke Density"
		type	float
		default	{ "1" }
		disablewhen	"{ heat_usesmoke == 0 }"
		range	{ 0! 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "heat_guidesmokedensity" }
	    }
	    parm {
		name	"heat_guideuseplane"
		label	"Use Plane     "
		type	toggle
		joinnext
		default	{ "off" }
		disablewhen	"{ heat_usesmoke == 1 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "heat_guideuseplane" }
	    }
	    parm {
		name	"heat_guideplane"
		label	"Plane Orientation"
		type	ordinal
		default	{ "xy" }
		disablewhen	"{ heat_usesmoke == 1 } { heat_guideuseplane == 0 }"
		menu	{
		    "xy"	"XY Plane"
		    "yz"	"YZ Plane"
		    "zx"	"ZX Plane"
		}
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "heat_guideplane" }
	    }
	    parm {
		name	"heat_guideplaneval"
		label	"Plane Position"
		type	float
		default	{ "0" }
		disablewhen	"{ heat_usesmoke == 1 } { heat_guideuseplane == 0 }"
		range	{ -1! 1! }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "heat_guideplaneval" }
	    }
	    parm {
		name	"heat_guidevismode"
		label	"Visualization Mode"
		type	ordinal
		joinnext
		default	{ "blackbody" }
		disablewhen	"{ heat_usesmoke == 1 heat_guideremapsmoke == 0 } { heat_usesmoke == 0 heat_guideuseplane == 0 }"
		menu	{
		    "none"	"No Mapping"
		    "false"	"Infra-Red"
		    "pink"	"White to Red"
		    "mono"	"Grayscale"
		    "blackbody"	"Black Body"
		    "bipartite"	"Two-Tone"
		}
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "heat_guidevismode" }
	    }
	    parm {
		name	"heat_guidevisdensitymode"
		label	"Alpha Mapping"
		type	ordinal
		default	{ "none" }
		disablewhen	"{ heat_usesmoke == 1 heat_guideremapsmoke == 0 } { heat_usesmoke == 0 heat_guideuseplane == 0 }"
		menu	{
		    "none"	"No Mapping"
		    "increasing"	"Increasing"
		    "decreasing"	"Decreasing"
		    "hill"	"Hill"
		    "valley"	"Valley"
		    "step"	"Step"
		    "square"	"Square"
		}
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "heat_guidevisdensitymode" }
	    }
	    parm {
		name	"heat_guiderangemode"
		label	"Specify Range by Min/Max"
		type	toggle
		default	{ "on" }
		disablewhen	"{ heat_usesmoke == 1 heat_guideremapsmoke == 0 } { heat_usesmoke == 0 heat_guideuseplane == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "heat_guiderangemode" }
	    }
	    parm {
		name	"heat_guiderange"
		label	"Guide Range"
		type	float
		size	2
		default	{ "0" "1" }
		hidewhen	"{ heat_usesmoke == 1 heat_guideremapsmoke == 0 } { heat_usesmoke == 0 heat_guideuseplane == 0 } { heat_guiderangemode == 0 }"
		range	{ 0 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "heat_guiderange" }
	    }
	    parm {
		name	"heat_guiderangecenter"
		label	"Guide Range Center"
		type	float
		default	{ "0.5" }
		hidewhen	"{ heat_usesmoke == 1 heat_guideremapsmoke == 0 } { heat_usesmoke == 0 heat_guideuseplane == 0 } { heat_guiderangemode == 1 }"
		range	{ -1 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "heat_guiderangecenter" }
	    }
	    parm {
		name	"heat_guiderangesize"
		label	"Guide Range Width"
		type	float
		default	{ "1" }
		hidewhen	"{ heat_usesmoke == 1 heat_guideremapsmoke == 0 } { heat_usesmoke == 0 heat_guideuseplane == 0 } { heat_guiderangemode == 1 }"
		range	{ 0 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "heat_guiderangesize" }
	    }
	    parm {
		name	"heat_guideiso"
		label	"Iso Offset"
		type	float
		default	{ "0" }
		disablewhen	"{ heat_usesmoke == 1 } { heat_guideuseplane == 1 }"
		range	{ -5 5 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "heat_guideiso" }
	    }
	    parm {
		name	"heat_guideinvert"
		label	"Invert Iso"
		type	toggle
		default	{ "on" }
		disablewhen	"{ heat_usesmoke == 1 } { heat_guideuseplane == 1 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "heat_guideinvert" }
	    }
	}

	group {
	    name	"folder0_8"
	    label	"Velocity"
	    grouptag	{ "import_source" "op:smokeconfigureobject2" }
	    grouptag	{ "import_token" "folder0:Velocity" }

	    parm {
		name	"velocity_guideusebox"
		label	"Bounding Box"
		type	toggle
		joinnext
		default	{ "off" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "velocity_guideusebox" }
	    }
	    parm {
		name	"velocity_guideuseboxhash"
		label	"Bounding Box Hash"
		type	toggle
		default	{ "off" }
		disablewhen	"{ velocity_guideusebox == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "velocity_guideuseboxhash" }
	    }
	    parm {
		name	"velocity_guideusesmoke"
		label	"Use Smoke"
		type	toggle
		default	{ "off" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "velocity_guideusesmoke" }
	    }
	    parm {
		name	"velocity_guidescale"
		label	"Scale"
		type	float
		default	{ "1" }
		range	{ 0 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "velocity_guidescale" }
	    }
	    parm {
		name	"velocity_guideoverridediv"
		label	"Override Divisions"
		type	toggle
		default	{ "off" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "velocity_guideoverridediv" }
	    }
	    parm {
		name	"velocity_guidediv"
		label	"Divisions"
		type	intvector
		size	3
		default	{ "10" "10" "10" }
		disablewhen	"{ velocity_guideoverridediv == 0 }"
		range	{ 1! 1000 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "velocity_guidediv" }
	    }
	    parm {
		name	"velocity_guidebarbs"
		label	"Use Barbs on Vectors"
		type	toggle
		default	{ "on" }
		disablewhen	"{ velocity_guideusesmoke == 1 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "velocity_guidebarbs" }
	    }
	    parm {
		name	"velocity_guidepercomp"
		label	"Component Velocities"
		type	toggle
		default	{ "off" }
		disablewhen	"{ velocity_guideusesmoke == 1 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "velocity_guidepercomp" }
	    }
	    parm {
		name	"velocity_guideusestreamers"
		label	"Use Streamers"
		type	toggle
		joinnext
		default	{ "on" }
		disablewhen	"{ velocity_guideusesmoke == 1 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "velocity_guideusestreamers" }
	    }
	    parm {
		name	"velocity_guideuseplane"
		label	"Use Plane"
		type	toggle
		default	{ "off" }
		disablewhen	"{ velocity_guideusesmoke == 1 } { velocity_guideusestreamers == 1 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "velocity_guideuseplane" }
	    }
	    parm {
		name	"velocity_guideplane"
		label	"Plane Orientation"
		type	ordinal
		default	{ "xy" }
		disablewhen	"{ velocity_guideusesmoke == 1 } { velocity_guideusestreamers == 0 velocity_guideuseplane == 0 }"
		menu	{
		    "xy"	"XY Plane"
		    "yz"	"YZ Plane"
		    "zx"	"ZX Plane"
		}
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "velocity_guideplane" }
	    }
	    parm {
		name	"velocity_guideplaneval"
		label	"Plane Position"
		type	float
		default	{ "0" }
		disablewhen	"{ velocity_guideusesmoke == 1 } { velocity_guideusestreamers == 0 velocity_guideuseplane == 0 }"
		range	{ -1! 1! }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "velocity_guideplaneval" }
	    }
	    parm {
		name	"velocity_guidestreamerlen"
		label	"Streamer Length"
		type	float
		default	{ "1" }
		disablewhen	"{ velocity_guideusesmoke == 1 } { velocity_guideusestreamers == 0 }"
		range	{ 0 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "velocity_guidestreamerlen" }
	    }
	    parm {
		name	"velocity_guidestreamerminspeed"
		label	"Streamer Minimum Speed"
		type	float
		default	{ "0.001" }
		disablewhen	"{ velocity_guideusesmoke == 1 } { velocity_guideusestreamers == 0 }"
		range	{ 0 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "velocity_guidestreamerminspeed" }
	    }
	    parm {
		name	"velocity_guidevistype"
		label	"Visualization Type"
		type	ordinal
		default	{ "speed" }
		disablewhen	"{ velocity_guideusesmoke == 1 }"
		menu	{
		    "none"	"None"
		    "distance"	"Distance"
		    "speed"	"Speed"
		    "origin"	"Origin"
		    "dir"	"Direction"
		    "value"	"Value"
		}
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "velocity_guidevistype" }
	    }
	    parm {
		name	"velocity_guidevismode"
		label	"Visualization Mode"
		type	ordinal
		default	{ "false" }
		disablewhen	"{ velocity_guideusesmoke == 1 } { velocity_guidevistype != distance velocity_guidevistype != speed }"
		menu	{
		    "false"	"Infra-Red"
		    "pink"	"White to Red"
		    "mono"	"Grayscale"
		    "blackbody"	"Black Body"
		    "bipartite"	"Two-Tone"
		}
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "velocity_guidevismode" }
	    }
	    parm {
		name	"velocity_guidevisscale"
		label	"Visualization Scale"
		type	float
		default	{ "1" }
		disablewhen	"{ velocity_guideusesmoke == 1 }"
		range	{ 0 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "velocity_guidevisscale" }
	    }
	    parm {
		name	"velocity_guiderange"
		label	"Visualization Range"
		type	float
		size	2
		default	{ "0" "1" }
		disablewhen	"{ velocity_guideusesmoke == 1 }"
		range	{ 0 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "velocity_guiderange" }
	    }
	}

	group {
	    name	"folder0_9"
	    label	"Collision"
	    grouptag	{ "import_source" "op:smokeconfigureobject2" }
	    grouptag	{ "import_token" "folder0:Collision" }

	    parm {
		name	"collisionmask1_usebox"
		label	"Bounding Box"
		type	toggle
		joinnext
		default	{ "off" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "collisionmask1_usebox" }
	    }
	    parm {
		name	"collisionmask1_useboxhash"
		label	"Bounding Box Hash"
		type	toggle
		default	{ "off" }
		disablewhen	"{ collisionmask1_usebox == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "collisionmask1_useboxhash" }
	    }
	    parm {
		name	"collisionmask1_usesmoke"
		label	"Use Smoke   "
		type	toggle
		joinnext
		default	{ "off" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "collisionmask1_usesmoke" }
	    }
	    parm {
		name	"collisionmask1_guideremapsmoke"
		label	"Remap Smoke"
		type	toggle
		default	{ "off" }
		disablewhen	"{ collisionmask1_usesmoke == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "collisionmask1_guideremapsmoke" }
	    }
	    parm {
		name	"collisionmask1_guidesmokedensity"
		label	"Smoke Density"
		type	float
		default	{ "1" }
		disablewhen	"{ collisionmask1_usesmoke == 0 }"
		range	{ 0! 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "collisionmask1_guidesmokedensity" }
	    }
	    parm {
		name	"collisionmask1_guideuseplane"
		label	"Use Plane     "
		type	toggle
		joinnext
		default	{ "off" }
		disablewhen	"{ collisionmask1_usesmoke == 1 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "collisionmask1_guideuseplane" }
	    }
	    parm {
		name	"collisionmask1_guideplane"
		label	"Plane Orientation"
		type	ordinal
		default	{ "xy" }
		disablewhen	"{ collisionmask1_usesmoke == 1 } { collisionmask1_guideuseplane == 0 }"
		menu	{
		    "xy"	"XY Plane"
		    "yz"	"YZ Plane"
		    "zx"	"ZX Plane"
		}
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "collisionmask1_guideplane" }
	    }
	    parm {
		name	"collisionmask1_guideplaneval"
		label	"Plane Position"
		type	float
		default	{ "0" }
		disablewhen	"{ collisionmask1_usesmoke == 1 } { collisionmask1_guideuseplane == 0 }"
		range	{ -1! 1! }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "collisionmask1_guideplaneval" }
	    }
	    parm {
		name	"collisionmask1_guidevismode"
		label	"Visualization Mode"
		type	ordinal
		joinnext
		default	{ "false" }
		disablewhen	"{ collisionmask1_usesmoke == 1 collisionmask1_guideremapsmoke == 0 } { collisionmask1_usesmoke == 0 collisionmask1_guideuseplane == 0 }"
		menu	{
		    "none"	"No Mapping"
		    "false"	"Infra-Red"
		    "pink"	"White to Red"
		    "mono"	"Grayscale"
		    "blackbody"	"Black Body"
		    "bipartite"	"Two-Tone"
		}
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "collisionmask1_guidevismode" }
	    }
	    parm {
		name	"collisionmask1_guidevisdensitymode"
		label	"Alpha Mapping"
		type	ordinal
		default	{ "none" }
		disablewhen	"{ collisionmask1_usesmoke == 1 collisionmask1_guideremapsmoke == 0 } { collisionmask1_usesmoke == 0 collisionmask1_guideuseplane == 0 }"
		menu	{
		    "none"	"No Mapping"
		    "increasing"	"Increasing"
		    "decreasing"	"Decreasing"
		    "hill"	"Hill"
		    "valley"	"Valley"
		    "step"	"Step"
		    "square"	"Square"
		}
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "collisionmask1_guidevisdensitymode" }
	    }
	    parm {
		name	"collisionmask1_guiderangemode"
		label	"Specify Range by Min/Max"
		type	toggle
		default	{ "on" }
		disablewhen	"{ collisionmask1_usesmoke == 1 collisionmask1_guideremapsmoke == 0 } { collisionmask1_usesmoke == 0 collisionmask1_guideuseplane == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "collisionmask1_guiderangemode" }
	    }
	    parm {
		name	"collisionmask1_guiderange"
		label	"Guide Range"
		type	float
		size	2
		default	{ "0" "1" }
		hidewhen	"{ collisionmask1_usesmoke == 1 collisionmask1_guideremapsmoke == 0 } { collisionmask1_usesmoke == 0 collisionmask1_guideuseplane == 0 } { collisionmask1_guiderangemode == 0 }"
		range	{ 0 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "collisionmask1_guiderange" }
	    }
	    parm {
		name	"collisionmask1_guiderangecenter"
		label	"Guide Range Center"
		type	float
		default	{ "0.5" }
		hidewhen	"{ collisionmask1_usesmoke == 1 collisionmask1_guideremapsmoke == 0 } { collisionmask1_usesmoke == 0 collisionmask1_guideuseplane == 0 } { collisionmask1_guiderangemode == 1 }"
		range	{ -1 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "collisionmask1_guiderangecenter" }
	    }
	    parm {
		name	"collisionmask1_guiderangesize"
		label	"Guide Range Width"
		type	float
		default	{ "1" }
		hidewhen	"{ collisionmask1_usesmoke == 1 collisionmask1_guideremapsmoke == 0 } { collisionmask1_usesmoke == 0 collisionmask1_guideuseplane == 0 } { collisionmask1_guiderangemode == 1 }"
		range	{ 0 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "collisionmask1_guiderangesize" }
	    }
	    parm {
		name	"collisionmask1_guideiso"
		label	"Iso Offset"
		type	float
		default	{ "0" }
		disablewhen	"{ collisionmask1_usesmoke == 1 } { collisionmask1_guideuseplane == 1 }"
		range	{ -5 5 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "collisionmask1_guideiso" }
	    }
	    parm {
		name	"collisionmask1_guideinvert"
		label	"Invert Iso"
		type	toggle
		default	{ "on" }
		disablewhen	"{ collisionmask1_usesmoke == 1 } { collisionmask1_guideuseplane == 1 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "collisionmask1_guideinvert" }
	    }
	}

	group {
	    name	"folder0_10"
	    label	"Source"
	    grouptag	{ "import_source" "op:smokeconfigureobject2" }
	    grouptag	{ "import_token" "folder0:Source" }

	    parm {
		name	"sourcemask1_usebox"
		label	"Bounding Box"
		type	toggle
		joinnext
		default	{ "off" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "sourcemask1_usebox" }
	    }
	    parm {
		name	"sourcemask1_useboxhash"
		label	"Bounding Box Hash"
		type	toggle
		default	{ "off" }
		disablewhen	"{ sourcemask1_usebox == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "sourcemask1_useboxhash" }
	    }
	    parm {
		name	"sourcemask1_usesmoke"
		label	"Use Smoke   "
		type	toggle
		joinnext
		default	{ "on" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "sourcemask1_usesmoke" }
	    }
	    parm {
		name	"sourcemask1_guideremapsmoke"
		label	"Remap Smoke"
		type	toggle
		default	{ "off" }
		disablewhen	"{ sourcemask1_usesmoke == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "sourcemask1_guideremapsmoke" }
	    }
	    parm {
		name	"sourcemask1_guidesmokedensity"
		label	"Smoke Density"
		type	float
		default	{ "1" }
		disablewhen	"{ sourcemask1_usesmoke == 0 }"
		range	{ 0! 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "sourcemask1_guidesmokedensity" }
	    }
	    parm {
		name	"sourcemask1_guideuseplane"
		label	"Use Plane     "
		type	toggle
		joinnext
		default	{ "off" }
		disablewhen	"{ sourcemask1_usesmoke == 1 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "sourcemask1_guideuseplane" }
	    }
	    parm {
		name	"sourcemask1_guideplane"
		label	"Plane Orientation"
		type	ordinal
		default	{ "xy" }
		disablewhen	"{ sourcemask1_usesmoke == 1 } { sourcemask1_guideuseplane == 0 }"
		menu	{
		    "xy"	"XY Plane"
		    "yz"	"YZ Plane"
		    "zx"	"ZX Plane"
		}
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "sourcemask1_guideplane" }
	    }
	    parm {
		name	"sourcemask1_guideplaneval"
		label	"Plane Position"
		type	float
		default	{ "0" }
		disablewhen	"{ sourcemask1_usesmoke == 1 } { sourcemask1_guideuseplane == 0 }"
		range	{ -1! 1! }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "sourcemask1_guideplaneval" }
	    }
	    parm {
		name	"sourcemask1_guidevismode"
		label	"Visualization Mode"
		type	ordinal
		joinnext
		default	{ "false" }
		disablewhen	"{ sourcemask1_usesmoke == 1 sourcemask1_guideremapsmoke == 0 } { sourcemask1_usesmoke == 0 sourcemask1_guideuseplane == 0 }"
		menu	{
		    "none"	"No Mapping"
		    "false"	"Infra-Red"
		    "pink"	"White to Red"
		    "mono"	"Grayscale"
		    "blackbody"	"Black Body"
		    "bipartite"	"Two-Tone"
		}
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "sourcemask1_guidevismode" }
	    }
	    parm {
		name	"sourcemask1_guidevisdensitymode"
		label	"Alpha Mapping"
		type	ordinal
		default	{ "none" }
		disablewhen	"{ sourcemask1_usesmoke == 1 sourcemask1_guideremapsmoke == 0 } { sourcemask1_usesmoke == 0 sourcemask1_guideuseplane == 0 }"
		menu	{
		    "none"	"No Mapping"
		    "increasing"	"Increasing"
		    "decreasing"	"Decreasing"
		    "hill"	"Hill"
		    "valley"	"Valley"
		    "step"	"Step"
		    "square"	"Square"
		}
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "sourcemask1_guidevisdensitymode" }
	    }
	    parm {
		name	"sourcemask1_guiderangemode"
		label	"Specify Range by Min/Max"
		type	toggle
		default	{ "on" }
		disablewhen	"{ sourcemask1_usesmoke == 1 sourcemask1_guideremapsmoke == 0 } { sourcemask1_usesmoke == 0 sourcemask1_guideuseplane == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "sourcemask1_guiderangemode" }
	    }
	    parm {
		name	"sourcemask1_guiderange"
		label	"Guide Range"
		type	float
		size	2
		default	{ "0" "1" }
		hidewhen	"{ sourcemask1_usesmoke == 1 sourcemask1_guideremapsmoke == 0 } { sourcemask1_usesmoke == 0 sourcemask1_guideuseplane == 0 } { sourcemask1_guiderangemode == 0 }"
		range	{ 0 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "sourcemask1_guiderange" }
	    }
	    parm {
		name	"sourcemask1_guiderangecenter"
		label	"Guide Range Center"
		type	float
		default	{ "0.5" }
		hidewhen	"{ sourcemask1_usesmoke == 1 sourcemask1_guideremapsmoke == 0 } { sourcemask1_usesmoke == 0 sourcemask1_guideuseplane == 0 } { sourcemask1_guiderangemode == 1 }"
		range	{ -1 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "sourcemask1_guiderangecenter" }
	    }
	    parm {
		name	"sourcemask1_guiderangesize"
		label	"Guide Range Width"
		type	float
		default	{ "1" }
		hidewhen	"{ sourcemask1_usesmoke == 1 sourcemask1_guideremapsmoke == 0 } { sourcemask1_usesmoke == 0 sourcemask1_guideuseplane == 0 } { sourcemask1_guiderangemode == 1 }"
		range	{ 0 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "sourcemask1_guiderangesize" }
	    }
	    parm {
		name	"sourcemask1_guideiso"
		label	"Iso Offset"
		type	float
		default	{ "0" }
		disablewhen	"{ sourcemask1_usesmoke == 1 } { sourcemask1_guideuseplane == 1 }"
		range	{ -5 5 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "sourcemask1_guideiso" }
	    }
	    parm {
		name	"sourcemask1_guideinvert"
		label	"Invert Iso"
		type	toggle
		default	{ "off" }
		disablewhen	"{ sourcemask1_usesmoke == 1 } { sourcemask1_guideuseplane == 1 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "sourcemask1_guideinvert" }
	    }
	}

	group {
	    name	"folder0_11"
	    label	"Sink"
	    grouptag	{ "import_source" "op:smokeconfigureobject2" }
	    grouptag	{ "import_token" "folder0:Sink" }

	    parm {
		name	"sinkmask1_usebox"
		label	"Bounding Box"
		type	toggle
		joinnext
		default	{ "off" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "sinkmask1_usebox" }
	    }
	    parm {
		name	"sinkmask1_useboxhash"
		label	"Bounding Box Hash"
		type	toggle
		default	{ "off" }
		disablewhen	"{ sinkmask1_usebox == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "sinkmask1_useboxhash" }
	    }
	    parm {
		name	"sinkmask1_usesmoke"
		label	"Use Smoke   "
		type	toggle
		joinnext
		default	{ "on" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "sinkmask1_usesmoke" }
	    }
	    parm {
		name	"sinkmask1_guideremapsmoke"
		label	"Remap Smoke"
		type	toggle
		default	{ "off" }
		disablewhen	"{ sinkmask1_usesmoke == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "sinkmask1_guideremapsmoke" }
	    }
	    parm {
		name	"sinkmask1_guidesmokedensity"
		label	"Smoke Density"
		type	float
		default	{ "1" }
		disablewhen	"{ sinkmask1_usesmoke == 0 }"
		range	{ 0! 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "sinkmask1_guidesmokedensity" }
	    }
	    parm {
		name	"sinkmask1_guideuseplane"
		label	"Use Plane     "
		type	toggle
		joinnext
		default	{ "off" }
		disablewhen	"{ sinkmask1_usesmoke == 1 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "sinkmask1_guideuseplane" }
	    }
	    parm {
		name	"sinkmask1_guideplane"
		label	"Plane Orientation"
		type	ordinal
		default	{ "xy" }
		disablewhen	"{ sinkmask1_usesmoke == 1 } { sinkmask1_guideuseplane == 0 }"
		menu	{
		    "xy"	"XY Plane"
		    "yz"	"YZ Plane"
		    "zx"	"ZX Plane"
		}
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "sinkmask1_guideplane" }
	    }
	    parm {
		name	"sinkmask1_guideplaneval"
		label	"Plane Position"
		type	float
		default	{ "0" }
		disablewhen	"{ sinkmask1_usesmoke == 1 } { sinkmask1_guideuseplane == 0 }"
		range	{ -1! 1! }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "sinkmask1_guideplaneval" }
	    }
	    parm {
		name	"sinkmask1_guidevismode"
		label	"Visualization Mode"
		type	ordinal
		joinnext
		default	{ "false" }
		disablewhen	"{ sinkmask1_usesmoke == 1 sinkmask1_guideremapsmoke == 0 } { sinkmask1_usesmoke == 0 sinkmask1_guideuseplane == 0 }"
		menu	{
		    "none"	"No Mapping"
		    "false"	"Infra-Red"
		    "pink"	"White to Red"
		    "mono"	"Grayscale"
		    "blackbody"	"Black Body"
		    "bipartite"	"Two-Tone"
		}
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "sinkmask1_guidevismode" }
	    }
	    parm {
		name	"sinkmask1_guidevisdensitymode"
		label	"Alpha Mapping"
		type	ordinal
		default	{ "none" }
		disablewhen	"{ sinkmask1_usesmoke == 1 sinkmask1_guideremapsmoke == 0 } { sinkmask1_usesmoke == 0 sinkmask1_guideuseplane == 0 }"
		menu	{
		    "none"	"No Mapping"
		    "increasing"	"Increasing"
		    "decreasing"	"Decreasing"
		    "hill"	"Hill"
		    "valley"	"Valley"
		    "step"	"Step"
		    "square"	"Square"
		}
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "sinkmask1_guidevisdensitymode" }
	    }
	    parm {
		name	"sinkmask1_guiderangemode"
		label	"Specify Range by Min/Max"
		type	toggle
		default	{ "on" }
		disablewhen	"{ sinkmask1_usesmoke == 1 sinkmask1_guideremapsmoke == 0 } { sinkmask1_usesmoke == 0 sinkmask1_guideuseplane == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "sinkmask1_guiderangemode" }
	    }
	    parm {
		name	"sinkmask1_guiderange"
		label	"Guide Range"
		type	float
		size	2
		default	{ "0" "1" }
		hidewhen	"{ sinkmask1_usesmoke == 1 sinkmask1_guideremapsmoke == 0 } { sinkmask1_usesmoke == 0 sinkmask1_guideuseplane == 0 } { sinkmask1_guiderangemode == 0 }"
		range	{ 0 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "sinkmask1_guiderange" }
	    }
	    parm {
		name	"sinkmask1_guiderangecenter"
		label	"Guide Range Center"
		type	float
		default	{ "0.5" }
		hidewhen	"{ sinkmask1_usesmoke == 1 sinkmask1_guideremapsmoke == 0 } { sinkmask1_usesmoke == 0 sinkmask1_guideuseplane == 0 } { sinkmask1_guiderangemode == 1 }"
		range	{ -1 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "sinkmask1_guiderangecenter" }
	    }
	    parm {
		name	"sinkmask1_guiderangesize"
		label	"Guide Range Width"
		type	float
		default	{ "1" }
		hidewhen	"{ sinkmask1_usesmoke == 1 sinkmask1_guideremapsmoke == 0 } { sinkmask1_usesmoke == 0 sinkmask1_guideuseplane == 0 } { sinkmask1_guiderangemode == 1 }"
		range	{ 0 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "sinkmask1_guiderangesize" }
	    }
	    parm {
		name	"sinkmask1_guideiso"
		label	"Iso Offset"
		type	float
		default	{ "0" }
		disablewhen	"{ sinkmask1_usesmoke == 1 } { sinkmask1_guideuseplane == 1 }"
		range	{ -5 5 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "sinkmask1_guideiso" }
	    }
	    parm {
		name	"sinkmask1_guideinvert"
		label	"Invert Iso"
		type	toggle
		default	{ "off" }
		disablewhen	"{ sinkmask1_usesmoke == 1 } { sinkmask1_guideuseplane == 1 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "sinkmask1_guideinvert" }
	    }
	}

	group {
	    name	"folder0_12"
	    label	"Pump"
	    grouptag	{ "import_source" "op:smokeconfigureobject2" }
	    grouptag	{ "import_token" "folder0:Pump" }

	    parm {
		name	"pumpmask1_showguide"
		label	"Show Guide Geometry"
		type	toggle
		default	{ "off" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "pumpmask1_showguide" }
	    }
	    parm {
		name	"pumpmask1_color"
		label	"Color"
		type	color
		size	3
		default	{ "0" "0" "1" }
		range	{ 0! 1! }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "pumpmask1_color" }
	    }
	    parm {
		name	"pumpmask1_usebox"
		label	"Bounding Box"
		type	toggle
		joinnext
		default	{ "off" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "pumpmask1_usebox" }
	    }
	    parm {
		name	"pumpmask1_useboxhash"
		label	"Bounding Box Hash"
		type	toggle
		default	{ "off" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "pumpmask1_useboxhash" }
	    }
	    parm {
		name	"pumpmask1_usesmoke"
		label	"Use Smoke   "
		type	toggle
		joinnext
		default	{ "off" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "pumpmask1_usesmoke" }
	    }
	    parm {
		name	"pumpmask1_guideremapsmoke"
		label	"Remap Smoke"
		type	toggle
		default	{ "off" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "pumpmask1_guideremapsmoke" }
	    }
	    parm {
		name	"pumpmask1_guidesmokedensity"
		label	"Smoke Density"
		type	float
		default	{ "1" }
		range	{ 0! 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "pumpmask1_guidesmokedensity" }
	    }
	    parm {
		name	"pumpmask1_guideuseplane"
		label	"Use Plane     "
		type	toggle
		joinnext
		default	{ "off" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "pumpmask1_guideuseplane" }
	    }
	    parm {
		name	"pumpmask1_guideplane"
		label	"Plane Orientation"
		type	ordinal
		default	{ "xy" }
		disablewhen	"{ pumpmask1_guideuseplane == 0 }"
		menu	{
		    "xy"	"XY Plane"
		    "yz"	"YZ Plane"
		    "zx"	"ZX Plane"
		}
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "pumpmask1_guideplane" }
	    }
	    parm {
		name	"pumpmask1_guideplaneval"
		label	"Plane Position"
		type	float
		default	{ "0" }
		disablewhen	"{ pumpmask1_guideuseplane == 0 }"
		range	{ -1! 1! }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "pumpmask1_guideplaneval" }
	    }
	    parm {
		name	"pumpmask1_guidevismode"
		label	"Visualization Mode"
		type	ordinal
		joinnext
		default	{ "false" }
		disablewhen	"{ pumpmask1_guideremapsmoke == 0 } { pumpmask1_guideuseplane == 0 }"
		menu	{
		    "none"	"No Mapping"
		    "false"	"Infra-Red"
		    "pink"	"White to Red"
		    "mono"	"Grayscale"
		    "blackbody"	"Black Body"
		    "bipartite"	"Two-Tone"
		}
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "pumpmask1_guidevismode" }
	    }
	    parm {
		name	"pumpmask1_guidevisdensitymode"
		label	"Alpha Mapping"
		type	ordinal
		default	{ "none" }
		disablewhen	"{ pumpmask1_guideremapsmoke == 0 } { pumpmask1_guideuseplane == 0 }"
		menu	{
		    "none"	"No Mapping"
		    "increasing"	"Increasing"
		    "decreasing"	"Decreasing"
		    "hill"	"Hill"
		    "valley"	"Valley"
		    "step"	"Step"
		    "square"	"Square"
		}
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "pumpmask1_guidevisdensitymode" }
	    }
	    parm {
		name	"pumpmask1_guiderangemode"
		label	"Specify Range by Min/Max"
		type	toggle
		default	{ "on" }
		disablewhen	"{ pumpmask1_guideremapsmoke == 0 } { pumpmask1_guideuseplane == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "pumpmask1_guiderangemode" }
	    }
	    parm {
		name	"pumpmask1_guiderange"
		label	"Guide Range"
		type	float
		size	2
		default	{ "0" "1" }
		hidewhen	"{ pumpmask1_guideremapsmoke == 0 } { pumpmask1_guideuseplane == 0 } { pumpmask1_guiderangemode == 0 }"
		range	{ 0 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "pumpmask1_guiderange" }
	    }
	    parm {
		name	"pumpmask1_guiderangecenter"
		label	"Guide Range Center"
		type	float
		default	{ "0.5" }
		hidewhen	"{ pumpmask1_guideremapsmoke == 0 } { pumpmask1_guideuseplane == 0 } { pumpmask1_guiderangemode == 1 }"
		range	{ -1 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "pumpmask1_guiderangecenter" }
	    }
	    parm {
		name	"pumpmask1_guiderangesize"
		label	"Guide Range Width"
		type	float
		default	{ "1" }
		hidewhen	"{ pumpmask1_guideremapsmoke == 0 } { pumpmask1_guideuseplane == 0 } { pumpmask1_guiderangemode == 1 }"
		range	{ 0 10 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "pumpmask1_guiderangesize" }
	    }
	    parm {
		name	"pumpmask1_guideiso"
		label	"Iso Offset"
		type	float
		default	{ "0" }
		disablewhen	"{ pumpmask1_guideuseplane == 1 }"
		range	{ -5 5 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "pumpmask1_guideiso" }
	    }
	    parm {
		name	"pumpmask1_guideinvert"
		label	"Invert Iso"
		type	toggle
		default	{ "off" }
		disablewhen	"{ pumpmask1_guideuseplane == 1 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject2" }
		parmtag	{ "import_token" "pumpmask1_guideinvert" }
	    }
	}

    }

    group {
	name	"std_switcher_0_1"
	label	"Initial Data"

	parm {
	    name	"density_soppath"
	    label	"Density SOP Path"
	    type	oppath
	    joinnext
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	    parmtag	{ "opfilter" "!!SOP!!" }
	    parmtag	{ "oprelative" "." }
	}
	parm {
	    name	"density_scalevalue"
	    label	"Scale"
	    type	float
	    default	{ "1" }
	    range	{ 0 10 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"temperature_soppath"
	    label	"Temperature SOP Path"
	    type	oppath
	    joinnext
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	    parmtag	{ "opfilter" "!!SOP!!" }
	    parmtag	{ "oprelative" "." }
	}
	parm {
	    name	"temperature_scalevalue"
	    label	"Scale"
	    type	float
	    default	{ "1" }
	    range	{ 0 10 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"fuel_soppath"
	    label	"Fuel SOP Path"
	    type	oppath
	    joinnext
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	    parmtag	{ "opfilter" "!!SOP!!" }
	    parmtag	{ "oprelative" "." }
	}
	parm {
	    name	"fuel_scalevalue"
	    label	"Scale"
	    type	float
	    default	{ "1" }
	    range	{ 0 10 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"velocity_soppath"
	    label	"Velocity SOP Path"
	    type	oppath
	    joinnext
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	    parmtag	{ "opfilter" "!!SOP!!" }
	    parmtag	{ "oprelative" "." }
	}
	parm {
	    name	"velocity_scalevalue"
	    label	"Scale"
	    type	float
	    default	{ "1" }
	    range	{ 0 10 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"usetransform"
	    label	"Use Object Transform"
	    type	toggle
	    default	{ "on" }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"closedends"
	    label	"Closed Boundaries"
	    type	toggle
	    joinnext
	    default	{ "off" }
	    range	{ 0 1 }
	    export	all
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"closexneg"
	    label	"-X"
	    type	toggle
	    joinnext
	    default	{ "on" }
	    disablewhen	"{ closedends == 0 }"
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"closexpos"
	    label	"+X"
	    type	toggle
	    joinnext
	    default	{ "on" }
	    disablewhen	"{ closedends == 0 }"
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"closeyneg"
	    label	"-Y"
	    type	toggle
	    joinnext
	    default	{ "on" }
	    disablewhen	"{ closedends == 0 }"
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"closeypos"
	    label	"+Y"
	    type	toggle
	    joinnext
	    default	{ "on" }
	    disablewhen	"{ closedends == 0 }"
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"closezneg"
	    label	"-Z"
	    type	toggle
	    joinnext
	    default	{ "on" }
	    disablewhen	"{ closedends == 0 }"
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"closezpos"
	    label	"+Z"
	    type	toggle
	    default	{ "on" }
	    disablewhen	"{ closedends == 0 }"
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"velocity_direction"
	    label	"Wind Tunnel Direction"
	    type	vector
	    size	3
	    default	{ "0" "0" "0" }
	    range	{ -1 1 }
	    export	none
	    parmtag	{ "autoscope" "0000" }
	}
	parm {
	    name	"border"
	    label	"Border Type"
	    type	ordinal
	    default	{ "constant" }
	    menu	{
		"constant"	"Constant"
		"repeat"	"Repeat"
		"streak"	"Streak"
	    }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"restfield"
	    label	"Add Rest Field"
	    type	toggle
	    default	{ "off" }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"restresscale"
	    label	"Rest Division Scale"
	    type	float
	    default	{ "0.5" }
	    disablewhen	"{ restfield == 0 }"
	    range	{ 0! 2 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"velocity_voxelsample"
	    label	"Velocity Sampling"
	    type	ordinal
	    default	{ "faces" }
	    menu	{
		"center"	"Center"
		"faces"	"Faces"
		"edges"	"Edges"
		"corner"	"Corner"
	    }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"positionpath"
	    label	"Position Data Path"
	    type	string
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
    }

    group {
	name	"std_switcher_0_2"
	label	"Fields"
	grouptag	{ "import_enable" "1" }
	grouptag	{ "import_source" "op:smokeconfigureobject1" }
	grouptag	{ "import_token" "std_switcher_0:Fields" }

	group {
	    name	"folder2"
	    label	"Dynamics"
	    grouptag	{ "import_source" "op:smokeconfigureobject1" }
	    grouptag	{ "import_token" "folder1:Dynamics" }

	    parm {
		name	"enablevelocity"
		label	"Velocity"
		type	toggle
		default	{ "on" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject1" }
		parmtag	{ "import_token" "enablevelocity" }
	    }
	    parm {
		name	"enabledensity"
		label	"Density"
		type	toggle
		default	{ "on" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject1" }
		parmtag	{ "import_token" "enabledensity" }
	    }
	    parm {
		name	"enabletemperature"
		label	"Temperature"
		type	toggle
		default	{ "on" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject1" }
		parmtag	{ "import_token" "enabletemperature" }
	    }
	    parm {
		name	"enablefuel"
		label	"Fuel"
		type	toggle
		default	{ "on" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject1" }
		parmtag	{ "import_token" "enablefuel" }
	    }
	    parm {
		name	"enabledivergence"
		label	"Divergence"
		type	toggle
		default	{ "on" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject1" }
		parmtag	{ "import_token" "enabledivergence" }
	    }
	    parm {
		name	"enableburn"
		label	"Burn"
		type	toggle
		default	{ "on" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject1" }
		parmtag	{ "import_token" "enableburn" }
	    }
	    parm {
		name	"enablepressure"
		label	"Pressure"
		type	toggle
		default	{ "on" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject1" }
		parmtag	{ "import_token" "enablepressure" }
	    }
	    parm {
		name	"enablerest"
		label	"Rest"
		type	toggle
		default	{ "on" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject1" }
		parmtag	{ "import_token" "enablerest" }
	    }
	    parm {
		name	"enableconfinement"
		label	"Confinement"
		type	toggle
		default	{ "on" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject1" }
		parmtag	{ "import_token" "enableconfinement" }
	    }
	    parm {
		name	"enableheat"
		label	"Heat"
		type	toggle
		default	{ "on" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject1" }
		parmtag	{ "import_token" "enableheat" }
	    }
	}

	group {
	    name	"folder2_1"
	    label	"Masks"
	    grouptag	{ "import_source" "op:smokeconfigureobject1" }
	    grouptag	{ "import_token" "folder1:Masks" }

	    parm {
		name	"enablesource"
		label	"Source"
		type	toggle
		default	{ "on" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject1" }
		parmtag	{ "import_token" "enablesource" }
	    }
	    parm {
		name	"enablesourceindex"
		label	"Source Index"
		type	toggle
		default	{ "on" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject1" }
		parmtag	{ "import_token" "enablesourceindex" }
	    }
	    parm {
		name	"enablesink"
		label	"Sink"
		type	toggle
		default	{ "on" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject1" }
		parmtag	{ "import_token" "enablesink" }
	    }
	    parm {
		name	"enablepump"
		label	"Pump"
		type	toggle
		default	{ "on" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject1" }
		parmtag	{ "import_token" "enablepump" }
	    }
	    parm {
		name	"enablepumpindex"
		label	"Pump Index"
		type	toggle
		default	{ "on" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject1" }
		parmtag	{ "import_token" "enablepumpindex" }
	    }
	    parm {
		name	"enablecollision"
		label	"Collision"
		type	toggle
		default	{ "on" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject1" }
		parmtag	{ "import_token" "enablecollision" }
	    }
	    parm {
		name	"enablecollisionvelocity"
		label	"Collision Velocity"
		type	toggle
		default	{ "on" }
		range	{ 0 1 }
		export	none
		parmtag	{ "autoscope" "0000000000000000" }
		parmtag	{ "import_source" "op:smokeconfigureobject1" }
		parmtag	{ "import_token" "enablecollisionvelocity" }
	    }
	}

    }

    group {
	name	"std_switcher_0_3"
	label	"Slice"
	grouptag	{ "import_enable" "1" }
	grouptag	{ "import_source" "op:smokeconfigureobject1" }
	grouptag	{ "import_token" "std_switcher_0:Slice" }

	parm {
	    name	"slice"
	    label	"Slice"
	    type	integer
	    default	{ "0" }
	    range	{ 0! 10 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	    parmtag	{ "import_source" "op:smokeconfigureobject1" }
	    parmtag	{ "import_token" "slice" }
	}
	parm {
	    name	"slicediv"
	    label	"Slice Divisions"
	    type	integer
	    size	3
	    default	{ "1" "1" "1" }
	    range	{ 1! 5 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	    parmtag	{ "import_source" "op:smokeconfigureobject1" }
	    parmtag	{ "import_token" "slicediv" }
	}
	parm {
	    name	"sliceoverlapneg"
	    label	"Overlap Voxels Negative"
	    type	integer
	    size	3
	    default	{ "4" "4" "4" }
	    range	{ 0! 10 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	    parmtag	{ "import_source" "op:smokeconfigureobject1" }
	    parmtag	{ "import_token" "sliceoverlapneg" }
	}
	parm {
	    name	"sliceoverlappos"
	    label	"Overlap Voxels Positive"
	    type	integer
	    size	3
	    default	{ "4" "4" "4" }
	    range	{ 0! 10 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	    parmtag	{ "import_source" "op:smokeconfigureobject1" }
	    parmtag	{ "import_token" "sliceoverlappos" }
	}
    }

}
INDX              DialogScript      ?R//*
 * PROPRIETARY INFORMATION.  This software is proprietary to
 * Side Effects Software Inc., and is not to be reproduced,
 * transmitted, or disclosed in any way without written permission.
 *
 * Produced by:
 *	Side Effects Software Inc
 *	477 Richmond Street West
 *	Toronto, Ontario
 *	Canada   M5V 3E7
 *	416-504-9876
 *
 */

{
    name	"pcfilter"
    script	"pcfilter"
    label	"pcfilter"

    code {
	"$value = pcfilter($handle, $channel);"
    }

    input	int	handle		"pcopen Handle"
    input	string	channel		"Channel Name"
    output	vector	value		"Filtered Value"
    signature	"Integer Channel"	i  { int string int }
    signature	"Float Channel"		f  { int string float }
    signature	"Vector Channel"	default { }
    signature	"Vector4 Channel"	v4 { int string vector4 }
    signature	"Matrix3 Channel"	m3 { int string matrix3 }
    signature	"Matrix Channel"	m  { int string matrix }

    parm {
	name	handle
	label	"PCOpen Handle"
	type	int
        size    1
        default { -1 }
    }
    parm {
	name	channel
	label	"Channel"
	type	string
	default	{ "P" }
    }
}
INDX              Contents       WS7   DialogScript   W  >R0707070000010000000006660000000000000000010000001237543366300001300000000000TRAILER!!! # Dialog script for pointsfromvolume automatically generated 11/20/13 14:05:14

{
    name	pointsfromvolume
    script	pointsfromvolume
    label	"Points from Volume"

    help {
	""
    }

    inputlabel	1	"Sub-Network Input #1"
    inputlabel	2	"Sub-Network Input #2"
    inputlabel	3	"Sub-Network Input #3"
    inputlabel	4	"Sub-Network Input #4"

    parm {
	name	"source"
	label	"Source Type"
	type	ordinal
	default	{ "auto" }
	menu	{
	    "auto"	"Auto Detect"
	    "geometry"	"Geometry"
	    "fog"	"Fog"
	    "sdf"	"Signed Distance Field"
	}
	range	{ 0 1 }
	export	none
    }
    parm {
	name	"invert"
	label	"Invert Volume"
	type	toggle
	default	{ "0" }
	range	{ 0 1 }
	export	none
    }
    parm {
	name	"inittype"
	label	"Point Configuration"
	type	ordinal
	default	{ "0" }
	menu	{
	    "grid"	"Grid"
	    "tetrahedral"	"Tetrahedral"
	}
	range	{ 0 1 }
	export	none
    }
    parm {
	name	"particlesep"
	label	"Point Separation"
	type	float
	default	{ "0.1" }
	range	{ 0! 10 }
	export	none
    }
    parm {
	name	"jitterseed"
	label	"Jitter Seed"
	type	float
	default	{ "0" }
	range	{ 0 10 }
	export	none
    }
    parm {
	name	"jitterscale"
	label	"Jitter Scale"
	type	float
	default	{ "0" }
	range	{ 0 10 }
	export	none
    }
    parm {
	name	"converttofog"
	label	"Convert to Fog"
	type	toggle
	default	{ "1" }
	disablewhen	"{ source == fog } { source == sdf }"
	range	{ 0 1 }
	export	none
    }
    parm {
	name	"offset"
	label	"Grid Offset"
	type	vector
	size	3
	default	{ "0" "0" "0" }
	range	{ -1 1 }
	export	none
    }
    parm {
	name	"addscale"
	label	"Add Scale Attribute"
	type	toggle
	default	{ "0" }
	range	{ 0! 10 }
	export	none
	parmtag	{ "autoscope" "0000000000000000" }
    }
    parm {
	name	"radiusscale"
	label	"Particle Radius Scale"
	type	float
	default	{ "2" }
	disablewhen	"{ addscale == 0 }"
	range	{ 0 10 }
	export	none
    }
    parm {
	name	"doscatter"
	label	"doshell"
	type	toggle
	nolabel
	joinnext
	default	{ "0" }
	range	{ 0 1 }
	export	none
    }
    parm {
	name	"scatter"
	label	"Scatter Density"
	type	float
	default	{ "1" }
	disablewhen	"{ doscatter == 0 }"
	range	{ 0 10 }
	export	none
    }
    parm {
	name	"dooversampling"
	label	"dooversampling"
	type	toggle
	nolabel
	joinnext
	default	{ "0" }
	range	{ 0 1 }
	export	none
    }
    parm {
	name	"oversampling"
	label	"Oversampling"
	type	float
	default	{ "2" }
	disablewhen	"{ dooversampling == 0 }"
	range	{ 1 10 }
	export	none
    }
    parm {
	name	"oversamplingbandwidth"
	label	"Oversampling Bandwidth"
	type	float
	default	{ "1" }
	disablewhen	"{ dooversampling == 0 }"
	range	{ 0 10 }
	export	none
    }
    parm {
	name	"newg"
	label	"Create Output Group"
	type	toggle
	default	{ "0" }
	range	{ 0 1 }
	export	none
    }
    parm {
	name	"outputgroup"
	label	"Output Group"
	type	string
	default	{ "" }
	disablewhen	"{ newg == 0 }"
	range	{ 0 1 }
	export	none
    }
}
INDX              Contents       WS7   DialogScript   W  $O)0707070000010000000006660000000000000000010000001237543366300001300000000000TRAILER!!! # Dialog script for volumevelocity automatically generated 01/13/12 14:59:37

{
    name	volumevelocity
    script	volumevelocity
    label	"Volume Velocity"

    help {
	""
    }
    bindhandle vortexspeed distance "Distance" dist ""
    bindhandle vortexpivotx distance "Distance" px ""
    bindhandle vortexpivoty distance "Distance" py ""
    bindhandle vortexpivotz distance "Distance" pz ""
    bindhandle vortexdirx distance "Distance" vx ""
    bindhandle vortexdiry distance "Distance" vy ""
    bindhandle vortexdirz distance "Distance" vz ""
    bindhandle vortexpivotx vector "Vector" tx ""
    bindhandle vortexpivoty vector "Vector" ty ""
    bindhandle vortexpivotz vector "Vector" tz ""
    bindhandle vortexdirx vector "Vector" vx ""
    bindhandle vortexdiry vector "Vector" vy ""
    bindhandle vortexdirz vector "Vector" vz ""

    inputlabel	1	"Velocity Volumes"
    inputlabel	2	"Point Velocities"
    inputlabel	3	Mask
    inputlabel	4	"Sub-Network Input #4"

    parm {
	name	"group"
	label	"Group"
	type	string
	default	{ "" }
	menutoggle	{
	    [ "opmenu -l blast3 group" ]
	}
	range	{ 0 1 }
	export	none
	parmtag	{ "autoscope" "0000000000000000" }
    }
    parm {
	name	"add_uniform_vel"
	label	"Add Uniform Velocity"
	type	toggle
	nolabel
	joinnext
	default	{ "off" }
	range	{ 0 1 }
	export	none
	parmtag	{ "parmvop" "1" }
	parmtag	{ "autoscope" "0000000000000000" }
    }
    parm {
	name	"uniformvel"
	label	"Constant Velocity"
	type	vector
	size	3
	default	{ "0" "1" "0" }
	disablewhen	"{ add_uniform_vel == 0 }"
	range	{ -1 1 }
	export	none
	parmtag	{ "units" "m1s-1" }
    }
    group {
	name	"folder0_1_1"
	label	"Vortex"

	parm {
	    name	"add_vortex"
	    label	"Add Vortex"
	    type	toggle
	    default	{ "off" }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "parmvop" "1" }
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"vortexpivot"
	    label	"Center"
	    type	vector
	    size	3
	    default	{ "0" "0" "0" }
	    disablewhen	"{ add_vortex == 0 }"
	    range	{ -1 1 }
	    export	none
	    parmtag	{ "units" "m1" }
	}
	parm {
	    name	"vortexdir"
	    label	"Direction"
	    type	vector
	    size	3
	    default	{ "0" "1" "0" }
	    disablewhen	"{ add_vortex == 0 }"
	    range	{ -1 1 }
	    export	none
	}
	parm {
	    name	"vortexspeed"
	    label	"Angular Velocity"
	    type	float
	    default	{ "1" }
	    disablewhen	"{ add_vortex == 0 }"
	    range	{ 0 10 }
	    export	none
	    parmtag	{ "units" "s-1" }
	}
	parm {
	    name	"limitvortex"
	    label	"Limit Vortex"
	    type	toggle
	    nolabel
	    joinnext
	    default	{ "off" }
	    disablewhen	"{ add_vortex == 0 }"
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "parmvop" "1" }
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"vortexradius"
	    label	"Vortex Radius"
	    type	float
	    default	{ "1" }
	    disablewhen	"{ limitvortex == 0 }"
	    range	{ 0 10 }
	    export	none
	    parmtag	{ "units" "m1" }
	    parmtag	{ "parmvop" "1" }
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"vortexramp"
	    label	"Vortex Ramp"
	    type	ramp_flt
	    default	{ "3" }
	    disablewhen	"{ add_vortex == 0 } { limitvortex == 0 }"
	    range	{ 1! 10 }
	    export	none
	    parmtag	{ "rampvalues_var" "vortexramp_the_key_values" }
	    parmtag	{ "rampkeys_var" "vortexramp_the_key_positions" }
	    parmtag	{ "rampbasis_var" "vortexramp_the_basis_strings" }
	    parmtag	{ "autoscope" "0000000000000000" }
	    parmtag	{ "rampfloatdefault" "1pos ( 0 ) 1value ( 0 ) 1interp ( catmull-rom ) 2pos ( 0.5 ) 2value ( 1 ) 2interp ( catmull-rom ) 3pos ( 1 ) 3value ( 0 ) 3interp ( catmull-rom )" }
	    parmtag	{ "rampshowcontrolsdefault" "0" }
	    parmtag	{ "parmvop" "1" }
	    parmtag	{ "rampbasisdefault" "linear" }
	}
    }

    group {
	name	"folder0_1_1_1"
	label	"Curl Noise"

	parm {
	    name	"add_curl_noise"
	    label	"Add Curl Noise"
	    type	toggle
	    default	{ "off" }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "parmvop" "1" }
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"turbscale"
	    label	"Scale"
	    type	float
	    default	{ "1" }
	    disablewhen	"{ add_curl_noise == 0 }"
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "parmvop" "1" }
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"turbswirl"
	    label	"Swirl Size"
	    type	float
	    default	{ "1" }
	    disablewhen	"{ add_curl_noise == 0 }"
	    range	{ 0 10 }
	    export	none
	    parmtag	{ "units" "m1" }
	    parmtag	{ "parmvop" "1" }
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"turbrough"
	    label	"Grain"
	    type	float
	    default	{ "0.5" }
	    disablewhen	"{ add_curl_noise == 0 }"
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "parmvop" "1" }
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"turboffset"
	    label	"Offset"
	    type	float
	    default	{ "1" }
	    disablewhen	"{ add_curl_noise == 0 }"
	    range	{ 0 10 }
	    export	none
	    parmtag	{ "parmvop" "1" }
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"turbatten"
	    label	"Attenuation"
	    type	float
	    default	{ "1" }
	    disablewhen	"{ add_curl_noise == 0 }"
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "parmvop" "1" }
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"turboctaves"
	    label	"Turbulence"
	    type	integer
	    default	{ "3" }
	    disablewhen	"{ add_curl_noise == 0 }"
	    range	{ 1 12 }
	    export	none
	    parmtag	{ "parmvop" "1" }
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"turbtimedep"
	    label	"Time Dependent"
	    type	toggle
	    default	{ "1" }
	    disablewhen	"{ add_curl_noise == 0 }"
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"turbpulselength"
	    label	"Pulse Length"
	    type	float
	    default	{ "1" }
	    disablewhen	"{ add_curl_noise == 0 }"
	    range	{ 0 10 }
	    export	none
	    parmtag	{ "units" "s1" }
	}
	parm {
	    name	"turbframeoffset"
	    label	"Frame Offset"
	    type	float
	    default	{ "0" }
	    disablewhen	"{ add_curl_noise == 0 }"
	    range	{ -10 10 }
	    export	none
	}
    }

    group {
	name	"folder0_1_1_2"
	label	"Points"

	parm {
	    name	"pointapply"
	    label	"Add Point Velocity"
	    type	toggle
	    default	{ "1" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"pointgroup"
	    label	"Points"
	    type	string
	    default	{ "" }
	    disablewhen	"{ pointapply == 0 }"
	    menutoggle	{
		[ "opmenu -l blast2 group" ]
	    }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"pointattribute"
	    label	"Attribute"
	    type	string
	    default	{ "v" }
	    disablewhen	"{ pointapply == 0 }"
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"pointscale"
	    label	"Scale"
	    type	float
	    default	{ "1" }
	    disablewhen	"{ pointapply == 0 }"
	    range	{ 0 10 }
	    export	none
	}
	parm {
	    name	"pointextrapdist"
	    label	"Extrapolation Distance"
	    type	float
	    default	{ "1" }
	    disablewhen	"{ pointapply == 0 }"
	    range	{ 0 10 }
	    export	none
	    parmtag	{ "units" "m1" }
	    parmtag	{ "autoscope" "0000000000000000" }
	}
    }

    group {
	name	"folder0_1_1_3"
	label	"From Object"

	parm {
	    name	"objapply"
	    label	"Add Object Motion"
	    type	toggle
	    default	{ "0" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"objpath"
	    label	"Object Path"
	    type	oppath
	    default	{ "" }
	    disablewhen	"{ objapply == 0 }"
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "oprelative" "." }
	}
	parm {
	    name	"objscale"
	    label	"Scale"
	    type	float
	    default	{ "1" }
	    disablewhen	"{ objapply == 0 }"
	    range	{ 0 10 }
	    export	none
	}
	parm {
	    name	"objframe"
	    label	"Frame"
	    type	float
	    default	{ "$FF-0.5" }
	    disablewhen	"{ objapply == 0 }"
	    range	{ 0 10 }
	    export	none
	}
	parm {
	    name	"objsample"
	    label	"Frame Sample"
	    type	float
	    default	{ "1" }
	    disablewhen	"{ objapply == 0 }"
	    range	{ 0 10 }
	    export	none
	}
    }

    group {
	name	"folder0_1_1_4"
	label	"Mask"

	parm {
	    name	"maskapply"
	    label	"Apply Mask"
	    type	toggle
	    default	{ "1" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"maskgroup"
	    label	"Mask Volumes"
	    type	string
	    default	{ "" }
	    disablewhen	"{ maskapply == 0 }"
	    menutoggle	{
		[ "opmenu -l blast1 group" ]
	    }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"maskexpand"
	    label	"Expansion"
	    type	float
	    default	{ "0" }
	    disablewhen	"{ maskapply == 0 }"
	    range	{ 0 10 }
	    export	none
	}
	parm {
	    name	"maskcomp"
	    label	"Comparison"
	    type	string
	    default	{ "gt" }
	    disablewhen	"{ maskapply == 0 }"
	    menu	{
		"eq"	"Equal	(==)"
		"lt"	"Less Than	(<)"
		"gt"	"Greater Than	(>)"
		"lte"	"Less Than Or Equal	(<=)"
		"gte"	"Greater Than Or Equal	(>=)"
		"neq"	"Not Equal	(!=)"
	    }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"maskcutoff"
	    label	"Cut Off"
	    type	float
	    default	{ "0" }
	    disablewhen	"{ maskapply == 0 }"
	    range	{ 0 10 }
	    export	none
	}
    }

}
INDX              DialogScript      R//*
 * PROPRIETARY INFORMATION.  This software is proprietary to
 * Side Effects Software Inc., and is not to be reproduced,
 * transmitted, or disclosed in any way without written permission.
 *
 * Produced by:
 *	Side Effects Software Inc
 *	477 Richmond Street West
 *	Toronto, Ontario
 *	Canada   M5V 3E7
 *	416-504-9876
 *
 */

#include <parameter.ds>

{
    name	"distance"
    script	"distance"
    label	"distance"


    code {
	"$dist = distance($p1, $p2);"
    }

    input	point	p1	"Point 1"
    input	point	p2	"Point 2"
    output	float	dist	"Point Distance"

    signature	"3D Points"		default	{ }
    signature	"4D Points"		v4	{ vector4 vector4 float }
    signature	"Uniform 3D Points"	up	{ upoint upoint ufloat }

    VOP_VEC_PARM (p1,		"Point 1", 0, 0, 0)
    VOP_VEC_PARM (p2,		"Point 2", 0, 0, 0)

    VOP_VEC4_PARM(p1_v4,	"Point 1", 0, 0, 0, 0)
    VOP_VEC4_PARM(p2_v4,	"Point 2", 0, 0, 0, 0)

    VOP_VEC_PARM (p1_up,	"Point 1", 0, 0, 0)
    VOP_VEC_PARM (p2_up,	"Point 2", 0, 0, 0)
}
INDX              DialogScript      R//*
 * PROPRIETARY INFORMATION.  This software is proprietary to
 * Side Effects Software Inc., and is not to be reproduced,
 * transmitted, or disclosed in any way without written permission.
 *
 * Produced by:
 *	Side Effects Software Inc
 *	477 Richmond Street West
 *	Toronto, Ontario
 *	Canada   M5V 3E7
 *	416-504-9876
 *
 */

{
    name	"addattrib"
    script	"addattrib"
    label	"addattrib"


    code {
	"$newadata = $adata;"
	"addattribute($attrib, $newadata, \"type\", $typemodifier);"
	"if ($localvar != \"\")"
	"    addvariablename($attrib, $localvar);"
    }

    forcecode
    input	string	attrib		"Attribute Name"
    input	vector	adata		"Attribute Value"
    input	string	localvar	"Local Variable Name"
    output	vector	newadata	"Attribute Value"

    signature	"Float Attribute"	f  { string float string float }
    signature	"Integer Attribute"	i  { string int string int }
    signature	"Vector Attribute"	default { }
    signature	"Vector4 Attribute"	v4 { string vector4 string vector4 }
    signature	"Matrix3 Attribute"	m3 { string matrix3 string matrix3 }
    signature	"Matrix Attribute"	m  { string matrix string matrix }

    parm {
	name	attrib
	label	"Attribute"
	type	string
	default	{ "Cd" }
    }
    parm {
	name	localvar
	label	"Local Variable Name"
	type	string
	default { "" }
    }
    parm {
	name	adata_f
	label	"Data Float"
	type	float
	size	1
	default	{ 0.0 }
    }
    parm {
	name	adata_i
	label	"Data Integer"
	type	int
	size	1
	default	{ 0 }
    }
    parm {
	name	adata	
	label	"Data Vector"
	type	float
	size	3
	default	{ 0.0 0.0 0.0 }
    }
    parm {
	name	adata_v4
	label	"Data Vector4"
	type	float
	size	4
	default	{ 0.0 0.0 0.0 0.0 }
    }
    parm {
	name	adata_m3
	label	"Data Matrix3"
	type	float
	size	9
	default	{ 1 0 0 0 1 0 0 0 1 }
    }
    parm {
	name	adata_m
	label	"Data Matrix"
	type	float
	size	16
	default	{ 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 }
    }
    parm {
	name	typemodifier
	label	"Type Modifier"
	type	string
	default	{ "" }
	menu {
	    ""			"None"
	    "vector"		"Vector Data"
	    "normal"		"Normal Data"
	    "point"		"Position Data"
	    "indexpair"		"Index/Pair (Capture Attribute)"
	    "color"		"Color Data"
	    "quaternion"	"Quaternion"
	}
    }
}

INDX              DialogScript      POE$# Dialog script for softclip automatically generated 02/22/12 12:23:42

{
    name	softclip
    script	contour
    label	"Soft Clip"

    outercode {
	"#include <pyro_utils.h>"
    }

    code {
	"#if $active"
	"   $sclip = softclip($val,$start,$sup);"
	"#else"
	"   $sclip = $val;"
	"#endif"
    }

    input	float	val	"Value to Modify"
    input	float	start	"Start of Suppression"
    input	float	sup	"Suppression Amount"
    input	float	fw	"Filter Width Override"
    input	float	fscale	"Filter Scale"
    output	float	sclip	"Modified Value"
    inputflags	val	0
    inputflags	start	0
    inputflags	sup	0
    inputflags	fw	0
    inputflags	fscale	0
    signature	"1D Value"	default	{ float float float float float float }
    signature	"3D Value"	v	{ vector float float float float vector }
    signature	"4D Value"	v4	{ vector4 float float float float vector4 }

    outputoverrides	default
    {
	___begin	val
			(0)
    }
    outputoverrides	v
    {
	___begin	val
			(0,0,0)
    }
    outputoverrides	v4
    {
	___begin	val
			(0,0,0,0)
    }

    help {
	""
    }

    parm {
	name	"signature"
	baseparm
	export	none
    }
    parm {
	name	"spacer3"
	label	"spacer"
	type	label
	nolabel
	default	{ "" }
	range	{ 0 1 }
	export	none
    }
    parm {
	name	"makeui"
	label	"Promote Interface"
	type	button
	nolabel
	default	{ "0" }
	menu	{
	    [ "import pyro2" ]
	    [ "return pyro2.makeuimenu()" ]
	    language	python
	}
	range	{ 0 1 }
	export	none
	parmtag	{ "script_callback_language" "python" }
	parmtag	{ "script_callback" "hou.phm().uiCreate(kwargs)" }
	parmtag	{ "export_disable" "1" }
    }
    group {
	name	"opsettings"
	label	"VOP Parameters"

	parm {
	    name	"active"
	    label	"Active"
	    type	toggle
	    default	{ "1" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"start"
	    label	"Start"
	    type	float
	    default	{ "0.8" }
	    disablewhen	"{ active == 0 }"
	    range	{ 0! 1 }
	    export	none
	}
	parm {
	    name	"sup"
	    label	"Suppress"
	    type	float
	    default	{ "1" }
	    disablewhen	"{ active == 0 }"
	    range	{ 0! 10 }
	    export	none
	}
	parm {
	    name	"ftype"
	    label	"Filter"
	    type	string
	    joinnext
	    default	{ "point" }
	    disablewhen	"{ active == 0 }"
	    menu	{
		"point"	"Point"
		"box"	"Box"
		"gauss"	"Gaussian"
	    }
	    range	{ 0 1 }
	    export	none
	    unquoted
	    parmtag	{ "autoscope" "0000000000000000" }
	}
	parm {
	    name	"fscale"
	    label	"Scale"
	    type	float
	    default	{ "1" }
	    disablewhen	"{ active == 0 } { ftype == point }"
	    range	{ 0 2 }
	    export	none
	}
    }

    group {
	name	"opsettings_1"
	label	"UI Promotion"

	parm {
	    name	"ui_prefix"
	    label	"Parameter Prefix"
	    type	string
	    joinnext
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"ui_postfix"
	    label	"Postfix"
	    type	string
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"ui_infolder"
	    label	"ui_infolder"
	    type	toggle
	    nolabel
	    joinnext
	    default	{ "0" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"ui_foldername"
	    label	"Create In Folder"
	    type	string
	    default	{ [ "node('.').creator().relativePathTo(node('.')).replace('/','_')" python ] }
	    disablewhen	"{ ui_infolder == 0 }"
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"spacer4"
	    label	"spacer"
	    type	label
	    nolabel
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"ui_withactive"
	    label	"Add Active Toggle"
	    type	toggle
	    joinnext
	    default	{ "1" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"leftalign"
	    label	"spacer"
	    type	label
	    nolabel
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"ui_activename"
	    label	"Active Name"
	    type	string
	    default	{ "active" }
	    disablewhen	"{ ui_withactive == 0 }"
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"ui_initactive"
	    label	"Initial Active State"
	    type	toggle
	    default	{ "0" }
	    disablewhen	"{ ui_withactive == 0 }"
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"leftalign3"
	    label	"spacer"
	    type	label
	    nolabel
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"ui_dwhen"
	    label	"Extra Disable When"
	    type	string
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	}
    }

}
INDX              DialogScript      vR//*
 * PROPRIETARY INFORMATION.  This software is proprietary to
 * Side Effects Software Inc., and is not to be reproduced,
 * transmitted, or disclosed in any way without written permission.
 *
 * Produced by:
 *	Side Effects Software Inc
 *	477 Richmond Street West
 *	Toronto, Ontario
 *	Canada   M5V 3E7
 *	416-504-9876
 *
 */

#include <parameter.ds>

{
    name	"pcopen"
    script	"pcopen"
    label	"pcopen"

    outercode	{
	"#include <voptype.h>"
    }

    code {
	"VOPpoint $pcP = $P;"
	"#if defined(VOP_SHADING) || defined(VOP_SOP) || defined(VOP_POP)"
	"    if ($isconnected_P == 0) $pcP = P;"
	"#endif"
	"if ($nchannel != \"\") {"
	"    $handle = pcopen($file, $pchannel, $pcP, $nchannel, $N, $radius, $maxpoints, \"ndot\", cos(radians($cone)), \"preload\", $preload);"
	"} else {"
	"    $handle = pcopen($file, $pchannel, $pcP, $radius, $maxpoints, \"preload\", $preload);"
	"}"
    }

    output	int	handle		"Texture Handle"

    VOP_FILE_INPUT(file, "Point Cloud Texture", "defgeo.bgeo")
    VOP_STR_INPUT(pchannel, "Position Channel", "P")
    VOP_VEC_INPUT(P, "Query Position", 0, 0, 0)
    VOP_STR_INPUT(nchannel, "Normal Channel", "")
    VOP_VEC_INPUT(N, "Query Normal", 0, 0, 0)
    VOP_FLT_INPUT(radius, "Search radius", 0.1)
    VOP_INT_INPUT(maxpoints, "Number of points", 10)

    VOP_FLT_INPUT(cone, "Cone Angle", 90)
    VOP_TOGGLE_INPUT(preload, "Preload Map", 1)
}

INDX              Contents       WS7   DialogScript   W  [OP0707070000010000000006660000000000000000010000001237543365600001300000000000TRAILER!!! # Dialog script for gasdisturb automatically generated 06/14/12 17:00:25

{
    name	gasdisturb
    script	gasdisturb
    label	"Gas Disturbance"


    help {
	""
    }

    inputlabel	1	"Input 1"
    inputlabel	2	"Input 2"
    inputlabel	3	"Input 3"
    inputlabel	4	"Input 4"

    parm {
	name	"time_scale"
	label	"Time Scale"
	type	float
	default	{ "1" }
	range	{ 0 1 }
	export	none
	parmtag	{ "autoscope" "0000000000000000" }
	parmtag	{ "parmvop" "1" }
    }
    group {
	name	"settings"
	label	"Disturb Settings"

	parm {
	    name	"dist_scale"
	    label	"Disturbance"
	    type	float
	    default	{ "0.75" }
	    range	{ 0 10 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	    parmtag	{ "parmvop" "1" }
	}
	parm {
	    name	"cutoff"
	    label	"Cutoff"
	    type	float
	    default	{ "0.1" }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	    parmtag	{ "parmvop" "1" }
	}
	parm {
	    name	"override_block_size"
	    label	"Use Block Size"
	    type	toggle
	    default	{ "on" }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	    parmtag	{ "parmvop" "1" }
	}
	parm {
	    name	"block_size"
	    label	"Block Size"
	    type	float
	    default	{ "0.3" }
	    disablewhen	"{ override_block_size == 0 }"
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	    parmtag	{ "parmvop" "1" }
	}
	parm {
	    name	"locality"
	    label	"Locality"
	    type	integer
	    default	{ "1" }
	    disablewhen	"{ override_block_size == 1 }"
	    range	{ 1 10 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	    parmtag	{ "parmvop" "1" }
	}
    }

    group {
	name	"settings_1"
	label	"Control Settings"

	parm {
	    name	"use_control_field"
	    label	"Use Control Field"
	    type	toggle
	    nolabel
	    joinnext
	    default	{ "off" }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	    parmtag	{ "parmvop" "1" }
	}
	parm {
	    name	"control_field"
	    label	"Use Control Field"
	    type	string
	    default	{ "" }
	    disablewhen	"{ use_control_field == 0 }"
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"control_influence"
	    label	"Control Influence"
	    type	float
	    default	{ "0.5" }
	    disablewhen	"{ use_control_field == 0 }"
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	    parmtag	{ "parmvop" "1" }
	}
	parm {
	    name	"control_range"
	    label	"Control Range"
	    type	float
	    size	2
	    default	{ "0" "1" }
	    disablewhen	"{ use_control_field == 0 }"
	    range	{ 0 10 }
	    export	none
	}
	parm {
	    name	"remap_control_field"
	    label	"Remap Control Field"
	    type	toggle
	    default	{ "off" }
	    disablewhen	"{ use_control_field == 0 }"
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "autoscope" "0000000000000000" }
	    parmtag	{ "parmvop" "1" }
	}
	parm {
	    name	"control_field_ramp"
	    label	"Control Field Ramp"
	    type	ramp_flt
	    default	{ "2" }
	    disablewhen	"{ use_control_field == 0 } { remap_control_field == 0 }"
	    range	{ 1! 10 }
	    export	none
	    parmtag	{ "rampvalues_var" "control_field_ramp_the_key_values" }
	    parmtag	{ "rampkeys_var" "control_field_ramp_the_key_positions" }
	    parmtag	{ "rampbasis_var" "control_field_ramp_the_basis_strings" }
	    parmtag	{ "autoscope" "0000000000000000" }
	    parmtag	{ "rampfloatdefault" "1pos ( 0 ) 1value ( 0 ) 1interp ( linear ) 2pos ( 1 ) 2value ( 1 ) 2interp ( linear )" }
	    parmtag	{ "rampshowcontrolsdefault" "0" }
	    parmtag	{ "parmvop" "1" }
	    parmtag	{ "rampbasisdefault" "linear" }
	}
    }

    group {
	name	"settings_2"
	label	"Bindings"

	parm {
	    name	"vectordisturb"
	    label	"Disturb Field is Vector Field"
	    type	toggle
	    default	{ "0" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"disturb_field"
	    label	"Disturb Field"
	    type	string
	    default	{ "temperature" }
	    menureplace	{
		"temperature"	"Temperature"
		"vel"	"Velocity"
	    }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"thresh_field"
	    label	"Threshold Field"
	    type	string
	    default	{ "density" }
	    range	{ 0 1 }
	    export	none
	}
    }

    group {
	name	"settings_3"
	label	"Advanced"

	parm {
	    name	"opencl"
	    label	"Use OpenCL"
	    type	toggle
	    default	{ "0" }
	    range	{ 0 1 }
	    export	none
	}
    }

}
INDX              DialogScript      (OE## Dialog script for pyroBlackbody automatically generated 02/22/12 12:20:00

{
    name	pyroBlackbody
    script	pyroPhysicalColor
    label	"Pyro Blackbody"

    outercode {
	"#include <pyro_planck.h>"
	"#include <pyro_color.h>"
    }

    code {
	"#if $active"
	"   float $f = 1;"
	"   #if $isconnected_field"
	"      #if strcmp($signature,\"default\")"
	"         vector $kelvin = (vector)$field * $temp;"
	"         vector $chr1,$chr2,$chr3;"
	"         float  $val1,$val2,$val3;"
	"         blackbody($kelvin.x, $dotm,$tm_adapt,$tm_burn, $chr1,$val1);"
	"         blackbody($kelvin.y, $dotm,$tm_adapt,$tm_burn, $chr2,$val2);"
	"         blackbody($kelvin.z, $dotm,$tm_adapt,$tm_burn, $chr3,$val3);"
	"         $chroma = set($chr1.x,$chr2.y,$chr3.z);"
	"         $value  = set($val1,$val2,$val3);"
	"      #else"
	"         float $kelvin = $field * $temp;"
	"         blackbody($kelvin, $dotm,$tm_adapt,$tm_burn, $chroma,$value);"
	"      #endif"
	"      $col = $chroma * $value;"
	"   #endif"
	"#else"
	"   #if $isconnected_field"
	"      $col = (vector)$field;"
	"      vector $xyy = rgbtoxyy($col);"
	"      $chroma = xyytorgb($xyy*{1,1,0}+{0,0,1});"
	"      $value = xyy.z;"
	"   #else"
	"      $col = $chroma = $value = 0;"
	"   #endif"
	"#endif"
    }

    input	float	field	"Field Value"
    input	float	temp	"Temperature (K)"
    input	int	dotm	"Enable Tone Mapping"
    input	float	tm_adapt	"Tone Mapping: Adaptation"
    input	float	tm_burn	"Tone Mapping: Burn"
    output	vector	col	"Physical Color"
    output	vector	chroma	"Hue Only"
    output	float	value	"Value Only"
    inputflags	field	0
    inputflags	temp	0
    inputflags	dotm	0
    inputflags	tm_adapt	0
    inputflags	tm_burn	0
    signature	"Float Field"	default	{ float float int float float vector vector float }
    signature	"Vector Field"	v	{ vector float int float float vector vector vector }
    signature	"Vector4 Field"	p	{ vector4 float int float float vector vector vector }

    outputoverrides	default
    {
	___begin	auto
			(0,0,0)
	___begin	auto
			(0,0,0)
	___begin	auto
			(0)
    }
    outputoverrides	v
    {
	___begin	auto
			(0,0,0)
	___begin	auto
			(0,0,0)
	___begin	auto
			(0,0,0)
    }
    outputoverrides	p
    {
	___begin	auto
			(0,0,0)
	___begin	auto
			(0,0,0)
	___begin	auto
			(0,0,0)
    }

    help {
	""
    }

    parm {
	name	"signature"
	baseparm
	export	none
    }
    parm {
	name	"makeui"
	label	"Promote Interface"
	type	button
	nolabel
	default	{ "0" }
	menu	{
	    [ "import pyro2" ]
	    [ "return pyro2.makeuimenu()" ]
	    language	python
	}
	range	{ 0 1 }
	export	none
	parmtag	{ "script_callback_language" "python" }
	parmtag	{ "script_callback" "hou.phm().uiCreate(kwargs)" }
    }
    group {
	name	"folder0"
	label	"VOP Parameters"

	parm {
	    name	"active"
	    label	"Active"
	    type	toggle
	    default	{ "1" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"temp"
	    label	"Temperature (K)"
	    type	float
	    default	{ "5000" }
	    range	{ 350! 15000 }
	    export	none
	}
	parm {
	    name	"dotm"
	    label	"Tone Mapping:"
	    type	toggle
	    joinnext
	    default	{ "1" }
	    range	{ 0 10 }
	    export	none
	}
	parm {
	    name	"spacer"
	    label	"Spacer"
	    type	label
	    nolabel
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"tm_adapt"
	    label	"Adaptation"
	    type	float
	    default	{ "0.18" }
	    disablewhen	"{ dotm == 0 }"
	    range	{ 0! 1 }
	    export	none
	}
	parm {
	    name	"tm_burn"
	    label	"Burn"
	    type	float
	    default	{ "0" }
	    disablewhen	"{ dotm == 0 }"
	    range	{ -2 2 }
	    export	none
	}
    }

    group {
	name	"folder0_1"
	label	"UI Promotion"

	parm {
	    name	"ui_prefix"
	    label	"Parameter Prefix"
	    type	string
	    joinnext
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"ui_postfix"
	    label	"Postfix"
	    type	string
	    default	{ "" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"ui_infolder"
	    label	"ui_infolder"
	    type	toggle
	    nolabel
	    joinnext
	    default	{ "0" }
	    range	{ 0 1 }
	    export	none
	}
	parm {
	    name	"ui_foldername"
	    label	"Create In Folder"
	    type	string
	    default	{ [ "node('.').creator().relativePathTo(node('.')).replace('/','_')" python ] }
	    disablewhen	"{ ui_infolder == 0 }"
	    range	{ 0 1 }
	    export	none
	}
    }

}
0707070000010000000006660000000000000000010000001237543420600002000000000012expression.func # 0 bytes
0707070000010000000006660000000000000000010000001237543420600001000000000654obj.def comment ""
position 5 2
cachesize 1
connectornextid 0
flags =  lock off model off template off footprint off xray off bypass off display on render on highlight off unload off savedata off compress off exposed on
outputsNamed3
{
}
inputsNamed3
{
}
inputs
{
}
stat
{
  create 1408643241
  modify 1408645039
  author jeff_wagner@lorient-3.local
  access 0777
}
color UT_Color RGB 0.8 0.8 0.8 
delscript ""
exprlanguage hscript
end
0707070000010000000006660000000000000000010000001237543420600001100000000020obj.parm {
version 0.8
}
0707070000010000000006660000000000000000010000001237543420600001500000000041obj.userdata     ___Version___    13.0.4760707070000010000000006660000000000000000010000001237543420600002600000000032obj/grid_object1.init type = geo
matchesdef = 0
0707070000010000000006660000000000000000010000001237543420600002500000001113obj/grid_object1.def objflags objflags =  origin off
pretransform UT_DMatrix4 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1
comment ""
position -4.12218 1.75784
cachesize 1
connectornextid 2
flags =  lock off model off template off footprint off xray off bypass off display on render off highlight off unload off savedata off compress off exposed on selectable on
outputsNamed3
{
1 "output1"
}
inputsNamed3
{
0 	"" "" 1 "input1"
}
inputs
{
0 	"" 0 1
}
stat
{
  create 1408643248
  modify 1408645045
  author jeff_wagner@lorient-3.local
  access 0777
}
color UT_Color RGB 0.8 0.8 0.8 
delscript ""
exprlanguage hscript
end
0707070000010000000006660000000000000000010000001237543420600003600000022462obj/grid_object1.spareparmdef     group {
	name	"stdswitcher5"
	label	"Transform"

	parm {
	    name	"keeppos"
	    baseparm
	    joinnext
	    export	none
	}
	parm {
	    name	"pre_xform"
	    baseparm
	    export	none
	}
	parm {
	    name	"xOrd"
	    baseparm
	    joinnext
	    export	none
	}
	parm {
	    name	"rOrd"
	    baseparm
	    export	none
	}
	parm {
	    name	"t"
	    baseparm
	    export	all
	}
	parm {
	    name	"r"
	    baseparm
	    export	all
	}
	parm {
	    name	"s"
	    baseparm
	    export	none
	}
	parm {
	    name	"p"
	    baseparm
	    export	none
	}
	parm {
	    name	"scale"
	    baseparm
	    export	none
	}
	parm {
	    name	"lookatpath"
	    baseparm
	    export	none
	}
	parm {
	    name	"lookup"
	    baseparm
	    export	none
	}
	parm {
	    name	"pathobjpath"
	    baseparm
	    export	none
	}
	parm {
	    name	"roll"
	    baseparm
	    export	none
	}
	parm {
	    name	"pos"
	    baseparm
	    export	none
	}
	parm {
	    name	"uparmtype"
	    baseparm
	    export	none
	}
	parm {
	    name	"pathorient"
	    baseparm
	    export	none
	}
	parm {
	    name	"up"
	    baseparm
	    export	none
	}
	parm {
	    name	"bank"
	    baseparm
	    export	none
	}
    }

    group {
	name	"stdswitcher5_1"
	label	"Material"

	parm {
	    name	"shop_materialpath"
	    baseparm
	    joinnext
	    export	none
	}
	parm {
	    name	"shop_materialopts"
	    baseparm
	    export	none
	}
    }

    group {
	name	"stdswitcher5_2"
	label	"Render"

	parm {
	    name	"tdisplay"
	    baseparm
	    joinnext
	    export	none
	}
	parm {
	    name	"display"
	    baseparm
	    export	none
	}
	parm {
	    name	"vm_phantom"
	    label	"Phantom"
	    type	toggle
	    default	{ "0" }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "spare_category" "Render" }
	}
	parm {
	    name	"vm_renderable"
	    label	"Renderable"
	    type	toggle
	    default	{ "1" }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "spare_category" "Render" }
	}
	parm {
	    name	"viewportlod"
	    label	"Display As"
	    type	ordinal
	    default	{ "full" }
	    help	"Choose how the object's geometry should be rendered in the viewport"
	    menu	{
		"full"	"Full Geometry"
		"points"	"Point Cloud"
		"box"	"Bounding Box"
		"centroid"	"Centroid"
		"hidden"	"Hidden"
		"subd"	"Subdivision Surface"
	    }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "spare_category" "Render" }
	}
	parm {
	    name	"vm_rendersubd"
	    label	"Render Polygons As Subdivision (Mantra)"
	    type	toggle
	    default	{ "0" }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "spare_category" "Geometry" }
	}
	parm {
	    name	"vm_subdstyle"
	    label	"Subdivision Style"
	    type	string
	    default	{ "mantra_catclark" }
	    hidewhen	"{ vm_rendersubd == 0 }"
	    menu	{
		"mantra_catclark"	"Mantra Catmull-Clark"
		"osd_catclark"	"OpenSubdiv Catmull-Clark"
	    }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "spare_category" "Geometry" }
	}
	parm {
	    name	"vm_subdgroup"
	    label	"Subdivision Group"
	    type	string
	    default	{ "" }
	    hidewhen	"{ vm_rendersubd == 0 }"
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "spare_category" "Geometry" }
	}
	group {
	    name	"folder0"
	    label	"Shading"

	    parm {
		name	"categories"
		label	"Categories"
		type	string
		default	{ "" }
		help	"A list of tags which can be used to select the object"
		range	{ 0 1 }
		export	none
		parmtag	{ "spare_category" "Shading" }
	    }
	    parm {
		name	"reflectmask"
		label	"Reflection Mask"
		type	oplist
		default	{ "*" }
		help	"Objects that will be reflected on this object."
		range	{ 0 1 }
		export	none
		parmtag	{ "opexpand" "1" }
		parmtag	{ "opfilter" "!!OBJ/GEOMETRY!!" }
		parmtag	{ "oprelative" "/obj" }
		parmtag	{ "spare_category" "Shading" }
	    }
	    parm {
		name	"refractmask"
		label	"Refraction Mask"
		type	oplist
		default	{ "*" }
		help	"Objects that will be refracted on this object."
		range	{ 0 1 }
		export	none
		parmtag	{ "opexpand" "1" }
		parmtag	{ "opfilter" "!!OBJ/GEOMETRY!!" }
		parmtag	{ "oprelative" "/obj" }
		parmtag	{ "spare_category" "Shading" }
	    }
	    parm {
		name	"lightmask"
		label	"Light Mask"
		type	oplist
		default	{ "*" }
		help	"Lights that illuminate this object."
		range	{ 0 1 }
		export	none
		parmtag	{ "opexpand" "1" }
		parmtag	{ "opfilter" "!!OBJ/LIGHT!!" }
		parmtag	{ "oprelative" "/obj" }
		parmtag	{ "spare_category" "Shading" }
	    }
	    parm {
		name	"vm_volumefilter"
		label	"Volume Filter"
		type	string
		default	{ "box" }
		menu	{
		    "box"	"Box Filter"
		    "gaussian"	"Gaussian"
		    "bartlett"	"Bartlett (triangle)"
		    "catrom"	"Catmull-Rom"
		    "hanning"	"Hanning"
		    "blackman"	"Blackman"
		    "sinc"	"Sinc (sharpening)"
		}
		range	{ 0 1 }
		export	none
		parmtag	{ "spare_category" "Shading" }
	    }
	    parm {
		name	"vm_volumefilterwidth"
		label	"Volume Filter Width"
		type	float
		default	{ "1" }
		range	{ 0.001 5 }
		export	none
		parmtag	{ "spare_category" "Shading" }
	    }
	    parm {
		name	"vm_matte"
		label	"Matte shading"
		type	toggle
		default	{ "0" }
		range	{ 0 1 }
		export	none
		parmtag	{ "spare_category" "Shading" }
	    }
	    parm {
		name	"vm_rayshade"
		label	"Raytrace Shading"
		type	toggle
		default	{ "0" }
		range	{ 0 1 }
		export	none
		parmtag	{ "spare_category" "Shading" }
	    }
	}

	group {
	    name	"folder0_1"
	    label	"Sampling"

	    parm {
		name	"geo_velocityblur"
		label	"Geometry Velocity Blur"
		type	toggle
		default	{ "0" }
		disablewhen	"{ allowmotionblur == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "spare_category" "Sampling" }
	    }
	}

	group {
	    name	"folder0_2"
	    label	"Dicing"

	    parm {
		name	"vm_shadingquality"
		label	"Shading Quality"
		type	float
		default	{ "1" }
		range	{ 0 10 }
		export	none
		parmtag	{ "spare_category" "Dicing" }
	    }
	    parm {
		name	"vm_flatness"
		label	"Dicing Flatness"
		type	float
		default	{ "0.05" }
		range	{ 0 1 }
		export	none
		parmtag	{ "spare_category" "Dicing" }
	    }
	    parm {
		name	"vm_raypredice"
		label	"Ray Predicing"
		type	integer
		default	{ "0" }
		menu	{
		    "0"	"Disable Predicing"
		    "1"	"Full Predicing"
		    "2"	"Precompute Bounds"
		}
		range	{ 0 10 }
		export	none
		parmtag	{ "spare_category" "Dicing" }
	    }
	    parm {
		name	"vm_curvesurface"
		label	"Shade Curves As Surfaces"
		type	toggle
		default	{ "0" }
		range	{ 0 1 }
		export	none
		parmtag	{ "spare_category" "Dicing" }
	    }
	}

	group {
	    name	"folder0_3"
	    label	"Geometry"

	    parm {
		name	"vm_rmbackface"
		label	"Backface Removal"
		type	toggle
		default	{ "0" }
		range	{ 0 1 }
		export	none
		parmtag	{ "spare_category" "Geometry" }
	    }
	    parm {
		name	"shop_geometrypath"
		label	"Procedural Shader"
		type	oppath
		default	{ "" }
		range	{ 0 1 }
		export	none
		parmtag	{ "opfilter" "!!SHOP/GEOMETRY!!" }
		parmtag	{ "oprelative" "." }
		parmtag	{ "spare_category" "Geometry" }
	    }
	    parm {
		name	"vm_forcegeometry"
		label	"Force Procedural Geometry Output"
		type	toggle
		default	{ "1" }
		range	{ 0 1 }
		export	none
		parmtag	{ "spare_category" "Geometry" }
	    }
	    parm {
		name	"vm_renderpoints"
		label	"Render As Points (Mantra)"
		type	integer
		default	{ "2" }
		menu	{
		    "0"	"No Point Rendering"
		    "1"	"Render Only Points"
		    "2"	"Render Unconnected Points"
		}
		range	{ 0 10 }
		export	none
		parmtag	{ "spare_category" "Geometry" }
	    }
	    parm {
		name	"vm_usenforpoints"
		label	"Use N For Point Rendering"
		type	toggle
		default	{ "0" }
		disablewhen	"{ vm_renderpoints == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "spare_category" "Geometry" }
	    }
	    parm {
		name	"vm_pointscale"
		label	"Point Scale"
		type	float
		default	{ "1" }
		disablewhen	"{ vm_renderpoints == 0 }"
		range	{ 0! 10 }
		export	none
		parmtag	{ "spare_category" "Geometry" }
	    }
	    parm {
		name	"vm_metavolume"
		label	"Metaballs as Volume"
		type	toggle
		default	{ "0" }
		range	{ 0 1 }
		export	none
		parmtag	{ "spare_category" "Geometry" }
	    }
	    parm {
		name	"vm_coving"
		label	"Coving"
		type	integer
		default	{ "1" }
		menu	{
		    "0"	"Disable Coving"
		    "1"	"Coving for displacement/sub-d"
		    "2"	"Coving for all primitives"
		}
		range	{ 0 10 }
		export	none
		parmtag	{ "spare_category" "Geometry" }
	    }
	    parm {
		name	"vm_materialoverride"
		label	"Material Override"
		type	string
		default	{ "compact" }
		menu	{
		    "none"	"Disabled"
		    "full"	"Evaluate for Each Primitve/Point"
		    "compact"	"Evaluate Once"
		}
		range	{ 0 1 }
		export	none
		parmtag	{ "spare_category" "Geometry" }
	    }
	    parm {
		name	"vm_computeN"
		label	"Automatically Compute Normals"
		type	toggle
		default	{ "1" }
		range	{ 0 1 }
		export	none
		parmtag	{ "spare_category" "Geometry" }
	    }
	    parm {
		name	"vm_overridedetail"
		label	"Ignore Geometry Attribute Shaders"
		type	toggle
		default	{ "0" }
		range	{ 0 1 }
		export	none
		parmtag	{ "spare_category" "Geometry" }
	    }
	}

    }

    group {
	name	"stdswitcher5_3"
	label	"Misc"

	parm {
	    name	"use_dcolor"
	    baseparm
	    export	none
	}
	parm {
	    name	"dcolor"
	    baseparm
	    export	none
	}
	parm {
	    name	"picking"
	    baseparm
	    export	none
	}
	parm {
	    name	"pickscript"
	    baseparm
	    export	none
	}
	parm {
	    name	"caching"
	    baseparm
	    export	none
	}
	parm {
	    name	"vport_shadeopen"
	    baseparm
	    export	none
	}
	parm {
	    name	"vport_displayassubdiv"
	    baseparm
	    invisible
	    export	none
	}
    }

0707070000010000000006660000000000000000010000001237543420600002600000004142obj/grid_object1.parm {
version 0.8
stdswitcher	[ 0	locks=0 ]	(	0	0	0	0	)
keeppos	[ 0	locks=0 ]	(	"off"	)
pre_xform	[ 0	locks=0 ]	(	0	)
xOrd	[ 0	locks=0 ]	(	"srt"	)
rOrd	[ 0	locks=0 ]	(	"xyz"	)
t	[ 0	locks=0 ]	(	0	0	0	)
r	[ 0	locks=0 ]	(	0	0	0	)
s	[ 0	locks=0 ]	(	1	1	1	)
p	[ 0	locks=0 ]	(	0	0	0	)
scale	[ 0	locks=0 ]	(	1	)
lookatpath	[ 0	locks=0 ]	(	""	)
lookup	[ 0	locks=0 ]	(	on	)
pathobjpath	[ 0	locks=0 ]	(	""	)
roll	[ 0	locks=0 ]	(	0	)
pos	[ 0	locks=0 ]	(	0	)
uparmtype	[ 0	locks=0 ]	(	"arc"	)
pathorient	[ 0	locks=0 ]	(	1	)
up	[ 0	locks=0 ]	(	0	1	0	)
bank	[ 0	locks=0 ]	(	0	)
shop_materialpath	[ 0	locks=0 ]	(	""	)
shop_materialopts	[ 0	locks=0 ]	(	0	)
tdisplay	[ 0	locks=0 ]	(	"off"	)
display	[ 0	locks=0 ]	(	1	)
use_dcolor	[ 0	locks=0 ]	(	"off"	)
dcolor	[ 0	locks=0 ]	(	1	1	1	)
picking	[ 0	locks=0 ]	(	"on"	)
pickscript	[ 0	locks=0 ]	(	""	)
caching	[ 0	locks=0 ]	(	"off"	)
vport_shadeopen	[ 0	locks=0 ]	(	"off"	)
vport_displayassubdiv	[ 0	locks=0 ]	(	"off"	)
stdswitcher5	[ 0	locks=0 ]	(	0	0	0	0	)
vm_phantom	[ 0	locks=0 ]	(	"off"	)
vm_renderable	[ 0	locks=0 ]	(	"on"	)
viewportlod	[ 0	locks=0 ]	(	"full"	)
vm_rendersubd	[ 0	locks=0 ]	(	"off"	)
vm_subdstyle	[ 0	locks=0 ]	(	mantra_catclark	)
vm_subdgroup	[ 0	locks=0 ]	(	""	)
folder0	[ 0	locks=0 ]	(	0	0	0	0	)
categories	[ 0	locks=0 ]	(	""	)
reflectmask	[ 0	locks=0 ]	(	*	)
refractmask	[ 0	locks=0 ]	(	*	)
lightmask	[ 0	locks=0 ]	(	*	)
vm_volumefilter	[ 0	locks=0 ]	(	box	)
vm_volumefilterwidth	[ 0	locks=0 ]	(	1	)
vm_matte	[ 0	locks=0 ]	(	"off"	)
vm_rayshade	[ 0	locks=0 ]	(	"off"	)
geo_velocityblur	[ 0	locks=0 ]	(	"off"	)
vm_shadingquality	[ 0	locks=0 ]	(	1	)
vm_flatness	[ 0	locks=0 ]	(	0.050000000000000003	)
vm_raypredice	[ 0	locks=0 ]	(	0	)
vm_curvesurface	[ 0	locks=0 ]	(	"off"	)
vm_rmbackface	[ 0	locks=0 ]	(	"off"	)
shop_geometrypath	[ 0	locks=0 ]	(	""	)
vm_forcegeometry	[ 0	locks=0 ]	(	"on"	)
vm_renderpoints	[ 0	locks=0 ]	(	2	)
vm_usenforpoints	[ 0	locks=0 ]	(	"off"	)
vm_pointscale	[ 0	locks=0 ]	(	1	)
vm_metavolume	[ 0	locks=0 ]	(	"off"	)
vm_coving	[ 0	locks=0 ]	(	1	)
vm_materialoverride	[ 0	locks=0 ]	(	compact	)
vm_computeN	[ 0	locks=0 ]	(	"on"	)
vm_overridedetail	[ 0	locks=0 ]	(	"off"	)
}
0707070000010000000006660000000000000000010000001237543420600003200000000125obj/grid_object1.userdata     ___Version___    13.0.476 ___toolcount___    1 ___toolid___    sop_grid0707070000010000000006660000000000000000010000001237543420600007300000000041obj/grid_object1/attribfade__on_fade_attribute_weight.init type = attribfade
matchesdef = 1
0707070000010000000006660000000000000000010000001237543420600007200000001152obj/grid_object1/attribfade__on_fade_attribute_weight.def sopflags sopflags = 
comment ""
position -1.6944 1.60807
cachesize 1
connectornextid 4
flags =  lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress off exposed on
outputsNamed3
{
3 "output1"
}
inputsNamed3
{
0 	vopsop__create_fade_attribute 4 1 "input1"
1 	"" "" 1 "input2"
2 	"" "" 1 "input3"
}
inputs
{
0 	vopsop__create_fade_attribute 0 1
1 	"" 0 1
2 	"" 0 1
}
stat
{
  create 1408643260
  modify 1408645195
  author jeff_wagner@lorient-3.local
  access 0777
}
color UT_Color RGB 0.8 0.8 0.8 
delscript ""
exprlanguage hscript
end
0707070000010000000006660000000000000000010000001237543420600007300000001616obj/grid_object1/attribfade__on_fade_attribute_weight.parm {
version 0.8
visualize	[ 0	locks=0 ]	(	"on"	)
group	[ 0	locks=0 ]	(	""	)
folder0	[ 0	locks=0 ]	(	1	1	)
fadeattrib	[ 0	locks=0 ]	(	fade	)
startattrib	[ 0	locks=0 ]	(	""	)
startremap	[ 8	locks=0 ]	(	0	1	)
durationattrib	[ 0	locks=0 ]	(	""	)
fadeoffset	[ 0	locks=0 ]	(	0	)
fadein	[ 0	locks=0 ]	(	0	)
fadehold	[ 0	locks=0 ]	(	0	)
fadeout	[ 0	locks=0 ]	(	240	)
fadein_ramp	[ 0	locks=0 ]	(	2	)
fadeout_ramp	[ 0	locks=0 ]	(	2	)
fadein_ramp1pos	[ 0	locks=0 ]	(	0	)
fadein_ramp1value	[ 0	locks=0 ]	(	0	)
fadein_ramp1interp	[ 0	locks=0 ]	(	"linear"	)
fadein_ramp2pos	[ 0	locks=0 ]	(	1	)
fadein_ramp2value	[ 0	locks=0 ]	(	1	)
fadein_ramp2interp	[ 0	locks=0 ]	(	"linear"	)
fadeout_ramp1pos	[ 0	locks=0 ]	(	0	)
fadeout_ramp1value	[ 0	locks=0 ]	(	1	)
fadeout_ramp1interp	[ 0	locks=0 ]	(	"linear"	)
fadeout_ramp2pos	[ 0	locks=0 ]	(	1	)
fadeout_ramp2value	[ 0	locks=0 ]	(	0	)
fadeout_ramp2interp	[ 0	locks=0 ]	(	"linear"	)
}
0707070000010000000006660000000000000000010000001237543420600007700000000031obj/grid_object1/attribfade__on_fade_attribute_weight.userdata     ___Version___     0707070000010000000006660000000000000000010000001237543420600006400000000035obj/grid_object1/vopsop__create_fade_attribute.init type = vopsop
matchesdef = 0
0707070000010000000006660000000000000000010000001237543420600006300000001142obj/grid_object1/vopsop__create_fade_attribute.def sopflags sopflags = 
comment ""
position -1.6944 2.61835
cachesize 1
connectornextid 5
flags =  lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress off exposed on
outputsNamed3
{
4 "output1"
}
inputsNamed3
{
0 	uvtexture1 1 1 "input1"
1 	"" "" 1 "input2"
2 	"" "" 1 "input3"
3 	"" "" 1 "input4"
}
inputs
{
0 	uvtexture1 0 1
1 	"" 0 1
2 	"" 0 1
3 	"" 0 1
}
stat
{
  create 1408643276
  modify 1408645190
  author jeff_wagner@lorient-3.local
  access 0777
}
color UT_Color RGB 0.8 0.8 0.8 
delscript ""
exprlanguage hscript
end
0707070000010000000006660000000000000000010000001237543420600007400000001005obj/grid_object1/vopsop__create_fade_attribute.spareparmdef     parm {
	name	"vex_group"
	baseparm
	export	none
    }
    parm {
	name	"vex_numthreads"
	baseparm
	export	none
    }
    parm {
	name	"vop_compiler"
	baseparm
	export	none
    }
    parm {
	name	"vop_forcecompile"
	baseparm
	export	none
    }
    parm {
	name	"vex_cwdpath"
	baseparm
	export	none
    }
    parm {
	name	"fade_direction"
	label	"Fade Direction"
	type	direction
	size	3
	default	{ "1" "0.9" "0" }
	range	{ 0 1 }
	export	none
	parmtag	{ "parmvop" "1" }
	parmtag	{ "shaderparmcontexts" "sop" }
    }
0707070000010000000006660000000000000000010000001237543420600006400000000510obj/grid_object1/vopsop__create_fade_attribute.parm {
version 0.8
vex_group	[ 0	locks=0 ]	(	""	)
vex_numthreads	[ 0	locks=0 ]	(	"1perproc"	)
vop_compiler	[ 0	locks=0 ]	(	"vcc -q $VOP_INCLUDEPATH -o $VOP_OBJECTFILE -e $VOP_ERRORFILE $VOP_SOURCEFILE"	)
vop_forcecompile	[ 0	locks=0 ]	(	0	)
vex_cwdpath	[ 0	locks=0 ]	(	""	)
fade_direction	[ 0	locks=0 ]	(	1	0.90000000000000002	0	)
}
0707070000010000000006660000000000000000010000001237543420600007000000000041obj/grid_object1/vopsop__create_fade_attribute.userdata     ___Version___    13.0.4760707070000010000000006660000000000000000010000001237543420600007400000000035obj/grid_object1/vopsop__create_fade_attribute/global1.init type = global
matchesdef = 0
0707070000010000000006660000000000000000010000001237543420600007300000001153obj/grid_object1/vopsop__create_fade_attribute/global1.def comment ""
position -0.236715 3.34096
cachesize 1
connectornextid 15
flags =  lock off model off template off footprint off xray off bypass off display on render on highlight off unload off savedata off compress off exposed on lowdetail off mediumdetail off highdetail on
outputsNamed3
{
0 "P"
1 "Pw"
2 "v"
3 "accel"
4 "age"
5 "life"
6 "pstate"
7 "id"
8 "ptnum"
9 "Cd"
10 "N"
11 "Npt"
12 "Time"
13 "Frame"
14 "TimeInc"
}
inputsNamed3
{
}
inputs
{
}
stat
{
  create 1408643276
  modify 1408644477
  author jeff_wagner@lorient-3.local
  access 0777
}
color UT_Color RGB 0.8 0.8 0.8 
delscript ""
exprlanguage hscript
end
0707070000010000000006660000000000000000010000001237543420600007400000000156obj/grid_object1/vopsop__create_fade_attribute/global1.parm {
version 0.8
contexttype	[ 0	locks=0 ]	(	sop	)
usemenu	[ 0	locks=0 ]	(	"off"	)
varname	[ 0	locks=0 ]	(	P	)
}
0707070000010000000006660000000000000000010000001237543420600010000000000041obj/grid_object1/vopsop__create_fade_attribute/global1.userdata     ___Version___    13.0.4760707070000010000000006660000000000000000010000001237543420600007400000000035obj/grid_object1/vopsop__create_fade_attribute/output1.init type = output
matchesdef = 0
0707070000010000000006660000000000000000010000001237543420600007300000001415obj/grid_object1/vopsop__create_fade_attribute/output1.def comment ""
position 12.5999 0.467758
cachesize 1
connectornextid 11
flags =  lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress off exposed on lowdetail off mediumdetail off highdetail on
outputsNamed3
{
10 "shader"
}
inputsNamed3
{
0 	"" "" 1 "P"
1 	"" "" 1 "Pw"
2 	"" "" 1 "v"
3 	"" "" 1 "accel"
4 	"" "" 1 "age"
5 	"" "" 1 "life"
6 	"" "" 1 "pstate"
7 	"" "" 1 "id"
8 	multiply2 0 1 "Cd"
9 	"" "" 1 "N"
}
inputs
{
0 	"" 0 1
1 	"" 0 1
2 	"" 0 1
3 	"" 0 1
4 	"" 0 1
5 	"" 0 1
6 	"" 0 1
7 	"" 0 1
8 	multiply2 0 1
9 	"" 0 1
}
stat
{
  create 1408643276
  modify 1408644872
  author jeff_wagner@lorient-3.local
  access 0777
}
color UT_Color RGB 0.8 0.8 0.8 
delscript ""
exprlanguage hscript
end
0707070000010000000006660000000000000000010000001237543420600007400000000167obj/grid_object1/vopsop__create_fade_attribute/output1.parm {
version 0.8
contexttype	[ 0	locks=0 ]	(	sop	)
outputcodelast	[ 0	locks=0 ]	(	"on"	)
parmorder	[ 0	locks=0 ]	(	""	)
}
0707070000010000000006660000000000000000010000001237543420600010000000000041obj/grid_object1/vopsop__create_fade_attribute/output1.userdata     ___Version___    13.0.4760707070000010000000006660000000000000000010000001237543420600007200000000033obj/grid_object1/vopsop__create_fade_attribute/bind1.init type = bind
matchesdef = 0
0707070000010000000006660000000000000000010000001237543420600007100000000771obj/grid_object1/vopsop__create_fade_attribute/bind1.def comment ""
position 2.36991 1.98565
cachesize 1
connectornextid 2
flags =  lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress off exposed on lowdetail off mediumdetail off highdetail on
outputsNamed3
{
0 "uv"
1 "bound_uv"
}
inputsNamed3
{
}
inputs
{
}
stat
{
  create 1408643339
  modify 1408644199
  author jeff_wagner@lorient-3.local
  access 0777
}
color UT_Color RGB 0.6 0.6 1 
delscript ""
exprlanguage hscript
end
0707070000010000000006660000000000000000010000001237543420600007200000002026obj/grid_object1/vopsop__create_fade_attribute/bind1.parm {
version 0.8
parmname	[ 0	locks=0 ]	(	uv	)
parmtype	[ 0	locks=0 ]	(	"point"	)
floatdef	[ 0	locks=0 ]	(	0	)
intdef	[ 0	locks=0 ]	(	0	)
toggledef	[ 0	locks=0 ]	(	"off"	)
angledef	[ 0	locks=0 ]	(	0	)
logfloatdef	[ 0	locks=0 ]	(	0	)
float3def	[ 0	locks=0 ]	(	0	0	0	)
vectordef	[ 0	locks=0 ]	(	0	0	0	)
normaldef	[ 0	locks=0 ]	(	0	0	0	)
pointdef	[ 0	locks=0 ]	(	0	0	0	)
directiondef	[ 0	locks=0 ]	(	1	0	0	)
float4def	[ 0	locks=0 ]	(	0	0	0	0	)
float9def	[ 0	locks=0 ]	(	1	0	0	0	1	0	0	0	1	)
float16def	[ 0	locks=0 ]	(	1	0	0	0	0	1	0	0	0	0	1	0	0	0	0	1	)
stringdef	[ 0	locks=0 ]	(	""	)
filedef	[ 0	locks=0 ]	(	""	)
imagedef	[ 0	locks=0 ]	(	""	)
geometrydef	[ 0	locks=0 ]	(	""	)
colordef	[ 0	locks=0 ]	(	0	0	0	)
color4def	[ 0	locks=0 ]	(	0	0	0	0	)
coshaderdef	[ 0	locks=0 ]	(	""	)
vectoradef	[ 0	locks=0 ]	(	)
coshaderadef	[ 0	locks=0 ]	(	""	)
structdef	[ 0	locks=0 ]	(	""	)
useasparmdefiner	[ 0	locks=0 ]	(	"off"	)
parmuniform	[ 0	locks=0 ]	(	"on"	)
usebound	[ 0	locks=0 ]	(	"off"	)
exportparm	[ 0	locks=0 ]	(	"off"	)
exportcontext	[ 0	locks=0 ]	(	sop	)
}
0707070000010000000006660000000000000000010000001237543420600007600000000041obj/grid_object1/vopsop__create_fade_attribute/bind1.userdata     ___Version___    13.0.4760707070000010000000006660000000000000000010000001237543420600010100000000042obj/grid_object1/vopsop__create_fade_attribute/aaflownoise1.init type = aaflownoise
matchesdef = 0
0707070000010000000006660000000000000000010000001237543420600010000000001402obj/grid_object1/vopsop__create_fade_attribute/aaflownoise1.def comment ""
position 4.20921 -0.0433388
cachesize 1
connectornextid 10
flags =  lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress off exposed on lowdetail off mediumdetail off highdetail on
outputsNamed3
{
9 "noise"
}
inputsNamed3
{
0 	bind1 0 1 "pos"
1 	"" "" 1 "freq"
2 	"" "" 1 "offset"
3 	"" "" 1 "amp"
4 	"" "" 1 "rough"
5 	"" "" 1 "maxoctave"
6 	"" "" 1 "flow"
7 	"" "" 1 "flowrate"
8 	"" "" 1 "advect"
}
inputs
{
0 	bind1 0 1
1 	"" 0 1
2 	"" 0 1
3 	"" 0 1
4 	"" 0 1
5 	"" 0 1
6 	"" 0 1
7 	"" 0 1
8 	"" 0 1
}
stat
{
  create 1408643360
  modify 1408644175
  author jeff_wagner@lorient-3.local
  access 0777
}
color UT_Color RGB 0.8 0.8 0.8 
delscript ""
exprlanguage hscript
end
0707070000010000000006660000000000000000010000001237543420600010100000000773obj/grid_object1/vopsop__create_fade_attribute/aaflownoise1.parm {
version 0.8
signature	[ 0	locks=0 ]	(	default	)
pos_ff	[ 0	locks=0 ]	(	0	)
pos	[ 0	locks=0 ]	(	0	0	0	)
pos_fp	[ 0	locks=0 ]	(	0	0	0	0	)
freq_ff	[ 0	locks=0 ]	(	1	)
freq	[ 0	locks=0 ]	(	6	6	6	)
freq_fp	[ 0	locks=0 ]	(	1	1	1	1	)
offset_ff	[ 0	locks=0 ]	(	0	)
offset	[ 0	locks=0 ]	(	0	0	0	)
offset_fp	[ 0	locks=0 ]	(	0	0	0	0	)
amp	[ 0	locks=0 ]	(	1	)
rough	[ 0	locks=0 ]	(	0.43099999999999999	)
maxoctave	[ 0	locks=0 ]	(	2	)
flow	[ 0	locks=0 ]	(	0	)
flowrate	[ 0	locks=0 ]	(	1	)
advect	[ 0	locks=0 ]	(	0	)
}
0707070000010000000006660000000000000000010000001237543420600010500000000031obj/grid_object1/vopsop__create_fade_attribute/aaflownoise1.userdata     ___Version___     0707070000010000000006660000000000000000010000001237543420600007100000000032obj/grid_object1/vopsop__create_fade_attribute/fit1.init type = fit
matchesdef = 0
0707070000010000000006660000000000000000010000001237543420600007000000001232obj/grid_object1/vopsop__create_fade_attribute/fit1.def comment ""
position 5.99222 0.521461
cachesize 1
connectornextid 6
flags =  lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress off exposed on lowdetail off mediumdetail off highdetail on
outputsNamed3
{
5 "shift"
}
inputsNamed3
{
0 	aaflownoise1 9 1 "val"
1 	"" "" 1 "srcmin"
2 	"" "" 1 "srcmax"
3 	"" "" 1 "destmin"
4 	"" "" 1 "destmax"
}
inputs
{
0 	aaflownoise1 0 1
1 	"" 0 1
2 	"" 0 1
3 	"" 0 1
4 	"" 0 1
}
stat
{
  create 1408643407
  modify 1408644177
  author jeff_wagner@lorient-3.local
  access 0777
}
color UT_Color RGB 0.8 0.8 0.8 
delscript ""
exprlanguage hscript
end
0707070000010000000006660000000000000000010000001237543420600007100000002757obj/grid_object1/vopsop__create_fade_attribute/fit1.parm {
version 0.8
signature	[ 0	locks=0 ]	(	default	)
srcmin	[ 0	locks=0 ]	(	-1	)
srcmax	[ 0	locks=0 ]	(	1	)
destmin	[ 0	locks=0 ]	(	0	)
destmax	[ 0	locks=0 ]	(	1	)
srcmin_v	[ 0	locks=0 ]	(	0	0	0	)
srcmax_v	[ 0	locks=0 ]	(	1	1	1	)
destmin_v	[ 0	locks=0 ]	(	0	0	0	)
destmax_v	[ 0	locks=0 ]	(	1	1	1	)
srcmin_p	[ 0	locks=0 ]	(	0	0	0	)
srcmax_p	[ 0	locks=0 ]	(	1	1	1	)
destmin_p	[ 0	locks=0 ]	(	0	0	0	)
destmax_p	[ 0	locks=0 ]	(	1	1	1	)
srcmin_n	[ 0	locks=0 ]	(	0	0	0	)
srcmax_n	[ 0	locks=0 ]	(	1	1	1	)
destmin_n	[ 0	locks=0 ]	(	0	0	0	)
destmax_n	[ 0	locks=0 ]	(	1	1	1	)
srcmin_c	[ 0	locks=0 ]	(	0	0	0	)
srcmax_c	[ 0	locks=0 ]	(	1	1	1	)
destmin_c	[ 0	locks=0 ]	(	0	0	0	)
destmax_c	[ 0	locks=0 ]	(	1	1	1	)
srcmin_v4	[ 0	locks=0 ]	(	0	0	0	0	)
srcmax_v4	[ 0	locks=0 ]	(	1	1	1	1	)
destmin_v4	[ 0	locks=0 ]	(	0	0	0	0	)
destmax_v4	[ 0	locks=0 ]	(	1	1	1	1	)
srcmin_uf	[ 0	locks=0 ]	(	0	)
srcmax_uf	[ 0	locks=0 ]	(	1	)
destmin_uf	[ 0	locks=0 ]	(	0	)
destmax_uf	[ 0	locks=0 ]	(	1	)
srcmin_uv	[ 0	locks=0 ]	(	0	0	0	)
srcmax_uv	[ 0	locks=0 ]	(	1	1	1	)
destmin_uv	[ 0	locks=0 ]	(	0	0	0	)
destmax_uv	[ 0	locks=0 ]	(	1	1	1	)
srcmin_up	[ 0	locks=0 ]	(	0	0	0	)
srcmax_up	[ 0	locks=0 ]	(	1	1	1	)
destmin_up	[ 0	locks=0 ]	(	0	0	0	)
destmax_up	[ 0	locks=0 ]	(	1	1	1	)
srcmin_un	[ 0	locks=0 ]	(	0	0	0	)
srcmax_un	[ 0	locks=0 ]	(	1	1	1	)
destmin_un	[ 0	locks=0 ]	(	0	0	0	)
destmax_un	[ 0	locks=0 ]	(	1	1	1	)
srcmin_uc	[ 0	locks=0 ]	(	0	0	0	)
srcmax_uc	[ 0	locks=0 ]	(	1	1	1	)
destmin_uc	[ 0	locks=0 ]	(	0	0	0	)
destmax_uc	[ 0	locks=0 ]	(	1	1	1	)
}
0707070000010000000006660000000000000000010000001237543420600007500000000031obj/grid_object1/vopsop__create_fade_attribute/fit1.userdata     ___Version___     0707070000010000000006660000000000000000010000001237543420600007300000000034obj/grid_object1/vopsop__create_fade_attribute/clamp1.init type = clamp
matchesdef = 0
0707070000010000000006660000000000000000010000001237543420600007200000001106obj/grid_object1/vopsop__create_fade_attribute/clamp1.def comment ""
position 7.80311 0.803861
cachesize 1
connectornextid 4
flags =  lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress off exposed on lowdetail off mediumdetail off highdetail on
outputsNamed3
{
3 "clamp"
}
inputsNamed3
{
0 	fit1 5 1 "val"
1 	"" "" 1 "min"
2 	"" "" 1 "max"
}
inputs
{
0 	fit1 0 1
1 	"" 0 1
2 	"" 0 1
}
stat
{
  create 1408643480
  modify 1408644172
  author jeff_wagner@lorient-3.local
  access 0777
}
color UT_Color RGB 0.8 0.8 0.8 
delscript ""
exprlanguage hscript
end
0707070000010000000006660000000000000000010000001237543420600007300000001370obj/grid_object1/vopsop__create_fade_attribute/clamp1.parm {
version 0.8
signature	[ 0	locks=0 ]	(	default	)
min	[ 0	locks=0 ]	(	0	)
max	[ 0	locks=0 ]	(	1	)
min_i	[ 0	locks=0 ]	(	0	)
max_i	[ 0	locks=0 ]	(	1	)
min_v	[ 0	locks=0 ]	(	0	0	0	)
max_v	[ 0	locks=0 ]	(	1	1	1	)
min_p	[ 0	locks=0 ]	(	0	0	0	)
max_p	[ 0	locks=0 ]	(	1	1	1	)
min_n	[ 0	locks=0 ]	(	0	0	0	)
max_n	[ 0	locks=0 ]	(	1	1	1	)
min_c	[ 0	locks=0 ]	(	0	0	0	)
max_c	[ 0	locks=0 ]	(	1	1	1	)
min_v4	[ 0	locks=0 ]	(	0	0	0	0	)
max_v4	[ 0	locks=0 ]	(	1	1	1	1	)
min_uf	[ 0	locks=0 ]	(	0	)
max_uf	[ 0	locks=0 ]	(	1	)
min_uv	[ 0	locks=0 ]	(	0	0	0	)
max_uv	[ 0	locks=0 ]	(	1	1	1	)
min_up	[ 0	locks=0 ]	(	0	0	0	)
max_up	[ 0	locks=0 ]	(	1	1	1	)
min_un	[ 0	locks=0 ]	(	0	0	0	)
max_un	[ 0	locks=0 ]	(	1	1	1	)
min_uc	[ 0	locks=0 ]	(	0	0	0	)
max_uc	[ 0	locks=0 ]	(	1	1	1	)
}
0707070000010000000006660000000000000000010000001237543420600007700000000031obj/grid_object1/vopsop__create_fade_attribute/clamp1.userdata     ___Version___     0707070000010000000006660000000000000000010000001237543420600007200000000040obj/grid_object1/vopsop__create_fade_attribute/parm1.init type = parameter
matchesdef = 0
0707070000010000000006660000000000000000010000001237543420600007100000001017obj/grid_object1/vopsop__create_fade_attribute/parm1.def comment ""
position 1.59256 4.44576
cachesize 1
connectornextid 2
flags =  lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress off exposed on lowdetail off mediumdetail off highdetail on
outputsNamed3
{
0 "fade_direction"
1 "bound_fade_direction"
}
inputsNamed3
{
}
inputs
{
}
stat
{
  create 1408643529
  modify 1408644533
  author jeff_wagner@lorient-3.local
  access 0777
}
color UT_Color RGB 1 1 0.4 
delscript ""
exprlanguage hscript
end
0707070000010000000006660000000000000000010000001237543420600007200000003423obj/grid_object1/vopsop__create_fade_attribute/parm1.parm {
version 0.8
parmscope	[ 0	locks=0 ]	(	shaderparm	)
parmaccess	[ 0	locks=0 ]	(	""	)
parmname	[ 0	locks=0 ]	(	fade_direction	)
parmprefix	[ 0	locks=0 ]	(	""	)
parmpostfix	[ 0	locks=0 ]	(	""	)
parmlabel	[ 0	locks=0 ]	(	"Fade Direction"	)
showlabel	[ 0	locks=0 ]	(	"on"	)
parmtype	[ 0	locks=0 ]	(	"direction"	)
parmtypename	[ 0	locks=0 ]	(	""	)
floatdef	[ 0	locks=0 ]	(	0	)
intdef	[ 0	locks=0 ]	(	0	)
toggledef	[ 0	locks=0 ]	(	"off"	)
angledef	[ 0	locks=0 ]	(	0	)
logfloatdef	[ 0	locks=0 ]	(	0	)
float3def	[ 0	locks=0 ]	(	0	0	0	)
vectordef	[ 0	locks=0 ]	(	0	0	0	)
normaldef	[ 0	locks=0 ]	(	0	0	0	)
pointdef	[ 0	locks=0 ]	(	0	0	0	)
directiondef	[ 0	locks=0 ]	(	1	0.90000000000000002	0	)
float4def	[ 0	locks=0 ]	(	0	0	0	0	)
float9def	[ 0	locks=0 ]	(	1	0	0	0	1	0	0	0	1	)
float16def	[ 0	locks=0 ]	(	1	0	0	0	0	1	0	0	0	0	1	0	0	0	0	1	)
stringdef	[ 0	locks=0 ]	(	""	)
filedef	[ 0	locks=0 ]	(	""	)
imagedef	[ 0	locks=0 ]	(	""	)
geometrydef	[ 0	locks=0 ]	(	""	)
colordef	[ 0	locks=0 ]	(	0	0	0	)
color4def	[ 0	locks=0 ]	(	0	0	0	0	)
coshaderdef	[ 0	locks=0 ]	(	""	)
vectoradef	[ 0	locks=0 ]	(	)
coshaderadef	[ 0	locks=0 ]	(	""	)
structdef	[ 0	locks=0 ]	(	""	)
rangeflt	[ 0	locks=0 ]	(	0	1	)
rangeint	[ 0	locks=0 ]	(	0	10	)
stringtype	[ 0	locks=0 ]	(	off	)
opfilter	[ 0	locks=0 ]	(	!!OBJ/LIGHT!!	)
parmcomment	[ 0	locks=0 ]	(	""	)
separator1	[ 0	locks=0 ]	(	)
useasparmdefiner	[ 0	locks=0 ]	(	"off"	)
parmuniform	[ 0	locks=0 ]	(	"on"	)
usebound	[ 0	locks=0 ]	(	"off"	)
exportparm	[ 0	locks=0 ]	(	"off"	)
exportcontext	[ 0	locks=0 ]	(	sop	)
providemenu	[ 0	locks=0 ]	(	"off"	)
menuchoices	[ 0	locks=0 ]	(	""	)
separator2	[ 0	locks=0 ]	(	)
invisible	[ 0	locks=0 ]	(	"off"	)
joinnext	[ 0	locks=0 ]	(	"off"	)
disablewhen	[ 0	locks=0 ]	(	""	)
hidewhen	[ 0	locks=0 ]	(	""	)
callback	[ 0	locks=0 ]	(	""	)
help	[ 0	locks=0 ]	(	""	)
}
0707070000010000000006660000000000000000010000001237543420600007600000000041obj/grid_object1/vopsop__create_fade_attribute/parm1.userdata     ___Version___    13.0.4760707070000010000000006660000000000000000010000001237543420600007600000000037obj/grid_object1/vopsop__create_fade_attribute/multiply1.init type = multiply
matchesdef = 0
0707070000010000000006660000000000000000010000001237543420600007500000001103obj/grid_object1/vopsop__create_fade_attribute/multiply1.def comment ""
position 5.09603 3.03321
cachesize 1
connectornextid 3
flags =  lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress off exposed on lowdetail off mediumdetail off highdetail on
outputsNamed3
{
0 "product"
}
inputsNamed3
{
1 	normalize1 1 1 "input1"
2 	bind1 0 1 "input2"
}
inputs
{
0 	normalize1 0 1
1 	bind1 0 1
}
stat
{
  create 1408643550
  modify 1408644527
  author jeff_wagner@lorient-3.local
  access 0777
}
color UT_Color RGB 0.8 0.8 0.8 
delscript ""
exprlanguage hscript
end
0707070000010000000006660000000000000000010000001237543420600007600000000020obj/grid_object1/vopsop__create_fade_attribute/multiply1.parm {
version 0.8
}
0707070000010000000006660000000000000000010000001237543420600010200000000041obj/grid_object1/vopsop__create_fade_attribute/multiply1.userdata     ___Version___    13.0.4760707070000010000000006660000000000000000010000001237543420600007400000000035obj/grid_object1/vopsop__create_fade_attribute/length1.init type = length
matchesdef = 0
0707070000010000000006660000000000000000010000001237543420600007300000001027obj/grid_object1/vopsop__create_fade_attribute/length1.def comment ""
position 6.87158 3.31561
cachesize 1
connectornextid 2
flags =  lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress off exposed on lowdetail off mediumdetail off highdetail on
outputsNamed3
{
1 "len"
}
inputsNamed3
{
0 	multiply1 0 1 "vec"
}
inputs
{
0 	multiply1 0 1
}
stat
{
  create 1408643577
  modify 1408644498
  author jeff_wagner@lorient-3.local
  access 0777
}
color UT_Color RGB 0.8 0.8 0.8 
delscript ""
exprlanguage hscript
end
0707070000010000000006660000000000000000010000001237543420600007400000000412obj/grid_object1/vopsop__create_fade_attribute/length1.parm {
version 0.8
signature	[ 0	locks=0 ]	(	default	)
vec	[ 0	locks=0 ]	(	1	1	1	)
vec_p	[ 0	locks=0 ]	(	1	1	1	)
vec_n	[ 0	locks=0 ]	(	1	1	1	)
vec_v4	[ 0	locks=0 ]	(	1	1	1	1	)
vec_uv	[ 0	locks=0 ]	(	1	1	1	)
vec_up	[ 0	locks=0 ]	(	1	1	1	)
vec_un	[ 0	locks=0 ]	(	1	1	1	)
}
0707070000010000000006660000000000000000010000001237543420600010000000000031obj/grid_object1/vopsop__create_fade_attribute/length1.userdata     ___Version___     0707070000010000000006660000000000000000010000001237543420600007700000000040obj/grid_object1/vopsop__create_fade_attribute/normalize1.init type = normalize
matchesdef = 0
0707070000010000000006660000000000000000010000001237543420600007600000001017obj/grid_object1/vopsop__create_fade_attribute/normalize1.def comment ""
position 3.3141 4.35255
cachesize 1
connectornextid 2
flags =  lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress off exposed on lowdetail off mediumdetail off highdetail on
outputsNamed3
{
1 "nvec"
}
inputsNamed3
{
0 	parm1 0 1 "vec"
}
inputs
{
0 	parm1 0 1
}
stat
{
  create 1408644480
  modify 1408644497
  author jeff_wagner@lorient-3.local
  access 0777
}
color UT_Color RGB 0.8 0.8 0.8 
delscript ""
exprlanguage hscript
end
0707070000010000000006660000000000000000010000001237543420600007700000000412obj/grid_object1/vopsop__create_fade_attribute/normalize1.parm {
version 0.8
signature	[ 0	locks=0 ]	(	default	)
vec	[ 0	locks=0 ]	(	1	0	0	)
vec_p	[ 0	locks=0 ]	(	1	0	0	)
vec_v	[ 0	locks=0 ]	(	1	0	0	)
vec_v4	[ 0	locks=0 ]	(	0	0	0	1	)
vec_un	[ 0	locks=0 ]	(	1	0	0	)
vec_up	[ 0	locks=0 ]	(	1	0	0	)
vec_uv	[ 0	locks=0 ]	(	1	0	0	)
}
0707070000010000000006660000000000000000010000001237543420600010300000000031obj/grid_object1/vopsop__create_fade_attribute/normalize1.userdata     ___Version___     0707070000010000000006660000000000000000010000001237543420600007600000000037obj/grid_object1/vopsop__create_fade_attribute/multiply2.init type = multiply
matchesdef = 0
0707070000010000000006660000000000000000010000001237543420600007500000001077obj/grid_object1/vopsop__create_fade_attribute/multiply2.def comment ""
position 10.1661 2.16061
cachesize 1
connectornextid 3
flags =  lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress off exposed on lowdetail off mediumdetail off highdetail on
outputsNamed3
{
0 "product"
}
inputsNamed3
{
1 	length1 1 1 "input1"
2 	clamp1 3 1 "input2"
}
inputs
{
0 	length1 0 1
1 	clamp1 0 1
}
stat
{
  create 1408644508
  modify 1408644743
  author jeff_wagner@lorient-3.local
  access 0777
}
color UT_Color RGB 0.8 0.8 0.8 
delscript ""
exprlanguage hscript
end
0707070000010000000006660000000000000000010000001237543420600007600000000020obj/grid_object1/vopsop__create_fade_attribute/multiply2.parm {
version 0.8
}
0707070000010000000006660000000000000000010000001237543420600010200000000041obj/grid_object1/vopsop__create_fade_attribute/multiply2.userdata     ___Version___    13.0.4760707070000010000000006660000000000000000010000001237543420600007700000000040obj/grid_object1/vopsop__create_fade_attribute/addattrib1.init type = addattrib
matchesdef = 0
0707070000010000000006660000000000000000010000001237543420600007600000001133obj/grid_object1/vopsop__create_fade_attribute/addattrib1.def comment ""
position 12.5999 3.8887
cachesize 1
connectornextid 4
flags =  lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress off exposed on lowdetail off mediumdetail off highdetail on
outputsNamed3
{
3 "newadata"
}
inputsNamed3
{
0 	"" "" 1 "attrib"
1 	multiply2 0 1 "adata"
2 	"" "" 1 "localvar"
}
inputs
{
0 	"" 0 1
1 	multiply2 0 1
2 	"" 0 1
}
stat
{
  create 1408644889
  modify 1408644922
  author jeff_wagner@lorient-3.local
  access 0777
}
color UT_Color RGB 0.8 0.8 0.8 
delscript ""
exprlanguage hscript
end
0707070000010000000006660000000000000000010000001237543420600007700000000556obj/grid_object1/vopsop__create_fade_attribute/addattrib1.parm {
version 0.8
signature	[ 0	locks=0 ]	(	f	)
attrib	[ 0	locks=0 ]	(	fade	)
localvar	[ 0	locks=0 ]	(	FADE	)
adata_f	[ 0	locks=0 ]	(	0	)
adata_i	[ 0	locks=0 ]	(	0	)
adata	[ 0	locks=0 ]	(	0	0	0	)
adata_v4	[ 0	locks=0 ]	(	0	0	0	0	)
adata_m3	[ 0	locks=0 ]	(	1	0	0	0	1	0	0	0	1	)
adata_m	[ 0	locks=0 ]	(	1	0	0	0	0	1	0	0	0	0	1	0	0	0	0	1	)
typemodifier	[ 0	locks=0 ]	(	""	)
}
0707070000010000000006660000000000000000010000001237543420600010300000000031obj/grid_object1/vopsop__create_fade_attribute/addattrib1.userdata     ___Version___     0707070000010000000006660000000000000000010000001237543420600005100000000042obj/grid_object1/create_fuel_volume.init type = fluidsource
matchesdef = 1
0707070000010000000006660000000000000000010000001237543420600005000000001040obj/grid_object1/create_fuel_volume.def sopflags sopflags = 
comment ""
position 1.04576 -0.808969
cachesize 1
connectornextid 2
flags =  lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress off exposed on
outputsNamed3
{
1 "output1"
}
inputsNamed3
{
0 	delete__by_expression 1 1 "input1"
}
inputs
{
0 	delete__by_expression 0 1
}
stat
{
  create 1408645042
  modify 1408645215
  author jeff_wagner@lorient-3.local
  access 0777
}
color UT_Color RGB 0.8 0.8 0.8 
delscript ""
exprlanguage hscript
end
0707070000010000000006660000000000000000010000001237543420600005000000001405obj/grid_object1/create_fuel_volume.chn {
    channel vel_divsize {
      lefttype = extend
      righttype = extend
      flags = 0
      segment { length = 0 expr = ch('./divsize') }
    }
    channel vel_objframe {
      lefttype = extend
      righttype = extend
      flags = 0
      segment { length = 0 expr = $FF-0.5 }
    }
    channel source_attribute {
      lefttype = extend
      righttype = extend
      defaultString = \"density\"
      flags = 0
      segment { length = 0 accel = 0.33333333333333331 0.33333333333333331 expr = fuel }
    }
    channel divsize {
      lefttype = extend
      righttype = extend
      default = 0.10000000000000001
      flags = 0
      segment { options = {	   untie  iv ov is os ia oa }

	 length = 0 expr = ch(\"/obj/AutoDopNetwork/pyro/divsize\") }
    }
  }
0707070000010000000006660000000000000000010000001237543420600005100000014051obj/grid_object1/create_fuel_volume.parm {
version 0.8
container_settings_1	[ 0	locks=0 ]	(	0	0	0	0	0	)
method	[ 0	locks=0 ]	(	"0"	)
make_sdf	[ 0	locks=0 ]	(	"off"	)
source_attribute	[ 0	locks=0 ]	(	[ source_attribute	fuel ] 	)
number_of_volumes	[ 0	locks=0 ]	(	2	)
settings	[ 0	locks=0 ]	(	0	0	0	0	0	0	0	)
invert_sign	[ 0	locks=0 ]	(	"off"	)
divsize	[ 0	locks=0 ]	(	[ divsize	0.2356902281443278 ] 	)
volborderval	[ 0	locks=0 ]	(	0	)
slice_plane	[ 0	locks=0 ]	(	"xy"	)
slice_type	[ 0	locks=0 ]	(	"false"	)
slice_method	[ 0	locks=0 ]	(	"mesh"	)
slice_planeoffset	[ 0	locks=0 ]	(	0	)
slice_iso_offset	[ 0	locks=0 ]	(	0.025000000000000001	)
slice_range	[ 0	locks=0 ]	(	0	1	)
minimum_distance	[ 0	locks=0 ]	(	"on"	)
scale_by_source_attribute	[ 0	locks=0 ]	(	"off"	)
e_interior	[ 0	locks=0 ]	(	"on"	)
eloc	[ 0	locks=0 ]	(	0	)
size	[ 0	locks=0 ]	(	0.2356902281443278	)
edge_thickness	[ 0	locks=0 ]	(	0.1178451140721639	)
in_feather_length	[ 0	locks=0 ]	(	0.1178451140721639	)
folder1	[ 0	locks=0 ]	(	0	0	)
remap_feather_in	[ 0	locks=0 ]	(	"off"	)
feather_in_ramp	[ 0	locks=0 ]	(	2	)
remap_feather_out	[ 0	locks=0 ]	(	"off"	)
feather_out_ramp	[ 0	locks=0 ]	(	2	)
generate_particle_sdf	[ 0	locks=0 ]	(	"off"	)
scale_particle_sdf	[ 0	locks=0 ]	(	"off"	)
bandwidth	[ 0	locks=0 ]	(	0.2356902281443278	)
smoothness2	[ 0	locks=0 ]	(	8	)
feather	[ 0	locks=0 ]	(	0.05892255703608195	)
pointsdf_edge_location	[ 0	locks=0 ]	(	0.5	)
use_noise	[ 0	locks=0 ]	(	"on"	)
animate_noise	[ 0	locks=0 ]	(	"on"	)
destmin	[ 0	locks=0 ]	(	1	)
voronoi_influence	[ 0	locks=0 ]	(	0.29999999999999999	)
pulse_duration	[ 0	locks=0 ]	(	1	)
turbulent	[ 0	locks=0 ]	(	0	0	)
noise_mode	[ 0	locks=0 ]	(	"0"	)
sharpness	[ 0	locks=0 ]	(	0.5	)
amp	[ 0	locks=0 ]	(	1	)
grain	[ 0	locks=0 ]	(	0.10000000000000001	)
turb	[ 0	locks=0 ]	(	2	)
offset	[ 0	locks=0 ]	(	0	)
element_size	[ 0	locks=0 ]	(	1.1784511407216389	)
element_scale	[ 0	locks=0 ]	(	1	1	1	)
cell_mode	[ 0	locks=0 ]	(	"0"	)
invert_cells	[ 0	locks=0 ]	(	"off"	)
adaptive_cells	[ 0	locks=0 ]	(	"on"	)
cell_thresh	[ 0	locks=0 ]	(	0.34999999999999998	)
cell_offset	[ 0	locks=0 ]	(	0	)
cell_harshness	[ 0	locks=0 ]	(	0.5	)
cell_min	[ 0	locks=0 ]	(	0.34999999999999998	)
cell_max	[ 0	locks=0 ]	(	1	)
cell_size	[ 0	locks=0 ]	(	0.58922557036081946	)
cell_scale	[ 0	locks=0 ]	(	1	1	1	)
frames_to_blur	[ 0	locks=0 ]	(	1	)
geometry_samples	[ 0	locks=0 ]	(	1	)
blur_offset	[ 0	locks=0 ]	(	0	)
laserscan	[ 0	locks=0 ]	(	"on"	)
fixsigns	[ 0	locks=0 ]	(	"on"	)
forcebounds	[ 0	locks=0 ]	(	"on"	)
sweepalpha	[ 0	locks=0 ]	(	2	)
sweepcount	[ 0	locks=0 ]	(	8	)
vel_method	[ 0	locks=0 ]	(	"0"	)
vel_source_attribute	[ 0	locks=0 ]	(	v	)
vel_number_of_volumes	[ 0	locks=0 ]	(	1	)
vel_add_uniform	[ 0	locks=0 ]	(	"off"	)
vel_uniformvel	[ 0	locks=0 ]	(	0	1	0	)
vel_settings	[ 0	locks=0 ]	(	0	0	0	0	0	0	)
vel_invert_sign	[ 0	locks=0 ]	(	"off"	)
vel_divsize	[ 0	locks=0 ]	(	[ vel_divsize	0.2356902281443278 ] 	)
vel_volborderval	[ 0	locks=0 ]	(	0	)
vel_stream_use_plane	[ 0	locks=0 ]	(	"on"	)
vel_stream_plane_orient	[ 0	locks=0 ]	(	"xy"	)
vel_stream_plane_pos	[ 0	locks=0 ]	(	0	)
vel_stream_length	[ 0	locks=0 ]	(	1	)
vel_stream_separation	[ 0	locks=0 ]	(	1	)
vel_stream_max	[ 0	locks=0 ]	(	1	)
vel_pointextrapdist	[ 0	locks=0 ]	(	0.20000000000000001	)
vel_add_curl_noise	[ 0	locks=0 ]	(	"off"	)
vel_turbtimedep	[ 0	locks=0 ]	(	"on"	)
vel_turbscale	[ 0	locks=0 ]	(	1	)
vel_turbswirl	[ 0	locks=0 ]	(	1	)
vel_turbrough	[ 0	locks=0 ]	(	0.5	)
vel_turboffset	[ 0	locks=0 ]	(	1	)
vel_turbatten	[ 0	locks=0 ]	(	1	)
vel_turboctaves	[ 0	locks=0 ]	(	3	)
vel_turbpulselength	[ 0	locks=0 ]	(	1	)
vel_turbframeoffset	[ 0	locks=0 ]	(	0	)
vel_add_vortex	[ 0	locks=0 ]	(	"off"	)
vel_vortexpivot	[ 0	locks=0 ]	(	0	0	0	)
vel_vortexdir	[ 0	locks=0 ]	(	0	1	0	)
vel_vortexspeed	[ 0	locks=0 ]	(	0	)
vel_limitvortex	[ 0	locks=0 ]	(	"off"	)
vel_vortexradius	[ 0	locks=0 ]	(	0.14000000000000001	)
vel_vortexramp	[ 0	locks=0 ]	(	3	)
vel_objapply	[ 0	locks=0 ]	(	"off"	)
vel_objpath	[ 0	locks=0 ]	(	..	)
vel_objscale	[ 0	locks=0 ]	(	1	)
vel_objframe	[ 0	locks=0 ]	(	[ vel_objframe	0.5 ] 	)
vel_objsample	[ 0	locks=0 ]	(	1	)
createparticles	[ 0	locks=0 ]	(	"off"	)
particlesource	[ 0	locks=0 ]	(	fuel	)
particlesep	[ 0	locks=0 ]	(	0.10000000000000001	)
jitterseed	[ 0	locks=0 ]	(	0	)
jitterscale	[ 0	locks=0 ]	(	0	)
doscatter	[ 0	locks=0 ]	(	"off"	)
scatter	[ 0	locks=0 ]	(	1	)
dooversampling	[ 0	locks=0 ]	(	"off"	)
oversampling	[ 0	locks=0 ]	(	2	)
oversamplingbandwidth	[ 0	locks=0 ]	(	1	)
addpartviscosity	[ 0	locks=0 ]	(	"off"	)
partviscosity	[ 0	locks=0 ]	(	1	)
addpartdensity	[ 0	locks=0 ]	(	"off"	)
partdensity	[ 0	locks=0 ]	(	1	)
initialize	[ 0	locks=0 ]	(	"sourcefuel"	)
bound_expansion	[ 0	locks=0 ]	(	0.05892255703608195	)
auto_bounds	[ 0	locks=0 ]	(	"on"	)
enable_partitioning	[ 0	locks=0 ]	(	"off"	)
partrition_type	[ 0	locks=0 ]	(	"points"	)
partition_attribute	[ 0	locks=0 ]	(	cluster	)
visibility1	[ 0	locks=0 ]	(	"on"	)
volvis1	[ 0	locks=0 ]	(	"smoke"	)
name1	[ 0	locks=0 ]	(	fuel	)
volumescale1	[ 0	locks=0 ]	(	1	)
feather_in_ramp1pos	[ 0	locks=0 ]	(	0	)
feather_in_ramp1value	[ 0	locks=0 ]	(	0	)
feather_in_ramp1interp	[ 0	locks=0 ]	(	"linear"	)
feather_in_ramp2pos	[ 0	locks=0 ]	(	1	)
feather_in_ramp2value	[ 0	locks=0 ]	(	1	)
feather_in_ramp2interp	[ 0	locks=0 ]	(	"linear"	)
feather_out_ramp1pos	[ 0	locks=0 ]	(	0	)
feather_out_ramp1value	[ 0	locks=0 ]	(	0	)
feather_out_ramp1interp	[ 0	locks=0 ]	(	"linear"	)
feather_out_ramp2pos	[ 0	locks=0 ]	(	1	)
feather_out_ramp2value	[ 0	locks=0 ]	(	1	)
feather_out_ramp2interp	[ 0	locks=0 ]	(	"linear"	)
vel_visibility1	[ 0	locks=0 ]	(	"on"	)
vel_volvis1	[ 0	locks=0 ]	(	"streamers"	)
vel_name1	[ 0	locks=0 ]	(	vel	)
vel_volumescale1	[ 0	locks=0 ]	(	1	)
vel_vortexramp1pos	[ 0	locks=0 ]	(	0	)
vel_vortexramp1value	[ 0	locks=0 ]	(	0	)
vel_vortexramp1interp	[ 0	locks=0 ]	(	"catmull-rom"	)
vel_vortexramp2pos	[ 0	locks=0 ]	(	0.5	)
vel_vortexramp2value	[ 0	locks=0 ]	(	1	)
vel_vortexramp2interp	[ 0	locks=0 ]	(	"catmull-rom"	)
vel_vortexramp3pos	[ 0	locks=0 ]	(	1	)
vel_vortexramp3value	[ 0	locks=0 ]	(	0	)
vel_vortexramp3interp	[ 0	locks=0 ]	(	"catmull-rom"	)
visibility2	[ 0	locks=0 ]	(	"on"	)
volvis2	[ 0	locks=0 ]	(	"smoke"	)
name2	[ 0	locks=0 ]	(	temperature	)
volumescale2	[ 0	locks=0 ]	(	1	)
}
0707070000010000000006660000000000000000010000001237543420600005500000000130obj/grid_object1/create_fuel_volume.userdata     ___Version___      ___toolcount___    3 ___toolid___    dynamics_burnsource0707070000010000000006660000000000000000010000001237543420600003000000000035obj/AutoDopNetwork.init type = dopnet
matchesdef = 0
0707070000010000000006660000000000000000010000001237543420600002700000001115obj/AutoDopNetwork.def objflags objflags =  origin off
pretransform UT_DMatrix4 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1
comment ""
position -2.42778 0.863642
cachesize 1
connectornextid 2
flags =  lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress off exposed on selectable on
outputsNamed3
{
1 "output1"
}
inputsNamed3
{
0 	"" "" 1 "input1"
}
inputs
{
0 	"" 0 1
}
stat
{
  create 1408645038
  modify 1408645053
  author jeff_wagner@lorient-3.local
  access 0777
}
color UT_Color RGB 0.8 0.8 0.8 
delscript ""
exprlanguage hscript
end
0707070000010000000006660000000000000000010000001237543420600002700000000521obj/AutoDopNetwork.chn {
    channel timestep {
      lefttype = extend
      righttype = extend
      flags = 0
      segment { length = 0 expr = ch(\"timescale\")/(ch(\"substep\")*$FPS) }
    }
    channel timeoffset {
      lefttype = extend
      righttype = extend
      flags = 0
      segment { length = 0 expr = (ch(\"startframe\")-1)/$FPS }
    }
  }
0707070000010000000006660000000000000000010000001237543420600003000000003120obj/AutoDopNetwork.parm {
version 0.8
stdswitcher	[ 0	locks=0 ]	(	0	0	)
resimulate	[ 0	locks=0 ]	(	0	)
tdisplay	[ 0	locks=0 ]	(	"off"	)
display	[ 0	locks=0 ]	(	1	)
initialstate	[ 0	locks=0 ]	(	""	)
timestep	[ 0	locks=0 ]	(	[ timestep	0.041666666666666664 ] 	)
substep	[ 0	locks=0 ]	(	1	)
timeoffset	[ 0	locks=0 ]	(	[ timeoffset	0 ] 	)
startframe	[ 0	locks=0 ]	(	1	)
timescale	[ 0	locks=0 ]	(	1	)
maxfeedback	[ 0	locks=0 ]	(	2	)
autoresim	[ 0	locks=0 ]	(	"on"	)
datahints	[ 0	locks=0 ]	(	"on"	)
interpolate	[ 0	locks=0 ]	(	"on"	)
cacheenabled	[ 0	locks=0 ]	(	"on"	)
compresssims	[ 0	locks=0 ]	(	"off"	)
cachemaxsize	[ 0	locks=0 ]	(	5000	)
cachetodisk	[ 0	locks=0 ]	(	"off"	)
cachetodisknoninteractive	[ 0	locks=0 ]	(	"off"	)
cachesubsteps	[ 0	locks=0 ]	(	"off"	)
timeless	[ 0	locks=0 ]	(	"off"	)
explicitcache	[ 0	locks=0 ]	(	"off"	)
explicitcachename	[ 0	locks=0 ]	(	$HIP/cache_${OS}_$SF.sim	)
explicitcachensteps	[ 0	locks=0 ]	(	0	)
keeppos	[ 0	locks=0 ]	(	"off"	)
pre_xform	[ 0	locks=0 ]	(	0	)
xOrd	[ 0	locks=0 ]	(	"srt"	)
rOrd	[ 0	locks=0 ]	(	"xyz"	)
t	[ 0	locks=0 ]	(	0	0	0	)
r	[ 0	locks=0 ]	(	0	0	0	)
s	[ 0	locks=0 ]	(	1	1	1	)
p	[ 0	locks=0 ]	(	0	0	0	)
scale	[ 0	locks=0 ]	(	1	)
lookatpath	[ 0	locks=0 ]	(	""	)
lookup	[ 0	locks=0 ]	(	on	)
pathobjpath	[ 0	locks=0 ]	(	""	)
roll	[ 0	locks=0 ]	(	0	)
pos	[ 0	locks=0 ]	(	0	)
uparmtype	[ 0	locks=0 ]	(	"arc"	)
pathorient	[ 0	locks=0 ]	(	1	)
up	[ 0	locks=0 ]	(	0	1	0	)
bank	[ 0	locks=0 ]	(	0	)
displayfilter	[ 0	locks=0 ]	(	*	)
use_dcolor	[ 0	locks=0 ]	(	"off"	)
dcolor	[ 0	locks=0 ]	(	1	1	1	)
picking	[ 0	locks=0 ]	(	"on"	)
pickscript	[ 0	locks=0 ]	(	""	)
caching	[ 0	locks=0 ]	(	"off"	)
}
0707070000010000000006660000000000000000010000001237543420600003400000000140obj/AutoDopNetwork.userdata     ___Version___    13.0.476 ___toolcount___    2 ___toolid___    pyro_smokelessflame0707070000010000000006660000000000000000010000001237543420600004400000000046obj/AutoDopNetwork/pyrosolver1.init type = pyrosolver::2.0
matchesdef = 1
0707070000010000000006660000000000000000010000001237543420600004300000001177obj/AutoDopNetwork/pyrosolver1.def comment ""
position -3.3888 2.259
cachesize 1
connectornextid 6
flags =  lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress off exposed on
outputsNamed3
{
0 "output1"
}
inputsNamed3
{
1 	pyro 0 1 "input1"
2 	resize_container 0 1 "input2"
3 	"" "" 1 "input3"
4 	"" "" 1 "input4"
5 	merge2 0 1 "input5"
}
inputs
{
0 	pyro 0 1
1 	resize_container 0 1
2 	"" 0 1
3 	"" 0 1
4 	merge2 0 1
}
stat
{
  create 1408645038
  modify 1408645113
  author jeff_wagner@lorient-3.local
  access 0777
}
color UT_Color RGB 0.8 0.8 0.8 
delscript ""
exprlanguage hscript
end
0707070000010000000006660000000000000000010000001237543420600004400000025221obj/AutoDopNetwork/pyrosolver1.parm {
version 0.8
combustion_1	[ 0	locks=0 ]	(	0	0	0	0	0	)
timescale	[ 0	locks=0 ]	(	1	)
temp_diffusion	[ 0	locks=0 ]	(	0.14730639259020487	)
cooling_rate	[ 0	locks=0 ]	(	0.80000000000000004	)
viscosity	[ 0	locks=0 ]	(	0	)
lift	[ 0	locks=0 ]	(	5.3030301332473755	)
buoyancy_dir	[ 0	locks=0 ]	(	0	1	0	)
enable_combustion	[ 0	locks=0 ]	(	"on"	)
ignitiontemp	[ 0	locks=0 ]	(	0.10000000000000001	)
burnrate	[ 0	locks=0 ]	(	0.90000000000000002	)
fuelinefficiency	[ 0	locks=0 ]	(	0.20000000000000001	)
heatoutput	[ 0	locks=0 ]	(	0.14999999999999999	)
gasrelease	[ 0	locks=0 ]	(	14	)
flames	[ 0	locks=0 ]	(	0	0	0	0	0	)
cooldown_time	[ 0	locks=0 ]	(	3.5	)
enable_cooling_field	[ 0	locks=0 ]	(	"on"	)
cooling_field	[ 0	locks=0 ]	(	temperature	)
cooling_field_range	[ 0	locks=0 ]	(	0	2	)
remap_cooldown_time	[ 0	locks=0 ]	(	5	)
emit_smoke	[ 0	locks=0 ]	(	"off"	)
use_dense	[ 0	locks=0 ]	(	"off"	)
source	[ 0	locks=0 ]	(	"heat"	)
smoke_amount	[ 0	locks=0 ]	(	1	)
heat_cutoff	[ 0	locks=0 ]	(	0.20000000000000001	)
blend	[ 0	locks=0 ]	(	0.20000000000000001	)
gas_heat_influence	[ 0	locks=0 ]	(	0.20000000000000001	)
gas_burn_influence	[ 0	locks=0 ]	(	1	)
binf_temperature_to_flames	[ 0	locks=0 ]	(	"off"	)
temp_heat_influence	[ 0	locks=0 ]	(	0	)
temp_burn_influence	[ 0	locks=0 ]	(	1	)
flame_rate	[ 0	locks=0 ]	(	1	)
flame_out_of_bound_influence	[ 0	locks=0 ]	(	0.5	)
flame_cutoff	[ 0	locks=0 ]	(	2	)
flame_sharpness	[ 0	locks=0 ]	(	0.5	)
advect_fuel	[ 0	locks=0 ]	(	"off"	)
fuel_speed	[ 0	locks=0 ]	(	0.050000000000000003	)
enable_dissipation	[ 0	locks=0 ]	(	"on"	)
evap	[ 0	locks=0 ]	(	0.10000000000000001	)
enable_disturbance	[ 0	locks=0 ]	(	"on"	)
dist_scale	[ 0	locks=0 ]	(	0.4713804562886556	)
enable_shredding	[ 0	locks=0 ]	(	"on"	)
shred_scale	[ 0	locks=0 ]	(	0.83324825464087926	)
enable_sharpening	[ 0	locks=0 ]	(	"off"	)
sharpenrate	[ 0	locks=0 ]	(	0.5	)
enable_turbulence	[ 0	locks=0 ]	(	"off"	)
turbulence_scale	[ 0	locks=0 ]	(	0.10000000000000001	)
enable_confinement	[ 0	locks=0 ]	(	"off"	)
confinementscale	[ 0	locks=0 ]	(	2	)
wind_2	[ 0	locks=0 ]	(	0	0	0	0	0	0	)
use_dissipation_control_field	[ 0	locks=0 ]	(	"on"	)
dissipation_control_field	[ 0	locks=0 ]	(	temperature	)
dissipation_control_range	[ 0	locks=0 ]	(	0	1	)
remap_dissipation_field	[ 0	locks=0 ]	(	4	)
dist_target	[ 0	locks=0 ]	(	"vel"	)
dist_density_cutoff	[ 0	locks=0 ]	(	0.10000000000000001	)
dist_override_block_size	[ 0	locks=0 ]	(	"on"	)
dist_block_size	[ 0	locks=0 ]	(	0.35353534221649169	)
dist_locality	[ 0	locks=0 ]	(	1	)
control_settings2	[ 0	locks=0 ]	(	0	0	)
dist_use_control_field	[ 0	locks=0 ]	(	"off"	)
dist_control_field	[ 0	locks=0 ]	(	""	)
dist_control_influence	[ 0	locks=0 ]	(	0.5	)
dist_control_range	[ 0	locks=0 ]	(	0	1	)
dist_remap_control_field	[ 0	locks=0 ]	(	"off"	)
dist_control_field_ramp	[ 0	locks=0 ]	(	2	)
dist_thresh_field	[ 0	locks=0 ]	(	density	)
shred_temp_threshold	[ 0	locks=0 ]	(	0.75	)
shred_fade	[ 0	locks=0 ]	(	0.10000000000000001	)
shred_squash	[ 0	locks=0 ]	(	1	)
shred_stretch	[ 0	locks=0 ]	(	0.25	)
clip_gradient	[ 0	locks=0 ]	(	"on"	)
clip_value	[ 0	locks=0 ]	(	7	)
shred_settings_2_1	[ 0	locks=0 ]	(	0	0	0	)
shred_use_control_field	[ 0	locks=0 ]	(	"off"	)
shred_control_field	[ 0	locks=0 ]	(	density	)
shred_control_influence	[ 0	locks=0 ]	(	0.25	)
shred_control_range	[ 0	locks=0 ]	(	0	1	)
remap_control_field	[ 0	locks=0 ]	(	"off"	)
control_field_ramp	[ 0	locks=0 ]	(	2	)
shred_visualize_shredding	[ 0	locks=0 ]	(	"off"	)
shred_guideplane	[ 0	locks=0 ]	(	"xy"	)
shred_guidevistype	[ 0	locks=0 ]	(	"speed"	)
shred_guidevismode	[ 0	locks=0 ]	(	"false"	)
shred_guidevisscale	[ 0	locks=0 ]	(	1	)
shred_guideplaneval	[ 0	locks=0 ]	(	0	)
shred_guidestreamerlen	[ 0	locks=0 ]	(	1	)
shred_guidestreamerminspeed	[ 0	locks=0 ]	(	0.001	)
shred_guiderange	[ 0	locks=0 ]	(	0	5	)
shred_clear_temporary_fields	[ 0	locks=0 ]	(	"on"	)
shred_temperature_field	[ 0	locks=0 ]	(	temperature	)
shred_velocity_field	[ 0	locks=0 ]	(	vel	)
sharpen_field	[ 0	locks=0 ]	(	density	)
sharpen_locality	[ 0	locks=0 ]	(	4	)
turb_swirl_size	[ 0	locks=0 ]	(	1	)
turb_rough	[ 0	locks=0 ]	(	0.5	)
turb_pulse_length	[ 0	locks=0 ]	(	0.5	)
turb_seed	[ 0	locks=0 ]	(	0	)
turb_control_threshold	[ 0	locks=0 ]	(	0.01	)
turb_turb	[ 0	locks=0 ]	(	2	)
control_settings	[ 0	locks=0 ]	(	0	0	0	)
turb_use_control_field	[ 0	locks=0 ]	(	"on"	)
turb_control_field	[ 0	locks=0 ]	(	density	)
turb_control_influence	[ 0	locks=0 ]	(	0.5	)
turb_control_range	[ 0	locks=0 ]	(	0	1	)
turb_remap_control_field	[ 0	locks=0 ]	(	"off"	)
turb_control_ramp	[ 0	locks=0 ]	(	2	)
turb_vis_turbulence	[ 0	locks=0 ]	(	"off"	)
turb_guideplane	[ 0	locks=0 ]	(	"xy"	)
turb_guidevistype	[ 0	locks=0 ]	(	"speed"	)
turb_guidevismode	[ 0	locks=0 ]	(	"false"	)
turb_guidevisscale	[ 0	locks=0 ]	(	1	)
turb_guideplaneval	[ 0	locks=0 ]	(	0	)
turb_guidestreamerlen	[ 0	locks=0 ]	(	0.25	)
turb_guidestreamerminspeed	[ 0	locks=0 ]	(	0.001	)
turb_guiderange	[ 0	locks=0 ]	(	0	1	)
turb_clear_temporary_fields	[ 0	locks=0 ]	(	"on"	)
turb_density_field	[ 0	locks=0 ]	(	temperature	)
turb_velocity_field	[ 0	locks=0 ]	(	vel	)
conf_use_control_field	[ 0	locks=0 ]	(	"off"	)
conf_control_field	[ 0	locks=0 ]	(	confinement	)
conf_remap_control_field	[ 0	locks=0 ]	(	"off"	)
conf_control_range	[ 0	locks=0 ]	(	0	1	)
conf_control_influence	[ 0	locks=0 ]	(	0.5	)
visualization	[ 0	locks=0 ]	(	0	0	0	)
conf_visualize_confinement	[ 0	locks=0 ]	(	"off"	)
conf_guideplane	[ 0	locks=0 ]	(	"xy"	)
conf_guidevistype	[ 0	locks=0 ]	(	"speed"	)
conf_guidevismode	[ 0	locks=0 ]	(	"false"	)
conf_guidevisscale	[ 0	locks=0 ]	(	1	)
conf_guideplaneval	[ 0	locks=0 ]	(	0	)
conf_guidestreamerlen	[ 0	locks=0 ]	(	1	)
conf_guidestreamerminspeed	[ 0	locks=0 ]	(	0.001	)
conf_guiderange	[ 0	locks=0 ]	(	0	1	)
conf_control_field_ramp2	[ 0	locks=0 ]	(	2	)
conf_cleartemp	[ 0	locks=0 ]	(	"on"	)
conf_vel	[ 0	locks=0 ]	(	vel	)
conf_confinement	[ 0	locks=0 ]	(	confinement	)
enable_relationships	[ 0	locks=0 ]	(	"on"	)
std_switcher_0_6	[ 0	locks=0 ]	(	0	0	0	0	)
enable_source_relationship	[ 0	locks=0 ]	(	"off"	)
sourcedest	[ 0	locks=0 ]	(	density	)
sourcemerge	[ 0	locks=0 ]	(	"max"	)
source_amount	[ 0	locks=0 ]	(	1	)
sourcevelmerge	[ 0	locks=0 ]	(	"wavg"	)
scale_vel	[ 0	locks=0 ]	(	1	)
sourcetemperaturemerge	[ 0	locks=0 ]	(	"wavg"	)
scale_temp	[ 0	locks=0 ]	(	1	)
veltype	[ 0	locks=0 ]	(	"rigidvelocity"	)
enable_pump_relationship	[ 0	locks=0 ]	(	"off"	)
pumpvelmerge	[ 0	locks=0 ]	(	"blend"	)
pumpvelscale	[ 0	locks=0 ]	(	1	)
pumpveltype	[ 0	locks=0 ]	(	"rigidvelocity"	)
pumptemperaturemerge	[ 0	locks=0 ]	(	"none"	)
enable_collision_relationship	[ 0	locks=0 ]	(	"on"	)
collisiontemperaturemerge	[ 0	locks=0 ]	(	"collisioninterior"	)
collision_usebandwidth	[ 0	locks=0 ]	(	"on"	)
collision_usepointvelocity	[ 0	locks=0 ]	(	"off"	)
collision_usevolumevelocity	[ 0	locks=0 ]	(	"off"	)
collision_allownonsdf	[ 0	locks=0 ]	(	"off"	)
extrapolatecollision	[ 0	locks=0 ]	(	"off"	)
correctcollision	[ 0	locks=0 ]	(	"on"	)
enable_sink	[ 0	locks=0 ]	(	"off"	)
opencl	[ 0	locks=0 ]	(	"off"	)
minimumsubsteps	[ 0	locks=0 ]	(	1	)
substeps	[ 0	locks=0 ]	(	1	)
cflcond	[ 0	locks=0 ]	(	1	)
frames_before_solve	[ 0	locks=0 ]	(	0	)
wind_6	[ 0	locks=0 ]	(	0	0	0	0	0	0	0	)
scaled_forces	[ 0	locks=0 ]	(	"* ^Gravity"	)
absolute_forces	[ 0	locks=0 ]	(	""	)
enable_rest	[ 0	locks=0 ]	(	"off"	)
dual_rest_fields	[ 0	locks=0 ]	(	"on"	)
rest_framedelay	[ 0	locks=0 ]	(	50	)
rest_frameoffset	[ 0	locks=0 ]	(	1	)
rest_advectspeed	[ 0	locks=0 ]	(	0.20000000000000001	)
projection_method	[ 0	locks=0 ]	(	"1"	)
multigrid_minpass	[ 0	locks=0 ]	(	1	)
advecttype	[ 0	locks=0 ]	(	"modifiedmaccormack"	)
clampvalues	[ 0	locks=0 ]	(	"revert"	)
vel_advecttype	[ 0	locks=0 ]	(	"modifiedmaccormack"	)
vel_clampvalues	[ 0	locks=0 ]	(	"revert"	)
advectmethod	[ 0	locks=0 ]	(	"trace"	)
advect_cfl	[ 0	locks=0 ]	(	1.5	)
timescale_burn_influence	[ 0	locks=0 ]	(	0	)
heat_influence	[ 0	locks=0 ]	(	0.29999999999999999	)
correct_collisions	[ 0	locks=0 ]	(	"on"	)
feedbackscale	[ 0	locks=0 ]	(	0	)
fieldsclear	[ 0	locks=0 ]	(	"none"	)
extraclear	[ 0	locks=0 ]	(	""	)
addaffectors	[ 0	locks=0 ]	(	"on"	)
uniquedataname	[ 0	locks=0 ]	(	"off"	)
group	[ 0	locks=0 ]	(	*	)
dataname	[ 0	locks=0 ]	(	Solver	)
remap_cooldown_time1pos	[ 0	locks=0 ]	(	1	)
remap_cooldown_time1value	[ 0	locks=0 ]	(	0.10000000000000001	)
remap_cooldown_time1interp	[ 0	locks=0 ]	(	"catmull-rom"	)
remap_cooldown_time2pos	[ 0	locks=0 ]	(	0.51171199999999994	)
remap_cooldown_time2value	[ 0	locks=0 ]	(	0.3125	)
remap_cooldown_time2interp	[ 0	locks=0 ]	(	"catmull-rom"	)
remap_dissipation_field1pos	[ 0	locks=0 ]	(	0	)
remap_dissipation_field1value	[ 0	locks=0 ]	(	1	)
remap_dissipation_field1interp	[ 0	locks=0 ]	(	"catmull-rom"	)
remap_dissipation_field2pos	[ 0	locks=0 ]	(	0.17888999999999999	)
remap_dissipation_field2value	[ 0	locks=0 ]	(	0.875	)
remap_dissipation_field2interp	[ 0	locks=0 ]	(	"catmull-rom"	)
remap_dissipation_field3pos	[ 0	locks=0 ]	(	0.36799999999999999	)
remap_dissipation_field3value	[ 0	locks=0 ]	(	0.27000000000000002	)
remap_dissipation_field3interp	[ 0	locks=0 ]	(	"catmull-rom"	)
remap_dissipation_field4pos	[ 0	locks=0 ]	(	1	)
remap_dissipation_field4value	[ 0	locks=0 ]	(	0	)
remap_dissipation_field4interp	[ 0	locks=0 ]	(	"catmull-rom"	)
dist_control_field_ramp1pos	[ 0	locks=0 ]	(	0	)
dist_control_field_ramp1value	[ 0	locks=0 ]	(	0	)
dist_control_field_ramp1interp	[ 0	locks=0 ]	(	"linear"	)
dist_control_field_ramp2pos	[ 0	locks=0 ]	(	1	)
dist_control_field_ramp2value	[ 0	locks=0 ]	(	1	)
dist_control_field_ramp2interp	[ 0	locks=0 ]	(	"linear"	)
control_field_ramp1pos	[ 0	locks=0 ]	(	0	)
control_field_ramp1value	[ 0	locks=0 ]	(	0	)
control_field_ramp1interp	[ 0	locks=0 ]	(	"linear"	)
control_field_ramp2pos	[ 0	locks=0 ]	(	1	)
control_field_ramp2value	[ 0	locks=0 ]	(	1	)
control_field_ramp2interp	[ 0	locks=0 ]	(	"linear"	)
turb_control_ramp1pos	[ 0	locks=0 ]	(	0	)
turb_control_ramp1value	[ 0	locks=0 ]	(	0	)
turb_control_ramp1interp	[ 0	locks=0 ]	(	"linear"	)
turb_control_ramp2pos	[ 0	locks=0 ]	(	1	)
turb_control_ramp2value	[ 0	locks=0 ]	(	1	)
turb_control_ramp2interp	[ 0	locks=0 ]	(	"linear"	)
conf_control_field_ramp2_1pos	[ 0	locks=0 ]	(	0	)
conf_control_field_ramp2_1value	[ 0	locks=0 ]	(	0	)
conf_control_field_ramp2_1interp	[ 0	locks=0 ]	(	"linear"	)
conf_control_field_ramp2_2pos	[ 0	locks=0 ]	(	1	)
conf_control_field_ramp2_2value	[ 0	locks=0 ]	(	1	)
conf_control_field_ramp2_2interp	[ 0	locks=0 ]	(	"linear"	)
remap_cooldown_time3pos	[ 0	locks=0 ]	(	0.30630600000000002	)
remap_cooldown_time3value	[ 0	locks=0 ]	(	0.79000000000000004	)
remap_cooldown_time3interp	[ 0	locks=0 ]	(	"catmull-rom"	)
remap_cooldown_time4pos	[ 0	locks=0 ]	(	0.108108	)
remap_cooldown_time4value	[ 0	locks=0 ]	(	0.94999999999999996	)
remap_cooldown_time4interp	[ 0	locks=0 ]	(	"catmull-rom"	)
remap_cooldown_time5pos	[ 0	locks=0 ]	(	0	)
remap_cooldown_time5value	[ 0	locks=0 ]	(	1	)
remap_cooldown_time5interp	[ 0	locks=0 ]	(	"catmull-rom"	)
}
0707070000010000000006660000000000000000010000001237543420600005000000000125obj/AutoDopNetwork/pyrosolver1.userdata     ___Version___      ___toolcount___    2 ___toolid___    dynamics_pyrobox0707070000010000000006660000000000000000010000001237543420600003500000000042obj/AutoDopNetwork/pyro.init type = smokeobject
matchesdef = 1
0707070000010000000006660000000000000000010000001237543420600003400000000706obj/AutoDopNetwork/pyro.def comment ""
position -5.83627 4.1415
cachesize 1
connectornextid 1
flags =  lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress off exposed on
outputsNamed3
{
0 "output1"
}
inputsNamed3
{
}
inputs
{
}
stat
{
  create 1408645038
  modify 1408645258
  author jeff_wagner@lorient-3.local
  access 0777
}
color UT_Color RGB 0.8 0.8 0.8 
delscript ""
exprlanguage hscript
end
0707070000010000000006660000000000000000010000001237543420600003400000001443obj/AutoDopNetwork/pyro.chn {
    channel createframe {
      lefttype = extend
      righttype = extend
      flags = 0
      segment { length = 0 expr = ch(opcreator(\".\")+\"/startframe\") }
    }
    channel size_unit_compx {
      lefttype = extend
      righttype = extend
      flags = 0
      segment { length = 0 expr = "ch(\"./divsize\")- ((ch(\"./sizex\")+ch(\"./tx\"))%ch(\"./divsize\"))" }
    }
    channel size_unit_compy {
      lefttype = extend
      righttype = extend
      flags = 0
      segment { length = 0 expr = "ch(\"./divsize\")- ((ch(\"./sizey\")+ch(\"./ty\"))%ch(\"./divsize\"))" }
    }
    channel size_unit_compz {
      lefttype = extend
      righttype = extend
      flags = 0
      segment { length = 0 expr = "ch(\"./divsize\")- ((ch(\"./sizez\")+ch(\"./tz\"))%ch(\"./divsize\"))" }
    }
  }
0707070000010000000006660000000000000000010000001237543420600003500000035121obj/AutoDopNetwork/pyro.parm {
version 0.8
creation_1	[ 0	locks=0 ]	(	0	0	0	)
twod	[ 0	locks=0 ]	(	"off"	)
voxelplane	[ 0	locks=0 ]	(	"xy"	)
uniformvoxels	[ 0	locks=0 ]	(	"size"	)
divsize	[ 0	locks=0 ]	(	0.2356902281443278	)
uniformdiv	[ 0	locks=0 ]	(	10	)
div	[ 0	locks=0 ]	(	10	10	10	)
size	[ 8	locks=0 ]	(	15.940561228151013	9.013427534470452	16.285844095765174	)
t	[ 0	locks=0 ]	(	0	3.9965320825576782	0	)
usesimframe	[ 0	locks=0 ]	(	"off"	)
createframe	[ 0	locks=0 ]	(	[ createframe	1 ] 	)
object_name	[ 0	locks=0 ]	(	$OS	)
solvefirstframe	[ 0	locks=0 ]	(	"on"	)
allowcaching	[ 0	locks=0 ]	(	"on"	)
instance_objects	[ 0	locks=0 ]	(	"off"	)
override_container_size	[ 0	locks=0 ]	(	"on"	)
override_division_size	[ 0	locks=0 ]	(	"off"	)
numobjects	[ 0	locks=0 ]	(	1	)
instance_points	[ 0	locks=0 ]	(	""	)
continuous	[ 0	locks=0 ]	(	"off"	)
size_unit_comp	[ 0	locks=0 ]	(	[ size_unit_compx	0.086374285663277095 ] 	[ size_unit_compy	0.18869315905422668 ] 	[ size_unit_compz	0.21247187433777165 ] 	)
std_switcher_0	[ 0	locks=0 ]	(	0	0	0	0	)
folder0	[ 0	locks=0 ]	(	0	0	0	0	0	0	0	0	0	0	0	0	0	)
multifield_showguide	[ 0	locks=0 ]	(	"on"	)
multifield_color	[ 0	locks=0 ]	(	1	1	1	)
density_showguide	[ 0	locks=0 ]	(	"off"	)
density_color	[ 0	locks=0 ]	(	1	1	1	)
temperature1_showguide	[ 0	locks=0 ]	(	"off"	)
temperature1_color	[ 0	locks=0 ]	(	1	1	1	)
fuel_showguide	[ 0	locks=0 ]	(	"off"	)
fuel_color	[ 0	locks=0 ]	(	0.90000000000000002	0	0.90000000000000002	)
divergence_showguide	[ 0	locks=0 ]	(	"off"	)
divergence_color	[ 0	locks=0 ]	(	1	0.80000000000000004	0	)
burn_showguide	[ 0	locks=0 ]	(	"off"	)
burn_color	[ 0	locks=0 ]	(	1	0.80000000000000004	0	)
heat_showguide	[ 0	locks=0 ]	(	"off"	)
heat_color	[ 0	locks=0 ]	(	1	1	0	)
velocity_showguide	[ 0	locks=0 ]	(	"off"	)
velocity_color	[ 0	locks=0 ]	(	1	1	1	)
collisionmask1_showguide	[ 0	locks=0 ]	(	"off"	)
collisionmask1_color	[ 0	locks=0 ]	(	1	1	1	)
sourcemask1_showguide	[ 0	locks=0 ]	(	"off"	)
sourcemask1_color	[ 0	locks=0 ]	(	0	0.90000000000000002	0	)
sinkmask1_showguide	[ 0	locks=0 ]	(	"off"	)
sinkmask1_color	[ 0	locks=0 ]	(	0.90000000000000002	0	0	)
multifield_usebox	[ 0	locks=0 ]	(	"on"	)
multifield_useboxhash	[ 0	locks=0 ]	(	"on"	)
multifield_rangemin	[ 0	locks=0 ]	(	0	)
multifield_rangemax	[ 0	locks=0 ]	(	1	)
multifield_densityscale	[ 0	locks=0 ]	(	0.31821429590230121	)
multifield_shadowscale	[ 0	locks=0 ]	(	0.31821429590230121	)
multifield_setmaxres	[ 0	locks=0 ]	(	"off"	)
multifield_maxres	[ 0	locks=0 ]	(	128	)
folder14	[ 0	locks=0 ]	(	0	0	)
multifield_densityfield	[ 0	locks=0 ]	(	heat	)
multifield_densityrampmode	[ 0	locks=0 ]	(	"clamp"	)
multifield_densitypreset	[ 0	locks=0 ]	(	"none"	)
multifield_densityramp	[ 0	locks=0 ]	(	2	)
multifield_cdfield	[ 0	locks=0 ]	(	""	)
multifield_cdrangeoverride	[ 0	locks=0 ]	(	"off"	)
multifield_cdrange	[ 0	locks=0 ]	(	0	1	)
multifield_cdrampmode	[ 0	locks=0 ]	(	"clamp"	)
multifield_cdpreset	[ 0	locks=0 ]	(	"none"	)
multifield_cdramp	[ 0	locks=0 ]	(	2	)
multifield_emitscale	[ 0	locks=0 ]	(	4.2428572786973495	)
multifield_emitfield	[ 0	locks=0 ]	(	temperature	)
multifield_emitrangeoverride	[ 0	locks=0 ]	(	"off"	)
multifield_emitrange	[ 0	locks=0 ]	(	0	1	)
multifield_emitrampmode	[ 0	locks=0 ]	(	"clamp"	)
multifield_emitpreset	[ 0	locks=0 ]	(	"none"	)
multifield_emitramp	[ 0	locks=0 ]	(	2	)
multifield_emitcdfield	[ 0	locks=0 ]	(	heat	)
multifield_emitcdrangeoverride	[ 0	locks=0 ]	(	"on"	)
multifield_emitcdrange	[ 0	locks=0 ]	(	0	2	)
multifield_emitcdrampmode	[ 0	locks=0 ]	(	"clamp"	)
multifield_emitcdpreset	[ 0	locks=0 ]	(	"blackbody"	)
multifield_emitcdramp	[ 0	locks=0 ]	(	4	)
density_usebox	[ 0	locks=0 ]	(	"on"	)
density_useboxhash	[ 0	locks=0 ]	(	"on"	)
density_usesmoke	[ 0	locks=0 ]	(	"on"	)
density_guideremapsmoke	[ 0	locks=0 ]	(	"off"	)
density_guidesmokedensity	[ 0	locks=0 ]	(	1	)
density_guideuseplane	[ 0	locks=0 ]	(	"off"	)
density_guideplane	[ 0	locks=0 ]	(	"xy"	)
density_guideplaneval	[ 0	locks=0 ]	(	0	)
density_guidevismode	[ 0	locks=0 ]	(	"false"	)
density_guidevisdensitymode	[ 0	locks=0 ]	(	"none"	)
density_guiderangemode	[ 0	locks=0 ]	(	"on"	)
density_guiderange	[ 0	locks=0 ]	(	0	1	)
density_guiderangecenter	[ 0	locks=0 ]	(	0.5	)
density_guiderangesize	[ 0	locks=0 ]	(	1	)
density_guideiso	[ 0	locks=0 ]	(	0	)
density_guideinvert	[ 0	locks=0 ]	(	"off"	)
temperature1_usebox	[ 0	locks=0 ]	(	"off"	)
temperature1_useboxhash	[ 0	locks=0 ]	(	"off"	)
temperature1_usesmoke	[ 0	locks=0 ]	(	"off"	)
temperature1_guideremapsmoke	[ 0	locks=0 ]	(	"off"	)
temperature1_guidesmokedensity	[ 0	locks=0 ]	(	1	)
temperature1_guideuseplane	[ 0	locks=0 ]	(	"on"	)
temperature1_guideplane	[ 0	locks=0 ]	(	"xy"	)
temperature1_guideplaneval	[ 0	locks=0 ]	(	0	)
temperature1_guidevismode	[ 0	locks=0 ]	(	"blackbody"	)
temperature1_guidevisdensitymode	[ 0	locks=0 ]	(	"none"	)
temperature1_guiderangemode	[ 0	locks=0 ]	(	"on"	)
temperature1_guiderange	[ 0	locks=0 ]	(	0	1	)
temperature1_guiderangecenter	[ 0	locks=0 ]	(	0.5	)
temperature1_guiderangesize	[ 0	locks=0 ]	(	1	)
temperature1_guideiso	[ 0	locks=0 ]	(	0	)
temperature1_guideinvert	[ 0	locks=0 ]	(	"off"	)
fuel_usebox	[ 0	locks=0 ]	(	"off"	)
fuel_useboxhash	[ 0	locks=0 ]	(	"off"	)
fuel_usesmoke	[ 0	locks=0 ]	(	"on"	)
fuel_guideremapsmoke	[ 0	locks=0 ]	(	"off"	)
fuel_guidesmokedensity	[ 0	locks=0 ]	(	1	)
fuel_guideuseplane	[ 0	locks=0 ]	(	"off"	)
fuel_guideplane	[ 0	locks=0 ]	(	"xy"	)
fuel_guideplaneval	[ 0	locks=0 ]	(	0	)
fuel_guidevismode	[ 0	locks=0 ]	(	"false"	)
fuel_guidevisdensitymode	[ 0	locks=0 ]	(	"none"	)
fuel_guiderangemode	[ 0	locks=0 ]	(	"on"	)
fuel_guiderange	[ 0	locks=0 ]	(	0	1	)
fuel_guiderangecenter	[ 0	locks=0 ]	(	0.5	)
fuel_guiderangesize	[ 0	locks=0 ]	(	1	)
fuel_guideiso	[ 0	locks=0 ]	(	0	)
fuel_guideinvert	[ 0	locks=0 ]	(	"off"	)
divergence_usebox	[ 0	locks=0 ]	(	"off"	)
divergence_useboxhash	[ 0	locks=0 ]	(	"off"	)
divergence_usesmoke	[ 0	locks=0 ]	(	"on"	)
divergence_guideremapsmoke	[ 0	locks=0 ]	(	"off"	)
divergence_guidesmokedensity	[ 0	locks=0 ]	(	1	)
divergence_guideuseplane	[ 0	locks=0 ]	(	"off"	)
divergence_guideplane	[ 0	locks=0 ]	(	"xy"	)
divergence_guideplaneval	[ 0	locks=0 ]	(	0	)
divergence_guidevismode	[ 0	locks=0 ]	(	"false"	)
divergence_guidevisdensitymode	[ 0	locks=0 ]	(	"none"	)
divergence_guiderangemode	[ 0	locks=0 ]	(	"on"	)
divergence_guiderange	[ 0	locks=0 ]	(	0	1	)
divergence_guiderangecenter	[ 0	locks=0 ]	(	0.5	)
divergence_guiderangesize	[ 0	locks=0 ]	(	1	)
divergence_guideiso	[ 0	locks=0 ]	(	0	)
divergence_guideinvert	[ 0	locks=0 ]	(	"off"	)
burn_usebox	[ 0	locks=0 ]	(	"off"	)
burn_useboxhash	[ 0	locks=0 ]	(	"off"	)
burn_usesmoke	[ 0	locks=0 ]	(	"on"	)
burn_guideremapsmoke	[ 0	locks=0 ]	(	"off"	)
burn_guidesmokedensity	[ 0	locks=0 ]	(	1	)
burn_guideuseplane	[ 0	locks=0 ]	(	"off"	)
burn_guideplane	[ 0	locks=0 ]	(	"xy"	)
burn_guideplaneval	[ 0	locks=0 ]	(	0	)
burn_guidevismode	[ 0	locks=0 ]	(	"false"	)
burn_guidevisdensitymode	[ 0	locks=0 ]	(	"none"	)
burn_guiderangemode	[ 0	locks=0 ]	(	"on"	)
burn_guiderange	[ 0	locks=0 ]	(	0	1	)
burn_guiderangecenter	[ 0	locks=0 ]	(	0.5	)
burn_guiderangesize	[ 0	locks=0 ]	(	1	)
burn_guideiso	[ 0	locks=0 ]	(	0	)
burn_guideinvert	[ 0	locks=0 ]	(	"off"	)
heat_usebox	[ 0	locks=0 ]	(	"off"	)
heat_useboxhash	[ 0	locks=0 ]	(	"off"	)
heat_usesmoke	[ 0	locks=0 ]	(	"on"	)
heat_guideremapsmoke	[ 0	locks=0 ]	(	"off"	)
heat_guidesmokedensity	[ 0	locks=0 ]	(	1	)
heat_guideuseplane	[ 0	locks=0 ]	(	"off"	)
heat_guideplane	[ 0	locks=0 ]	(	"xy"	)
heat_guideplaneval	[ 0	locks=0 ]	(	0	)
heat_guidevismode	[ 0	locks=0 ]	(	"blackbody"	)
heat_guidevisdensitymode	[ 0	locks=0 ]	(	"none"	)
heat_guiderangemode	[ 0	locks=0 ]	(	"on"	)
heat_guiderange	[ 0	locks=0 ]	(	0	1	)
heat_guiderangecenter	[ 0	locks=0 ]	(	0.5	)
heat_guiderangesize	[ 0	locks=0 ]	(	1	)
heat_guideiso	[ 0	locks=0 ]	(	0	)
heat_guideinvert	[ 0	locks=0 ]	(	"on"	)
velocity_guideusebox	[ 0	locks=0 ]	(	"off"	)
velocity_guideuseboxhash	[ 0	locks=0 ]	(	"off"	)
velocity_guideusesmoke	[ 0	locks=0 ]	(	"off"	)
velocity_guidescale	[ 0	locks=0 ]	(	1	)
velocity_guideoverridediv	[ 0	locks=0 ]	(	"off"	)
velocity_guidediv	[ 0	locks=0 ]	(	10	10	10	)
velocity_guidebarbs	[ 0	locks=0 ]	(	"on"	)
velocity_guidepercomp	[ 0	locks=0 ]	(	"off"	)
velocity_guideusestreamers	[ 0	locks=0 ]	(	"on"	)
velocity_guideuseplane	[ 0	locks=0 ]	(	"off"	)
velocity_guideplane	[ 0	locks=0 ]	(	"xy"	)
velocity_guideplaneval	[ 0	locks=0 ]	(	0	)
velocity_guidestreamerlen	[ 0	locks=0 ]	(	1	)
velocity_guidestreamerminspeed	[ 0	locks=0 ]	(	0.001	)
velocity_guidevistype	[ 0	locks=0 ]	(	"speed"	)
velocity_guidevismode	[ 0	locks=0 ]	(	"false"	)
velocity_guidevisscale	[ 0	locks=0 ]	(	1	)
velocity_guiderange	[ 0	locks=0 ]	(	0	1	)
collisionmask1_usebox	[ 0	locks=0 ]	(	"off"	)
collisionmask1_useboxhash	[ 0	locks=0 ]	(	"off"	)
collisionmask1_usesmoke	[ 0	locks=0 ]	(	"off"	)
collisionmask1_guideremapsmoke	[ 0	locks=0 ]	(	"off"	)
collisionmask1_guidesmokedensity	[ 0	locks=0 ]	(	1	)
collisionmask1_guideuseplane	[ 0	locks=0 ]	(	"off"	)
collisionmask1_guideplane	[ 0	locks=0 ]	(	"xy"	)
collisionmask1_guideplaneval	[ 0	locks=0 ]	(	0	)
collisionmask1_guidevismode	[ 0	locks=0 ]	(	"false"	)
collisionmask1_guidevisdensitymode	[ 0	locks=0 ]	(	"none"	)
collisionmask1_guiderangemode	[ 0	locks=0 ]	(	"on"	)
collisionmask1_guiderange	[ 0	locks=0 ]	(	0	1	)
collisionmask1_guiderangecenter	[ 0	locks=0 ]	(	0.5	)
collisionmask1_guiderangesize	[ 0	locks=0 ]	(	1	)
collisionmask1_guideiso	[ 0	locks=0 ]	(	0	)
collisionmask1_guideinvert	[ 0	locks=0 ]	(	"on"	)
sourcemask1_usebox	[ 0	locks=0 ]	(	"off"	)
sourcemask1_useboxhash	[ 0	locks=0 ]	(	"off"	)
sourcemask1_usesmoke	[ 0	locks=0 ]	(	"on"	)
sourcemask1_guideremapsmoke	[ 0	locks=0 ]	(	"off"	)
sourcemask1_guidesmokedensity	[ 0	locks=0 ]	(	1	)
sourcemask1_guideuseplane	[ 0	locks=0 ]	(	"off"	)
sourcemask1_guideplane	[ 0	locks=0 ]	(	"xy"	)
sourcemask1_guideplaneval	[ 0	locks=0 ]	(	0	)
sourcemask1_guidevismode	[ 0	locks=0 ]	(	"false"	)
sourcemask1_guidevisdensitymode	[ 0	locks=0 ]	(	"none"	)
sourcemask1_guiderangemode	[ 0	locks=0 ]	(	"on"	)
sourcemask1_guiderange	[ 0	locks=0 ]	(	0	1	)
sourcemask1_guiderangecenter	[ 0	locks=0 ]	(	0.5	)
sourcemask1_guiderangesize	[ 0	locks=0 ]	(	1	)
sourcemask1_guideiso	[ 0	locks=0 ]	(	0	)
sourcemask1_guideinvert	[ 0	locks=0 ]	(	"off"	)
sinkmask1_usebox	[ 0	locks=0 ]	(	"off"	)
sinkmask1_useboxhash	[ 0	locks=0 ]	(	"off"	)
sinkmask1_usesmoke	[ 0	locks=0 ]	(	"on"	)
sinkmask1_guideremapsmoke	[ 0	locks=0 ]	(	"off"	)
sinkmask1_guidesmokedensity	[ 0	locks=0 ]	(	1	)
sinkmask1_guideuseplane	[ 0	locks=0 ]	(	"off"	)
sinkmask1_guideplane	[ 0	locks=0 ]	(	"xy"	)
sinkmask1_guideplaneval	[ 0	locks=0 ]	(	0	)
sinkmask1_guidevismode	[ 0	locks=0 ]	(	"false"	)
sinkmask1_guidevisdensitymode	[ 0	locks=0 ]	(	"none"	)
sinkmask1_guiderangemode	[ 0	locks=0 ]	(	"on"	)
sinkmask1_guiderange	[ 0	locks=0 ]	(	0	1	)
sinkmask1_guiderangecenter	[ 0	locks=0 ]	(	0.5	)
sinkmask1_guiderangesize	[ 0	locks=0 ]	(	1	)
sinkmask1_guideiso	[ 0	locks=0 ]	(	0	)
sinkmask1_guideinvert	[ 0	locks=0 ]	(	"off"	)
pumpmask1_showguide	[ 0	locks=0 ]	(	"off"	)
pumpmask1_color	[ 0	locks=0 ]	(	0	0	1	)
pumpmask1_usebox	[ 0	locks=0 ]	(	"off"	)
pumpmask1_useboxhash	[ 0	locks=0 ]	(	"off"	)
pumpmask1_usesmoke	[ 0	locks=0 ]	(	"off"	)
pumpmask1_guideremapsmoke	[ 0	locks=0 ]	(	"off"	)
pumpmask1_guidesmokedensity	[ 0	locks=0 ]	(	1	)
pumpmask1_guideuseplane	[ 0	locks=0 ]	(	"off"	)
pumpmask1_guideplane	[ 0	locks=0 ]	(	"xy"	)
pumpmask1_guideplaneval	[ 0	locks=0 ]	(	0	)
pumpmask1_guidevismode	[ 0	locks=0 ]	(	"false"	)
pumpmask1_guidevisdensitymode	[ 0	locks=0 ]	(	"none"	)
pumpmask1_guiderangemode	[ 0	locks=0 ]	(	"on"	)
pumpmask1_guiderange	[ 0	locks=0 ]	(	0	1	)
pumpmask1_guiderangecenter	[ 0	locks=0 ]	(	0.5	)
pumpmask1_guiderangesize	[ 0	locks=0 ]	(	1	)
pumpmask1_guideiso	[ 0	locks=0 ]	(	0	)
pumpmask1_guideinvert	[ 0	locks=0 ]	(	"off"	)
density_soppath	[ 0	locks=0 ]	(	""	)
density_scalevalue	[ 0	locks=0 ]	(	1	)
temperature_soppath	[ 0	locks=0 ]	(	""	)
temperature_scalevalue	[ 0	locks=0 ]	(	1	)
fuel_soppath	[ 0	locks=0 ]	(	""	)
fuel_scalevalue	[ 0	locks=0 ]	(	1	)
velocity_soppath	[ 0	locks=0 ]	(	""	)
velocity_scalevalue	[ 0	locks=0 ]	(	1	)
usetransform	[ 0	locks=0 ]	(	"on"	)
closedends	[ 0	locks=0 ]	(	"off"	)
closexneg	[ 0	locks=0 ]	(	"on"	)
closexpos	[ 0	locks=0 ]	(	"on"	)
closeyneg	[ 0	locks=0 ]	(	"on"	)
closeypos	[ 0	locks=0 ]	(	"on"	)
closezneg	[ 0	locks=0 ]	(	"on"	)
closezpos	[ 0	locks=0 ]	(	"on"	)
velocity_direction	[ 0	locks=0 ]	(	0	0	0	)
border	[ 0	locks=0 ]	(	"constant"	)
restfield	[ 0	locks=0 ]	(	"off"	)
restresscale	[ 0	locks=0 ]	(	0.5	)
velocity_voxelsample	[ 0	locks=0 ]	(	"center"	)
positionpath	[ 0	locks=0 ]	(	""	)
folder2	[ 0	locks=0 ]	(	0	0	)
enablevelocity	[ 0	locks=0 ]	(	"on"	)
enabledensity	[ 0	locks=0 ]	(	"on"	)
enabletemperature	[ 0	locks=0 ]	(	"on"	)
enablefuel	[ 0	locks=0 ]	(	"on"	)
enabledivergence	[ 0	locks=0 ]	(	"on"	)
enableburn	[ 0	locks=0 ]	(	"on"	)
enablepressure	[ 0	locks=0 ]	(	"on"	)
enablerest	[ 0	locks=0 ]	(	"on"	)
enableconfinement	[ 0	locks=0 ]	(	"on"	)
enableheat	[ 0	locks=0 ]	(	"on"	)
enablesource	[ 0	locks=0 ]	(	"on"	)
enablesourceindex	[ 0	locks=0 ]	(	"on"	)
enablesink	[ 0	locks=0 ]	(	"on"	)
enablepump	[ 0	locks=0 ]	(	"on"	)
enablepumpindex	[ 0	locks=0 ]	(	"on"	)
enablecollision	[ 0	locks=0 ]	(	"on"	)
enablecollisionvelocity	[ 0	locks=0 ]	(	"on"	)
slice	[ 0	locks=0 ]	(	0	)
slicediv	[ 0	locks=0 ]	(	1	1	1	)
sliceoverlapneg	[ 0	locks=0 ]	(	4	4	4	)
sliceoverlappos	[ 0	locks=0 ]	(	4	4	4	)
multifield_densityramp1pos	[ 0	locks=0 ]	(	0	)
multifield_densityramp1value	[ 0	locks=0 ]	(	0	)
multifield_densityramp1interp	[ 0	locks=0 ]	(	"linear"	)
multifield_densityramp2pos	[ 0	locks=0 ]	(	1	)
multifield_densityramp2value	[ 0	locks=0 ]	(	1	)
multifield_densityramp2interp	[ 0	locks=0 ]	(	"linear"	)
multifield_cdramp1pos	[ 0	locks=0 ]	(	0	)
multifield_cdramp1c	[ 0	locks=0 ]	(	0	0	0	)
multifield_cdramp1interp	[ 0	locks=0 ]	(	"linear"	)
multifield_cdramp2pos	[ 0	locks=0 ]	(	1	)
multifield_cdramp2c	[ 0	locks=0 ]	(	1	1	1	)
multifield_cdramp2interp	[ 0	locks=0 ]	(	"linear"	)
multifield_emitramp1pos	[ 0	locks=0 ]	(	0	)
multifield_emitramp1value	[ 0	locks=0 ]	(	0	)
multifield_emitramp1interp	[ 0	locks=0 ]	(	"linear"	)
multifield_emitramp2pos	[ 0	locks=0 ]	(	1	)
multifield_emitramp2value	[ 0	locks=0 ]	(	1	)
multifield_emitramp2interp	[ 0	locks=0 ]	(	"linear"	)
multifield_emitcdramp1pos	[ 0	locks=0 ]	(	0	)
multifield_emitcdramp1c	[ 0	locks=0 ]	(	0	0	0	)
multifield_emitcdramp1interp	[ 0	locks=0 ]	(	"catmull-rom"	)
multifield_emitcdramp2pos	[ 0	locks=0 ]	(	0.54000000000000004	)
multifield_emitcdramp2c	[ 0	locks=0 ]	(	1	0.432	0	)
multifield_emitcdramp2interp	[ 0	locks=0 ]	(	"catmull-rom"	)
multifield_emitcdramp3pos	[ 0	locks=0 ]	(	0.89300000000000002	)
multifield_emitcdramp3c	[ 0	locks=0 ]	(	1	0.88329999999999997	0	)
multifield_emitcdramp3interp	[ 0	locks=0 ]	(	"catmull-rom"	)
multifield_emitcdramp4pos	[ 0	locks=0 ]	(	1	)
multifield_emitcdramp4c	[ 0	locks=0 ]	(	1	1	1	)
multifield_emitcdramp4interp	[ 0	locks=0 ]	(	"catmull-rom"	)
}
0707070000010000000006660000000000000000010000001237543420600004100000000126obj/AutoDopNetwork/pyro.userdata     ___Version___      ___toolcount___    2 ___toolid___    dynamics_smokebox0707070000010000000006660000000000000000010000001237543420600005100000000054obj/AutoDopNetwork/resize_container.init type = gasresizefluiddynamic
matchesdef = 1
0707070000010000000006660000000000000000010000001237543420600005000000000706obj/AutoDopNetwork/resize_container.def comment ""
position -3.57707 3.6897
cachesize 1
connectornextid 1
flags =  lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress off exposed on
outputsNamed3
{
0 "output1"
}
inputsNamed3
{
}
inputs
{
}
stat
{
  create 1408645038
  modify 1408645049
  author jeff_wagner@lorient-3.local
  access 0777
}
color UT_Color RGB 0.8 0.8 0.8 
delscript ""
exprlanguage hscript
end
0707070000010000000006660000000000000000010000001237543420600005100000002067obj/AutoDopNetwork/resize_container.parm {
version 0.8
fluidtype	[ 0	locks=0 ]	(	"smoke"	)
extrafields	[ 0	locks=0 ]	(	""	)
delay_frames	[ 0	locks=0 ]	(	0	)
folder0_1	[ 0	locks=0 ]	(	0	0	)
bound_padding	[ 0	locks=0 ]	(	0.4713804562886556	)
weighted	[ 0	locks=0 ]	(	"on"	)
bound_subtract	[ 0	locks=0 ]	(	0.20000000000000001	)
padding_min_scale	[ 0	locks=0 ]	(	1	1	1	)
padding_max_scale	[ 0	locks=0 ]	(	1	1	1	)
field	[ 0	locks=0 ]	(	0	0	)
reference_field	[ 0	locks=0 ]	(	heat	)
scale	[ 0	locks=0 ]	(	1	)
field_cutoff	[ 0	locks=0 ]	(	0.0050000000000000001	)
use_tracking_objects	[ 0	locks=0 ]	(	"off"	)
tracking_source	[ 0	locks=0 ]	(	"0"	)
tracking_path	[ 0	locks=0 ]	(	""	)
data_name	[ 0	locks=0 ]	(	resizebounds	)
use_max_bounds	[ 0	locks=0 ]	(	"on"	)
bound_mode	[ 0	locks=0 ]	(	"2"	)
operator_path	[ 0	locks=0 ]	(	/obj/grid_object1	)
bound_size	[ 0	locks=0 ]	(	0	0	0	)
bound_center	[ 0	locks=0 ]	(	0	0	0	)
enforce_boundaries	[ 0	locks=0 ]	(	"off"	)
minx	[ 0	locks=0 ]	(	"on"	)
maxx	[ 0	locks=0 ]	(	"on"	)
miny	[ 0	locks=0 ]	(	"on"	)
maxy	[ 0	locks=0 ]	(	"on"	)
minz	[ 0	locks=0 ]	(	"on"	)
maxz	[ 0	locks=0 ]	(	"on"	)
}
0707070000010000000006660000000000000000010000001237543420600005500000000126obj/AutoDopNetwork/resize_container.userdata     ___Version___      ___toolcount___    1 ___toolid___    dynamics_smokebox0707070000010000000006660000000000000000010000001237543420600006600000000043obj/AutoDopNetwork/source_fuel_from_grid_object1.init type = sourcevolume
matchesdef = 1
0707070000010000000006660000000000000000010000001237543420600006500000000745obj/AutoDopNetwork/source_fuel_from_grid_object1.def comment ""
position -0.753067 4.3674
cachesize 1
connectornextid 2
flags =  lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress off exposed on
outputsNamed3
{
0 "output1"
}
inputsNamed3
{
1 	"" "" 1 "input1"
}
inputs
{
0 	"" 0 1
}
stat
{
  create 1408645043
  modify 1408645070
  author jeff_wagner@lorient-3.local
  access 0777
}
color UT_Color RGB 0.8 0.8 0.8 
delscript ""
exprlanguage hscript
end
0707070000010000000006660000000000000000010000001237543420600006600000003104obj/AutoDopNetwork/source_fuel_from_grid_object1.parm {
version 0.8
initialize	[ 0	locks=0 ]	(	"sourcefuel"	)
source_path	[ 0	locks=0 ]	(	/obj/grid_object1/OUT_fuel	)
activation	[ 0	locks=0 ]	(	1	)
scale_source	[ 0	locks=0 ]	(	1	)
scale_temperature	[ 0	locks=0 ]	(	1	)
scale_velocity	[ 0	locks=0 ]	(	1	)
use_object_transform	[ 0	locks=0 ]	(	"on"	)
operation	[ 0	locks=0 ]	(	0	0	0	0	0	0	)
source_merge	[ 0	locks=0 ]	(	"add"	)
normalizesource	[ 0	locks=0 ]	(	"on"	)
temperature_merge	[ 0	locks=0 ]	(	"add"	)
normalizetemp	[ 0	locks=0 ]	(	"on"	)
velocity_merge	[ 0	locks=0 ]	(	"add"	)
normalizevel	[ 0	locks=0 ]	(	"on"	)
tspeed	[ 0	locks=0 ]	(	2	)
iscale	[ 0	locks=0 ]	(	0.5	)
maccel	[ 0	locks=0 ]	(	1	)
sourceparticles	[ 0	locks=0 ]	(	"off"	)
ptgroup	[ 0	locks=0 ]	(	particles	)
particlefluidobjectname	[ 0	locks=0 ]	(	""	)
offsetscale	[ 0	locks=0 ]	(	1	)
offsetseed	[ 0	locks=0 ]	(	0	)
dolife	[ 0	locks=0 ]	(	"off"	)
life	[ 0	locks=0 ]	(	100	)
lifevar	[ 0	locks=0 ]	(	0	)
killinside	[ 0	locks=0 ]	(	"off"	)
killinsidesource	[ 0	locks=0 ]	(	""	)
streamname	[ 0	locks=0 ]	(	$OS	)
masklabel	[ 0	locks=0 ]	(	"DOP Field To Use As Mask"	)
source_mask	[ 0	locks=0 ]	(	""	)
source_abs	[ 0	locks=0 ]	(	"off"	)
temperature_mask	[ 0	locks=0 ]	(	""	)
temp_abs	[ 0	locks=0 ]	(	"off"	)
vel_mask	[ 0	locks=0 ]	(	fuel	)
vel_abs	[ 0	locks=0 ]	(	"off"	)
source_name	[ 0	locks=0 ]	(	fuel	)
vol_sourcedest	[ 0	locks=0 ]	(	fuel	)
temp_name	[ 0	locks=0 ]	(	temperature	)
vol_tempdest	[ 0	locks=0 ]	(	temperature	)
vel_name	[ 0	locks=0 ]	(	vel	)
vol_veldest	[ 0	locks=0 ]	(	vel	)
instancing	[ 0	locks=0 ]	(	"auto"	)
fields_to_clear	[ 0	locks=0 ]	(	"tempvel source sourcelength"	)
}
0707070000010000000006660000000000000000010000001237543420600007200000000130obj/AutoDopNetwork/source_fuel_from_grid_object1.userdata     ___Version___      ___toolcount___    3 ___toolid___    dynamics_burnsource0707070000010000000006660000000000000000010000001237543420600001100000000656shop.def comment ""
position 5 3
cachesize 1
connectornextid 0
flags =  lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress off exposed on
outputsNamed3
{
}
inputsNamed3
{
}
inputs
{
}
stat
{
  create 1408643241
  modify 1408645039
  author jeff_wagner@lorient-3.local
  access 0777
}
color UT_Color RGB 0.8 0.8 0.8 
delscript ""
exprlanguage hscript
end
0707070000010000000006660000000000000000010000001237543420600001200000000020shop.parm {
version 0.8
}
0707070000010000000006660000000000000000010000001237543420600001600000000041shop.userdata     ___Version___    13.0.4760707070000010000000006660000000000000000010000001237543420600003200000000040shop/smokelessflames.init type = pyro::2.0
matchesdef = 1
0707070000010000000006660000000000000000010000001237543420600003100000001053shop/smokelessflames.def comment "Created from Gallery Entry: Smokeless Flames

Default flames volumetric materaial"
position 0 0
cachesize 1
connectornextid 0
flags =  lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress off exposed on
outputsNamed3
{
}
inputsNamed3
{
}
inputs
{
}
stat
{
  create 1408645039
  modify 1408647254
  author jeff_wagner@lorient-3.local
  access 0777
}
color UT_Color RGB 0.8 0.8 0.8 
creator gallery::smokelessflames
explicit 1
delscript ""
exprlanguage hscript
end
0707070000010000000006660000000000000000010000001237543420600004200000207125shop/smokelessflames.spareparmdef     parm {
	name	"vop_compiler"
	baseparm
	export	none
    }
    parm {
	name	"forcecompile"
	baseparm
	export	none
    }
    parm {
	name	"spacer4"
	baseparm
	export	none
    }
    group {
	name	"folder7"
	label	"Smoke"

	group {
	    name	"sd_folder9"
	    label	"Density"

	    parm {
		name	"sd_name"
		baseparm
		joinnext
		export	none
	    }
	    parm {
		name	"sd_intype"
		baseparm
		export	none
	    }
	    parm {
		name	"sd_promote"
		baseparm
		joinnext
		export	none
	    }
	    parm {
		name	"sd_outtype"
		baseparm
		joinnext
		export	none
	    }
	    parm {
		name	"sd_method"
		baseparm
		joinnext
		export	none
	    }
	    parm {
		name	"sd_padval"
		baseparm
		export	none
	    }
	    parm {
		name	"sd_dfltval"
		baseparm
		export	none
	    }
	    parm {
		name	"sd_doconvert"
		baseparm
		invisible
		export	none
	    }
	    parm {
		name	"sd_spacer"
		baseparm
		export	none
	    }
	    group {
		name	"sd_folder11"
		label	"Field Shape"

		parm {
		    name	"sd_dofit"
		    baseparm
		    joinnext
		    export	none
		}
		parm {
		    name	"sd_spacer2"
		    baseparm
		    export	none
		}
		parm {
		    name	"sd_fit_srcmin"
		    baseparm
		    joinnext
		    export	none
		}
		parm {
		    name	"sd_fit_srcmax"
		    baseparm
		    export	none
		}
		parm {
		    name	"sd_fit_tgtmin"
		    baseparm
		    joinnext
		    export	none
		}
		parm {
		    name	"sd_fit_tgtmax"
		    baseparm
		    export	none
		}
		parm {
		    name	"sd_spacer3"
		    baseparm
		    export	none
		}
		parm {
		    name	"sd_doramp"
		    baseparm
		    joinnext
		    export	none
		}
		parm {
		    name	"sd_presets"
		    baseparm
		    joinnext
		    export	none
		}
		parm {
		    name	"sd_spacename"
		    baseparm
		    joinnext
		    export	none
		}
		parm {
		    name	"sd_gammaname"
		    baseparm
		    joinnext
		    export	none
		}
		parm {
		    name	"sd_gammaval"
		    baseparm
		    export	none
		}
		groupradio {
		    name	"sd_rampswitcher9"
		    label	"Float"

		    parm {
			name	"SmokeDensity_flt"
			baseparm
			export	none
		    }
		}

		groupradio {
		    name	"sd_rampswitcher9_1"
		    label	"Color"

		    parm {
			name	"SmokeDensity_rgb"
			baseparm
			export	none
		    }
		}

		parm {
		    name	"sd_ramp_rngmin"
		    baseparm
		    joinnext
		    export	none
		}
		parm {
		    name	"sd_ramp_rngmax"
		    baseparm
		    export	none
		}
		parm {
		    name	"sd_lbt"
		    baseparm
		    joinnext
		    export	none
		}
		parm {
		    name	"sd_rbt"
		    baseparm
		    export	none
		}
		parm {
		    name	"sd_spacer4"
		    baseparm
		    export	none
		}
		parm {
		    name	"sd_docontour"
		    baseparm
		    joinnext
		    export	none
		}
		parm {
		    name	"sd_contour_width"
		    baseparm
		    joinnext
		    export	none
		}
		parm {
		    name	"sd_contour_sharp"
		    baseparm
		    export	none
		}
		parm {
		    name	"sd_dosclip"
		    baseparm
		    joinnext
		    export	none
		}
		parm {
		    name	"sd_sclip_start"
		    baseparm
		    joinnext
		    export	none
		}
		parm {
		    name	"sd_sclip_suppress"
		    baseparm
		    export	none
		}
		parm {
		    name	"sd_spacer5"
		    baseparm
		    export	none
		}
		parm {
		    name	"sd_dolowlimit"
		    baseparm
		    joinnext
		    export	none
		}
		parm {
		    name	"sd_lowlimit"
		    baseparm
		    export	none
		}
		parm {
		    name	"sd_dohighlimit"
		    baseparm
		    joinnext
		    export	none
		}
		parm {
		    name	"sd_highlimit"
		    baseparm
		    export	none
		}
		parm {
		    name	"sd_spacer6"
		    baseparm
		    export	none
		}
		parm {
		    name	"sd_amp"
		    baseparm
		    export	none
		}
	    }

	    group {
		name	"sd_folder11_1"
		label	"Field Noise"

		parm {
		    name	"sd_active"
		    baseparm
		    export	none
		}
		parm {
		    name	"sd_ntype"
		    baseparm
		    joinnext
		    export	none
		}
		parm {
		    name	"sd_dim4"
		    baseparm
		    joinnext
		    export	none
		}
		parm {
		    name	"sd_time"
		    baseparm
		    export	none
		}
		parm {
		    name	"sd_fieldop"
		    baseparm
		    export	none
		}
		parm {
		    name	"sd_spacer7"
		    baseparm
		    export	none
		}
		parm {
		    name	"sd_freq"
		    baseparm
		    export	none
		}
		parm {
		    name	"sd_offset"
		    baseparm
		    export	none
		}
		parm {
		    name	"sd_period"
		    baseparm
		    export	none
		}
		parm {
		    name	"sd_spacer8"
		    baseparm
		    export	none
		}
		group {
		    name	"sd_folder13"
		    label	"Construction"

		    parm {
			name	"sd_basis"
			baseparm
			export	none
		    }
		    parm {
			name	"sd_inv"
			baseparm
			export	none
		    }
		    parm {
			name	"sd_fold"
			baseparm
			export	none
		    }
		    parm {
			name	"sd_expon"
			baseparm
			export	none
		    }
		    parm {
			name	"sd_dolwarp"
			baseparm
			joinnext
			export	none
		    }
		    parm {
			name	"sd_disp"
			baseparm
			joinnext
			export	none
		    }
		    parm {
			name	"sd_dispfreq"
			baseparm
			export	none
		    }
		    parm {
			name	"sd_dogwarp"
			baseparm
			joinnext
			export	none
		    }
		    parm {
			name	"sd_gflow"
			baseparm
			export	none
		    }
		    parm {
			name	"sd_flowrot"
			baseparm
			export	none
		    }
		    parm {
			name	"sd_spacer9"
			baseparm
			export	none
		    }
		    parm {
			name	"sd_fractal"
			baseparm
			export	none
		    }
		    parm {
			name	"sd_accuml"
			baseparm
			export	none
		    }
		    parm {
			name	"sd_accumg"
			baseparm
			export	none
		    }
		    parm {
			name	"sd_oct"
			baseparm
			export	none
		    }
		    parm {
			name	"sd_lac"
			baseparm
			export	none
		    }
		    parm {
			name	"sd_rough"
			baseparm
			export	none
		    }
		}

		group {
		    name	"sd_folder13_1"
		    label	"Output"

		    parm {
			name	"sd_docc"
			baseparm
			export	none
		    }
		    parm {
			name	"sd_spacer10"
			baseparm
			export	none
		    }
		    parm {
			name	"sd_cc_dobias"
			baseparm
			joinnext
			export	none
		    }
		    parm {
			name	"sd_cc_bias"
			baseparm
			export	none
		    }
		    parm {
			name	"sd_cc_dogain"
			baseparm
			joinnext
			export	none
		    }
		    parm {
			name	"sd_cc_gain"
			baseparm
			export	none
		    }
		    parm {
			name	"sd_spacer11"
			baseparm
			export	none
		    }
		    parm {
			name	"sd_cc_inv"
			baseparm
			export	none
		    }
		    parm {
			name	"sd_spacer12"
			baseparm
			export	none
		    }
		    parm {
			name	"sd_cc_dorng"
			baseparm
			export	none
		    }
		    parm {
			name	"sd_cc_rnglo"
			baseparm
			export	none
		    }
		    parm {
			name	"sd_cc_rnghi"
			baseparm
			export	none
		    }
		    parm {
			name	"sd_spacer13"
			baseparm
			export	none
		    }
		    parm {
			name	"sd_cc_amp"
			baseparm
			export	none
		    }
		}

		group {
		    name	"sd_folder13_2"
		    label	"Rest Position"

		    group {
			name	"sd_folder16"
			label	"Fields"

			parm {
			    name	"sd_spacer14"
			    baseparm
			    export	none
			}
			parm {
			    name	"sd_restinterp"
			    baseparm
			    export	none
			}
			parm {
			    name	"sd_spacer15"
			    baseparm
			    export	none
			}
			parm {
			    name	"sd_rest_name"
			    baseparm
			    joinnext
			    export	none
			}
			parm {
			    name	"sd_rest_intype"
			    baseparm
			    export	none
			}
			parm {
			    name	"sd_rest_method"
			    baseparm
			    joinnext
			    export	none
			}
			parm {
			    name	"sd_rest_padval"
			    baseparm
			    export	none
			}
			parm {
			    name	"sd_rest_ratio_name"
			    baseparm
			    joinnext
			    export	none
			}
			parm {
			    name	"sd_rest_ratio_intype"
			    baseparm
			    export	none
			}
			parm {
			    name	"sd_rest_ratio_method"
			    baseparm
			    export	none
			}
			parm {
			    name	"sd_rest2_name"
			    baseparm
			    joinnext
			    export	none
			}
			parm {
			    name	"sd_rest2_intype"
			    baseparm
			    export	none
			}
			parm {
			    name	"sd_rest2_method"
			    baseparm
			    joinnext
			    export	none
			}
			parm {
			    name	"sd_rest2_padval"
			    baseparm
			    export	none
			}
			parm {
			    name	"sd_rest2_ratio_name"
			    baseparm
			    joinnext
			    export	none
			}
			parm {
			    name	"sd_rest2_ratio_intype"
			    baseparm
			    export	none
			}
			parm {
			    name	"sd_rest2_ratio_method"
			    baseparm
			    export	none
			}
		    }

		    group {
			name	"sd_folder16_1"
			label	"Fallback"

			parm {
			    name	"sd_spacer16"
			    baseparm
			    export	none
			}
			parm {
			    name	"sd_fallback_label"
			    baseparm
			    export	none
			}
			parm {
			    name	"sd_spacer17"
			    baseparm
			    export	none
			}
			parm {
			    name	"sd_fail_shading"
			    baseparm
			    export	none
			}
			parm {
			    name	"sd_fail_cop"
			    baseparm
			    export	none
			}
			parm {
			    name	"sd_fail_sop"
			    baseparm
			    export	none
			}
			parm {
			    name	"sd_fail_chop"
			    baseparm
			    export	none
			}
			parm {
			    name	"sd_fail_cvex"
			    baseparm
			    export	none
			}
			parm {
			    name	"sd_fail_fail"
			    baseparm
			    export	none
			}
		    }

		}

	    }

	}

	group {
	    name	"sd_folder9_1"
	    label	"Color"
	    tabbreak

	    parm {
		name	"sc_fld_name"
		baseparm
		joinnext
		export	none
	    }
	    parm {
		name	"sc_fld_intype"
		baseparm
		export	none
	    }
	    parm {
		name	"sc_fld_promote"
		baseparm
		joinnext
		export	none
	    }
	    parm {
		name	"sc_fld_outtype"
		baseparm
		joinnext
		export	none
	    }
	    parm {
		name	"sc_fld_method"
		baseparm
		joinnext
		export	none
	    }
	    parm {
		name	"sc_fld_padval"
		baseparm
		export	none
	    }
	    parm {
		name	"sc_fld_dfltval"
		baseparm
		export	none
	    }
	    parm {
		name	"sc_fld_doconvert"
		baseparm
		invisible
		export	none
	    }
	    parm {
		name	"sc_spacer"
		baseparm
		export	none
	    }
	    group {
		name	"sc_folder13"
		label	"Color"

		parm {
		    name	"sc_cm_usecd"
		    baseparm
		    export	none
		}
		parm {
		    name	"sc_cm_cmodel"
		    baseparm
		    invisible
		    export	none
		}
		groupradio {
		    name	"sc_cmodelswitcher10"
		    label	"Constant"

		    parm {
			name	"sc_spacer2"
			baseparm
			export	none
		    }
		    parm {
			name	"sc_cm_constcol"
			baseparm
			export	none
		    }
		    parm {
			name	"sc_spacer3"
			baseparm
			export	none
		    }
		}

		groupradio {
		    name	"sc_cmodelswitcher10_1"
		    label	"Artistic"

		    parm {
			name	"sc_spacer4"
			baseparm
			export	none
		    }
		    parm {
			name	"sc_cm_presets"
			baseparm
			joinnext
			export	none
		    }
		    parm {
			name	"sc_cm_spacename"
			baseparm
			joinnext
			export	none
		    }
		    parm {
			name	"sc_cm_gammaname"
			baseparm
			joinnext
			export	none
		    }
		    parm {
			name	"sc_cm_gammaval"
			baseparm
			export	none
		    }
		    parm {
			name	"SmokeColor_Color"
			baseparm
			export	none
		    }
		    parm {
			name	"sc_cm_rangemin"
			baseparm
			joinnext
			export	none
		    }
		    parm {
			name	"sc_cm_rangemax"
			baseparm
			export	none
		    }
		    parm {
			name	"sc_cm_lbt"
			baseparm
			joinnext
			export	none
		    }
		    parm {
			name	"sc_cm_rbt"
			baseparm
			export	none
		    }
		    parm {
			name	"sc_spacer5"
			baseparm
			export	none
		    }
		}

		groupradio {
		    name	"sc_cmodelswitcher10_2"
		    label	"Physical"

		    group {
			name	"sc_folder16"
			label	"Definition"

			parm {
			    name	"sc_spacer6"
			    baseparm
			    export	none
			}
			parm {
			    name	"sc_cm_temp"
			    baseparm
			    export	none
			}
			parm {
			    name	"sc_spacer7"
			    baseparm
			    export	none
			}
			parm {
			    name	"sc_cm_dotm"
			    baseparm
			    joinnext
			    export	none
			}
			parm {
			    name	"sc_spacer8"
			    baseparm
			    export	none
			}
			parm {
			    name	"sc_cm_tm_adapt"
			    baseparm
			    export	none
			}
			parm {
			    name	"sc_cm_tm_burn"
			    baseparm
			    export	none
			}
			parm {
			    name	"sc_spacer9"
			    baseparm
			    export	none
			}
		    }

		    group {
			name	"sc_folder16_1"
			label	"Export To Ramp(s)"

			parm {
			    name	"sc_cm_export"
			    baseparm
			    joinnext
			    export	none
			}
			parm {
			    name	"sc_spacer10"
			    baseparm
			    export	none
			}
			parm {
			    name	"sc_cm_xtemp1"
			    baseparm
			    joinnext
			    export	none
			}
			parm {
			    name	"sc_cm_xtemp2"
			    baseparm
			    export	none
			}
			parm {
			    name	"sc_cm_xthresh"
			    baseparm
			    export	none
			}
			parm {
			    name	"sc_cm_xinterp"
			    baseparm
			    export	none
			}
			parm {
			    name	"sc_spacer11"
			    baseparm
			    export	none
			}
			parm {
			    name	"sc_cm_xpcol"
			    baseparm
			    export	none
			}
			parm {
			    name	"sc_cm_xpchr"
			    baseparm
			    export	none
			}
			parm {
			    name	"sc_cm_xpval"
			    baseparm
			    export	none
			}
		    }

		}

		parm {
		    name	"sc_cm_cc_active"
		    baseparm
		    export	none
		}
		parm {
		    name	"sc_cm_cc_gamut"
		    baseparm
		    export	none
		}
		parm {
		    name	"sc_cm_cc_dohrot"
		    baseparm
		    joinnext
		    export	none
		}
		parm {
		    name	"sc_cm_cc_hrot"
		    baseparm
		    export	none
		}
		parm {
		    name	"sc_cm_cc_dobias"
		    baseparm
		    joinnext
		    export	none
		}
		parm {
		    name	"sc_cm_cc_bias"
		    baseparm
		    export	none
		}
		parm {
		    name	"sc_cm_cc_dogain"
		    baseparm
		    joinnext
		    export	none
		}
		parm {
		    name	"sc_cm_cc_gain"
		    baseparm
		    export	none
		}
		parm {
		    name	"sc_cm_cc_dogamma"
		    baseparm
		    joinnext
		    export	none
		}
		parm {
		    name	"sc_cm_cc_gamma"
		    baseparm
		    export	none
		}
		parm {
		    name	"sc_cm_cc_docontrast"
		    baseparm
		    joinnext
		    export	none
		}
		parm {
		    name	"sc_cm_cc_contrast"
		    baseparm
		    export	none
		}
		parm {
		    name	"sc_cm_cc_dosat"
		    baseparm
		    joinnext
		    export	none
		}
		parm {
		    name	"sc_cm_cc_sat"
		    baseparm
		    export	none
		}
		parm {
		    name	"sc_cm_cc_dovalue"
		    baseparm
		    joinnext
		    export	none
		}
		parm {
		    name	"sc_cm_cc_value"
		    baseparm
		    export	none
		}
		parm {
		    name	"sc_cm_cc_dotint"
		    baseparm
		    joinnext
		    export	none
		}
		parm {
		    name	"sc_cm_cc_tint"
		    baseparm
		    export	none
		}
	    }

	    group {
		name	"sc_folder13_1"
		label	"Field Shape"

		parm {
		    name	"sc_fld_dofit"
		    baseparm
		    joinnext
		    export	none
		}
		parm {
		    name	"sc_spacer12"
		    baseparm
		    export	none
		}
		parm {
		    name	"sc_fld_fit_srcmin"
		    baseparm
		    joinnext
		    export	none
		}
		parm {
		    name	"sc_fld_fit_srcmax"
		    baseparm
		    export	none
		}
		parm {
		    name	"sc_fld_fit_tgtmin"
		    baseparm
		    joinnext
		    export	none
		}
		parm {
		    name	"sc_fld_fit_tgtmax"
		    baseparm
		    export	none
		}
		parm {
		    name	"sc_spacer13"
		    baseparm
		    export	none
		}
		parm {
		    name	"sc_fld_doramp"
		    baseparm
		    joinnext
		    export	none
		}
		parm {
		    name	"sc_fld_presets"
		    baseparm
		    joinnext
		    export	none
		}
		parm {
		    name	"sc_fld_spacename"
		    baseparm
		    joinnext
		    export	none
		}
		parm {
		    name	"sc_fld_gammaname"
		    baseparm
		    joinnext
		    export	none
		}
		parm {
		    name	"sc_fld_gammaval"
		    baseparm
		    export	none
		}
		groupradio {
		    name	"sc_fld_rampswitcher9"
		    label	"Float"

		    parm {
			name	"SmokeColor_Field_flt"
			baseparm
			export	none
		    }
		}

		groupradio {
		    name	"sc_fld_rampswitcher9_1"
		    label	"Color"

		    parm {
			name	"SmokeColor_Field_rgb"
			baseparm
			export	none
		    }
		}

		parm {
		    name	"sc_fld_ramp_rngmin"
		    baseparm
		    joinnext
		    export	none
		}
		parm {
		    name	"sc_fld_ramp_rngmax"
		    baseparm
		    export	none
		}
		parm {
		    name	"sc_fld_lbt"
		    baseparm
		    joinnext
		    export	none
		}
		parm {
		    name	"sc_fld_rbt"
		    baseparm
		    export	none
		}
		parm {
		    name	"sc_spacer14"
		    baseparm
		    export	none
		}
		parm {
		    name	"sc_fld_docontour"
		    baseparm
		    joinnext
		    export	none
		}
		parm {
		    name	"sc_fld_contour_width"
		    baseparm
		    joinnext
		    export	none
		}
		parm {
		    name	"sc_fld_contour_sharp"
		    baseparm
		    export	none
		}
		parm {
		    name	"sc_fld_dosclip"
		    baseparm
		    joinnext
		    export	none
		}
		parm {
		    name	"sc_fld_sclip_start"
		    baseparm
		    joinnext
		    export	none
		}
		parm {
		    name	"sc_fld_sclip_suppress"
		    baseparm
		    export	none
		}
		parm {
		    name	"sc_spacer15"
		    baseparm
		    export	none
		}
		parm {
		    name	"sc_fld_dolowlimit"
		    baseparm
		    joinnext
		    export	none
		}
		parm {
		    name	"sc_fld_lowlimit"
		    baseparm
		    export	none
		}
		parm {
		    name	"sc_fld_dohighlimit"
		    baseparm
		    joinnext
		    export	none
		}
		parm {
		    name	"sc_fld_highlimit"
		    baseparm
		    export	none
		}
		parm {
		    name	"sc_spacer16"
		    baseparm
		    export	none
		}
		parm {
		    name	"sc_fld_amp"
		    baseparm
		    export	none
		}
	    }

	    group {
		name	"sc_folder13_2"
		label	"Field Noise"
		tabbreak

		parm {
		    name	"sc_pn_active"
		    baseparm
		    export	none
		}
		parm {
		    name	"sc_pn_ntype"
		    baseparm
		    joinnext
		    export	none
		}
		parm {
		    name	"sc_pn_dim4"
		    baseparm
		    joinnext
		    export	none
		}
		parm {
		    name	"sc_pn_time"
		    baseparm
		    export	none
		}
		parm {
		    name	"sc_pn_fieldop"
		    baseparm
		    export	none
		}
		parm {
		    name	"sc_spacer17"
		    baseparm
		    export	none
		}
		parm {
		    name	"sc_pn_freq"
		    baseparm
		    export	none
		}
		parm {
		    name	"sc_pn_offset"
		    baseparm
		    export	none
		}
		parm {
		    name	"sc_pn_period"
		    baseparm
		    export	none
		}
		parm {
		    name	"sc_spacer18"
		    baseparm
		    export	none
		}
		group {
		    name	"sc_folder20"
		    label	"Construction"

		    parm {
			name	"sc_pn_basis"
			baseparm
			export	none
		    }
		    parm {
			name	"sc_pn_inv"
			baseparm
			export	none
		    }
		    parm {
			name	"sc_pn_fold"
			baseparm
			export	none
		    }
		    parm {
			name	"sc_pn_expon"
			baseparm
			export	none
		    }
		    parm {
			name	"sc_pn_dolwarp"
			baseparm
			joinnext
			export	none
		    }
		    parm {
			name	"sc_pn_disp"
			baseparm
			joinnext
			export	none
		    }
		    parm {
			name	"sc_pn_dispfreq"
			baseparm
			export	none
		    }
		    parm {
			name	"sc_pn_dogwarp"
			baseparm
			joinnext
			export	none
		    }
		    parm {
			name	"sc_pn_gflow"
			baseparm
			export	none
		    }
		    parm {
			name	"sc_pn_flowrot"
			baseparm
			export	none
		    }
		    parm {
			name	"sc_spacer19"
			baseparm
			export	none
		    }
		    parm {
			name	"sc_pn_fractal"
			baseparm
			export	none
		    }
		    parm {
			name	"sc_pn_accuml"
			baseparm
			export	none
		    }
		    parm {
			name	"sc_pn_accumg"
			baseparm
			export	none
		    }
		    parm {
			name	"sc_pn_oct"
			baseparm
			export	none
		    }
		    parm {
			name	"sc_pn_lac"
			baseparm
			export	none
		    }
		    parm {
			name	"sc_pn_rough"
			baseparm
			export	none
		    }
		}

		group {
		    name	"sc_folder20_1"
		    label	"Output"

		    parm {
			name	"sc_pn_docc"
			baseparm
			export	none
		    }
		    parm {
			name	"sc_spacer20"
			baseparm
			export	none
		    }
		    parm {
			name	"sc_pn_cc_dobias"
			baseparm
			joinnext
			export	none
		    }
		    parm {
			name	"sc_pn_cc_bias"
			baseparm
			export	none
		    }
		    parm {
			name	"sc_pn_cc_dogain"
			baseparm
			joinnext
			export	none
		    }
		    parm {
			name	"sc_pn_cc_gain"
			baseparm
			export	none
		    }
		    parm {
			name	"sc_spacer21"
			baseparm
			export	none
		    }
		    parm {
			name	"sc_pn_cc_inv"
			baseparm
			export	none
		    }
		    parm {
			name	"sc_spacer22"
			baseparm
			export	none
		    }
		    parm {
			name	"sc_pn_cc_dorng"
			baseparm
			export	none
		    }
		    parm {
			name	"sc_pn_cc_rnglo"
			baseparm
			export	none
		    }
		    parm {
			name	"sc_pn_cc_rnghi"
			baseparm
			export	none
		    }
		    parm {
			name	"sc_spacer23"
			baseparm
			export	none
		    }
		    parm {
			name	"sc_pn_cc_amp"
			baseparm
			export	none
		    }
		}

		group {
		    name	"sc_folder20_2"
		    label	"Rest Position"
		    tabbreak

		    group {
			name	"sc_folder21"
			label	"Fields"

			parm {
			    name	"sc_spacer24"
			    baseparm
			    export	none
			}
			parm {
			    name	"sc_dr_restinterp"
			    baseparm
			    export	none
			}
			parm {
			    name	"sc_spacer25"
			    baseparm
			    export	none
			}
			parm {
			    name	"sc_dr_rest_name"
			    baseparm
			    joinnext
			    export	none
			}
			parm {
			    name	"sc_dr_rest_intype"
			    baseparm
			    export	none
			}
			parm {
			    name	"sc_dr_rest_method"
			    baseparm
			    joinnext
			    export	none
			}
			parm {
			    name	"sc_dr_rest_padval"
			    baseparm
			    export	none
			}
			parm {
			    name	"sc_dr_rest_ratio_name"
			    baseparm
			    joinnext
			    export	none
			}
			parm {
			    name	"sc_dr_rest_ratio_intype"
			    baseparm
			    export	none
			}
			parm {
			    name	"sc_dr_rest_ratio_method"
			    baseparm
			    export	none
			}
			parm {
			    name	"sc_dr_rest2_name"
			    baseparm
			    joinnext
			    export	none
			}
			parm {
			    name	"sc_dr_rest2_intype"
			    baseparm
			    export	none
			}
			parm {
			    name	"sc_dr_rest2_method"
			    baseparm
			    joinnext
			    export	none
			}
			parm {
			    name	"sc_dr_rest2_padval"
			    baseparm
			    export	none
			}
			parm {
			    name	"sc_dr_rest2_ratio_name"
			    baseparm
			    joinnext
			    export	none
			}
			parm {
			    name	"sc_dr_rest2_ratio_intype"
			    baseparm
			    export	none
			}
			parm {
			    name	"sc_dr_rest2_ratio_method"
			    baseparm
			    export	none
			}
		    }

		    group {
			name	"sc_folder21_1"
			label	"Fallback"
			tabbreak

			parm {
			    name	"sc_spacer26"
			    baseparm
			    export	none
			}
			parm {
			    name	"sc_fallback_label"
			    baseparm
			    export	none
			}
			parm {
			    name	"sc_spacer27"
			    baseparm
			    export	none
			}
			parm {
			    name	"sc_dr_fail_shading"
			    baseparm
			    export	none
			}
			parm {
			    name	"sc_dr_fail_cop"
			    baseparm
			    export	none
			}
			parm {
			    name	"sc_dr_fail_sop"
			    baseparm
			    export	none
			}
			parm {
			    name	"sc_dr_fail_chop"
			    baseparm
			    export	none
			}
			parm {
			    name	"sc_dr_fail_cvex"
			    baseparm
			    export	none
			}
			parm {
			    name	"sc_dr_fail_fail"
			    baseparm
			    export	none
			}
		    }

		}

	    }

	}

    }

    group {
	name	"folder7_1"
	label	"Fire"

	group {
	    name	"folder0_9"
	    label	"Density"

	    parm {
		name	"ed_name"
		baseparm
		joinnext
		export	none
	    }
	    parm {
		name	"ed_intype"
		baseparm
		export	none
	    }
	    parm {
		name	"ed_promote"
		baseparm
		joinnext
		export	none
	    }
	    parm {
		name	"ed_outtype"
		baseparm
		joinnext
		export	none
	    }
	    parm {
		name	"ed_method"
		baseparm
		joinnext
		export	none
	    }
	    parm {
		name	"ed_padval"
		baseparm
		export	none
	    }
	    parm {
		name	"ed_dfltval"
		baseparm
		export	none
	    }
	    parm {
		name	"ed_doconvert"
		baseparm
		invisible
		export	none
	    }
	    parm {
		name	"ed_spacer"
		baseparm
		export	none
	    }
	    group {
		name	"ed_folder9"
		label	"Field Shape"

		parm {
		    name	"ed_dofit"
		    baseparm
		    joinnext
		    export	none
		}
		parm {
		    name	"ed_spacer2"
		    baseparm
		    export	none
		}
		parm {
		    name	"ed_fit_srcmin"
		    baseparm
		    joinnext
		    export	none
		}
		parm {
		    name	"ed_fit_srcmax"
		    baseparm
		    export	none
		}
		parm {
		    name	"ed_fit_tgtmin"
		    baseparm
		    joinnext
		    export	none
		}
		parm {
		    name	"ed_fit_tgtmax"
		    baseparm
		    export	none
		}
		parm {
		    name	"ed_spacer3"
		    baseparm
		    export	none
		}
		parm {
		    name	"ed_doramp"
		    baseparm
		    joinnext
		    export	none
		}
		parm {
		    name	"ed_presets"
		    baseparm
		    joinnext
		    export	none
		}
		parm {
		    name	"ed_spacename"
		    baseparm
		    joinnext
		    export	none
		}
		parm {
		    name	"ed_gammaname"
		    baseparm
		    joinnext
		    export	none
		}
		parm {
		    name	"ed_gammaval"
		    baseparm
		    export	none
		}
		groupradio {
		    name	"ed_rampswitcher9"
		    label	"Float"

		    parm {
			name	"EmitDensity_flt"
			baseparm
			export	none
		    }
		}

		groupradio {
		    name	"ed_rampswitcher9_1"
		    label	"Color"

		    parm {
			name	"EmitDensity_rgb"
			baseparm
			export	none
		    }
		}

		parm {
		    name	"ed_ramp_rngmin"
		    baseparm
		    joinnext
		    export	none
		}
		parm {
		    name	"ed_ramp_rngmax"
		    baseparm
		    export	none
		}
		parm {
		    name	"ed_lbt"
		    baseparm
		    joinnext
		    export	none
		}
		parm {
		    name	"ed_rbt"
		    baseparm
		    export	none
		}
		parm {
		    name	"ed_spacer4"
		    baseparm
		    export	none
		}
		parm {
		    name	"ed_docontour"
		    baseparm
		    joinnext
		    export	none
		}
		parm {
		    name	"ed_contour_width"
		    baseparm
		    joinnext
		    export	none
		}
		parm {
		    name	"ed_contour_sharp"
		    baseparm
		    export	none
		}
		parm {
		    name	"ed_dosclip"
		    baseparm
		    joinnext
		    export	none
		}
		parm {
		    name	"ed_sclip_start"
		    baseparm
		    joinnext
		    export	none
		}
		parm {
		    name	"ed_sclip_suppress"
		    baseparm
		    export	none
		}
		parm {
		    name	"ed_spacer5"
		    baseparm
		    export	none
		}
		parm {
		    name	"ed_dolowlimit"
		    baseparm
		    joinnext
		    export	none
		}
		parm {
		    name	"ed_lowlimit"
		    baseparm
		    export	none
		}
		parm {
		    name	"ed_dohighlimit"
		    baseparm
		    joinnext
		    export	none
		}
		parm {
		    name	"ed_highlimit"
		    baseparm
		    export	none
		}
		parm {
		    name	"ed_spacer6"
		    baseparm
		    export	none
		}
		parm {
		    name	"ed_amp"
		    baseparm
		    export	none
		}
	    }

	    group {
		name	"ed_folder9_1"
		label	"Field Noise"

		parm {
		    name	"ed_active"
		    baseparm
		    export	none
		}
		parm {
		    name	"ed_ntype"
		    baseparm
		    joinnext
		    export	none
		}
		parm {
		    name	"ed_dim4"
		    baseparm
		    joinnext
		    export	none
		}
		parm {
		    name	"ed_time"
		    baseparm
		    export	none
		}
		parm {
		    name	"ed_fieldop"
		    baseparm
		    export	none
		}
		parm {
		    name	"ed_spacer7"
		    baseparm
		    export	none
		}
		parm {
		    name	"ed_freq"
		    baseparm
		    export	none
		}
		parm {
		    name	"ed_offset"
		    baseparm
		    export	none
		}
		parm {
		    name	"ed_period"
		    baseparm
		    export	none
		}
		parm {
		    name	"ed_spacer8"
		    baseparm
		    export	none
		}
		group {
		    name	"ed_folder11"
		    label	"Construction"

		    parm {
			name	"ed_basis"
			baseparm
			export	none
		    }
		    parm {
			name	"ed_inv"
			baseparm
			export	none
		    }
		    parm {
			name	"ed_fold"
			baseparm
			export	none
		    }
		    parm {
			name	"ed_expon"
			baseparm
			export	none
		    }
		    parm {
			name	"ed_dolwarp"
			baseparm
			joinnext
			export	none
		    }
		    parm {
			name	"ed_disp"
			baseparm
			joinnext
			export	none
		    }
		    parm {
			name	"ed_dispfreq"
			baseparm
			export	none
		    }
		    parm {
			name	"ed_dogwarp"
			baseparm
			joinnext
			export	none
		    }
		    parm {
			name	"ed_gflow"
			baseparm
			export	none
		    }
		    parm {
			name	"ed_flowrot"
			baseparm
			export	none
		    }
		    parm {
			name	"ed_spacer9"
			baseparm
			export	none
		    }
		    parm {
			name	"ed_fractal"
			baseparm
			export	none
		    }
		    parm {
			name	"ed_accuml"
			baseparm
			export	none
		    }
		    parm {
			name	"ed_accumg"
			baseparm
			export	none
		    }
		    parm {
			name	"ed_oct"
			baseparm
			export	none
		    }
		    parm {
			name	"ed_lac"
			baseparm
			export	none
		    }
		    parm {
			name	"ed_rough"
			baseparm
			export	none
		    }
		}

		group {
		    name	"ed_folder11_1"
		    label	"Output"

		    parm {
			name	"ed_docc"
			baseparm
			export	none
		    }
		    parm {
			name	"ed_spacer10"
			baseparm
			export	none
		    }
		    parm {
			name	"ed_cc_dobias"
			baseparm
			joinnext
			export	none
		    }
		    parm {
			name	"ed_cc_bias"
			baseparm
			export	none
		    }
		    parm {
			name	"ed_cc_dogain"
			baseparm
			joinnext
			export	none
		    }
		    parm {
			name	"ed_cc_gain"
			baseparm
			export	none
		    }
		    parm {
			name	"ed_spacer11"
			baseparm
			export	none
		    }
		    parm {
			name	"ed_cc_inv"
			baseparm
			export	none
		    }
		    parm {
			name	"ed_spacer12"
			baseparm
			export	none
		    }
		    parm {
			name	"ed_cc_dorng"
			baseparm
			export	none
		    }
		    parm {
			name	"ed_cc_rnglo"
			baseparm
			export	none
		    }
		    parm {
			name	"ed_cc_rnghi"
			baseparm
			export	none
		    }
		    parm {
			name	"ed_spacer13"
			baseparm
			export	none
		    }
		    parm {
			name	"ed_cc_amp"
			baseparm
			export	none
		    }
		}

		group {
		    name	"ed_folder11_2"
		    label	"Rest Position"

		    group {
			name	"ed_folder14"
			label	"Fields"

			parm {
			    name	"ed_spacer14"
			    baseparm
			    export	none
			}
			parm {
			    name	"ed_restinterp"
			    baseparm
			    export	none
			}
			parm {
			    name	"ed_spacer15"
			    baseparm
			    export	none
			}
			parm {
			    name	"ed_rest_name"
			    baseparm
			    joinnext
			    export	none
			}
			parm {
			    name	"ed_rest_intype"
			    baseparm
			    export	none
			}
			parm {
			    name	"ed_rest_method"
			    baseparm
			    joinnext
			    export	none
			}
			parm {
			    name	"ed_rest_padval"
			    baseparm
			    export	none
			}
			parm {
			    name	"ed_rest_ratio_name"
			    baseparm
			    joinnext
			    export	none
			}
			parm {
			    name	"ed_rest_ratio_intype"
			    baseparm
			    export	none
			}
			parm {
			    name	"ed_rest_ratio_method"
			    baseparm
			    export	none
			}
			parm {
			    name	"ed_rest2_name"
			    baseparm
			    joinnext
			    export	none
			}
			parm {
			    name	"ed_rest2_intype"
			    baseparm
			    export	none
			}
			parm {
			    name	"ed_rest2_method"
			    baseparm
			    joinnext
			    export	none
			}
			parm {
			    name	"ed_rest2_padval"
			    baseparm
			    export	none
			}
			parm {
			    name	"ed_rest2_ratio_name"
			    baseparm
			    joinnext
			    export	none
			}
			parm {
			    name	"ed_rest2_ratio_intype"
			    baseparm
			    export	none
			}
			parm {
			    name	"ed_rest2_ratio_method"
			    baseparm
			    export	none
			}
		    }

		    group {
			name	"ed_folder14_1"
			label	"Fallback"

			parm {
			    name	"ed_spacer16"
			    baseparm
			    export	none
			}
			parm {
			    name	"ed_fallback_label"
			    baseparm
			    export	none
			}
			parm {
			    name	"ed_spacer17"
			    baseparm
			    export	none
			}
			parm {
			    name	"ed_fail_shading"
			    baseparm
			    export	none
			}
			parm {
			    name	"ed_fail_cop"
			    baseparm
			    export	none
			}
			parm {
			    name	"ed_fail_sop"
			    baseparm
			    export	none
			}
			parm {
			    name	"ed_fail_chop"
			    baseparm
			    export	none
			}
			parm {
			    name	"ed_fail_cvex"
			    baseparm
			    export	none
			}
			parm {
			    name	"ed_fail_fail"
			    baseparm
			    export	none
			}
		    }

		}

	    }

	}

	group {
	    name	"folder0_9_1"
	    label	"Color"
	    tabbreak

	    parm {
		name	"ec_fld_name"
		baseparm
		joinnext
		export	none
	    }
	    parm {
		name	"ec_fld_intype"
		baseparm
		export	none
	    }
	    parm {
		name	"ec_fld_promote"
		baseparm
		joinnext
		export	none
	    }
	    parm {
		name	"ec_fld_outtype"
		baseparm
		joinnext
		export	none
	    }
	    parm {
		name	"ec_fld_method"
		baseparm
		joinnext
		export	none
	    }
	    parm {
		name	"ec_fld_padval"
		baseparm
		export	none
	    }
	    parm {
		name	"ec_fld_dfltval"
		baseparm
		export	none
	    }
	    parm {
		name	"ec_fld_doconvert"
		baseparm
		invisible
		export	none
	    }
	    parm {
		name	"ec_spacer"
		baseparm
		export	none
	    }
	    group {
		name	"ec_folder13"
		label	"Color"

		parm {
		    name	"ec_cm_usecd"
		    baseparm
		    export	none
		}
		parm {
		    name	"ec_cm_cmodel"
		    baseparm
		    invisible
		    export	none
		}
		groupradio {
		    name	"ec_cmodelswitcher10"
		    label	"Constant"

		    parm {
			name	"ec_spacer2"
			baseparm
			export	none
		    }
		    parm {
			name	"ec_cm_constcol"
			baseparm
			export	none
		    }
		    parm {
			name	"ec_spacer3"
			baseparm
			export	none
		    }
		}

		groupradio {
		    name	"ec_cmodelswitcher10_1"
		    label	"Artistic"

		    parm {
			name	"ec_spacer4"
			baseparm
			export	none
		    }
		    parm {
			name	"ec_cm_presets"
			baseparm
			joinnext
			export	none
		    }
		    parm {
			name	"ec_cm_spacename"
			baseparm
			joinnext
			export	none
		    }
		    parm {
			name	"ec_cm_gammaname"
			baseparm
			joinnext
			export	none
		    }
		    parm {
			name	"ec_cm_gammaval"
			baseparm
			export	none
		    }
		    parm {
			name	"EmitColor_Color"
			baseparm
			export	none
		    }
		    parm {
			name	"ec_cm_rangemin"
			baseparm
			joinnext
			export	none
		    }
		    parm {
			name	"ec_cm_rangemax"
			baseparm
			export	none
		    }
		    parm {
			name	"ec_cm_lbt"
			baseparm
			joinnext
			export	none
		    }
		    parm {
			name	"ec_cm_rbt"
			baseparm
			export	none
		    }
		    parm {
			name	"ec_spacer5"
			baseparm
			export	none
		    }
		}

		groupradio {
		    name	"ec_cmodelswitcher10_2"
		    label	"Physical"

		    group {
			name	"ec_folder16"
			label	"Definition"

			parm {
			    name	"ec_spacer6"
			    baseparm
			    export	none
			}
			parm {
			    name	"ec_cm_temp"
			    baseparm
			    export	none
			}
			parm {
			    name	"ec_spacer7"
			    baseparm
			    export	none
			}
			parm {
			    name	"ec_cm_dotm"
			    baseparm
			    joinnext
			    export	none
			}
			parm {
			    name	"ec_spacer8"
			    baseparm
			    export	none
			}
			parm {
			    name	"ec_cm_tm_adapt"
			    baseparm
			    export	none
			}
			parm {
			    name	"ec_cm_tm_burn"
			    baseparm
			    export	none
			}
			parm {
			    name	"ec_spacer9"
			    baseparm
			    export	none
			}
		    }

		    group {
			name	"ec_folder16_1"
			label	"Export To Ramp(s)"

			parm {
			    name	"ec_cm_export"
			    baseparm
			    joinnext
			    export	none
			}
			parm {
			    name	"ec_spacer10"
			    baseparm
			    export	none
			}
			parm {
			    name	"ec_cm_xtemp1"
			    baseparm
			    joinnext
			    export	none
			}
			parm {
			    name	"ec_cm_xtemp2"
			    baseparm
			    export	none
			}
			parm {
			    name	"ec_cm_xthresh"
			    baseparm
			    export	none
			}
			parm {
			    name	"ec_cm_xinterp"
			    baseparm
			    export	none
			}
			parm {
			    name	"ec_spacer11"
			    baseparm
			    export	none
			}
			parm {
			    name	"ec_cm_xpcol"
			    baseparm
			    export	none
			}
			parm {
			    name	"ec_cm_xpchr"
			    baseparm
			    export	none
			}
			parm {
			    name	"ec_cm_xpval"
			    baseparm
			    export	none
			}
		    }

		}

		parm {
		    name	"ec_cm_cc_active"
		    baseparm
		    export	none
		}
		parm {
		    name	"ec_cm_cc_gamut"
		    baseparm
		    export	none
		}
		parm {
		    name	"ec_cm_cc_dohrot"
		    baseparm
		    joinnext
		    export	none
		}
		parm {
		    name	"ec_cm_cc_hrot"
		    baseparm
		    export	none
		}
		parm {
		    name	"ec_cm_cc_dobias"
		    baseparm
		    joinnext
		    export	none
		}
		parm {
		    name	"ec_cm_cc_bias"
		    baseparm
		    export	none
		}
		parm {
		    name	"ec_cm_cc_dogain"
		    baseparm
		    joinnext
		    export	none
		}
		parm {
		    name	"ec_cm_cc_gain"
		    baseparm
		    export	none
		}
		parm {
		    name	"ec_cm_cc_dogamma"
		    baseparm
		    joinnext
		    export	none
		}
		parm {
		    name	"ec_cm_cc_gamma"
		    baseparm
		    export	none
		}
		parm {
		    name	"ec_cm_cc_docontrast"
		    baseparm
		    joinnext
		    export	none
		}
		parm {
		    name	"ec_cm_cc_contrast"
		    baseparm
		    export	none
		}
		parm {
		    name	"ec_cm_cc_dosat"
		    baseparm
		    joinnext
		    export	none
		}
		parm {
		    name	"ec_cm_cc_sat"
		    baseparm
		    export	none
		}
		parm {
		    name	"ec_cm_cc_dovalue"
		    baseparm
		    joinnext
		    export	none
		}
		parm {
		    name	"ec_cm_cc_value"
		    baseparm
		    export	none
		}
		parm {
		    name	"ec_cm_cc_dotint"
		    baseparm
		    joinnext
		    export	none
		}
		parm {
		    name	"ec_cm_cc_tint"
		    baseparm
		    export	none
		}
	    }

	    group {
		name	"ec_folder13_1"
		label	"Field Shape"

		parm {
		    name	"ec_fld_dofit"
		    baseparm
		    joinnext
		    export	none
		}
		parm {
		    name	"ec_spacer12"
		    baseparm
		    export	none
		}
		parm {
		    name	"ec_fld_fit_srcmin"
		    baseparm
		    joinnext
		    export	none
		}
		parm {
		    name	"ec_fld_fit_srcmax"
		    baseparm
		    export	none
		}
		parm {
		    name	"ec_fld_fit_tgtmin"
		    baseparm
		    joinnext
		    export	none
		}
		parm {
		    name	"ec_fld_fit_tgtmax"
		    baseparm
		    export	none
		}
		parm {
		    name	"ec_spacer13"
		    baseparm
		    export	none
		}
		parm {
		    name	"ec_fld_doramp"
		    baseparm
		    joinnext
		    export	none
		}
		parm {
		    name	"ec_fld_presets"
		    baseparm
		    joinnext
		    export	none
		}
		parm {
		    name	"ec_fld_spacename"
		    baseparm
		    joinnext
		    export	none
		}
		parm {
		    name	"ec_fld_gammaname"
		    baseparm
		    joinnext
		    export	none
		}
		parm {
		    name	"ec_fld_gammaval"
		    baseparm
		    export	none
		}
		groupradio {
		    name	"ec_fld_rampswitcher9"
		    label	"Float"

		    parm {
			name	"EmitColor_Field_flt"
			baseparm
			export	none
		    }
		}

		groupradio {
		    name	"ec_fld_rampswitcher9_1"
		    label	"Color"

		    parm {
			name	"EmitColor_Field_rgb"
			baseparm
			export	none
		    }
		}

		parm {
		    name	"ec_fld_ramp_rngmin"
		    baseparm
		    joinnext
		    export	none
		}
		parm {
		    name	"ec_fld_ramp_rngmax"
		    baseparm
		    export	none
		}
		parm {
		    name	"ec_fld_lbt"
		    baseparm
		    joinnext
		    export	none
		}
		parm {
		    name	"ec_fld_rbt"
		    baseparm
		    export	none
		}
		parm {
		    name	"ec_spacer14"
		    baseparm
		    export	none
		}
		parm {
		    name	"ec_fld_docontour"
		    baseparm
		    joinnext
		    export	none
		}
		parm {
		    name	"ec_fld_contour_width"
		    baseparm
		    joinnext
		    export	none
		}
		parm {
		    name	"ec_fld_contour_sharp"
		    baseparm
		    export	none
		}
		parm {
		    name	"ec_fld_dosclip"
		    baseparm
		    joinnext
		    export	none
		}
		parm {
		    name	"ec_fld_sclip_start"
		    baseparm
		    joinnext
		    export	none
		}
		parm {
		    name	"ec_fld_sclip_suppress"
		    baseparm
		    export	none
		}
		parm {
		    name	"ec_spacer15"
		    baseparm
		    export	none
		}
		parm {
		    name	"ec_fld_dolowlimit"
		    baseparm
		    joinnext
		    export	none
		}
		parm {
		    name	"ec_fld_lowlimit"
		    baseparm
		    export	none
		}
		parm {
		    name	"ec_fld_dohighlimit"
		    baseparm
		    joinnext
		    export	none
		}
		parm {
		    name	"ec_fld_highlimit"
		    baseparm
		    export	none
		}
		parm {
		    name	"ec_spacer16"
		    baseparm
		    export	none
		}
		parm {
		    name	"ec_fld_amp"
		    baseparm
		    export	none
		}
	    }

	    group {
		name	"ec_folder13_2"
		label	"Field Noise"
		tabbreak

		parm {
		    name	"ec_pn_active"
		    baseparm
		    export	none
		}
		parm {
		    name	"ec_pn_ntype"
		    baseparm
		    joinnext
		    export	none
		}
		parm {
		    name	"ec_pn_dim4"
		    baseparm
		    joinnext
		    export	none
		}
		parm {
		    name	"ec_pn_time"
		    baseparm
		    export	none
		}
		parm {
		    name	"ec_pn_fieldop"
		    baseparm
		    export	none
		}
		parm {
		    name	"ec_spacer17"
		    baseparm
		    export	none
		}
		parm {
		    name	"ec_pn_freq"
		    baseparm
		    export	none
		}
		parm {
		    name	"ec_pn_offset"
		    baseparm
		    export	none
		}
		parm {
		    name	"ec_pn_period"
		    baseparm
		    export	none
		}
		parm {
		    name	"ec_spacer18"
		    baseparm
		    export	none
		}
		group {
		    name	"ec_folder20"
		    label	"Construction"

		    parm {
			name	"ec_pn_basis"
			baseparm
			export	none
		    }
		    parm {
			name	"ec_pn_inv"
			baseparm
			export	none
		    }
		    parm {
			name	"ec_pn_fold"
			baseparm
			export	none
		    }
		    parm {
			name	"ec_pn_expon"
			baseparm
			export	none
		    }
		    parm {
			name	"ec_pn_dolwarp"
			baseparm
			joinnext
			export	none
		    }
		    parm {
			name	"ec_pn_disp"
			baseparm
			joinnext
			export	none
		    }
		    parm {
			name	"ec_pn_dispfreq"
			baseparm
			export	none
		    }
		    parm {
			name	"ec_pn_dogwarp"
			baseparm
			joinnext
			export	none
		    }
		    parm {
			name	"ec_pn_gflow"
			baseparm
			export	none
		    }
		    parm {
			name	"ec_pn_flowrot"
			baseparm
			export	none
		    }
		    parm {
			name	"ec_spacer19"
			baseparm
			export	none
		    }
		    parm {
			name	"ec_pn_fractal"
			baseparm
			export	none
		    }
		    parm {
			name	"ec_pn_accuml"
			baseparm
			export	none
		    }
		    parm {
			name	"ec_pn_accumg"
			baseparm
			export	none
		    }
		    parm {
			name	"ec_pn_oct"
			baseparm
			export	none
		    }
		    parm {
			name	"ec_pn_lac"
			baseparm
			export	none
		    }
		    parm {
			name	"ec_pn_rough"
			baseparm
			export	none
		    }
		}

		group {
		    name	"ec_folder20_1"
		    label	"Output"

		    parm {
			name	"ec_pn_docc"
			baseparm
			export	none
		    }
		    parm {
			name	"ec_spacer20"
			baseparm
			export	none
		    }
		    parm {
			name	"ec_pn_cc_dobias"
			baseparm
			joinnext
			export	none
		    }
		    parm {
			name	"ec_pn_cc_bias"
			baseparm
			export	none
		    }
		    parm {
			name	"ec_pn_cc_dogain"
			baseparm
			joinnext
			export	none
		    }
		    parm {
			name	"ec_pn_cc_gain"
			baseparm
			export	none
		    }
		    parm {
			name	"ec_spacer21"
			baseparm
			export	none
		    }
		    parm {
			name	"ec_pn_cc_inv"
			baseparm
			export	none
		    }
		    parm {
			name	"ec_spacer22"
			baseparm
			export	none
		    }
		    parm {
			name	"ec_pn_cc_dorng"
			baseparm
			export	none
		    }
		    parm {
			name	"ec_pn_cc_rnglo"
			baseparm
			export	none
		    }
		    parm {
			name	"ec_pn_cc_rnghi"
			baseparm
			export	none
		    }
		    parm {
			name	"ec_spacer23"
			baseparm
			export	none
		    }
		    parm {
			name	"ec_pn_cc_amp"
			baseparm
			export	none
		    }
		}

		group {
		    name	"ec_folder20_2"
		    label	"Rest Position"
		    tabbreak

		    group {
			name	"ec_folder21"
			label	"Fields"

			parm {
			    name	"ec_spacer24"
			    baseparm
			    export	none
			}
			parm {
			    name	"ec_dr_restinterp"
			    baseparm
			    export	none
			}
			parm {
			    name	"ec_spacer25"
			    baseparm
			    export	none
			}
			parm {
			    name	"ec_dr_rest_name"
			    baseparm
			    joinnext
			    export	none
			}
			parm {
			    name	"ec_dr_rest_intype"
			    baseparm
			    export	none
			}
			parm {
			    name	"ec_dr_rest_method"
			    baseparm
			    joinnext
			    export	none
			}
			parm {
			    name	"ec_dr_rest_padval"
			    baseparm
			    export	none
			}
			parm {
			    name	"ec_dr_rest_ratio_name"
			    baseparm
			    joinnext
			    export	none
			}
			parm {
			    name	"ec_dr_rest_ratio_intype"
			    baseparm
			    export	none
			}
			parm {
			    name	"ec_dr_rest_ratio_method"
			    baseparm
			    export	none
			}
			parm {
			    name	"ec_dr_rest2_name"
			    baseparm
			    joinnext
			    export	none
			}
			parm {
			    name	"ec_dr_rest2_intype"
			    baseparm
			    export	none
			}
			parm {
			    name	"ec_dr_rest2_method"
			    baseparm
			    joinnext
			    export	none
			}
			parm {
			    name	"ec_dr_rest2_padval"
			    baseparm
			    export	none
			}
			parm {
			    name	"ec_dr_rest2_ratio_name"
			    baseparm
			    joinnext
			    export	none
			}
			parm {
			    name	"ec_dr_rest2_ratio_intype"
			    baseparm
			    export	none
			}
			parm {
			    name	"ec_dr_rest2_ratio_method"
			    baseparm
			    export	none
			}
		    }

		    group {
			name	"ec_folder21_1"
			label	"Fallback"
			tabbreak

			parm {
			    name	"ec_spacer26"
			    baseparm
			    export	none
			}
			parm {
			    name	"ec_fallback_label"
			    baseparm
			    export	none
			}
			parm {
			    name	"ec_spacer27"
			    baseparm
			    export	none
			}
			parm {
			    name	"ec_dr_fail_shading"
			    baseparm
			    export	none
			}
			parm {
			    name	"ec_dr_fail_cop"
			    baseparm
			    export	none
			}
			parm {
			    name	"ec_dr_fail_sop"
			    baseparm
			    export	none
			}
			parm {
			    name	"ec_dr_fail_chop"
			    baseparm
			    export	none
			}
			parm {
			    name	"ec_dr_fail_cvex"
			    baseparm
			    export	none
			}
			parm {
			    name	"ec_dr_fail_fail"
			    baseparm
			    export	none
			}
		    }

		}

	    }

	}

    }

    group {
	name	"folder7_2"
	label	"Displacement"

	group {
	    name	"dd_folder9"
	    label	"Direction"

	    parm {
		name	"dd_name"
		baseparm
		joinnext
		export	none
	    }
	    parm {
		name	"dd_intype"
		baseparm
		export	none
	    }
	    parm {
		name	"dd_promote"
		baseparm
		joinnext
		export	none
	    }
	    parm {
		name	"dd_outtype"
		baseparm
		joinnext
		export	none
	    }
	    parm {
		name	"dd_method"
		baseparm
		joinnext
		export	none
	    }
	    parm {
		name	"dd_padval"
		baseparm
		export	none
	    }
	    parm {
		name	"dd_dfltval"
		baseparm
		export	none
	    }
	    parm {
		name	"dd_doconvert"
		baseparm
		invisible
		export	none
	    }
	    parm {
		name	"dd_spacer"
		baseparm
		export	none
	    }
	    group {
		name	"dd_folder11"
		label	"Field Shape"

		parm {
		    name	"dd_dofit"
		    baseparm
		    joinnext
		    export	none
		}
		parm {
		    name	"dd_spacer2"
		    baseparm
		    export	none
		}
		parm {
		    name	"dd_fit_srcmin"
		    baseparm
		    joinnext
		    export	none
		}
		parm {
		    name	"dd_fit_srcmax"
		    baseparm
		    export	none
		}
		parm {
		    name	"dd_fit_tgtmin"
		    baseparm
		    joinnext
		    export	none
		}
		parm {
		    name	"dd_fit_tgtmax"
		    baseparm
		    export	none
		}
		parm {
		    name	"dd_spacer3"
		    baseparm
		    export	none
		}
		parm {
		    name	"dd_doramp"
		    baseparm
		    joinnext
		    export	none
		}
		parm {
		    name	"dd_presets"
		    baseparm
		    joinnext
		    export	none
		}
		parm {
		    name	"dd_spacename"
		    baseparm
		    joinnext
		    export	none
		}
		parm {
		    name	"dd_gammaname"
		    baseparm
		    joinnext
		    export	none
		}
		parm {
		    name	"dd_gammaval"
		    baseparm
		    export	none
		}
		groupradio {
		    name	"dd_rampswitcher9"
		    label	"Float"

		    parm {
			name	"DispDirection_flt"
			baseparm
			export	none
		    }
		}

		groupradio {
		    name	"dd_rampswitcher9_1"
		    label	"Color"

		    parm {
			name	"DispDirection_rgb"
			baseparm
			export	none
		    }
		}

		parm {
		    name	"dd_ramp_rngmin"
		    baseparm
		    joinnext
		    export	none
		}
		parm {
		    name	"dd_ramp_rngmax"
		    baseparm
		    export	none
		}
		parm {
		    name	"dd_lbt"
		    baseparm
		    joinnext
		    export	none
		}
		parm {
		    name	"dd_rbt"
		    baseparm
		    export	none
		}
		parm {
		    name	"dd_spacer4"
		    baseparm
		    export	none
		}
		parm {
		    name	"dd_docontour"
		    baseparm
		    joinnext
		    export	none
		}
		parm {
		    name	"dd_contour_width"
		    baseparm
		    joinnext
		    export	none
		}
		parm {
		    name	"dd_contour_sharp"
		    baseparm
		    export	none
		}
		parm {
		    name	"dd_dosclip"
		    baseparm
		    joinnext
		    export	none
		}
		parm {
		    name	"dd_sclip_start"
		    baseparm
		    joinnext
		    export	none
		}
		parm {
		    name	"dd_sclip_suppress"
		    baseparm
		    export	none
		}
		parm {
		    name	"dd_spacer5"
		    baseparm
		    export	none
		}
		parm {
		    name	"dd_dolowlimit"
		    baseparm
		    joinnext
		    export	none
		}
		parm {
		    name	"dd_lowlimit"
		    baseparm
		    export	none
		}
		parm {
		    name	"dd_dohighlimit"
		    baseparm
		    joinnext
		    export	none
		}
		parm {
		    name	"dd_highlimit"
		    baseparm
		    export	none
		}
		parm {
		    name	"dd_spacer6"
		    baseparm
		    export	none
		}
		parm {
		    name	"dd_amp"
		    baseparm
		    export	none
		}
	    }

	    group {
		name	"dd_folder11_1"
		label	"Field Noise"

		parm {
		    name	"dd_active"
		    baseparm
		    export	none
		}
		parm {
		    name	"dd_ntype"
		    baseparm
		    joinnext
		    export	none
		}
		parm {
		    name	"dd_dim4"
		    baseparm
		    joinnext
		    export	none
		}
		parm {
		    name	"dd_time"
		    baseparm
		    export	none
		}
		parm {
		    name	"dd_fieldop"
		    baseparm
		    export	none
		}
		parm {
		    name	"dd_spacer7"
		    baseparm
		    export	none
		}
		parm {
		    name	"dd_freq"
		    baseparm
		    export	none
		}
		parm {
		    name	"dd_offset"
		    baseparm
		    export	none
		}
		parm {
		    name	"dd_period"
		    baseparm
		    export	none
		}
		parm {
		    name	"dd_spacer8"
		    baseparm
		    export	none
		}
		group {
		    name	"dd_folder13"
		    label	"Construction"

		    parm {
			name	"dd_basis"
			baseparm
			export	none
		    }
		    parm {
			name	"dd_inv"
			baseparm
			export	none
		    }
		    parm {
			name	"dd_fold"
			baseparm
			export	none
		    }
		    parm {
			name	"dd_expon"
			baseparm
			export	none
		    }
		    parm {
			name	"dd_dolwarp"
			baseparm
			joinnext
			export	none
		    }
		    parm {
			name	"dd_disp"
			baseparm
			joinnext
			export	none
		    }
		    parm {
			name	"dd_dispfreq"
			baseparm
			export	none
		    }
		    parm {
			name	"dd_dogwarp"
			baseparm
			joinnext
			export	none
		    }
		    parm {
			name	"dd_gflow"
			baseparm
			export	none
		    }
		    parm {
			name	"dd_flowrot"
			baseparm
			export	none
		    }
		    parm {
			name	"dd_spacer9"
			baseparm
			export	none
		    }
		    parm {
			name	"dd_fractal"
			baseparm
			export	none
		    }
		    parm {
			name	"dd_accuml"
			baseparm
			export	none
		    }
		    parm {
			name	"dd_accumg"
			baseparm
			export	none
		    }
		    parm {
			name	"dd_oct"
			baseparm
			export	none
		    }
		    parm {
			name	"dd_lac"
			baseparm
			export	none
		    }
		    parm {
			name	"dd_rough"
			baseparm
			export	none
		    }
		}

		group {
		    name	"dd_folder13_1"
		    label	"Output"

		    parm {
			name	"dd_docc"
			baseparm
			export	none
		    }
		    parm {
			name	"dd_spacer10"
			baseparm
			export	none
		    }
		    parm {
			name	"dd_cc_dobias"
			baseparm
			joinnext
			export	none
		    }
		    parm {
			name	"dd_cc_bias"
			baseparm
			export	none
		    }
		    parm {
			name	"dd_cc_dogain"
			baseparm
			joinnext
			export	none
		    }
		    parm {
			name	"dd_cc_gain"
			baseparm
			export	none
		    }
		    parm {
			name	"dd_spacer11"
			baseparm
			export	none
		    }
		    parm {
			name	"dd_cc_inv"
			baseparm
			export	none
		    }
		    parm {
			name	"dd_spacer12"
			baseparm
			export	none
		    }
		    parm {
			name	"dd_cc_dorng"
			baseparm
			export	none
		    }
		    parm {
			name	"dd_cc_rnglo"
			baseparm
			export	none
		    }
		    parm {
			name	"dd_cc_rnghi"
			baseparm
			export	none
		    }
		    parm {
			name	"dd_spacer13"
			baseparm
			export	none
		    }
		    parm {
			name	"dd_cc_amp"
			baseparm
			export	none
		    }
		}

		group {
		    name	"dd_folder13_2"
		    label	"Rest Position"

		    group {
			name	"dd_folder16"
			label	"Fields"

			parm {
			    name	"dd_spacer14"
			    baseparm
			    export	none
			}
			parm {
			    name	"dd_restinterp"
			    baseparm
			    export	none
			}
			parm {
			    name	"dd_spacer15"
			    baseparm
			    export	none
			}
			parm {
			    name	"dd_rest_name"
			    baseparm
			    joinnext
			    export	none
			}
			parm {
			    name	"dd_rest_intype"
			    baseparm
			    export	none
			}
			parm {
			    name	"dd_rest_method"
			    baseparm
			    joinnext
			    export	none
			}
			parm {
			    name	"dd_rest_padval"
			    baseparm
			    export	none
			}
			parm {
			    name	"dd_rest_ratio_name"
			    baseparm
			    joinnext
			    export	none
			}
			parm {
			    name	"dd_rest_ratio_intype"
			    baseparm
			    export	none
			}
			parm {
			    name	"dd_rest_ratio_method"
			    baseparm
			    export	none
			}
			parm {
			    name	"dd_rest2_name"
			    baseparm
			    joinnext
			    export	none
			}
			parm {
			    name	"dd_rest2_intype"
			    baseparm
			    export	none
			}
			parm {
			    name	"dd_rest2_method"
			    baseparm
			    joinnext
			    export	none
			}
			parm {
			    name	"dd_rest2_padval"
			    baseparm
			    export	none
			}
			parm {
			    name	"dd_rest2_ratio_name"
			    baseparm
			    joinnext
			    export	none
			}
			parm {
			    name	"dd_rest2_ratio_intype"
			    baseparm
			    export	none
			}
			parm {
			    name	"dd_rest2_ratio_method"
			    baseparm
			    export	none
			}
		    }

		    group {
			name	"dd_folder16_1"
			label	"Fallback"

			parm {
			    name	"dd_spacer16"
			    baseparm
			    export	none
			}
			parm {
			    name	"dd_fallback_label"
			    baseparm
			    export	none
			}
			parm {
			    name	"dd_spacer17"
			    baseparm
			    export	none
			}
			parm {
			    name	"dd_fail_shading"
			    baseparm
			    export	none
			}
			parm {
			    name	"dd_fail_cop"
			    baseparm
			    export	none
			}
			parm {
			    name	"dd_fail_sop"
			    baseparm
			    export	none
			}
			parm {
			    name	"dd_fail_chop"
			    baseparm
			    export	none
			}
			parm {
			    name	"dd_fail_cvex"
			    baseparm
			    export	none
			}
			parm {
			    name	"dd_fail_fail"
			    baseparm
			    export	none
			}
		    }

		}

	    }

	}

	group {
	    name	"dd_folder9_1"
	    label	"Amplitude"

	    parm {
		name	"da_name"
		baseparm
		joinnext
		export	none
	    }
	    parm {
		name	"da_intype"
		baseparm
		export	none
	    }
	    parm {
		name	"da_promote"
		baseparm
		joinnext
		export	none
	    }
	    parm {
		name	"da_outtype"
		baseparm
		joinnext
		export	none
	    }
	    parm {
		name	"da_method"
		baseparm
		joinnext
		export	none
	    }
	    parm {
		name	"da_padval"
		baseparm
		export	none
	    }
	    parm {
		name	"da_doconvert"
		baseparm
		invisible
		export	none
	    }
	    parm {
		name	"da_dfltval"
		baseparm
		export	none
	    }
	    parm {
		name	"da_spacer"
		baseparm
		export	none
	    }
	    group {
		name	"da_folder9"
		label	"Field Shape"

		parm {
		    name	"da_dofit"
		    baseparm
		    joinnext
		    export	none
		}
		parm {
		    name	"da_spacer2"
		    baseparm
		    export	none
		}
		parm {
		    name	"da_fit_srcmin"
		    baseparm
		    joinnext
		    export	none
		}
		parm {
		    name	"da_fit_srcmax"
		    baseparm
		    export	none
		}
		parm {
		    name	"da_fit_tgtmin"
		    baseparm
		    joinnext
		    export	none
		}
		parm {
		    name	"da_fit_tgtmax"
		    baseparm
		    export	none
		}
		parm {
		    name	"da_spacer3"
		    baseparm
		    export	none
		}
		parm {
		    name	"da_doramp"
		    baseparm
		    joinnext
		    export	none
		}
		parm {
		    name	"da_presets"
		    baseparm
		    joinnext
		    export	none
		}
		parm {
		    name	"da_spacename"
		    baseparm
		    joinnext
		    export	none
		}
		parm {
		    name	"da_gammaname"
		    baseparm
		    joinnext
		    export	none
		}
		parm {
		    name	"da_gammaval"
		    baseparm
		    export	none
		}
		groupradio {
		    name	"da_rampswitcher9"
		    label	"Float"

		    parm {
			name	"DispAmplitude_flt"
			baseparm
			export	none
		    }
		}

		groupradio {
		    name	"da_rampswitcher9_1"
		    label	"Color"

		    parm {
			name	"DispAmplitude_rgb"
			baseparm
			export	none
		    }
		}

		parm {
		    name	"da_ramp_rngmin"
		    baseparm
		    joinnext
		    export	none
		}
		parm {
		    name	"da_ramp_rngmax"
		    baseparm
		    export	none
		}
		parm {
		    name	"da_lbt"
		    baseparm
		    joinnext
		    export	none
		}
		parm {
		    name	"da_rbt"
		    baseparm
		    export	none
		}
		parm {
		    name	"da_spacer4"
		    baseparm
		    export	none
		}
		parm {
		    name	"da_docontour"
		    baseparm
		    joinnext
		    export	none
		}
		parm {
		    name	"da_contour_width"
		    baseparm
		    joinnext
		    export	none
		}
		parm {
		    name	"da_contour_sharp"
		    baseparm
		    export	none
		}
		parm {
		    name	"da_dosclip"
		    baseparm
		    joinnext
		    export	none
		}
		parm {
		    name	"da_sclip_start"
		    baseparm
		    joinnext
		    export	none
		}
		parm {
		    name	"da_sclip_suppress"
		    baseparm
		    export	none
		}
		parm {
		    name	"da_spacer5"
		    baseparm
		    export	none
		}
		parm {
		    name	"da_dolowlimit"
		    baseparm
		    joinnext
		    export	none
		}
		parm {
		    name	"da_lowlimit"
		    baseparm
		    export	none
		}
		parm {
		    name	"da_dohighlimit"
		    baseparm
		    joinnext
		    export	none
		}
		parm {
		    name	"da_highlimit"
		    baseparm
		    export	none
		}
		parm {
		    name	"da_spacer6"
		    baseparm
		    export	none
		}
		parm {
		    name	"da_amp"
		    baseparm
		    export	none
		}
	    }

	    group {
		name	"da_folder9_1"
		label	"Field Noise"

		parm {
		    name	"da_active"
		    baseparm
		    export	none
		}
		parm {
		    name	"da_ntype"
		    baseparm
		    joinnext
		    export	none
		}
		parm {
		    name	"da_dim4"
		    baseparm
		    joinnext
		    export	none
		}
		parm {
		    name	"da_time"
		    baseparm
		    export	none
		}
		parm {
		    name	"da_fieldop"
		    baseparm
		    export	none
		}
		parm {
		    name	"da_spacer7"
		    baseparm
		    export	none
		}
		parm {
		    name	"da_freq"
		    baseparm
		    export	none
		}
		parm {
		    name	"da_offset"
		    baseparm
		    export	none
		}
		parm {
		    name	"da_period"
		    baseparm
		    export	none
		}
		parm {
		    name	"da_spacer8"
		    baseparm
		    export	none
		}
		group {
		    name	"da_folder11"
		    label	"Construction"

		    parm {
			name	"da_basis"
			baseparm
			export	none
		    }
		    parm {
			name	"da_inv"
			baseparm
			export	none
		    }
		    parm {
			name	"da_fold"
			baseparm
			export	none
		    }
		    parm {
			name	"da_expon"
			baseparm
			export	none
		    }
		    parm {
			name	"da_dolwarp"
			baseparm
			joinnext
			export	none
		    }
		    parm {
			name	"da_disp"
			baseparm
			joinnext
			export	none
		    }
		    parm {
			name	"da_dispfreq"
			baseparm
			export	none
		    }
		    parm {
			name	"da_dogwarp"
			baseparm
			joinnext
			export	none
		    }
		    parm {
			name	"da_gflow"
			baseparm
			export	none
		    }
		    parm {
			name	"da_flowrot"
			baseparm
			export	none
		    }
		    parm {
			name	"da_spacer9"
			baseparm
			export	none
		    }
		    parm {
			name	"da_fractal"
			baseparm
			export	none
		    }
		    parm {
			name	"da_accuml"
			baseparm
			export	none
		    }
		    parm {
			name	"da_accumg"
			baseparm
			export	none
		    }
		    parm {
			name	"da_oct"
			baseparm
			export	none
		    }
		    parm {
			name	"da_lac"
			baseparm
			export	none
		    }
		    parm {
			name	"da_rough"
			baseparm
			export	none
		    }
		}

		group {
		    name	"da_folder11_1"
		    label	"Output"

		    parm {
			name	"da_docc"
			baseparm
			export	none
		    }
		    parm {
			name	"da_spacer10"
			baseparm
			export	none
		    }
		    parm {
			name	"da_cc_dobias"
			baseparm
			joinnext
			export	none
		    }
		    parm {
			name	"da_cc_bias"
			baseparm
			export	none
		    }
		    parm {
			name	"da_cc_dogain"
			baseparm
			joinnext
			export	none
		    }
		    parm {
			name	"da_cc_gain"
			baseparm
			export	none
		    }
		    parm {
			name	"da_spacer11"
			baseparm
			export	none
		    }
		    parm {
			name	"da_cc_inv"
			baseparm
			export	none
		    }
		    parm {
			name	"da_spacer12"
			baseparm
			export	none
		    }
		    parm {
			name	"da_cc_dorng"
			baseparm
			export	none
		    }
		    parm {
			name	"da_cc_rnglo"
			baseparm
			export	none
		    }
		    parm {
			name	"da_cc_rnghi"
			baseparm
			export	none
		    }
		    parm {
			name	"da_spacer13"
			baseparm
			export	none
		    }
		    parm {
			name	"da_cc_amp"
			baseparm
			export	none
		    }
		}

		group {
		    name	"da_folder11_2"
		    label	"Rest Position"

		    group {
			name	"da_folder14"
			label	"Fields"

			parm {
			    name	"da_spacer14"
			    baseparm
			    export	none
			}
			parm {
			    name	"da_restinterp"
			    baseparm
			    export	none
			}
			parm {
			    name	"da_spacer15"
			    baseparm
			    export	none
			}
			parm {
			    name	"da_rest_name"
			    baseparm
			    joinnext
			    export	none
			}
			parm {
			    name	"da_rest_intype"
			    baseparm
			    export	none
			}
			parm {
			    name	"da_rest_method"
			    baseparm
			    joinnext
			    export	none
			}
			parm {
			    name	"da_rest_padval"
			    baseparm
			    export	none
			}
			parm {
			    name	"da_rest_ratio_name"
			    baseparm
			    joinnext
			    export	none
			}
			parm {
			    name	"da_rest_ratio_intype"
			    baseparm
			    export	none
			}
			parm {
			    name	"da_rest_ratio_method"
			    baseparm
			    export	none
			}
			parm {
			    name	"da_rest2_name"
			    baseparm
			    joinnext
			    export	none
			}
			parm {
			    name	"da_rest2_intype"
			    baseparm
			    export	none
			}
			parm {
			    name	"da_rest2_method"
			    baseparm
			    joinnext
			    export	none
			}
			parm {
			    name	"da_rest2_padval"
			    baseparm
			    export	none
			}
			parm {
			    name	"da_rest2_ratio_name"
			    baseparm
			    joinnext
			    export	none
			}
			parm {
			    name	"da_rest2_ratio_intype"
			    baseparm
			    export	none
			}
			parm {
			    name	"da_rest2_ratio_method"
			    baseparm
			    export	none
			}
		    }

		    group {
			name	"da_folder14_1"
			label	"Fallback"

			parm {
			    name	"da_spacer16"
			    baseparm
			    export	none
			}
			parm {
			    name	"da_fallback_label"
			    baseparm
			    export	none
			}
			parm {
			    name	"da_spacer17"
			    baseparm
			    export	none
			}
			parm {
			    name	"da_fail_shading"
			    baseparm
			    export	none
			}
			parm {
			    name	"da_fail_cop"
			    baseparm
			    export	none
			}
			parm {
			    name	"da_fail_sop"
			    baseparm
			    export	none
			}
			parm {
			    name	"da_fail_chop"
			    baseparm
			    export	none
			}
			parm {
			    name	"da_fail_cvex"
			    baseparm
			    export	none
			}
			parm {
			    name	"da_fail_fail"
			    baseparm
			    export	none
			}
		    }

		}

	    }

	}

    }

    group {
	name	"folder7_3"
	label	"Shading"

	parm {
	    name	"shade_kmodel"
	    baseparm
	    export	none
	}
	parm {
	    name	"shade_dmodel"
	    baseparm
	    export	none
	}
	parm {
	    name	"FireDensityBlend"
	    baseparm
	    export	none
	}
	parm {
	    name	"shade_fblend_rangemin"
	    baseparm
	    joinnext
	    export	none
	}
	parm {
	    name	"shade_fblend_rangemax"
	    baseparm
	    export	none
	}
	parm {
	    name	"shade_fblend_ftype"
	    baseparm
	    joinnext
	    export	none
	}
	parm {
	    name	"shade_fblend_fscale"
	    baseparm
	    export	none
	}
	parm {
	    name	"sepparm3"
	    baseparm
	    export	none
	}
	parm {
	    name	"spacer12"
	    baseparm
	    export	none
	}
	parm {
	    name	"shade_ksmoke"
	    baseparm
	    export	none
	}
	parm {
	    name	"shade_phase"
	    baseparm
	    export	none
	}
	parm {
	    name	"spacer3"
	    baseparm
	    export	none
	}
	parm {
	    name	"shade_kemit"
	    baseparm
	    export	none
	}
	parm {
	    name	"spacer2"
	    baseparm
	    export	none
	}
	parm {
	    name	"shade_doshadows"
	    baseparm
	    export	none
	}
	parm {
	    name	"shade_cshadow"
	    baseparm
	    export	none
	}
	parm {
	    name	"shade_kshadow"
	    baseparm
	    export	none
	}
	parm {
	    name	"spacer"
	    baseparm
	    export	none
	}
	parm {
	    name	"shop_disable_displace_shader"
	    baseparm
	    invisible
	    export	none
	}
	parm {
	    name	"disp_dispactive"
	    baseparm
	    export	none
	}
	parm {
	    name	"disp_dispnorm"
	    baseparm
	    export	none
	}
	parm {
	    name	"disp_dispscale"
	    baseparm
	    export	none
	}
	parm {
	    name	"vm_displacebound"
	    baseparm
	    export	none
	}
	parm {
	    name	"vm_displacespace"
	    baseparm
	    export	none
	}
	parm {
	    name	"vm_redice"
	    baseparm
	    export	none
	}
    }

    group {
	name	"folder7_4"
	label	"Filter"

	parm {
	    name	"spacer5"
	    baseparm
	    export	none
	}
	parm {
	    name	"labelparm"
	    baseparm
	    export	none
	}
	parm {
	    name	"sepparm"
	    baseparm
	    export	none
	}
	parm {
	    name	"ftype_tx"
	    baseparm
	    export	none
	}
	parm {
	    name	"fscale_tx"
	    baseparm
	    export	none
	}
	parm {
	    name	"spacer6"
	    baseparm
	    export	none
	}
	parm {
	    name	"labelparm2"
	    baseparm
	    export	none
	}
	parm {
	    name	"sepparm2"
	    baseparm
	    export	none
	}
	parm {
	    name	"fscale_noise"
	    baseparm
	    export	none
	}
    }

    group {
	name	"folder7_5"
	label	"Utils"

	group {
	    name	"folder13"
	    label	"Parm Transfers"

	    parm {
		name	"spacer9"
		baseparm
		export	none
	    }
	    parm {
		name	"xferall"
		baseparm
		joinnext
		export	none
	    }
	    parm {
		name	"xfer_nvalid"
		baseparm
		invisible
		export	none
	    }
	    parm {
		name	"spacer7"
		baseparm
		export	none
	    }
	    multiparm {
		name	"ntransfers"
		label	"Transfers"
		baseparm
		default	0

		parm {
		    name	"copy_disable#"
		    baseparm
		    export	none
		}
		parm {
		    name	"copy_other#"
		    baseparm
		    export	none
		}
		parm {
		    name	"copy_valid#"
		    baseparm
		    invisible
		    export	none
		}
		parm {
		    name	"copy_type#"
		    baseparm
		    invisible
		    export	none
		}
		parm {
		    name	"copy_dir#"
		    baseparm
		    export	none
		}
		parm {
		    name	"copy_setall#"
		    baseparm
		    export	none
		}
		parm {
		    name	"xfersingle#"
		    baseparm
		    export	none
		}
	    }

	}

	group {
	    name	"folder13_1"
	    label	"Exports"

	    parm {
		name	"export_cs"
		baseparm
		export	none
	    }
	    parm {
		name	"export_ms"
		baseparm
		export	none
	    }
	    parm {
		name	"export_ce"
		baseparm
		export	none
	    }
	    parm {
		name	"export_me"
		baseparm
		export	none
	    }
	    parm {
		name	"export_se"
		baseparm
		export	none
	    }
	}

	parm {
	    name	"link_nvalid"
	    baseparm
	    invisible
	    export	none
	}
	parm {
	    name	"link_valid_"
	    baseparm
	    invisible
	    export	none
	}
	parm {
	    name	"link_type_"
	    baseparm
	    invisible
	    export	none
	}
    }

    parm {
	name	"Cd"
	baseparm
	invisible
	export	none
    }
    parm {
	name	"rest"
	baseparm
	invisible
	export	none
    }
    parm {
	name	"rest2"
	baseparm
	invisible
	export	none
    }
    parm {
	name	"rest_ratio"
	baseparm
	invisible
	export	none
    }
    parm {
	name	"rest2_ratio"
	baseparm
	invisible
	export	none
    }
    parm {
	name	"DispDirection_Field_Field_final_field_value"
	baseparm
	invisible
	export	none
    }
    parm {
	name	"DispAmplitude_Field_Field_final_field_value"
	baseparm
	invisible
	export	none
    }
    parm {
	name	"Ce"
	baseparm
	invisible
	export	none
    }
    parm {
	name	"SmokeColor_Field_Field_final_field_value"
	baseparm
	invisible
	export	none
    }
    parm {
	name	"smoke_color"
	baseparm
	invisible
	export	none
    }
    parm {
	name	"smoke_mask"
	baseparm
	invisible
	export	none
    }
    parm {
	name	"fire_color"
	baseparm
	invisible
	export	none
    }
    parm {
	name	"fire_mask"
	baseparm
	invisible
	export	none
    }
    parm {
	name	"scatter_color"
	baseparm
	invisible
	export	none
    }
    parm {
	name	"heat"
	label	"Field Parameter Value"
	type	float
	invisible
	default	{ "1" }
	range	{ 0 1 }
	export	none
	parmtag	{ "parmvop" "1" }
	parmtag	{ "shaderparmcontexts" "surface" }
    }
    parm {
	name	"temperature"
	label	"Field Parameter Value"
	type	float
	invisible
	default	{ "1" }
	range	{ 0 1 }
	export	none
	parmtag	{ "parmvop" "1" }
	parmtag	{ "shaderparmcontexts" "surface" }
    }
    parm {
	name	"density"
	baseparm
	invisible
	export	none
    }
    parm {
	name	"EmitDensity_Field_Field_final_field_value"
	baseparm
	invisible
	export	none
    }
    parm {
	name	"EmitColor_Field_Field_final_field_value"
	baseparm
	invisible
	export	none
    }
0707070000010000000006660000000000000000010000001237543420600003100000001540shop/smokelessflames.chn {
    channel sc_cm_cmodel {
      lefttype = extend
      righttype = extend
      flags = 0
      segment { options = {	   untie  iv ov is os ia oa }

	 length = 0 expr = __import__('pyro2').uiGetRadioValue(node('.'),'sc_cm_constcol') language = python }
    }
    channel ec_cm_cmodel {
      lefttype = extend
      righttype = extend
      flags = 0
      segment { options = {	   untie  iv ov is os ia oa }

	 length = 0 expr = __import__('pyro2').uiGetRadioValue(node('.'),'ec_cm_constcol') language = python }
    }
    channel shop_disable_displace_shader {
      lefttype = extend
      righttype = extend
      flags = 0
      segment { length = 0 expr = !ch(\"disp_dispactive\") }
    }
    channel vm_displacebound {
      lefttype = extend
      righttype = extend
      flags = 0
      segment { length = 0 expr = 1.5*ch(disp_dispscale) }
    }
  }
0707070000010000000006660000000000000000010000001237543420600003200000140031shop/smokelessflames.parm {
version 0.8
vop_compiler	[ 0	locks=0	autoscope=0 ]	(	"vcc -r -q -I$JOB/include $VOP_INCLUDEPATH -o $VOP_OBJECTFILE -e $VOP_ERRORFILE $VOP_SOURCEFILE"	)
forcecompile	[ 0	locks=0 ]	(	0	)
spacer4	[ 0	locks=0	autoscope=0 ]	(	""	)
folder6	[ 0	locks=0	autoscope=0 ]	(	5	5	5	5	5	5	)
sd_folder8	[ 0	locks=0	autoscope=0 ]	(	0	0	)
sd_name	[ 0	locks=0	autoscope=0 ]	(	heat	)
sd_intype	[ 0	locks=0	autoscope=0 ]	(	float	)
sd_promote	[ 0	locks=0	autoscope=0 ]	(	"off"	)
sd_outtype	[ 0	locks=0	autoscope=0 ]	(	float	)
sd_method	[ 0	locks=0	autoscope=0 ]	(	assign	)
sd_padval	[ 0	locks=0	autoscope=0 ]	(	0	)
sd_dfltval	[ 0	locks=0	autoscope=0 ]	(	0	0	0	0	)
sd_doconvert	[ 0	locks=0	autoscope=0 ]	(	0	)
sd_spacer	[ 0	locks=0	autoscope=0 ]	(	""	)
sd_folder10	[ 0	locks=0	autoscope=0 ]	(	0	0	)
sd_dofit	[ 0	locks=0	autoscope=0 ]	(	"on"	)
sd_spacer2	[ 0	locks=0	autoscope=0 ]	(	""	)
sd_fit_srcmin	[ 0	locks=0	autoscope=0 ]	(	0	)
sd_fit_srcmax	[ 0	locks=0	autoscope=0 ]	(	1	)
sd_fit_tgtmin	[ 0	locks=0	autoscope=0 ]	(	0	)
sd_fit_tgtmax	[ 0	locks=0	autoscope=0 ]	(	1	)
sd_spacer3	[ 0	locks=0	autoscope=0 ]	(	""	)
sd_doramp	[ 0	locks=0	autoscope=0 ]	(	"on"	)
sd_presets	[ 0	locks=0	autoscope=0 ]	(	"presets"	)
sd_spacename	[ 0	locks=0	autoscope=0 ]	(	rgb	)
sd_gammaname	[ 0	locks=0	autoscope=0 ]	(	linear	)
sd_gammaval	[ 0	locks=0	autoscope=0 ]	(	2.2000000000000002	)
sd_rampswitcher8	[ 0	locks=0	autoscope=0 ]	(	0	0	)
SmokeDensity_flt	[ 0	locks=0	autoscope=0 ]	(	2	)
SmokeDensity_rgb	[ 0	locks=0	autoscope=0 ]	(	2	)
sd_ramp_rngmin	[ 0	locks=0	autoscope=0 ]	(	0	)
sd_ramp_rngmax	[ 0	locks=0	autoscope=0 ]	(	1	)
sd_lbt	[ 0	locks=0	autoscope=0 ]	(	hold	)
sd_rbt	[ 0	locks=0	autoscope=0 ]	(	hold	)
sd_spacer4	[ 0	locks=0	autoscope=0 ]	(	""	)
sd_docontour	[ 0	locks=0	autoscope=0 ]	(	"off"	)
sd_contour_width	[ 0	locks=0	autoscope=0 ]	(	0.02	)
sd_contour_sharp	[ 0	locks=0	autoscope=0 ]	(	4	)
sd_dosclip	[ 0	locks=0	autoscope=0 ]	(	"off"	)
sd_sclip_start	[ 0	locks=0	autoscope=0 ]	(	0.80000000000000004	)
sd_sclip_suppress	[ 0	locks=0	autoscope=0 ]	(	1	)
sd_spacer5	[ 0	locks=0	autoscope=0 ]	(	""	)
sd_dolowlimit	[ 0	locks=0	autoscope=0 ]	(	"off"	)
sd_lowlimit	[ 0	locks=0	autoscope=0 ]	(	0	)
sd_dohighlimit	[ 0	locks=0	autoscope=0 ]	(	"off"	)
sd_highlimit	[ 0	locks=0	autoscope=0 ]	(	1	)
sd_spacer6	[ 0	locks=0	autoscope=0 ]	(	""	)
sd_amp	[ 0	locks=0	autoscope=0 ]	(	0.375	)
sd_active	[ 0	locks=0	autoscope=0 ]	(	"off"	)
sd_ntype	[ 0	locks=0	autoscope=0 ]	(	"default"	)
sd_dim4	[ 0	locks=0	autoscope=0 ]	(	"0"	)
sd_time	[ 0	locks=0	autoscope=0 ]	(	0	)
sd_fieldop	[ 0	locks=0	autoscope=0 ]	(	add	)
sd_spacer7	[ 0	locks=0	autoscope=0 ]	(	""	)
sd_freq	[ 0	locks=0	autoscope=0 ]	(	1	1	1	1	)
sd_offset	[ 0	locks=0	autoscope=0 ]	(	0	0	0	0	)
sd_period	[ 0	locks=0	autoscope=0 ]	(	1	1	1	1	)
sd_spacer8	[ 0	locks=0	autoscope=0 ]	(	""	)
sd_folder12	[ 0	locks=0	autoscope=0 ]	(	0	0	0	)
sd_basis	[ 0	locks=0	autoscope=0 ]	(	simplex	)
sd_inv	[ 0	locks=0	autoscope=0 ]	(	"off"	)
sd_fold	[ 0	locks=0	autoscope=0 ]	(	"off"	)
sd_expon	[ 0	locks=0	autoscope=0 ]	(	1	)
sd_dolwarp	[ 0	locks=0	autoscope=0 ]	(	"off"	)
sd_disp	[ 0	locks=0	autoscope=0 ]	(	0	)
sd_dispfreq	[ 0	locks=0	autoscope=0 ]	(	1	)
sd_dogwarp	[ 0	locks=0	autoscope=0 ]	(	"off"	)
sd_gflow	[ 0	locks=0	autoscope=0 ]	(	0	)
sd_flowrot	[ 0	locks=0	autoscope=0 ]	(	0	)
sd_spacer9	[ 0	locks=0	autoscope=0 ]	(	""	)
sd_fractal	[ 0	locks=0	autoscope=0 ]	(	none	)
sd_accuml	[ 0	locks=0	autoscope=0 ]	(	"off"	)
sd_accumg	[ 0	locks=0	autoscope=0 ]	(	"off"	)
sd_oct	[ 0	locks=0	autoscope=0 ]	(	8	)
sd_lac	[ 0	locks=0	autoscope=0 ]	(	2.01234	)
sd_rough	[ 0	locks=0	autoscope=0 ]	(	0.5	)
sd_docc	[ 0	locks=0	autoscope=0 ]	(	"on"	)
sd_spacer10	[ 0	locks=0	autoscope=0 ]	(	""	)
sd_cc_dobias	[ 0	locks=0	autoscope=0 ]	(	"off"	)
sd_cc_bias	[ 0	locks=0	autoscope=0 ]	(	0.5	0.5	0.5	)
sd_cc_dogain	[ 0	locks=0	autoscope=0 ]	(	"off"	)
sd_cc_gain	[ 0	locks=0	autoscope=0 ]	(	0.5	0.5	0.5	)
sd_spacer11	[ 0	locks=0	autoscope=0 ]	(	""	)
sd_cc_inv	[ 0	locks=0	autoscope=0 ]	(	"off"	)
sd_spacer12	[ 0	locks=0	autoscope=0 ]	(	""	)
sd_cc_dorng	[ 0	locks=0	autoscope=0 ]	(	"on"	)
sd_cc_rnglo	[ 0	locks=0	autoscope=0 ]	(	-1	-1	-1	)
sd_cc_rnghi	[ 0	locks=0	autoscope=0 ]	(	1	1	1	)
sd_spacer13	[ 0	locks=0	autoscope=0 ]	(	""	)
sd_cc_amp	[ 0	locks=0	autoscope=0 ]	(	1	1	1	)
sd_folder15	[ 0	locks=0	autoscope=0 ]	(	0	0	)
sd_spacer14	[ 0	locks=0	autoscope=0 ]	(	""	)
sd_restinterp	[ 0	locks=0	autoscope=0 ]	(	0	)
sd_spacer15	[ 0	locks=0	autoscope=0 ]	(	""	)
sd_rest_name	[ 0	locks=0	autoscope=0 ]	(	rest	)
sd_rest_intype	[ 0	locks=0	autoscope=0 ]	(	vector	)
sd_rest_method	[ 0	locks=0	autoscope=0 ]	(	assign	)
sd_rest_padval	[ 0	locks=0	autoscope=0 ]	(	0	)
sd_rest_ratio_name	[ 0	locks=0	autoscope=0 ]	(	rest_ratio	)
sd_rest_ratio_intype	[ 0	locks=0	autoscope=0 ]	(	float	)
sd_rest_ratio_method	[ 0	locks=0	autoscope=0 ]	(	assign	)
sd_rest2_name	[ 0	locks=0	autoscope=0 ]	(	rest2	)
sd_rest2_intype	[ 0	locks=0	autoscope=0 ]	(	vector	)
sd_rest2_method	[ 0	locks=0	autoscope=0 ]	(	assign	)
sd_rest2_padval	[ 0	locks=0	autoscope=0 ]	(	0	)
sd_rest2_ratio_name	[ 0	locks=0	autoscope=0 ]	(	rest2_ratio	)
sd_rest2_ratio_intype	[ 0	locks=0	autoscope=0 ]	(	float	)
sd_rest2_ratio_method	[ 0	locks=0	autoscope=0 ]	(	assign	)
sd_spacer16	[ 0	locks=0	autoscope=0 ]	(	""	)
sd_fallback_label	[ 0	locks=0	autoscope=0 ]	(	"Fallback Rest Position Upon Failure (VEX):"	)
sd_spacer17	[ 0	locks=0	autoscope=0 ]	(	""	)
sd_fail_shading	[ 0	locks=0	autoscope=0 ]	(	ptransform(\"space:object\",P)	)
sd_fail_cop	[ 0	locks=0	autoscope=0 ]	(	set(X,Y,0)	)
sd_fail_sop	[ 0	locks=0	autoscope=0 ]	(	P	)
sd_fail_chop	[ 0	locks=0	autoscope=0 ]	(	set((float)I/SR,V,0)	)
sd_fail_cvex	[ 0	locks=0	autoscope=0 ]	(	0	)
sd_fail_fail	[ 0	locks=0	autoscope=0 ]	(	0	)
sc_fld_name	[ 0	locks=0	autoscope=0 ]	(	""	)
sc_fld_intype	[ 0	locks=0	autoscope=0 ]	(	float	)
sc_fld_promote	[ 0	locks=0	autoscope=0 ]	(	"off"	)
sc_fld_outtype	[ 0	locks=0	autoscope=0 ]	(	float	)
sc_fld_method	[ 0	locks=0	autoscope=0 ]	(	assign	)
sc_fld_padval	[ 0	locks=0	autoscope=0 ]	(	0	)
sc_fld_dfltval	[ 0	locks=0	autoscope=0 ]	(	1	1	1	1	)
sc_fld_doconvert	[ 0	locks=0	autoscope=0 ]	(	0	)
sc_spacer	[ 0	locks=0	autoscope=0 ]	(	""	)
sc_folder12	[ 0	locks=0	autoscope=0 ]	(	0	0	0	)
sc_cm_usecd	[ 0	locks=0	autoscope=0 ]	(	"off"	)
sc_cm_cmodel	[ 0	locks=1	autoscope=0 ]	(	[ sc_cm_cmodel	0 ] 	)
sc_cmodelswitcher9	[ 0	locks=0	autoscope=0 ]	(	0	0	0	)
sc_spacer2	[ 0	locks=0	autoscope=0 ]	(	""	)
sc_cm_constcol	[ 0	locks=0	autoscope=0 ]	(	1	1	1	)
sc_spacer3	[ 0	locks=0	autoscope=0 ]	(	""	)
sc_spacer4	[ 0	locks=0	autoscope=0 ]	(	""	)
sc_cm_presets	[ 0	locks=0	autoscope=0 ]	(	"presets"	)
sc_cm_spacename	[ 0	locks=0	autoscope=0 ]	(	rgb	)
sc_cm_gammaname	[ 0	locks=0	autoscope=0 ]	(	linear	)
sc_cm_gammaval	[ 0	locks=0	autoscope=0 ]	(	2.2000000000000002	)
SmokeColor_Color	[ 0	locks=0	autoscope=0 ]	(	2	)
sc_cm_rangemin	[ 0	locks=0	autoscope=0 ]	(	0	)
sc_cm_rangemax	[ 0	locks=0	autoscope=0 ]	(	1	)
sc_cm_lbt	[ 0	locks=0	autoscope=0 ]	(	hold	)
sc_cm_rbt	[ 0	locks=0	autoscope=0 ]	(	hold	)
sc_spacer5	[ 0	locks=0	autoscope=0 ]	(	""	)
sc_folder15	[ 0	locks=0	autoscope=0 ]	(	0	0	)
sc_spacer6	[ 0	locks=0	autoscope=0 ]	(	""	)
sc_cm_temp	[ 0	locks=0	autoscope=0 ]	(	5000	)
sc_spacer7	[ 0	locks=0	autoscope=0 ]	(	""	)
sc_cm_dotm	[ 0	locks=0	autoscope=0 ]	(	"on"	)
sc_spacer8	[ 0	locks=0	autoscope=0 ]	(	""	)
sc_cm_tm_adapt	[ 0	locks=0	autoscope=0 ]	(	0.17999999999999999	)
sc_cm_tm_burn	[ 0	locks=0	autoscope=0 ]	(	0	)
sc_spacer9	[ 0	locks=0	autoscope=0 ]	(	""	)
sc_cm_export	[ 0	locks=0 ]	(	0	)
sc_spacer10	[ 0	locks=0	autoscope=0 ]	(	""	)
sc_cm_xtemp1	[ 0	locks=0	autoscope=0 ]	(	0	)
sc_cm_xtemp2	[ 0	locks=0	autoscope=0 ]	(	5000	)
sc_cm_xthresh	[ 0	locks=0	autoscope=0 ]	(	0.0050000000000000001	)
sc_cm_xinterp	[ 0	locks=0	autoscope=0 ]	(	"linear"	)
sc_spacer11	[ 0	locks=0	autoscope=0 ]	(	""	)
sc_cm_xpcol	[ 0	locks=0	autoscope=0 ]	(	SmokeColor_Color	)
sc_cm_xpchr	[ 0	locks=0	autoscope=0 ]	(	""	)
sc_cm_xpval	[ 0	locks=0	autoscope=0 ]	(	""	)
sc_cm_cc_active	[ 0	locks=0	autoscope=0 ]	(	"off"	)
sc_cm_cc_gamut	[ 0	locks=0	autoscope=0 ]	(	3	)
sc_cm_cc_dohrot	[ 0	locks=0	autoscope=0 ]	(	"off"	)
sc_cm_cc_hrot	[ 0	locks=0	autoscope=0 ]	(	0	)
sc_cm_cc_dobias	[ 0	locks=0	autoscope=0 ]	(	"off"	)
sc_cm_cc_bias	[ 0	locks=0	autoscope=0 ]	(	0.5	0.5	0.5	)
sc_cm_cc_dogain	[ 0	locks=0	autoscope=0 ]	(	"off"	)
sc_cm_cc_gain	[ 0	locks=0	autoscope=0 ]	(	0.5	0.5	0.5	)
sc_cm_cc_dogamma	[ 0	locks=0	autoscope=0 ]	(	"off"	)
sc_cm_cc_gamma	[ 0	locks=0	autoscope=0 ]	(	1	1	1	)
sc_cm_cc_docontrast	[ 0	locks=0	autoscope=0 ]	(	"off"	)
sc_cm_cc_contrast	[ 0	locks=0	autoscope=0 ]	(	1	1	1	)
sc_cm_cc_dosat	[ 0	locks=0	autoscope=0 ]	(	"off"	)
sc_cm_cc_sat	[ 0	locks=0	autoscope=0 ]	(	1	)
sc_cm_cc_dovalue	[ 0	locks=0	autoscope=0 ]	(	"off"	)
sc_cm_cc_value	[ 0	locks=0	autoscope=0 ]	(	1	)
sc_cm_cc_dotint	[ 0	locks=0	autoscope=0 ]	(	"off"	)
sc_cm_cc_tint	[ 0	locks=0	autoscope=0 ]	(	1	1	1	)
sc_fld_dofit	[ 0	locks=0	autoscope=0 ]	(	"on"	)
sc_spacer12	[ 0	locks=0	autoscope=0 ]	(	""	)
sc_fld_fit_srcmin	[ 0	locks=0	autoscope=0 ]	(	0	)
sc_fld_fit_srcmax	[ 0	locks=0	autoscope=0 ]	(	1	)
sc_fld_fit_tgtmin	[ 0	locks=0	autoscope=0 ]	(	0	)
sc_fld_fit_tgtmax	[ 0	locks=0	autoscope=0 ]	(	1	)
sc_spacer13	[ 0	locks=0	autoscope=0 ]	(	""	)
sc_fld_doramp	[ 0	locks=0	autoscope=0 ]	(	"off"	)
sc_fld_presets	[ 0	locks=0	autoscope=0 ]	(	"presets"	)
sc_fld_spacename	[ 0	locks=0	autoscope=0 ]	(	rgb	)
sc_fld_gammaname	[ 0	locks=0	autoscope=0 ]	(	linear	)
sc_fld_gammaval	[ 0	locks=0	autoscope=0 ]	(	2.2000000000000002	)
sc_fld_rampswitcher8	[ 0	locks=0	autoscope=0 ]	(	0	0	)
SmokeColor_Field_flt	[ 0	locks=0	autoscope=0 ]	(	2	)
SmokeColor_Field_rgb	[ 0	locks=0	autoscope=0 ]	(	2	)
sc_fld_ramp_rngmin	[ 0	locks=0	autoscope=0 ]	(	0	)
sc_fld_ramp_rngmax	[ 0	locks=0	autoscope=0 ]	(	1	)
sc_fld_lbt	[ 0	locks=0	autoscope=0 ]	(	hold	)
sc_fld_rbt	[ 0	locks=0	autoscope=0 ]	(	hold	)
sc_spacer14	[ 0	locks=0	autoscope=0 ]	(	""	)
sc_fld_docontour	[ 0	locks=0	autoscope=0 ]	(	"off"	)
sc_fld_contour_width	[ 0	locks=0	autoscope=0 ]	(	0.02	)
sc_fld_contour_sharp	[ 0	locks=0	autoscope=0 ]	(	4	)
sc_fld_dosclip	[ 0	locks=0	autoscope=0 ]	(	"off"	)
sc_fld_sclip_start	[ 0	locks=0	autoscope=0 ]	(	0.80000000000000004	)
sc_fld_sclip_suppress	[ 0	locks=0	autoscope=0 ]	(	1	)
sc_spacer15	[ 0	locks=0	autoscope=0 ]	(	""	)
sc_fld_dolowlimit	[ 0	locks=0	autoscope=0 ]	(	"off"	)
sc_fld_lowlimit	[ 0	locks=0	autoscope=0 ]	(	0	)
sc_fld_dohighlimit	[ 0	locks=0	autoscope=0 ]	(	"off"	)
sc_fld_highlimit	[ 0	locks=0	autoscope=0 ]	(	1	)
sc_spacer16	[ 0	locks=0	autoscope=0 ]	(	""	)
sc_fld_amp	[ 0	locks=0	autoscope=0 ]	(	1	)
sc_pn_active	[ 0	locks=0	autoscope=0 ]	(	"off"	)
sc_pn_ntype	[ 0	locks=0	autoscope=0 ]	(	"default"	)
sc_pn_dim4	[ 0	locks=0	autoscope=0 ]	(	"0"	)
sc_pn_time	[ 0	locks=0	autoscope=0 ]	(	0	)
sc_pn_fieldop	[ 0	locks=0	autoscope=0 ]	(	add	)
sc_spacer17	[ 0	locks=0	autoscope=0 ]	(	""	)
sc_pn_freq	[ 0	locks=0	autoscope=0 ]	(	1	1	1	1	)
sc_pn_offset	[ 0	locks=0	autoscope=0 ]	(	0	0	0	0	)
sc_pn_period	[ 0	locks=0	autoscope=0 ]	(	1	1	1	1	)
sc_spacer18	[ 0	locks=0	autoscope=0 ]	(	""	)
sc_folder18	[ 0	locks=0	autoscope=0 ]	(	0	0	0	)
sc_pn_basis	[ 0	locks=0	autoscope=0 ]	(	simplex	)
sc_pn_inv	[ 0	locks=0	autoscope=0 ]	(	"off"	)
sc_pn_fold	[ 0	locks=0	autoscope=0 ]	(	"off"	)
sc_pn_expon	[ 0	locks=0	autoscope=0 ]	(	1	)
sc_pn_dolwarp	[ 0	locks=0	autoscope=0 ]	(	"off"	)
sc_pn_disp	[ 0	locks=0	autoscope=0 ]	(	0	)
sc_pn_dispfreq	[ 0	locks=0	autoscope=0 ]	(	1	)
sc_pn_dogwarp	[ 0	locks=0	autoscope=0 ]	(	"off"	)
sc_pn_gflow	[ 0	locks=0	autoscope=0 ]	(	0	)
sc_pn_flowrot	[ 0	locks=0	autoscope=0 ]	(	0	)
sc_spacer19	[ 0	locks=0	autoscope=0 ]	(	""	)
sc_pn_fractal	[ 0	locks=0	autoscope=0 ]	(	none	)
sc_pn_accuml	[ 0	locks=0	autoscope=0 ]	(	"off"	)
sc_pn_accumg	[ 0	locks=0	autoscope=0 ]	(	"off"	)
sc_pn_oct	[ 0	locks=0	autoscope=0 ]	(	8	)
sc_pn_lac	[ 0	locks=0	autoscope=0 ]	(	2.01234	)
sc_pn_rough	[ 0	locks=0	autoscope=0 ]	(	0.5	)
sc_pn_docc	[ 0	locks=0	autoscope=0 ]	(	"off"	)
sc_spacer20	[ 0	locks=0	autoscope=0 ]	(	""	)
sc_pn_cc_dobias	[ 0	locks=0	autoscope=0 ]	(	"off"	)
sc_pn_cc_bias	[ 0	locks=0	autoscope=0 ]	(	0.5	0.5	0.5	)
sc_pn_cc_dogain	[ 0	locks=0	autoscope=0 ]	(	"off"	)
sc_pn_cc_gain	[ 0	locks=0	autoscope=0 ]	(	0.5	0.5	0.5	)
sc_spacer21	[ 0	locks=0	autoscope=0 ]	(	""	)
sc_pn_cc_inv	[ 0	locks=0	autoscope=0 ]	(	"off"	)
sc_spacer22	[ 0	locks=0	autoscope=0 ]	(	""	)
sc_pn_cc_dorng	[ 0	locks=0	autoscope=0 ]	(	"off"	)
sc_pn_cc_rnglo	[ 0	locks=0	autoscope=0 ]	(	0	0	0	)
sc_pn_cc_rnghi	[ 0	locks=0	autoscope=0 ]	(	1	1	1	)
sc_spacer23	[ 0	locks=0	autoscope=0 ]	(	""	)
sc_pn_cc_amp	[ 0	locks=0	autoscope=0 ]	(	1	1	1	)
sc_folder19	[ 0	locks=0	autoscope=0 ]	(	0	0	)
sc_spacer24	[ 0	locks=0	autoscope=0 ]	(	""	)
sc_dr_restinterp	[ 0	locks=0	autoscope=0 ]	(	0	)
sc_spacer25	[ 0	locks=0	autoscope=0 ]	(	""	)
sc_dr_rest_name	[ 0	locks=0	autoscope=0 ]	(	rest	)
sc_dr_rest_intype	[ 0	locks=0	autoscope=0 ]	(	vector	)
sc_dr_rest_method	[ 0	locks=0	autoscope=0 ]	(	assign	)
sc_dr_rest_padval	[ 0	locks=0	autoscope=0 ]	(	0	)
sc_dr_rest_ratio_name	[ 0	locks=0	autoscope=0 ]	(	rest_ratio	)
sc_dr_rest_ratio_intype	[ 0	locks=0	autoscope=0 ]	(	float	)
sc_dr_rest_ratio_method	[ 0	locks=0	autoscope=0 ]	(	assign	)
sc_dr_rest2_name	[ 0	locks=0	autoscope=0 ]	(	rest2	)
sc_dr_rest2_intype	[ 0	locks=0	autoscope=0 ]	(	vector	)
sc_dr_rest2_method	[ 0	locks=0	autoscope=0 ]	(	assign	)
sc_dr_rest2_padval	[ 0	locks=0	autoscope=0 ]	(	0	)
sc_dr_rest2_ratio_name	[ 0	locks=0	autoscope=0 ]	(	rest2_ratio	)
sc_dr_rest2_ratio_intype	[ 0	locks=0	autoscope=0 ]	(	float	)
sc_dr_rest2_ratio_method	[ 0	locks=0	autoscope=0 ]	(	assign	)
sc_spacer26	[ 0	locks=0	autoscope=0 ]	(	""	)
sc_fallback_label	[ 0	locks=0	autoscope=0 ]	(	"Fallback Rest Position Upon Failure (VEX):"	)
sc_spacer27	[ 0	locks=0	autoscope=0 ]	(	""	)
sc_dr_fail_shading	[ 0	locks=0	autoscope=0 ]	(	ptransform(\"space:object\",P)	)
sc_dr_fail_cop	[ 0	locks=0	autoscope=0 ]	(	set(X,Y,0)	)
sc_dr_fail_sop	[ 0	locks=0	autoscope=0 ]	(	P	)
sc_dr_fail_chop	[ 0	locks=0	autoscope=0 ]	(	set((float)I/SR,V,0)	)
sc_dr_fail_cvex	[ 0	locks=0	autoscope=0 ]	(	0	)
sc_dr_fail_fail	[ 0	locks=0	autoscope=0 ]	(	0	)
folder0_8	[ 0	locks=0	autoscope=0 ]	(	0	0	)
ed_name	[ 0	locks=0	autoscope=0 ]	(	temperature	)
ed_intype	[ 0	locks=0	autoscope=0 ]	(	float	)
ed_promote	[ 0	locks=0	autoscope=0 ]	(	"off"	)
ed_outtype	[ 0	locks=0	autoscope=0 ]	(	float	)
ed_method	[ 0	locks=0	autoscope=0 ]	(	assign	)
ed_padval	[ 0	locks=0	autoscope=0 ]	(	0	)
ed_dfltval	[ 0	locks=0	autoscope=0 ]	(	0	0	0	0	)
ed_doconvert	[ 0	locks=0	autoscope=0 ]	(	0	)
ed_spacer	[ 0	locks=0	autoscope=0 ]	(	""	)
ed_folder8	[ 0	locks=0	autoscope=0 ]	(	0	0	)
ed_dofit	[ 0	locks=0	autoscope=0 ]	(	"on"	)
ed_spacer2	[ 0	locks=0	autoscope=0 ]	(	""	)
ed_fit_srcmin	[ 0	locks=0	autoscope=0 ]	(	0	)
ed_fit_srcmax	[ 0	locks=0	autoscope=0 ]	(	1	)
ed_fit_tgtmin	[ 0	locks=0	autoscope=0 ]	(	0	)
ed_fit_tgtmax	[ 0	locks=0	autoscope=0 ]	(	1	)
ed_spacer3	[ 0	locks=0	autoscope=0 ]	(	""	)
ed_doramp	[ 0	locks=0	autoscope=0 ]	(	"on"	)
ed_presets	[ 0	locks=0	autoscope=0 ]	(	"presets"	)
ed_spacename	[ 0	locks=0	autoscope=0 ]	(	rgb	)
ed_gammaname	[ 0	locks=0	autoscope=0 ]	(	linear	)
ed_gammaval	[ 0	locks=0	autoscope=0 ]	(	2.2000000000000002	)
ed_rampswitcher8	[ 0	locks=0	autoscope=0 ]	(	0	0	)
EmitDensity_flt	[ 0	locks=0	autoscope=0 ]	(	2	)
EmitDensity_rgb	[ 0	locks=0	autoscope=0 ]	(	2	)
ed_ramp_rngmin	[ 0	locks=0	autoscope=0 ]	(	0	)
ed_ramp_rngmax	[ 0	locks=0	autoscope=0 ]	(	1	)
ed_lbt	[ 0	locks=0	autoscope=0 ]	(	hold	)
ed_rbt	[ 0	locks=0	autoscope=0 ]	(	hold	)
ed_spacer4	[ 0	locks=0	autoscope=0 ]	(	""	)
ed_docontour	[ 0	locks=0	autoscope=0 ]	(	"off"	)
ed_contour_width	[ 0	locks=0	autoscope=0 ]	(	0.02	)
ed_contour_sharp	[ 0	locks=0	autoscope=0 ]	(	4	)
ed_dosclip	[ 0	locks=0	autoscope=0 ]	(	"off"	)
ed_sclip_start	[ 0	locks=0	autoscope=0 ]	(	0.80000000000000004	)
ed_sclip_suppress	[ 0	locks=0	autoscope=0 ]	(	1	)
ed_spacer5	[ 0	locks=0	autoscope=0 ]	(	""	)
ed_dolowlimit	[ 0	locks=0	autoscope=0 ]	(	"off"	)
ed_lowlimit	[ 0	locks=0	autoscope=0 ]	(	0	)
ed_dohighlimit	[ 0	locks=0	autoscope=0 ]	(	"off"	)
ed_highlimit	[ 0	locks=0	autoscope=0 ]	(	1	)
ed_spacer6	[ 0	locks=0	autoscope=0 ]	(	""	)
ed_amp	[ 0	locks=0	autoscope=0 ]	(	5	)
ed_active	[ 0	locks=0	autoscope=0 ]	(	"off"	)
ed_ntype	[ 0	locks=0	autoscope=0 ]	(	"default"	)
ed_dim4	[ 0	locks=0	autoscope=0 ]	(	"0"	)
ed_time	[ 0	locks=0	autoscope=0 ]	(	0	)
ed_fieldop	[ 0	locks=0	autoscope=0 ]	(	add	)
ed_spacer7	[ 0	locks=0	autoscope=0 ]	(	""	)
ed_freq	[ 0	locks=0	autoscope=0 ]	(	1	1	1	1	)
ed_offset	[ 0	locks=0	autoscope=0 ]	(	0	0	0	0	)
ed_period	[ 0	locks=0	autoscope=0 ]	(	1	1	1	1	)
ed_spacer8	[ 0	locks=0	autoscope=0 ]	(	""	)
ed_folder10	[ 0	locks=0	autoscope=0 ]	(	0	0	0	)
ed_basis	[ 0	locks=0	autoscope=0 ]	(	simplex	)
ed_inv	[ 0	locks=0	autoscope=0 ]	(	"off"	)
ed_fold	[ 0	locks=0	autoscope=0 ]	(	"off"	)
ed_expon	[ 0	locks=0	autoscope=0 ]	(	1	)
ed_dolwarp	[ 0	locks=0	autoscope=0 ]	(	"off"	)
ed_disp	[ 0	locks=0	autoscope=0 ]	(	0	)
ed_dispfreq	[ 0	locks=0	autoscope=0 ]	(	1	)
ed_dogwarp	[ 0	locks=0	autoscope=0 ]	(	"off"	)
ed_gflow	[ 0	locks=0	autoscope=0 ]	(	0	)
ed_flowrot	[ 0	locks=0	autoscope=0 ]	(	0	)
ed_spacer9	[ 0	locks=0	autoscope=0 ]	(	""	)
ed_fractal	[ 0	locks=0	autoscope=0 ]	(	none	)
ed_accuml	[ 0	locks=0	autoscope=0 ]	(	"off"	)
ed_accumg	[ 0	locks=0	autoscope=0 ]	(	"off"	)
ed_oct	[ 0	locks=0	autoscope=0 ]	(	8	)
ed_lac	[ 0	locks=0	autoscope=0 ]	(	2.01234	)
ed_rough	[ 0	locks=0	autoscope=0 ]	(	0.5	)
ed_docc	[ 0	locks=0	autoscope=0 ]	(	"on"	)
ed_spacer10	[ 0	locks=0	autoscope=0 ]	(	""	)
ed_cc_dobias	[ 0	locks=0	autoscope=0 ]	(	"off"	)
ed_cc_bias	[ 0	locks=0	autoscope=0 ]	(	0.5	0.5	0.5	)
ed_cc_dogain	[ 0	locks=0	autoscope=0 ]	(	"off"	)
ed_cc_gain	[ 0	locks=0	autoscope=0 ]	(	0.5	0.5	0.5	)
ed_spacer11	[ 0	locks=0	autoscope=0 ]	(	""	)
ed_cc_inv	[ 0	locks=0	autoscope=0 ]	(	"off"	)
ed_spacer12	[ 0	locks=0	autoscope=0 ]	(	""	)
ed_cc_dorng	[ 0	locks=0	autoscope=0 ]	(	"on"	)
ed_cc_rnglo	[ 0	locks=0	autoscope=0 ]	(	-1	-1	-1	)
ed_cc_rnghi	[ 0	locks=0	autoscope=0 ]	(	1	1	1	)
ed_spacer13	[ 0	locks=0	autoscope=0 ]	(	""	)
ed_cc_amp	[ 0	locks=0	autoscope=0 ]	(	1	1	1	)
ed_folder13	[ 0	locks=0	autoscope=0 ]	(	0	0	)
ed_spacer14	[ 0	locks=0	autoscope=0 ]	(	""	)
ed_restinterp	[ 0	locks=0	autoscope=0 ]	(	0	)
ed_spacer15	[ 0	locks=0	autoscope=0 ]	(	""	)
ed_rest_name	[ 0	locks=0	autoscope=0 ]	(	rest	)
ed_rest_intype	[ 0	locks=0	autoscope=0 ]	(	vector	)
ed_rest_method	[ 0	locks=0	autoscope=0 ]	(	assign	)
ed_rest_padval	[ 0	locks=0	autoscope=0 ]	(	0	)
ed_rest_ratio_name	[ 0	locks=0	autoscope=0 ]	(	rest_ratio	)
ed_rest_ratio_intype	[ 0	locks=0	autoscope=0 ]	(	float	)
ed_rest_ratio_method	[ 0	locks=0	autoscope=0 ]	(	assign	)
ed_rest2_name	[ 0	locks=0	autoscope=0 ]	(	rest2	)
ed_rest2_intype	[ 0	locks=0	autoscope=0 ]	(	vector	)
ed_rest2_method	[ 0	locks=0	autoscope=0 ]	(	assign	)
ed_rest2_padval	[ 0	locks=0	autoscope=0 ]	(	0	)
ed_rest2_ratio_name	[ 0	locks=0	autoscope=0 ]	(	rest2_ratio	)
ed_rest2_ratio_intype	[ 0	locks=0	autoscope=0 ]	(	float	)
ed_rest2_ratio_method	[ 0	locks=0	autoscope=0 ]	(	assign	)
ed_spacer16	[ 0	locks=0	autoscope=0 ]	(	""	)
ed_fallback_label	[ 0	locks=0	autoscope=0 ]	(	"Fallback Rest Position Upon Failure (VEX):"	)
ed_spacer17	[ 0	locks=0	autoscope=0 ]	(	""	)
ed_fail_shading	[ 0	locks=0	autoscope=0 ]	(	ptransform(\"space:object\",P)	)
ed_fail_cop	[ 0	locks=0	autoscope=0 ]	(	set(X,Y,0)	)
ed_fail_sop	[ 0	locks=0	autoscope=0 ]	(	P	)
ed_fail_chop	[ 0	locks=0	autoscope=0 ]	(	set((float)I/SR,V,0)	)
ed_fail_cvex	[ 0	locks=0	autoscope=0 ]	(	0	)
ed_fail_fail	[ 0	locks=0	autoscope=0 ]	(	0	)
ec_fld_name	[ 0	locks=0	autoscope=0 ]	(	heat	)
ec_fld_intype	[ 0	locks=0	autoscope=0 ]	(	float	)
ec_fld_promote	[ 0	locks=0	autoscope=0 ]	(	"off"	)
ec_fld_outtype	[ 0	locks=0	autoscope=0 ]	(	float	)
ec_fld_method	[ 0	locks=0	autoscope=0 ]	(	assign	)
ec_fld_padval	[ 0	locks=0	autoscope=0 ]	(	0	)
ec_fld_dfltval	[ 0	locks=0	autoscope=0 ]	(	0	0	0	0	)
ec_fld_doconvert	[ 0	locks=0	autoscope=0 ]	(	0	)
ec_spacer	[ 0	locks=0	autoscope=0 ]	(	""	)
ec_folder12	[ 0	locks=0	autoscope=0 ]	(	0	0	0	)
ec_cm_usecd	[ 0	locks=0	autoscope=0 ]	(	"off"	)
ec_cm_cmodel	[ 0	locks=1	autoscope=0 ]	(	[ ec_cm_cmodel	1 ] 	)
ec_cmodelswitcher9	[ 0	locks=0	autoscope=0 ]	(	0	0	0	)
ec_spacer2	[ 0	locks=0	autoscope=0 ]	(	""	)
ec_cm_constcol	[ 0	locks=0	autoscope=0 ]	(	1	1	1	)
ec_spacer3	[ 0	locks=0	autoscope=0 ]	(	""	)
ec_spacer4	[ 0	locks=0	autoscope=0 ]	(	""	)
ec_cm_presets	[ 0	locks=0	autoscope=0 ]	(	"presets"	)
ec_cm_spacename	[ 0	locks=0	autoscope=0 ]	(	rgb	)
ec_cm_gammaname	[ 0	locks=0	autoscope=0 ]	(	linear	)
ec_cm_gammaval	[ 0	locks=0	autoscope=0 ]	(	2.2000000000000002	)
EmitColor_Color	[ 0	locks=0	autoscope=0 ]	(	4	)
ec_cm_rangemin	[ 0	locks=0	autoscope=0 ]	(	0	)
ec_cm_rangemax	[ 0	locks=0	autoscope=0 ]	(	1	)
ec_cm_lbt	[ 0	locks=0	autoscope=0 ]	(	hold	)
ec_cm_rbt	[ 0	locks=0	autoscope=0 ]	(	hold	)
ec_spacer5	[ 0	locks=0	autoscope=0 ]	(	""	)
ec_folder15	[ 0	locks=0	autoscope=0 ]	(	0	0	)
ec_spacer6	[ 0	locks=0	autoscope=0 ]	(	""	)
ec_cm_temp	[ 0	locks=0	autoscope=0 ]	(	1000	)
ec_spacer7	[ 0	locks=0	autoscope=0 ]	(	""	)
ec_cm_dotm	[ 0	locks=0	autoscope=0 ]	(	"on"	)
ec_spacer8	[ 0	locks=0	autoscope=0 ]	(	""	)
ec_cm_tm_adapt	[ 0	locks=0	autoscope=0 ]	(	0.29999999999999999	)
ec_cm_tm_burn	[ 0	locks=0	autoscope=0 ]	(	1.5	)
ec_spacer9	[ 0	locks=0	autoscope=0 ]	(	""	)
ec_cm_export	[ 0	locks=0 ]	(	0	)
ec_spacer10	[ 0	locks=0	autoscope=0 ]	(	""	)
ec_cm_xtemp1	[ 0	locks=0	autoscope=0 ]	(	0	)
ec_cm_xtemp2	[ 0	locks=0	autoscope=0 ]	(	5000	)
ec_cm_xthresh	[ 0	locks=0	autoscope=0 ]	(	0.0050000000000000001	)
ec_cm_xinterp	[ 0	locks=0	autoscope=0 ]	(	"linear"	)
ec_spacer11	[ 0	locks=0	autoscope=0 ]	(	""	)
ec_cm_xpcol	[ 0	locks=0	autoscope=0 ]	(	EmitColor_Color	)
ec_cm_xpchr	[ 0	locks=0	autoscope=0 ]	(	""	)
ec_cm_xpval	[ 0	locks=0	autoscope=0 ]	(	""	)
ec_cm_cc_active	[ 0	locks=0	autoscope=0 ]	(	"off"	)
ec_cm_cc_gamut	[ 0	locks=0	autoscope=0 ]	(	3	)
ec_cm_cc_dohrot	[ 0	locks=0	autoscope=0 ]	(	"off"	)
ec_cm_cc_hrot	[ 0	locks=0	autoscope=0 ]	(	0	)
ec_cm_cc_dobias	[ 0	locks=0	autoscope=0 ]	(	"off"	)
ec_cm_cc_bias	[ 0	locks=0	autoscope=0 ]	(	0.5	0.5	0.5	)
ec_cm_cc_dogain	[ 0	locks=0	autoscope=0 ]	(	"off"	)
ec_cm_cc_gain	[ 0	locks=0	autoscope=0 ]	(	0.5	0.5	0.5	)
ec_cm_cc_dogamma	[ 0	locks=0	autoscope=0 ]	(	"off"	)
ec_cm_cc_gamma	[ 0	locks=0	autoscope=0 ]	(	1	1	1	)
ec_cm_cc_docontrast	[ 0	locks=0	autoscope=0 ]	(	"off"	)
ec_cm_cc_contrast	[ 0	locks=0	autoscope=0 ]	(	1	1	1	)
ec_cm_cc_dosat	[ 0	locks=0	autoscope=0 ]	(	"off"	)
ec_cm_cc_sat	[ 0	locks=0	autoscope=0 ]	(	1	)
ec_cm_cc_dovalue	[ 0	locks=0	autoscope=0 ]	(	"off"	)
ec_cm_cc_value	[ 0	locks=0	autoscope=0 ]	(	1	)
ec_cm_cc_dotint	[ 0	locks=0	autoscope=0 ]	(	"off"	)
ec_cm_cc_tint	[ 0	locks=0	autoscope=0 ]	(	1	1	1	)
ec_fld_dofit	[ 0	locks=0	autoscope=0 ]	(	"on"	)
ec_spacer12	[ 0	locks=0	autoscope=0 ]	(	""	)
ec_fld_fit_srcmin	[ 0	locks=0	autoscope=0 ]	(	0	)
ec_fld_fit_srcmax	[ 0	locks=0	autoscope=0 ]	(	2	)
ec_fld_fit_tgtmin	[ 0	locks=0	autoscope=0 ]	(	0	)
ec_fld_fit_tgtmax	[ 0	locks=0	autoscope=0 ]	(	1	)
ec_spacer13	[ 0	locks=0	autoscope=0 ]	(	""	)
ec_fld_doramp	[ 0	locks=0	autoscope=0 ]	(	"off"	)
ec_fld_presets	[ 0	locks=0	autoscope=0 ]	(	"presets"	)
ec_fld_spacename	[ 0	locks=0	autoscope=0 ]	(	rgb	)
ec_fld_gammaname	[ 0	locks=0	autoscope=0 ]	(	linear	)
ec_fld_gammaval	[ 0	locks=0	autoscope=0 ]	(	2.2000000000000002	)
ec_fld_rampswitcher8	[ 0	locks=0	autoscope=0 ]	(	0	0	)
EmitColor_Field_flt	[ 0	locks=0	autoscope=0 ]	(	2	)
EmitColor_Field_rgb	[ 0	locks=0	autoscope=0 ]	(	2	)
ec_fld_ramp_rngmin	[ 0	locks=0	autoscope=0 ]	(	0	)
ec_fld_ramp_rngmax	[ 0	locks=0	autoscope=0 ]	(	1	)
ec_fld_lbt	[ 0	locks=0	autoscope=0 ]	(	hold	)
ec_fld_rbt	[ 0	locks=0	autoscope=0 ]	(	hold	)
ec_spacer14	[ 0	locks=0	autoscope=0 ]	(	""	)
ec_fld_docontour	[ 0	locks=0	autoscope=0 ]	(	"off"	)
ec_fld_contour_width	[ 0	locks=0	autoscope=0 ]	(	0.02	)
ec_fld_contour_sharp	[ 0	locks=0	autoscope=0 ]	(	4	)
ec_fld_dosclip	[ 0	locks=0	autoscope=0 ]	(	"off"	)
ec_fld_sclip_start	[ 0	locks=0	autoscope=0 ]	(	0.80000000000000004	)
ec_fld_sclip_suppress	[ 0	locks=0	autoscope=0 ]	(	1	)
ec_spacer15	[ 0	locks=0	autoscope=0 ]	(	""	)
ec_fld_dolowlimit	[ 0	locks=0	autoscope=0 ]	(	"off"	)
ec_fld_lowlimit	[ 0	locks=0	autoscope=0 ]	(	0	)
ec_fld_dohighlimit	[ 0	locks=0	autoscope=0 ]	(	"off"	)
ec_fld_highlimit	[ 0	locks=0	autoscope=0 ]	(	1	)
ec_spacer16	[ 0	locks=0	autoscope=0 ]	(	""	)
ec_fld_amp	[ 0	locks=0	autoscope=0 ]	(	1	)
ec_pn_active	[ 0	locks=0	autoscope=0 ]	(	"off"	)
ec_pn_ntype	[ 0	locks=0	autoscope=0 ]	(	"default"	)
ec_pn_dim4	[ 0	locks=0	autoscope=0 ]	(	"0"	)
ec_pn_time	[ 0	locks=0	autoscope=0 ]	(	0	)
ec_pn_fieldop	[ 0	locks=0	autoscope=0 ]	(	add	)
ec_spacer17	[ 0	locks=0	autoscope=0 ]	(	""	)
ec_pn_freq	[ 0	locks=0	autoscope=0 ]	(	1	1	1	1	)
ec_pn_offset	[ 0	locks=0	autoscope=0 ]	(	0	0	0	0	)
ec_pn_period	[ 0	locks=0	autoscope=0 ]	(	1	1	1	1	)
ec_spacer18	[ 0	locks=0	autoscope=0 ]	(	""	)
ec_folder18	[ 0	locks=0	autoscope=0 ]	(	0	0	0	)
ec_pn_basis	[ 0	locks=0	autoscope=0 ]	(	simplex	)
ec_pn_inv	[ 0	locks=0	autoscope=0 ]	(	"off"	)
ec_pn_fold	[ 0	locks=0	autoscope=0 ]	(	"off"	)
ec_pn_expon	[ 0	locks=0	autoscope=0 ]	(	1	)
ec_pn_dolwarp	[ 0	locks=0	autoscope=0 ]	(	"off"	)
ec_pn_disp	[ 0	locks=0	autoscope=0 ]	(	0	)
ec_pn_dispfreq	[ 0	locks=0	autoscope=0 ]	(	1	)
ec_pn_dogwarp	[ 0	locks=0	autoscope=0 ]	(	"off"	)
ec_pn_gflow	[ 0	locks=0	autoscope=0 ]	(	0	)
ec_pn_flowrot	[ 0	locks=0	autoscope=0 ]	(	0	)
ec_spacer19	[ 0	locks=0	autoscope=0 ]	(	""	)
ec_pn_fractal	[ 0	locks=0	autoscope=0 ]	(	none	)
ec_pn_accuml	[ 0	locks=0	autoscope=0 ]	(	"off"	)
ec_pn_accumg	[ 0	locks=0	autoscope=0 ]	(	"off"	)
ec_pn_oct	[ 0	locks=0	autoscope=0 ]	(	8	)
ec_pn_lac	[ 0	locks=0	autoscope=0 ]	(	2.01234	)
ec_pn_rough	[ 0	locks=0	autoscope=0 ]	(	0.5	)
ec_pn_docc	[ 0	locks=0	autoscope=0 ]	(	"on"	)
ec_spacer20	[ 0	locks=0	autoscope=0 ]	(	""	)
ec_pn_cc_dobias	[ 0	locks=0	autoscope=0 ]	(	"off"	)
ec_pn_cc_bias	[ 0	locks=0	autoscope=0 ]	(	0.5	0.5	0.5	)
ec_pn_cc_dogain	[ 0	locks=0	autoscope=0 ]	(	"off"	)
ec_pn_cc_gain	[ 0	locks=0	autoscope=0 ]	(	0.5	0.5	0.5	)
ec_spacer21	[ 0	locks=0	autoscope=0 ]	(	""	)
ec_pn_cc_inv	[ 0	locks=0	autoscope=0 ]	(	"off"	)
ec_spacer22	[ 0	locks=0	autoscope=0 ]	(	""	)
ec_pn_cc_dorng	[ 0	locks=0	autoscope=0 ]	(	"on"	)
ec_pn_cc_rnglo	[ 0	locks=0	autoscope=0 ]	(	-1	-1	-1	)
ec_pn_cc_rnghi	[ 0	locks=0	autoscope=0 ]	(	1	1	1	)
ec_spacer23	[ 0	locks=0	autoscope=0 ]	(	""	)
ec_pn_cc_amp	[ 0	locks=0	autoscope=0 ]	(	1	1	1	)
ec_folder19	[ 0	locks=0	autoscope=0 ]	(	0	0	)
ec_spacer24	[ 0	locks=0	autoscope=0 ]	(	""	)
ec_dr_restinterp	[ 0	locks=0	autoscope=0 ]	(	0	)
ec_spacer25	[ 0	locks=0	autoscope=0 ]	(	""	)
ec_dr_rest_name	[ 0	locks=0	autoscope=0 ]	(	rest	)
ec_dr_rest_intype	[ 0	locks=0	autoscope=0 ]	(	vector	)
ec_dr_rest_method	[ 0	locks=0	autoscope=0 ]	(	assign	)
ec_dr_rest_padval	[ 0	locks=0	autoscope=0 ]	(	0	)
ec_dr_rest_ratio_name	[ 0	locks=0	autoscope=0 ]	(	rest_ratio	)
ec_dr_rest_ratio_intype	[ 0	locks=0	autoscope=0 ]	(	float	)
ec_dr_rest_ratio_method	[ 0	locks=0	autoscope=0 ]	(	assign	)
ec_dr_rest2_name	[ 0	locks=0	autoscope=0 ]	(	rest2	)
ec_dr_rest2_intype	[ 0	locks=0	autoscope=0 ]	(	vector	)
ec_dr_rest2_method	[ 0	locks=0	autoscope=0 ]	(	assign	)
ec_dr_rest2_padval	[ 0	locks=0	autoscope=0 ]	(	0	)
ec_dr_rest2_ratio_name	[ 0	locks=0	autoscope=0 ]	(	rest2_ratio	)
ec_dr_rest2_ratio_intype	[ 0	locks=0	autoscope=0 ]	(	float	)
ec_dr_rest2_ratio_method	[ 0	locks=0	autoscope=0 ]	(	assign	)
ec_spacer26	[ 0	locks=0	autoscope=0 ]	(	""	)
ec_fallback_label	[ 0	locks=0	autoscope=0 ]	(	"Fallback Rest Position Upon Failure (VEX):"	)
ec_spacer27	[ 0	locks=0	autoscope=0 ]	(	""	)
ec_dr_fail_shading	[ 0	locks=0	autoscope=0 ]	(	ptransform(\"space:object\",P)	)
ec_dr_fail_cop	[ 0	locks=0	autoscope=0 ]	(	set(X,Y,0)	)
ec_dr_fail_sop	[ 0	locks=0	autoscope=0 ]	(	P	)
ec_dr_fail_chop	[ 0	locks=0	autoscope=0 ]	(	set((float)I/SR,V,0)	)
ec_dr_fail_cvex	[ 0	locks=0	autoscope=0 ]	(	0	)
ec_dr_fail_fail	[ 0	locks=0	autoscope=0 ]	(	0	)
dd_folder8	[ 0	locks=0	autoscope=0 ]	(	0	0	)
dd_name	[ 0	locks=0	autoscope=0 ]	(	N	)
dd_intype	[ 0	locks=0	autoscope=0 ]	(	vector	)
dd_promote	[ 0	locks=0	autoscope=0 ]	(	"off"	)
dd_outtype	[ 0	locks=0	autoscope=0 ]	(	float	)
dd_method	[ 0	locks=0	autoscope=0 ]	(	assign	)
dd_padval	[ 0	locks=0	autoscope=0 ]	(	0	)
dd_dfltval	[ 0	locks=0	autoscope=0 ]	(	0	0	0	0	)
dd_doconvert	[ 0	locks=0	autoscope=0 ]	(	0	)
dd_spacer	[ 0	locks=0	autoscope=0 ]	(	""	)
dd_folder10	[ 0	locks=0	autoscope=0 ]	(	0	0	)
dd_dofit	[ 0	locks=0	autoscope=0 ]	(	"off"	)
dd_spacer2	[ 0	locks=0	autoscope=0 ]	(	""	)
dd_fit_srcmin	[ 0	locks=0	autoscope=0 ]	(	0	)
dd_fit_srcmax	[ 0	locks=0	autoscope=0 ]	(	1	)
dd_fit_tgtmin	[ 0	locks=0	autoscope=0 ]	(	0	)
dd_fit_tgtmax	[ 0	locks=0	autoscope=0 ]	(	1	)
dd_spacer3	[ 0	locks=0	autoscope=0 ]	(	""	)
dd_doramp	[ 0	locks=0	autoscope=0 ]	(	"off"	)
dd_presets	[ 0	locks=0	autoscope=0 ]	(	"presets"	)
dd_spacename	[ 0	locks=0	autoscope=0 ]	(	rgb	)
dd_gammaname	[ 0	locks=0	autoscope=0 ]	(	linear	)
dd_gammaval	[ 0	locks=0	autoscope=0 ]	(	2.2000000000000002	)
dd_rampswitcher8	[ 0	locks=0	autoscope=0 ]	(	0	0	)
DispDirection_flt	[ 0	locks=0	autoscope=0 ]	(	2	)
DispDirection_rgb	[ 0	locks=0	autoscope=0 ]	(	2	)
dd_ramp_rngmin	[ 0	locks=0	autoscope=0 ]	(	0	)
dd_ramp_rngmax	[ 0	locks=0	autoscope=0 ]	(	1	)
dd_lbt	[ 0	locks=0	autoscope=0 ]	(	hold	)
dd_rbt	[ 0	locks=0	autoscope=0 ]	(	hold	)
dd_spacer4	[ 0	locks=0	autoscope=0 ]	(	""	)
dd_docontour	[ 0	locks=0	autoscope=0 ]	(	"off"	)
dd_contour_width	[ 0	locks=0	autoscope=0 ]	(	0.02	)
dd_contour_sharp	[ 0	locks=0	autoscope=0 ]	(	4	)
dd_dosclip	[ 0	locks=0	autoscope=0 ]	(	"off"	)
dd_sclip_start	[ 0	locks=0	autoscope=0 ]	(	0.80000000000000004	)
dd_sclip_suppress	[ 0	locks=0	autoscope=0 ]	(	1	)
dd_spacer5	[ 0	locks=0	autoscope=0 ]	(	""	)
dd_dolowlimit	[ 0	locks=0	autoscope=0 ]	(	"off"	)
dd_lowlimit	[ 0	locks=0	autoscope=0 ]	(	0	)
dd_dohighlimit	[ 0	locks=0	autoscope=0 ]	(	"off"	)
dd_highlimit	[ 0	locks=0	autoscope=0 ]	(	1	)
dd_spacer6	[ 0	locks=0	autoscope=0 ]	(	""	)
dd_amp	[ 0	locks=0	autoscope=0 ]	(	1	)
dd_active	[ 0	locks=0	autoscope=0 ]	(	"off"	)
dd_ntype	[ 0	locks=0	autoscope=0 ]	(	"default"	)
dd_dim4	[ 0	locks=0	autoscope=0 ]	(	"0"	)
dd_time	[ 0	locks=0	autoscope=0 ]	(	0	)
dd_fieldop	[ 0	locks=0	autoscope=0 ]	(	add	)
dd_spacer7	[ 0	locks=0	autoscope=0 ]	(	""	)
dd_freq	[ 0	locks=0	autoscope=0 ]	(	1	1	1	1	)
dd_offset	[ 0	locks=0	autoscope=0 ]	(	0	0	0	0	)
dd_period	[ 0	locks=0	autoscope=0 ]	(	1	1	1	1	)
dd_spacer8	[ 0	locks=0	autoscope=0 ]	(	""	)
dd_folder12	[ 0	locks=0	autoscope=0 ]	(	0	0	0	)
dd_basis	[ 0	locks=0	autoscope=0 ]	(	simplex	)
dd_inv	[ 0	locks=0	autoscope=0 ]	(	"off"	)
dd_fold	[ 0	locks=0	autoscope=0 ]	(	"off"	)
dd_expon	[ 0	locks=0	autoscope=0 ]	(	1	)
dd_dolwarp	[ 0	locks=0	autoscope=0 ]	(	"off"	)
dd_disp	[ 0	locks=0	autoscope=0 ]	(	0	)
dd_dispfreq	[ 0	locks=0	autoscope=0 ]	(	1	)
dd_dogwarp	[ 0	locks=0	autoscope=0 ]	(	"off"	)
dd_gflow	[ 0	locks=0	autoscope=0 ]	(	0	)
dd_flowrot	[ 0	locks=0	autoscope=0 ]	(	0	)
dd_spacer9	[ 0	locks=0	autoscope=0 ]	(	""	)
dd_fractal	[ 0	locks=0	autoscope=0 ]	(	none	)
dd_accuml	[ 0	locks=0	autoscope=0 ]	(	"off"	)
dd_accumg	[ 0	locks=0	autoscope=0 ]	(	"off"	)
dd_oct	[ 0	locks=0	autoscope=0 ]	(	8	)
dd_lac	[ 0	locks=0	autoscope=0 ]	(	2.01234	)
dd_rough	[ 0	locks=0	autoscope=0 ]	(	0.5	)
dd_docc	[ 0	locks=0	autoscope=0 ]	(	"on"	)
dd_spacer10	[ 0	locks=0	autoscope=0 ]	(	""	)
dd_cc_dobias	[ 0	locks=0	autoscope=0 ]	(	"off"	)
dd_cc_bias	[ 0	locks=0	autoscope=0 ]	(	0.5	0.5	0.5	)
dd_cc_dogain	[ 0	locks=0	autoscope=0 ]	(	"off"	)
dd_cc_gain	[ 0	locks=0	autoscope=0 ]	(	0.5	0.5	0.5	)
dd_spacer11	[ 0	locks=0	autoscope=0 ]	(	""	)
dd_cc_inv	[ 0	locks=0	autoscope=0 ]	(	"off"	)
dd_spacer12	[ 0	locks=0	autoscope=0 ]	(	""	)
dd_cc_dorng	[ 0	locks=0	autoscope=0 ]	(	"on"	)
dd_cc_rnglo	[ 0	locks=0	autoscope=0 ]	(	-1	-1	-1	)
dd_cc_rnghi	[ 0	locks=0	autoscope=0 ]	(	1	1	1	)
dd_spacer13	[ 0	locks=0	autoscope=0 ]	(	""	)
dd_cc_amp	[ 0	locks=0	autoscope=0 ]	(	1	1	1	)
dd_folder15	[ 0	locks=0	autoscope=0 ]	(	0	0	)
dd_spacer14	[ 0	locks=0	autoscope=0 ]	(	""	)
dd_restinterp	[ 0	locks=0	autoscope=0 ]	(	0	)
dd_spacer15	[ 0	locks=0	autoscope=0 ]	(	""	)
dd_rest_name	[ 0	locks=0	autoscope=0 ]	(	rest	)
dd_rest_intype	[ 0	locks=0	autoscope=0 ]	(	vector	)
dd_rest_method	[ 0	locks=0	autoscope=0 ]	(	assign	)
dd_rest_padval	[ 0	locks=0	autoscope=0 ]	(	0	)
dd_rest_ratio_name	[ 0	locks=0	autoscope=0 ]	(	rest_ratio	)
dd_rest_ratio_intype	[ 0	locks=0	autoscope=0 ]	(	float	)
dd_rest_ratio_method	[ 0	locks=0	autoscope=0 ]	(	assign	)
dd_rest2_name	[ 0	locks=0	autoscope=0 ]	(	rest2	)
dd_rest2_intype	[ 0	locks=0	autoscope=0 ]	(	vector	)
dd_rest2_method	[ 0	locks=0	autoscope=0 ]	(	assign	)
dd_rest2_padval	[ 0	locks=0	autoscope=0 ]	(	0	)
dd_rest2_ratio_name	[ 0	locks=0	autoscope=0 ]	(	rest2_ratio	)
dd_rest2_ratio_intype	[ 0	locks=0	autoscope=0 ]	(	float	)
dd_rest2_ratio_method	[ 0	locks=0	autoscope=0 ]	(	assign	)
dd_spacer16	[ 0	locks=0	autoscope=0 ]	(	""	)
dd_fallback_label	[ 0	locks=0	autoscope=0 ]	(	"Fallback Rest Position Upon Failure (VEX):"	)
dd_spacer17	[ 0	locks=0	autoscope=0 ]	(	""	)
dd_fail_shading	[ 0	locks=0	autoscope=0 ]	(	ptransform(\"space:object\",P)	)
dd_fail_cop	[ 0	locks=0	autoscope=0 ]	(	set(X,Y,0)	)
dd_fail_sop	[ 0	locks=0	autoscope=0 ]	(	P	)
dd_fail_chop	[ 0	locks=0	autoscope=0 ]	(	set((float)I/SR,V,0)	)
dd_fail_cvex	[ 0	locks=0	autoscope=0 ]	(	0	)
dd_fail_fail	[ 0	locks=0	autoscope=0 ]	(	0	)
da_name	[ 0	locks=0	autoscope=0 ]	(	""	)
da_intype	[ 0	locks=0	autoscope=0 ]	(	float	)
da_promote	[ 0	locks=0	autoscope=0 ]	(	"off"	)
da_outtype	[ 0	locks=0	autoscope=0 ]	(	float	)
da_method	[ 0	locks=0	autoscope=0 ]	(	assign	)
da_padval	[ 0	locks=0	autoscope=0 ]	(	0	)
da_doconvert	[ 0	locks=0	autoscope=0 ]	(	0	)
da_dfltval	[ 0	locks=0	autoscope=0 ]	(	0	0	0	0	)
da_spacer	[ 0	locks=0	autoscope=0 ]	(	""	)
da_folder8	[ 0	locks=0	autoscope=0 ]	(	0	0	)
da_dofit	[ 0	locks=0	autoscope=0 ]	(	"off"	)
da_spacer2	[ 0	locks=0	autoscope=0 ]	(	""	)
da_fit_srcmin	[ 0	locks=0	autoscope=0 ]	(	0	)
da_fit_srcmax	[ 0	locks=0	autoscope=0 ]	(	1	)
da_fit_tgtmin	[ 0	locks=0	autoscope=0 ]	(	0	)
da_fit_tgtmax	[ 0	locks=0	autoscope=0 ]	(	1	)
da_spacer3	[ 0	locks=0	autoscope=0 ]	(	""	)
da_doramp	[ 0	locks=0	autoscope=0 ]	(	"off"	)
da_presets	[ 0	locks=0	autoscope=0 ]	(	"presets"	)
da_spacename	[ 0	locks=0	autoscope=0 ]	(	rgb	)
da_gammaname	[ 0	locks=0	autoscope=0 ]	(	linear	)
da_gammaval	[ 0	locks=0	autoscope=0 ]	(	2.2000000000000002	)
da_rampswitcher8	[ 0	locks=0	autoscope=0 ]	(	0	0	)
DispAmplitude_flt	[ 0	locks=0	autoscope=0 ]	(	2	)
DispAmplitude_rgb	[ 0	locks=0	autoscope=0 ]	(	2	)
da_ramp_rngmin	[ 0	locks=0	autoscope=0 ]	(	0	)
da_ramp_rngmax	[ 0	locks=0	autoscope=0 ]	(	1	)
da_lbt	[ 0	locks=0	autoscope=0 ]	(	hold	)
da_rbt	[ 0	locks=0	autoscope=0 ]	(	hold	)
da_spacer4	[ 0	locks=0	autoscope=0 ]	(	""	)
da_docontour	[ 0	locks=0	autoscope=0 ]	(	"off"	)
da_contour_width	[ 0	locks=0	autoscope=0 ]	(	0.02	)
da_contour_sharp	[ 0	locks=0	autoscope=0 ]	(	4	)
da_dosclip	[ 0	locks=0	autoscope=0 ]	(	"off"	)
da_sclip_start	[ 0	locks=0	autoscope=0 ]	(	0.80000000000000004	)
da_sclip_suppress	[ 0	locks=0	autoscope=0 ]	(	1	)
da_spacer5	[ 0	locks=0	autoscope=0 ]	(	""	)
da_dolowlimit	[ 0	locks=0	autoscope=0 ]	(	"off"	)
da_lowlimit	[ 0	locks=0	autoscope=0 ]	(	0	)
da_dohighlimit	[ 0	locks=0	autoscope=0 ]	(	"off"	)
da_highlimit	[ 0	locks=0	autoscope=0 ]	(	1	)
da_spacer6	[ 0	locks=0	autoscope=0 ]	(	""	)
da_amp	[ 0	locks=0	autoscope=0 ]	(	1	)
da_active	[ 0	locks=0	autoscope=0 ]	(	"off"	)
da_ntype	[ 0	locks=0	autoscope=0 ]	(	"default"	)
da_dim4	[ 0	locks=0	autoscope=0 ]	(	"0"	)
da_time	[ 0	locks=0	autoscope=0 ]	(	0	)
da_fieldop	[ 0	locks=0	autoscope=0 ]	(	add	)
da_spacer7	[ 0	locks=0	autoscope=0 ]	(	""	)
da_freq	[ 0	locks=0	autoscope=0 ]	(	1	1	1	1	)
da_offset	[ 0	locks=0	autoscope=0 ]	(	0	0	0	0	)
da_period	[ 0	locks=0	autoscope=0 ]	(	1	1	1	1	)
da_spacer8	[ 0	locks=0	autoscope=0 ]	(	""	)
da_folder10	[ 0	locks=0	autoscope=0 ]	(	0	0	0	)
da_basis	[ 0	locks=0	autoscope=0 ]	(	simplex	)
da_inv	[ 0	locks=0	autoscope=0 ]	(	"off"	)
da_fold	[ 0	locks=0	autoscope=0 ]	(	"off"	)
da_expon	[ 0	locks=0	autoscope=0 ]	(	1	)
da_dolwarp	[ 0	locks=0	autoscope=0 ]	(	"off"	)
da_disp	[ 0	locks=0	autoscope=0 ]	(	0	)
da_dispfreq	[ 0	locks=0	autoscope=0 ]	(	1	)
da_dogwarp	[ 0	locks=0	autoscope=0 ]	(	"off"	)
da_gflow	[ 0	locks=0	autoscope=0 ]	(	0	)
da_flowrot	[ 0	locks=0	autoscope=0 ]	(	0	)
da_spacer9	[ 0	locks=0	autoscope=0 ]	(	""	)
da_fractal	[ 0	locks=0	autoscope=0 ]	(	none	)
da_accuml	[ 0	locks=0	autoscope=0 ]	(	"off"	)
da_accumg	[ 0	locks=0	autoscope=0 ]	(	"off"	)
da_oct	[ 0	locks=0	autoscope=0 ]	(	8	)
da_lac	[ 0	locks=0	autoscope=0 ]	(	2.01234	)
da_rough	[ 0	locks=0	autoscope=0 ]	(	0.5	)
da_docc	[ 0	locks=0	autoscope=0 ]	(	"on"	)
da_spacer10	[ 0	locks=0	autoscope=0 ]	(	""	)
da_cc_dobias	[ 0	locks=0	autoscope=0 ]	(	"off"	)
da_cc_bias	[ 0	locks=0	autoscope=0 ]	(	0.5	0.5	0.5	)
da_cc_dogain	[ 0	locks=0	autoscope=0 ]	(	"off"	)
da_cc_gain	[ 0	locks=0	autoscope=0 ]	(	0.5	0.5	0.5	)
da_spacer11	[ 0	locks=0	autoscope=0 ]	(	""	)
da_cc_inv	[ 0	locks=0	autoscope=0 ]	(	"off"	)
da_spacer12	[ 0	locks=0	autoscope=0 ]	(	""	)
da_cc_dorng	[ 0	locks=0	autoscope=0 ]	(	"on"	)
da_cc_rnglo	[ 0	locks=0	autoscope=0 ]	(	-1	-1	-1	)
da_cc_rnghi	[ 0	locks=0	autoscope=0 ]	(	1	1	1	)
da_spacer13	[ 0	locks=0	autoscope=0 ]	(	""	)
da_cc_amp	[ 0	locks=0	autoscope=0 ]	(	1	1	1	)
da_folder13	[ 0	locks=0	autoscope=0 ]	(	0	0	)
da_spacer14	[ 0	locks=0	autoscope=0 ]	(	""	)
da_restinterp	[ 0	locks=0	autoscope=0 ]	(	0	)
da_spacer15	[ 0	locks=0	autoscope=0 ]	(	""	)
da_rest_name	[ 0	locks=0	autoscope=0 ]	(	rest	)
da_rest_intype	[ 0	locks=0	autoscope=0 ]	(	vector	)
da_rest_method	[ 0	locks=0	autoscope=0 ]	(	assign	)
da_rest_padval	[ 0	locks=0	autoscope=0 ]	(	0	)
da_rest_ratio_name	[ 0	locks=0	autoscope=0 ]	(	rest_ratio	)
da_rest_ratio_intype	[ 0	locks=0	autoscope=0 ]	(	float	)
da_rest_ratio_method	[ 0	locks=0	autoscope=0 ]	(	assign	)
da_rest2_name	[ 0	locks=0	autoscope=0 ]	(	rest2	)
da_rest2_intype	[ 0	locks=0	autoscope=0 ]	(	vector	)
da_rest2_method	[ 0	locks=0	autoscope=0 ]	(	assign	)
da_rest2_padval	[ 0	locks=0	autoscope=0 ]	(	0	)
da_rest2_ratio_name	[ 0	locks=0	autoscope=0 ]	(	rest2_ratio	)
da_rest2_ratio_intype	[ 0	locks=0	autoscope=0 ]	(	float	)
da_rest2_ratio_method	[ 0	locks=0	autoscope=0 ]	(	assign	)
da_spacer16	[ 0	locks=0	autoscope=0 ]	(	""	)
da_fallback_label	[ 0	locks=0	autoscope=0 ]	(	"Fallback Rest Position Upon Failure (VEX):"	)
da_spacer17	[ 0	locks=0	autoscope=0 ]	(	""	)
da_fail_shading	[ 0	locks=0	autoscope=0 ]	(	ptransform(\"space:object\",P)	)
da_fail_cop	[ 0	locks=0	autoscope=0 ]	(	set(X,Y,0)	)
da_fail_sop	[ 0	locks=0	autoscope=0 ]	(	P	)
da_fail_chop	[ 0	locks=0	autoscope=0 ]	(	set((float)I/SR,V,0)	)
da_fail_cvex	[ 0	locks=0	autoscope=0 ]	(	0	)
da_fail_fail	[ 0	locks=0	autoscope=0 ]	(	0	)
shade_kmodel	[ 0	locks=0	autoscope=0 ]	(	ogl	)
shade_dmodel	[ 0	locks=0	autoscope=0 ]	(	ogl	)
FireDensityBlend	[ 0	locks=0	autoscope=0 ]	(	2	)
shade_fblend_rangemin	[ 0	locks=0	autoscope=0 ]	(	0	)
shade_fblend_rangemax	[ 0	locks=0	autoscope=0 ]	(	1	)
shade_fblend_ftype	[ 0	locks=0	autoscope=0 ]	(	point	)
shade_fblend_fscale	[ 0	locks=0	autoscope=0 ]	(	1	)
sepparm3	[ 0	locks=0 ]	(	)
spacer12	[ 0	locks=0	autoscope=0 ]	(	""	)
shade_ksmoke	[ 0	locks=0	autoscope=0 ]	(	1	)
shade_phase	[ 0	locks=0	autoscope=0 ]	(	0	)
spacer3	[ 0	locks=0	autoscope=0 ]	(	""	)
shade_kemit	[ 0	locks=0	autoscope=0 ]	(	1	)
spacer2	[ 0	locks=0	autoscope=0 ]	(	""	)
shade_doshadows	[ 0	locks=0	autoscope=0 ]	(	"on"	)
shade_cshadow	[ 0	locks=0	autoscope=0 ]	(	1	1	1	)
shade_kshadow	[ 0	locks=0	autoscope=0 ]	(	1	)
spacer	[ 0	locks=0	autoscope=0 ]	(	""	)
shop_disable_displace_shader	[ 0	locks=0	autoscope=0 ]	(	[ shop_disable_displace_shader	1 ] 	)
disp_dispactive	[ 0	locks=0	autoscope=0 ]	(	"off"	)
disp_dispnorm	[ 0	locks=0	autoscope=0 ]	(	"on"	)
disp_dispscale	[ 0	locks=0	autoscope=0 ]	(	1	)
vm_displacebound	[ 0	locks=0	autoscope=0 ]	(	[ vm_displacebound	1.5 ] 	)
vm_displacespace	[ 0	locks=0	autoscope=0 ]	(	camera	)
vm_redice	[ 0	locks=0	autoscope=0 ]	(	"off"	)
spacer5	[ 0	locks=0	autoscope=0 ]	(	""	)
labelparm	[ 0	locks=0	autoscope=0 ]	(	""	)
sepparm	[ 0	locks=0 ]	(	)
ftype_tx	[ 0	locks=0	autoscope=0 ]	(	point	)
fscale_tx	[ 0	locks=0	autoscope=0 ]	(	1	)
spacer6	[ 0	locks=0	autoscope=0 ]	(	""	)
labelparm2	[ 0	locks=0	autoscope=0 ]	(	""	)
sepparm2	[ 0	locks=0 ]	(	)
fscale_noise	[ 0	locks=0	autoscope=0 ]	(	1	)
folder12	[ 0	locks=0	autoscope=0 ]	(	0	0	)
spacer9	[ 0	locks=0	autoscope=0 ]	(	""	)
xferall	[ 0	locks=0 ]	(	0	)
xfer_nvalid	[ 0	locks=0	autoscope=0 ]	(	1	)
spacer7	[ 0	locks=0	autoscope=0 ]	(	""	)
ntransfers	[ 0	locks=0	autoscope=0 ]	(	1	)
export_cs	[ 0	locks=0	autoscope=0 ]	(	smoke_color	)
export_ms	[ 0	locks=0	autoscope=0 ]	(	smoke_mask	)
export_ce	[ 0	locks=0	autoscope=0 ]	(	fire_color	)
export_me	[ 0	locks=0	autoscope=0 ]	(	fire_mask	)
export_se	[ 0	locks=0	autoscope=0 ]	(	scatter_color	)
link_nvalid	[ 0	locks=0	autoscope=0 ]	(	0	)
link_valid_	[ 0	locks=0	autoscope=0 ]	(	0	)
link_type_	[ 0	locks=0	autoscope=0 ]	(	unknown	)
density	[ 0	locks=0	autoscope=0 ]	(	1	)
Cd	[ 0	locks=0	autoscope=0 ]	(	1	1	1	)
rest	[ 0	locks=0	autoscope=0 ]	(	1	1	1	)
rest2	[ 0	locks=0	autoscope=0 ]	(	1	1	1	)
rest_ratio	[ 0	locks=0	autoscope=0 ]	(	1	)
rest2_ratio	[ 0	locks=0	autoscope=0 ]	(	1	)
DispDirection_Field_Field_final_field_value	[ 0	locks=0	autoscope=0 ]	(	1	1	1	)
DispAmplitude_Field_Field_final_field_value	[ 0	locks=0	autoscope=0 ]	(	1	)
Ce	[ 0	locks=0	autoscope=0 ]	(	0	0	0	)
SmokeColor_Field_Field_final_field_value	[ 0	locks=0	autoscope=0 ]	(	1	)
EmitDensity_Field_Field_final_field_value	[ 0	locks=0	autoscope=0 ]	(	1	)
EmitColor_Field_Field_final_field_value	[ 0	locks=0	autoscope=0 ]	(	1	)
smoke_color	[ 0	locks=0	autoscope=0 ]	(	0	0	0	)
smoke_mask	[ 0	locks=0	autoscope=0 ]	(	0	)
fire_color	[ 0	locks=0	autoscope=0 ]	(	0	0	0	)
fire_mask	[ 0	locks=0	autoscope=0 ]	(	0	)
scatter_color	[ 0	locks=0	autoscope=0 ]	(	0	0	0	)
SmokeDensity_flt1pos	[ 0	locks=0	autoscope=0 ]	(	0	)
SmokeDensity_flt1value	[ 0	locks=0	autoscope=0 ]	(	0	)
SmokeDensity_flt1interp	[ 0	locks=0	autoscope=0 ]	(	"linear"	)
SmokeDensity_flt2pos	[ 0	locks=0	autoscope=0 ]	(	1	)
SmokeDensity_flt2value	[ 0	locks=0	autoscope=0 ]	(	1	)
SmokeDensity_flt2interp	[ 0	locks=0	autoscope=0 ]	(	"linear"	)
SmokeDensity_rgb1pos	[ 0	locks=0	autoscope=0 ]	(	0	)
SmokeDensity_rgb1c	[ 0	locks=0	autoscope=0 ]	(	0	0	0	)
SmokeDensity_rgb1interp	[ 0	locks=0	autoscope=0 ]	(	"linear"	)
SmokeDensity_rgb2pos	[ 0	locks=0	autoscope=0 ]	(	1	)
SmokeDensity_rgb2c	[ 0	locks=0	autoscope=0 ]	(	1	1	1	)
SmokeDensity_rgb2interp	[ 0	locks=0	autoscope=0 ]	(	"linear"	)
SmokeColor_Color1pos	[ 0	locks=0	autoscope=0 ]	(	0	)
SmokeColor_Color1c	[ 0	locks=0	autoscope=0 ]	(	0	0	0	)
SmokeColor_Color1interp	[ 0	locks=0	autoscope=0 ]	(	"linear"	)
SmokeColor_Color2pos	[ 0	locks=0	autoscope=0 ]	(	1	)
SmokeColor_Color2c	[ 0	locks=0	autoscope=0 ]	(	1	1	1	)
SmokeColor_Color2interp	[ 0	locks=0	autoscope=0 ]	(	"linear"	)
SmokeColor_Field_flt1pos	[ 0	locks=0	autoscope=0 ]	(	0	)
SmokeColor_Field_flt1value	[ 0	locks=0	autoscope=0 ]	(	0	)
SmokeColor_Field_flt1interp	[ 0	locks=0	autoscope=0 ]	(	"linear"	)
SmokeColor_Field_flt2pos	[ 0	locks=0	autoscope=0 ]	(	1	)
SmokeColor_Field_flt2value	[ 0	locks=0	autoscope=0 ]	(	1	)
SmokeColor_Field_flt2interp	[ 0	locks=0	autoscope=0 ]	(	"linear"	)
SmokeColor_Field_rgb1pos	[ 0	locks=0	autoscope=0 ]	(	0	)
SmokeColor_Field_rgb1c	[ 0	locks=0	autoscope=0 ]	(	0	0	0	)
SmokeColor_Field_rgb1interp	[ 0	locks=0	autoscope=0 ]	(	"linear"	)
SmokeColor_Field_rgb2pos	[ 0	locks=0	autoscope=0 ]	(	1	)
SmokeColor_Field_rgb2c	[ 0	locks=0	autoscope=0 ]	(	1	1	1	)
SmokeColor_Field_rgb2interp	[ 0	locks=0	autoscope=0 ]	(	"linear"	)
EmitDensity_flt1pos	[ 0	locks=0	autoscope=0 ]	(	0	)
EmitDensity_flt1value	[ 0	locks=0	autoscope=0 ]	(	0	)
EmitDensity_flt1interp	[ 0	locks=0	autoscope=0 ]	(	"linear"	)
EmitDensity_flt2pos	[ 0	locks=0	autoscope=0 ]	(	1	)
EmitDensity_flt2value	[ 0	locks=0	autoscope=0 ]	(	1	)
EmitDensity_flt2interp	[ 0	locks=0	autoscope=0 ]	(	"linear"	)
EmitDensity_rgb1pos	[ 0	locks=0	autoscope=0 ]	(	0	)
EmitDensity_rgb1c	[ 0	locks=0	autoscope=0 ]	(	0	0	0	)
EmitDensity_rgb1interp	[ 0	locks=0	autoscope=0 ]	(	"linear"	)
EmitDensity_rgb2pos	[ 0	locks=0	autoscope=0 ]	(	1	)
EmitDensity_rgb2c	[ 0	locks=0	autoscope=0 ]	(	1	1	1	)
EmitDensity_rgb2interp	[ 0	locks=0	autoscope=0 ]	(	"linear"	)
EmitColor_Color1pos	[ 0	locks=0	autoscope=0 ]	(	0	)
EmitColor_Color1c	[ 0	locks=0	autoscope=0 ]	(	0	0	0	)
EmitColor_Color1interp	[ 0	locks=0	autoscope=0 ]	(	"catmull-rom"	)
EmitColor_Color2pos	[ 0	locks=0	autoscope=0 ]	(	0.54000002145767212	)
EmitColor_Color2c	[ 0	locks=0	autoscope=0 ]	(	1	0.43200001120567322	0	)
EmitColor_Color2interp	[ 0	locks=0	autoscope=0 ]	(	"catmull-rom"	)
EmitColor_Field_flt1pos	[ 0	locks=0	autoscope=0 ]	(	0	)
EmitColor_Field_flt1value	[ 0	locks=0	autoscope=0 ]	(	0	)
EmitColor_Field_flt1interp	[ 0	locks=0	autoscope=0 ]	(	"linear"	)
EmitColor_Field_flt2pos	[ 0	locks=0	autoscope=0 ]	(	1	)
EmitColor_Field_flt2value	[ 0	locks=0	autoscope=0 ]	(	1	)
EmitColor_Field_flt2interp	[ 0	locks=0	autoscope=0 ]	(	"linear"	)
EmitColor_Field_rgb1pos	[ 0	locks=0	autoscope=0 ]	(	0	)
EmitColor_Field_rgb1c	[ 0	locks=0	autoscope=0 ]	(	0	0	0	)
EmitColor_Field_rgb1interp	[ 0	locks=0	autoscope=0 ]	(	"linear"	)
EmitColor_Field_rgb2pos	[ 0	locks=0	autoscope=0 ]	(	1	)
EmitColor_Field_rgb2c	[ 0	locks=0	autoscope=0 ]	(	1	1	1	)
EmitColor_Field_rgb2interp	[ 0	locks=0	autoscope=0 ]	(	"linear"	)
DispDirection_flt1pos	[ 0	locks=0	autoscope=0 ]	(	0	)
DispDirection_flt1value	[ 0	locks=0	autoscope=0 ]	(	0	)
DispDirection_flt1interp	[ 0	locks=0	autoscope=0 ]	(	"linear"	)
DispDirection_flt2pos	[ 0	locks=0	autoscope=0 ]	(	1	)
DispDirection_flt2value	[ 0	locks=0	autoscope=0 ]	(	1	)
DispDirection_flt2interp	[ 0	locks=0	autoscope=0 ]	(	"linear"	)
DispDirection_rgb1pos	[ 0	locks=0	autoscope=0 ]	(	0	)
DispDirection_rgb1c	[ 0	locks=0	autoscope=0 ]	(	0	0	0	)
DispDirection_rgb1interp	[ 0	locks=0	autoscope=0 ]	(	"linear"	)
DispDirection_rgb2pos	[ 0	locks=0	autoscope=0 ]	(	1	)
DispDirection_rgb2c	[ 0	locks=0	autoscope=0 ]	(	1	1	1	)
DispDirection_rgb2interp	[ 0	locks=0	autoscope=0 ]	(	"linear"	)
DispAmplitude_flt1pos	[ 0	locks=0	autoscope=0 ]	(	0	)
DispAmplitude_flt1value	[ 0	locks=0	autoscope=0 ]	(	0	)
DispAmplitude_flt1interp	[ 0	locks=0	autoscope=0 ]	(	"linear"	)
DispAmplitude_flt2pos	[ 0	locks=0	autoscope=0 ]	(	1	)
DispAmplitude_flt2value	[ 0	locks=0	autoscope=0 ]	(	1	)
DispAmplitude_flt2interp	[ 0	locks=0	autoscope=0 ]	(	"linear"	)
DispAmplitude_rgb1pos	[ 0	locks=0	autoscope=0 ]	(	0	)
DispAmplitude_rgb1c	[ 0	locks=0	autoscope=0 ]	(	0	0	0	)
DispAmplitude_rgb1interp	[ 0	locks=0	autoscope=0 ]	(	"linear"	)
DispAmplitude_rgb2pos	[ 0	locks=0	autoscope=0 ]	(	1	)
DispAmplitude_rgb2c	[ 0	locks=0	autoscope=0 ]	(	1	1	1	)
DispAmplitude_rgb2interp	[ 0	locks=0	autoscope=0 ]	(	"linear"	)
FireDensityBlend1pos	[ 0	locks=0	autoscope=0 ]	(	0	)
FireDensityBlend1value	[ 0	locks=0	autoscope=0 ]	(	0	)
FireDensityBlend1interp	[ 0	locks=0	autoscope=0 ]	(	"monotonecubic"	)
FireDensityBlend2pos	[ 0	locks=0	autoscope=0 ]	(	0.10000000149011612	)
FireDensityBlend2value	[ 0	locks=0	autoscope=0 ]	(	1	)
FireDensityBlend2interp	[ 0	locks=0	autoscope=0 ]	(	"monotonecubic"	)
EmitColor_Color3pos	[ 0	locks=0	autoscope=0 ]	(	0.89300000667572021	)
EmitColor_Color3c	[ 0	locks=0	autoscope=0 ]	(	1	0.88330000638961792	0	)
EmitColor_Color3interp	[ 0	locks=0	autoscope=0 ]	(	"catmull-rom"	)
EmitColor_Color4pos	[ 0	locks=0	autoscope=0 ]	(	1	)
EmitColor_Color4c	[ 0	locks=0	autoscope=0 ]	(	1	1	1	)
EmitColor_Color4interp	[ 0	locks=0	autoscope=0 ]	(	"catmull-rom"	)
copy_disable1	[ 0	locks=0	autoscope=0 ]	(	"off"	)
copy_other1	[ 0	locks=0	autoscope=0 ]	(	/obj/AutoDopNetwork/pyro	)
copy_valid1	[ 0	locks=0	autoscope=0 ]	(	1	)
copy_type1	[ 0	locks=0	autoscope=0 ]	(	vis/multifield_	)
copy_dir1	[ 0	locks=0	autoscope=0 ]	(	fromother	)
copy_setall1	[ 0	locks=0	autoscope=0 ]	(	"on"	)
xfersingle1	[ 0	locks=0 ]	(	0	)
folder7	[ 0	locks=0	autoscope=0 ]	(	1	1	1	1	1	1	)
sd_folder9	[ 0	locks=0 ]	(	0	0	)
sd_folder11	[ 0	locks=0 ]	(	0	0	)
sd_rampswitcher9	[ 0	locks=0 ]	(	0	0	)
sd_folder13	[ 0	locks=0 ]	(	0	0	0	)
sd_folder16	[ 0	locks=0 ]	(	0	0	)
sc_folder13	[ 0	locks=0 ]	(	0	0	0	)
sc_cmodelswitcher10	[ 0	locks=0 ]	(	0	0	0	)
sc_folder16	[ 0	locks=0 ]	(	0	0	)
sc_fld_rampswitcher9	[ 0	locks=0 ]	(	0	0	)
sc_folder20	[ 0	locks=0 ]	(	0	0	0	)
sc_folder21	[ 0	locks=0 ]	(	0	0	)
folder0_9	[ 0	locks=0	autoscope=0 ]	(	1	1	)
ed_folder9	[ 0	locks=0 ]	(	0	0	)
ed_rampswitcher9	[ 0	locks=0 ]	(	0	0	)
ed_folder11	[ 0	locks=0 ]	(	0	0	0	)
ed_folder14	[ 0	locks=0 ]	(	0	0	)
ec_folder13	[ 0	locks=0 ]	(	0	0	0	)
ec_cmodelswitcher10	[ 0	locks=0	autoscope=0 ]	(	1	0	0	)
ec_folder16	[ 0	locks=0 ]	(	0	0	)
ec_fld_rampswitcher9	[ 0	locks=0 ]	(	0	0	)
ec_folder20	[ 0	locks=0 ]	(	0	0	0	)
ec_folder21	[ 0	locks=0 ]	(	0	0	)
dd_folder9	[ 0	locks=0 ]	(	0	0	)
dd_folder11	[ 0	locks=0 ]	(	0	0	)
dd_rampswitcher9	[ 0	locks=0 ]	(	0	0	)
dd_folder13	[ 0	locks=0 ]	(	0	0	0	)
dd_folder16	[ 0	locks=0 ]	(	0	0	)
da_folder9	[ 0	locks=0 ]	(	0	0	)
da_rampswitcher9	[ 0	locks=0 ]	(	0	0	)
da_folder11	[ 0	locks=0 ]	(	0	0	0	)
da_folder14	[ 0	locks=0 ]	(	0	0	)
folder13	[ 0	locks=0 ]	(	0	0	)
heat	[ 0	locks=0 ]	(	1	)
temperature	[ 0	locks=0 ]	(	1	)
}
0707070000010000000006660000000000000000010000001237543420700003600000000031shop/smokelessflames.userdata     ___Version___     0707070000010000000006660000000000000000010000001237543420700001000000000662vex.def comment ""
position 5.5 2.5
cachesize 1
connectornextid 0
flags =  lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress off exposed on
outputsNamed3
{
}
inputsNamed3
{
}
inputs
{
}
stat
{
  create 1408643241
  modify 1408643242
  author jeff_wagner@lorient-3.local
  access 0777
}
color UT_Color RGB 0.8 0.8 0.8 
delscript ""
exprlanguage hscript
end
0707070000010000000006660000000000000000010000001237543420700001100000000020vex.parm {
version 0.8
}
0707070000010000000006660000000000000000010000001237543420700001500000000041vex.userdata     ___Version___    13.0.4760707070000010000000006660000000000000000010000001237543420700003400000000033obj/grid_object1/grid1.init type = grid
matchesdef = 0
0707070000010000000006660000000000000000010000001237543420700003300000000732obj/grid_object1/grid1.def sopflags sopflags = 
comment ""
position -1.6944 4.51186
cachesize 1
connectornextid 1
flags =  lock off model off template off footprint off xray off bypass off display off render off highlight on unload off savedata off compress off exposed on
outputsNamed3
{
0 "output1"
}
inputsNamed3
{
}
inputs
{
}
stat
{
  create 1408643248
  modify 1408645046
  author jeff_wagner@lorient-3.local
  access 0777
}
color UT_Color RGB 0.8 0.8 0.8 
delscript ""
exprlanguage hscript
end
0707070000010000000006660000000000000000010000001237543420700003400000000520obj/grid_object1/grid1.parm {
version 0.8
type	[ 0	locks=0 ]	(	"poly"	)
surftype	[ 0	locks=0 ]	(	"quads"	)
orient	[ 0	locks=0 ]	(	"zx"	)
size	[ 0	locks=0 ]	(	10	10	)
t	[ 0	locks=0 ]	(	0	0	0	)
rows	[ 0	locks=0 ]	(	100	)
cols	[ 0	locks=0 ]	(	100	)
orderu	[ 0	locks=0 ]	(	4	)
orderv	[ 0	locks=0 ]	(	4	)
interpu	[ 0	locks=0 ]	(	"on"	)
interpv	[ 0	locks=0 ]	(	"on"	)
}
0707070000010000000006660000000000000000010000001237543420700004000000000125obj/grid_object1/grid1.userdata     ___Version___    13.0.476 ___toolcount___    1 ___toolid___    sop_grid0707070000010000000006660000000000000000010000001237543420700006500000000152obj/grid_object1/vopsop__create_fade_attribute.order 12
global1
output1
bind1
aaflownoise1
fit1
clamp1
parm1
multiply1
length1
normalize1
multiply2
addattrib1
0707070000010000000006660000000000000000010000001237543420700006300000000002obj/grid_object1/vopsop__create_fade_attribute.net 1
0707070000010000000006660000000000000000010000001237543420700004100000000036obj/grid_object1/uvtexture1.init type = texture
matchesdef = 0
0707070000010000000006660000000000000000010000001237543420700004000000000776obj/grid_object1/uvtexture1.def sopflags sopflags = 
comment ""
position -1.6944 3.53477
cachesize 1
connectornextid 2
flags =  lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress off exposed on
outputsNamed3
{
1 "output1"
}
inputsNamed3
{
0 	grid1 0 1 "input1"
}
inputs
{
0 	grid1 0 1
}
stat
{
  create 1408643281
  modify 1408645178
  author jeff_wagner@lorient-3.local
  access 0777
}
color UT_Color RGB 0.8 0.8 0.8 
delscript ""
exprlanguage hscript
end
0707070000010000000006660000000000000000010000001237543420700004100000000432obj/grid_object1/uvtexture1.parm {
version 0.8
group	[ 0	locks=0 ]	(	""	)
type	[ 0	locks=0 ]	(	"texture"	)
axis	[ 0	locks=0 ]	(	"y"	)
campath	[ 0	locks=0 ]	(	""	)
coord	[ 0	locks=0 ]	(	"natural"	)
s	[ 0	locks=0 ]	(	1	1	1	)
offset	[ 0	locks=0 ]	(	0	0	0	)
angle	[ 0	locks=0 ]	(	0	)
fixseams	[ 0	locks=0 ]	(	"off"	)
}
0707070000010000000006660000000000000000010000001237543420700004500000000041obj/grid_object1/uvtexture1.userdata     ___Version___    13.0.4760707070000010000000006660000000000000000010000001237543420700005200000000034obj/grid_object1/blast__by_attribute.init type = blast
matchesdef = 0
0707070000010000000006660000000000000000010000001237543420700005100000001076obj/grid_object1/blast__by_attribute.def sopflags sopflags = 
comment ""
position -3.33128 0.235495
cachesize 1
connectornextid 2
flags =  lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress off exposed on
outputsNamed3
{
1 "output1"
}
inputsNamed3
{
0 	attribfade__on_fade_attribute_weight 3 1 "input1"
}
inputs
{
0 	attribfade__on_fade_attribute_weight 0 1
}
stat
{
  create 1408644637
  modify 1408645202
  author jeff_wagner@lorient-3.local
  access 0777
}
color UT_Color RGB 0.8 0.8 0.8 
delscript ""
exprlanguage hscript
end
0707070000010000000006660000000000000000010000001237543420700005200000000336obj/grid_object1/blast__by_attribute.parm {
version 0.8
group	[ 0	locks=0 ]	(	@fade<0.1	)
grouptype	[ 0	locks=0 ]	(	"points"	)
computenorms	[ 0	locks=0 ]	(	"off"	)
negate	[ 0	locks=0 ]	(	"off"	)
fillhole	[ 0	locks=0 ]	(	"off"	)
removegrp	[ 0	locks=0 ]	(	"off"	)
}
0707070000010000000006660000000000000000010000001237543420700005600000000041obj/grid_object1/blast__by_attribute.userdata     ___Version___    13.0.4760707070000010000000006660000000000000000010000001237543420700005400000000035obj/grid_object1/delete__by_expression.init type = delete
matchesdef = 0
0707070000010000000006660000000000000000010000001237543420700005300000001101obj/grid_object1/delete__by_expression.def sopflags sopflags = 
comment ""
position -0.00608842 0.235495
cachesize 1
connectornextid 2
flags =  lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress off exposed on
outputsNamed3
{
1 "output1"
}
inputsNamed3
{
0 	attribfade__on_fade_attribute_weight 3 1 "input1"
}
inputs
{
0 	attribfade__on_fade_attribute_weight 0 1
}
stat
{
  create 1408644834
  modify 1408645208
  author jeff_wagner@lorient-3.local
  access 0777
}
color UT_Color RGB 0.8 0.8 0.8 
delscript ""
exprlanguage hscript
end
0707070000010000000006660000000000000000010000001237543420700005300000000510obj/grid_object1/delete__by_expression.chn {
    channel rangeend {
      lefttype = extend
      righttype = extend
      flags = 0
      segment { length = 0 expr = $N }
    }
    channel filter {
      lefttype = extend
      righttype = extend
      default = 1
      flags = 0
      segment { length = 0 value = 1 1 expr = "$FADE < 0.1 || $FADE > 0.125" }
    }
  }
0707070000010000000006660000000000000000010000001237543420700005400000001555obj/grid_object1/delete__by_expression.parm {
version 0.8
group	[ 0	locks=0 ]	(	""	)
negate	[ 0	locks=0 ]	(	"dele"	)
entity	[ 0	locks=0 ]	(	"point"	)
geotype	[ 0	locks=0 ]	(	"all"	)
stdswitcher	[ 0	locks=0 ]	(	0	0	0	0	)
affectnumber	[ 0	locks=0 ]	(	"on"	)
groupop	[ 0	locks=0 ]	(	"filter"	)
filter	[ 8	locks=0 ]	(	[ filter	1 ] 	)
pattern	[ 0	locks=0 ]	(	!*	)
range	[ 8	locks=0 ]	(	0	[ rangeend	9999 ] 	)
select	[ 0	locks=0 ]	(	1	2	)
affectvolume	[ 0	locks=0 ]	(	"off"	)
boundtype	[ 0	locks=0 ]	(	"usebbox"	)
size	[ 0	locks=0 ]	(	1	1	1	)
t	[ 0	locks=0 ]	(	0	0	0	)
affectnormal	[ 0	locks=0 ]	(	"off"	)
dir	[ 0	locks=0 ]	(	0	0	1	)
angle	[ 0	locks=0 ]	(	180	)
camerapath	[ 0	locks=0 ]	(	""	)
affectdegenerate	[ 0	locks=0 ]	(	"off"	)
degenerate	[ 0	locks=0 ]	(	"off"	)
zaf	[ 0	locks=0 ]	(	"off"	)
doopen	[ 0	locks=0 ]	(	"off"	)
tol	[ 0	locks=0 ]	(	0.001	)
removegrp	[ 0	locks=0 ]	(	"on"	)
keeppoints	[ 0	locks=0 ]	(	"off"	)
}
0707070000010000000006660000000000000000010000001237543420700006000000000041obj/grid_object1/delete__by_expression.userdata     ___Version___    13.0.4760707070000010000000006660000000000000000010000001237543420700004400000000033obj/grid_object1/DisplayRender.init type = null
matchesdef = 0
0707070000010000000006660000000000000000010000001237543420700004300000001033obj/grid_object1/DisplayRender.def sopflags sopflags = 
comment ""
position -3.33128 -0.86001
cachesize 1
connectornextid 2
flags =  lock off model off template off footprint off xray off bypass off display on render off highlight off unload off savedata off compress off exposed on
outputsNamed3
{
1 "output1"
}
inputsNamed3
{
0 	blast__by_attribute 1 1 "input1"
}
inputs
{
0 	blast__by_attribute 0 1
}
stat
{
  create 1408645005
  modify 1408645218
  author jeff_wagner@lorient-3.local
  access 0777
}
color UT_Color RGB 0.8 0.8 0.8 
delscript ""
exprlanguage hscript
end
0707070000010000000006660000000000000000010000001237543420700004400000000124obj/grid_object1/DisplayRender.parm {
version 0.8
copyinput	[ 0	locks=0 ]	(	"on"	)
cacheinput	[ 0	locks=0 ]	(	"off"	)
}
0707070000010000000006660000000000000000010000001237543420700005000000000041obj/grid_object1/DisplayRender.userdata     ___Version___    13.0.4760707070000010000000006660000000000000000010000001237543420700003700000000033obj/grid_object1/OUT_fuel.init type = null
matchesdef = 0
0707070000010000000006660000000000000000010000001237543420700003600000001031obj/grid_object1/OUT_fuel.def sopflags sopflags = 
comment ""
position 1.04576 -2.59737
cachesize 1
connectornextid 2
flags =  lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress off exposed on
outputsNamed3
{
1 "output1"
}
inputsNamed3
{
0 	merge_fuel_volumes 1 1 "input1"
}
inputs
{
0 	merge_fuel_volumes 0 1
}
stat
{
  create 1408645042
  modify 1408645218
  author jeff_wagner@lorient-3.local
  access 0777
}
color UT_Color RGB 0.8 0.8 0.8 
delscript ""
exprlanguage hscript
end
0707070000010000000006660000000000000000010000001237543420700003700000000124obj/grid_object1/OUT_fuel.parm {
version 0.8
copyinput	[ 0	locks=0 ]	(	"on"	)
cacheinput	[ 0	locks=0 ]	(	"off"	)
}
0707070000010000000006660000000000000000010000001237543420700004300000000140obj/grid_object1/OUT_fuel.userdata     ___Version___    13.0.476 ___toolcount___    2 ___toolid___    pyro_smokelessflame0707070000010000000006660000000000000000010000001237543420700005100000000034obj/grid_object1/merge_fuel_volumes.init type = merge
matchesdef = 0
0707070000010000000006660000000000000000010000001237543420700005000000001031obj/grid_object1/merge_fuel_volumes.def sopflags sopflags = 
comment ""
position 1.04576 -1.70317
cachesize 1
connectornextid 2
flags =  lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress off exposed on
outputsNamed3
{
1 "output1"
}
inputsNamed3
{
0 	create_fuel_volume 1 1 "input1"
}
inputs
{
0 	create_fuel_volume 0 1
}
stat
{
  create 1408645042
  modify 1408645215
  author jeff_wagner@lorient-3.local
  access 0777
}
color UT_Color RGB 0.8 0.8 0.8 
delscript ""
exprlanguage hscript
end
0707070000010000000006660000000000000000010000001237543420700005100000000020obj/grid_object1/merge_fuel_volumes.parm {
version 0.8
}
0707070000010000000006660000000000000000010000001237543420700005500000000140obj/grid_object1/merge_fuel_volumes.userdata     ___Version___    13.0.476 ___toolcount___    2 ___toolid___    pyro_smokelessflame0707070000010000000006660000000000000000010000001237543420700003500000000033obj/grid_object1/RENDER.init type = null
matchesdef = 0
0707070000010000000006660000000000000000010000001237543420700003400000000771obj/grid_object1/RENDER.def sopflags sopflags = 
comment ""
position 2.74016 -3.49157
cachesize 1
connectornextid 2
flags =  lock off model off template off footprint off xray off bypass off display off render on highlight off unload off savedata off compress off exposed on
outputsNamed3
{
1 "output1"
}
inputsNamed3
{
0 	"" "" 1 "input1"
}
inputs
{
0 	"" 0 1
}
stat
{
  create 1408645042
  modify 1408645215
  author jeff_wagner@lorient-3.local
  access 0777
}
color UT_Color RGB 0.8 0.8 0.8 
delscript ""
exprlanguage hscript
end
0707070000010000000006660000000000000000010000001237543420700003500000000124obj/grid_object1/RENDER.parm {
version 0.8
copyinput	[ 0	locks=0 ]	(	"on"	)
cacheinput	[ 0	locks=0 ]	(	"off"	)
}
0707070000010000000006660000000000000000010000001237543420700004100000000140obj/grid_object1/RENDER.userdata     ___Version___    13.0.476 ___toolcount___    2 ___toolid___    pyro_smokelessflame0707070000010000000006660000000000000000010000001237543420700002700000000305obj/grid_object1.order 11
grid1
attribfade__on_fade_attribute_weight
vopsop__create_fade_attribute
uvtexture1
blast__by_attribute
delete__by_expression
DisplayRender
OUT_fuel
merge_fuel_volumes
RENDER
create_fuel_volume
0707070000010000000006660000000000000000010000001237543420700002500000000002obj/grid_object1.net 1
0707070000010000000006660000000000000000010000001237543420700004100000000036obj/AutoDopNetwork/gravity1.init type = gravity
matchesdef = 0
0707070000010000000006660000000000000000010000001237543420700004000000001002obj/AutoDopNetwork/gravity1.def comment ""
position -3.3888 0
cachesize 1
connectornextid 3
flags =  lock off model off template off footprint off xray off bypass off display on render off highlight off unload off savedata off compress off exposed on
outputsNamed3
{
2 "output1"
}
inputsNamed3
{
0 	merge1 0 1 "input1"
1 	"" "" 1 "input2"
}
inputs
{
0 	merge1 0 1
1 	"" 0 1
}
stat
{
  create 1408645038
  modify 1408645047
  author jeff_wagner@lorient-3.local
  access 0777
}
color UT_Color RGB 0.8 0.8 0.8 
delscript ""
exprlanguage hscript
end
0707070000010000000006660000000000000000010000001237543420700004000000000263obj/AutoDopNetwork/gravity1.chn {
    channel activation {
      lefttype = extend
      righttype = extend
      default = 1
      flags = 0
      segment { length = 0 value = 1 1 expr = constant() }
    }
  }
0707070000010000000006660000000000000000010000001237543420700004100000001023obj/AutoDopNetwork/gravity1.parm {
version 0.8
parmop_force	[ 0	locks=0 ]	(	"default"	)
force	[ 0	locks=0 ]	(	0	-9.8066499999999994	0	)
parmop_handlepos	[ 0	locks=0 ]	(	"default"	)
handlepos	[ 0	locks=0 ]	(	0	3	0	)
parmop_samplemode	[ 0	locks=0 ]	(	"default"	)
samplemode	[ 0	locks=0 ]	(	"def"	)
defaultparmop	[ 0	locks=0 ]	(	"initial"	)
sharedata	[ 0	locks=0 ]	(	"off"	)
activation	[ 0	locks=0 ]	(	[ activation	1 ] 	)
activationrules	[ 0	locks=0 ]	(	0	)
group	[ 0	locks=0 ]	(	*	)
dataname	[ 0	locks=0 ]	(	Forces/Gravity	)
uniquedataname	[ 0	locks=0 ]	(	"off"	)
}
0707070000010000000006660000000000000000010000001237543420700004500000000140obj/AutoDopNetwork/gravity1.userdata     ___Version___    13.0.476 ___toolcount___    2 ___toolid___    pyro_smokelessflame0707070000010000000006660000000000000000010000001237543420700003700000000034obj/AutoDopNetwork/merge1.init type = merge
matchesdef = 0
0707070000010000000006660000000000000000010000001237543420700003600000000764obj/AutoDopNetwork/merge1.def comment ""
position -3.3888 1.1295
cachesize 1
connectornextid 2
flags =  lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress off exposed on
outputsNamed3
{
0 "output1"
}
inputsNamed3
{
1 	pyrosolver1 0 1 "input1"
}
inputs
{
0 	pyrosolver1 0 1
}
stat
{
  create 1408645038
  modify 1408645047
  author jeff_wagner@lorient-3.local
  access 0777
}
color UT_Color RGB 0.8 0.8 0.8 
delscript ""
exprlanguage hscript
end
0707070000010000000006660000000000000000010000001237543420700003600000000263obj/AutoDopNetwork/merge1.chn {
    channel activation {
      lefttype = extend
      righttype = extend
      default = 1
      flags = 0
      segment { length = 0 value = 1 1 expr = constant() }
    }
  }
0707070000010000000006660000000000000000010000001237543420700003700000000302obj/AutoDopNetwork/merge1.parm {
version 0.8
activation	[ 0	locks=0 ]	(	[ activation	1 ] 	)
activationrules	[ 0	locks=0 ]	(	0	)
affectortype	[ 0	locks=0 ]	(	"mutual"	)
relationship	[ 0	locks=0 ]	(	SIM_RelationshipCollide	)
}
0707070000010000000006660000000000000000010000001237543420700004300000000140obj/AutoDopNetwork/merge1.userdata     ___Version___    13.0.476 ___toolcount___    2 ___toolid___    pyro_smokelessflame0707070000010000000006660000000000000000010000001237543420700003700000000034obj/AutoDopNetwork/merge2.init type = merge
matchesdef = 0
0707070000010000000006660000000000000000010000001237543420700003600000001032obj/AutoDopNetwork/merge2.def comment ""
position -0.753067 3.2379
cachesize 1
connectornextid 2
flags =  lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress off exposed on
outputsNamed3
{
0 "output1"
}
inputsNamed3
{
1 	source_fuel_from_grid_object1 0 1 "input1"
}
inputs
{
0 	source_fuel_from_grid_object1 0 1
}
stat
{
  create 1408645043
  modify 1408645047
  author jeff_wagner@lorient-3.local
  access 0777
}
color UT_Color RGB 0.8 0.8 0.8 
delscript ""
exprlanguage hscript
end
0707070000010000000006660000000000000000010000001237543420700003600000000263obj/AutoDopNetwork/merge2.chn {
    channel activation {
      lefttype = extend
      righttype = extend
      default = 1
      flags = 0
      segment { length = 0 value = 1 1 expr = constant() }
    }
  }
0707070000010000000006660000000000000000010000001237543420700003700000000303obj/AutoDopNetwork/merge2.parm {
version 0.8
activation	[ 0	locks=0 ]	(	[ activation	1 ] 	)
activationrules	[ 0	locks=0 ]	(	0	)
affectortype	[ 0	locks=0 ]	(	"ordered"	)
relationship	[ 0	locks=0 ]	(	SIM_RelationshipCollide	)
}
0707070000010000000006660000000000000000010000001237543420700004300000000140obj/AutoDopNetwork/merge2.userdata     ___Version___    13.0.476 ___toolcount___    2 ___toolid___    pyro_smokelessflame0707070000010000000006660000000000000000010000001237543420700003100000000131obj/AutoDopNetwork.order 7
gravity1
merge1
pyrosolver1
pyro
resize_container
source_fuel_from_grid_object1
merge2
0707070000010000000006660000000000000000010000001237543420700002700000000002obj/AutoDopNetwork.net 1
0707070000010000000006660000000000000000010000001237543420700003300000000032obj/import_pyro_build.init type = geo
matchesdef = 0
0707070000010000000006660000000000000000010000001237543420700003200000001117obj/import_pyro_build.def objflags objflags =  origin off
pretransform UT_DMatrix4 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1
comment ""
position -0.733384 -0.0305576
cachesize 1
connectornextid 2
flags =  lock off model off template off footprint off xray off bypass off display on render off highlight off unload off savedata off compress off exposed on selectable on
outputsNamed3
{
1 "output1"
}
inputsNamed3
{
0 	"" "" 1 "input1"
}
inputs
{
0 	"" 0 1
}
stat
{
  create 1408645038
  modify 1408645049
  author jeff_wagner@lorient-3.local
  access 0777
}
color UT_Color RGB 0.8 0.8 0.8 
delscript ""
exprlanguage hscript
end
0707070000010000000006660000000000000000010000001237543420700004300000022462obj/import_pyro_build.spareparmdef     group {
	name	"stdswitcher5"
	label	"Transform"

	parm {
	    name	"keeppos"
	    baseparm
	    joinnext
	    export	none
	}
	parm {
	    name	"pre_xform"
	    baseparm
	    export	none
	}
	parm {
	    name	"xOrd"
	    baseparm
	    joinnext
	    export	none
	}
	parm {
	    name	"rOrd"
	    baseparm
	    export	none
	}
	parm {
	    name	"t"
	    baseparm
	    export	all
	}
	parm {
	    name	"r"
	    baseparm
	    export	all
	}
	parm {
	    name	"s"
	    baseparm
	    export	none
	}
	parm {
	    name	"p"
	    baseparm
	    export	none
	}
	parm {
	    name	"scale"
	    baseparm
	    export	none
	}
	parm {
	    name	"lookatpath"
	    baseparm
	    export	none
	}
	parm {
	    name	"lookup"
	    baseparm
	    export	none
	}
	parm {
	    name	"pathobjpath"
	    baseparm
	    export	none
	}
	parm {
	    name	"roll"
	    baseparm
	    export	none
	}
	parm {
	    name	"pos"
	    baseparm
	    export	none
	}
	parm {
	    name	"uparmtype"
	    baseparm
	    export	none
	}
	parm {
	    name	"pathorient"
	    baseparm
	    export	none
	}
	parm {
	    name	"up"
	    baseparm
	    export	none
	}
	parm {
	    name	"bank"
	    baseparm
	    export	none
	}
    }

    group {
	name	"stdswitcher5_1"
	label	"Material"

	parm {
	    name	"shop_materialpath"
	    baseparm
	    joinnext
	    export	none
	}
	parm {
	    name	"shop_materialopts"
	    baseparm
	    export	none
	}
    }

    group {
	name	"stdswitcher5_2"
	label	"Render"

	parm {
	    name	"tdisplay"
	    baseparm
	    joinnext
	    export	none
	}
	parm {
	    name	"display"
	    baseparm
	    export	none
	}
	parm {
	    name	"vm_phantom"
	    label	"Phantom"
	    type	toggle
	    default	{ "0" }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "spare_category" "Render" }
	}
	parm {
	    name	"vm_renderable"
	    label	"Renderable"
	    type	toggle
	    default	{ "1" }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "spare_category" "Render" }
	}
	parm {
	    name	"viewportlod"
	    label	"Display As"
	    type	ordinal
	    default	{ "full" }
	    help	"Choose how the object's geometry should be rendered in the viewport"
	    menu	{
		"full"	"Full Geometry"
		"points"	"Point Cloud"
		"box"	"Bounding Box"
		"centroid"	"Centroid"
		"hidden"	"Hidden"
		"subd"	"Subdivision Surface"
	    }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "spare_category" "Render" }
	}
	parm {
	    name	"vm_rendersubd"
	    label	"Render Polygons As Subdivision (Mantra)"
	    type	toggle
	    default	{ "0" }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "spare_category" "Geometry" }
	}
	parm {
	    name	"vm_subdstyle"
	    label	"Subdivision Style"
	    type	string
	    default	{ "mantra_catclark" }
	    hidewhen	"{ vm_rendersubd == 0 }"
	    menu	{
		"mantra_catclark"	"Mantra Catmull-Clark"
		"osd_catclark"	"OpenSubdiv Catmull-Clark"
	    }
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "spare_category" "Geometry" }
	}
	parm {
	    name	"vm_subdgroup"
	    label	"Subdivision Group"
	    type	string
	    default	{ "" }
	    hidewhen	"{ vm_rendersubd == 0 }"
	    range	{ 0 1 }
	    export	none
	    parmtag	{ "spare_category" "Geometry" }
	}
	group {
	    name	"folder0"
	    label	"Shading"

	    parm {
		name	"categories"
		label	"Categories"
		type	string
		default	{ "" }
		help	"A list of tags which can be used to select the object"
		range	{ 0 1 }
		export	none
		parmtag	{ "spare_category" "Shading" }
	    }
	    parm {
		name	"reflectmask"
		label	"Reflection Mask"
		type	oplist
		default	{ "*" }
		help	"Objects that will be reflected on this object."
		range	{ 0 1 }
		export	none
		parmtag	{ "opexpand" "1" }
		parmtag	{ "opfilter" "!!OBJ/GEOMETRY!!" }
		parmtag	{ "oprelative" "/obj" }
		parmtag	{ "spare_category" "Shading" }
	    }
	    parm {
		name	"refractmask"
		label	"Refraction Mask"
		type	oplist
		default	{ "*" }
		help	"Objects that will be refracted on this object."
		range	{ 0 1 }
		export	none
		parmtag	{ "opexpand" "1" }
		parmtag	{ "opfilter" "!!OBJ/GEOMETRY!!" }
		parmtag	{ "oprelative" "/obj" }
		parmtag	{ "spare_category" "Shading" }
	    }
	    parm {
		name	"lightmask"
		label	"Light Mask"
		type	oplist
		default	{ "*" }
		help	"Lights that illuminate this object."
		range	{ 0 1 }
		export	none
		parmtag	{ "opexpand" "1" }
		parmtag	{ "opfilter" "!!OBJ/LIGHT!!" }
		parmtag	{ "oprelative" "/obj" }
		parmtag	{ "spare_category" "Shading" }
	    }
	    parm {
		name	"vm_volumefilter"
		label	"Volume Filter"
		type	string
		default	{ "box" }
		menu	{
		    "box"	"Box Filter"
		    "gaussian"	"Gaussian"
		    "bartlett"	"Bartlett (triangle)"
		    "catrom"	"Catmull-Rom"
		    "hanning"	"Hanning"
		    "blackman"	"Blackman"
		    "sinc"	"Sinc (sharpening)"
		}
		range	{ 0 1 }
		export	none
		parmtag	{ "spare_category" "Shading" }
	    }
	    parm {
		name	"vm_volumefilterwidth"
		label	"Volume Filter Width"
		type	float
		default	{ "1" }
		range	{ 0.001 5 }
		export	none
		parmtag	{ "spare_category" "Shading" }
	    }
	    parm {
		name	"vm_matte"
		label	"Matte shading"
		type	toggle
		default	{ "0" }
		range	{ 0 1 }
		export	none
		parmtag	{ "spare_category" "Shading" }
	    }
	    parm {
		name	"vm_rayshade"
		label	"Raytrace Shading"
		type	toggle
		default	{ "0" }
		range	{ 0 1 }
		export	none
		parmtag	{ "spare_category" "Shading" }
	    }
	}

	group {
	    name	"folder0_1"
	    label	"Sampling"

	    parm {
		name	"geo_velocityblur"
		label	"Geometry Velocity Blur"
		type	toggle
		default	{ "0" }
		disablewhen	"{ allowmotionblur == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "spare_category" "Sampling" }
	    }
	}

	group {
	    name	"folder0_2"
	    label	"Dicing"

	    parm {
		name	"vm_shadingquality"
		label	"Shading Quality"
		type	float
		default	{ "1" }
		range	{ 0 10 }
		export	none
		parmtag	{ "spare_category" "Dicing" }
	    }
	    parm {
		name	"vm_flatness"
		label	"Dicing Flatness"
		type	float
		default	{ "0.05" }
		range	{ 0 1 }
		export	none
		parmtag	{ "spare_category" "Dicing" }
	    }
	    parm {
		name	"vm_raypredice"
		label	"Ray Predicing"
		type	integer
		default	{ "0" }
		menu	{
		    "0"	"Disable Predicing"
		    "1"	"Full Predicing"
		    "2"	"Precompute Bounds"
		}
		range	{ 0 10 }
		export	none
		parmtag	{ "spare_category" "Dicing" }
	    }
	    parm {
		name	"vm_curvesurface"
		label	"Shade Curves As Surfaces"
		type	toggle
		default	{ "0" }
		range	{ 0 1 }
		export	none
		parmtag	{ "spare_category" "Dicing" }
	    }
	}

	group {
	    name	"folder0_3"
	    label	"Geometry"

	    parm {
		name	"vm_rmbackface"
		label	"Backface Removal"
		type	toggle
		default	{ "0" }
		range	{ 0 1 }
		export	none
		parmtag	{ "spare_category" "Geometry" }
	    }
	    parm {
		name	"shop_geometrypath"
		label	"Procedural Shader"
		type	oppath
		default	{ "" }
		range	{ 0 1 }
		export	none
		parmtag	{ "opfilter" "!!SHOP/GEOMETRY!!" }
		parmtag	{ "oprelative" "." }
		parmtag	{ "spare_category" "Geometry" }
	    }
	    parm {
		name	"vm_forcegeometry"
		label	"Force Procedural Geometry Output"
		type	toggle
		default	{ "1" }
		range	{ 0 1 }
		export	none
		parmtag	{ "spare_category" "Geometry" }
	    }
	    parm {
		name	"vm_renderpoints"
		label	"Render As Points (Mantra)"
		type	integer
		default	{ "2" }
		menu	{
		    "0"	"No Point Rendering"
		    "1"	"Render Only Points"
		    "2"	"Render Unconnected Points"
		}
		range	{ 0 10 }
		export	none
		parmtag	{ "spare_category" "Geometry" }
	    }
	    parm {
		name	"vm_usenforpoints"
		label	"Use N For Point Rendering"
		type	toggle
		default	{ "0" }
		disablewhen	"{ vm_renderpoints == 0 }"
		range	{ 0 1 }
		export	none
		parmtag	{ "spare_category" "Geometry" }
	    }
	    parm {
		name	"vm_pointscale"
		label	"Point Scale"
		type	float
		default	{ "1" }
		disablewhen	"{ vm_renderpoints == 0 }"
		range	{ 0! 10 }
		export	none
		parmtag	{ "spare_category" "Geometry" }
	    }
	    parm {
		name	"vm_metavolume"
		label	"Metaballs as Volume"
		type	toggle
		default	{ "0" }
		range	{ 0 1 }
		export	none
		parmtag	{ "spare_category" "Geometry" }
	    }
	    parm {
		name	"vm_coving"
		label	"Coving"
		type	integer
		default	{ "1" }
		menu	{
		    "0"	"Disable Coving"
		    "1"	"Coving for displacement/sub-d"
		    "2"	"Coving for all primitives"
		}
		range	{ 0 10 }
		export	none
		parmtag	{ "spare_category" "Geometry" }
	    }
	    parm {
		name	"vm_materialoverride"
		label	"Material Override"
		type	string
		default	{ "compact" }
		menu	{
		    "none"	"Disabled"
		    "full"	"Evaluate for Each Primitve/Point"
		    "compact"	"Evaluate Once"
		}
		range	{ 0 1 }
		export	none
		parmtag	{ "spare_category" "Geometry" }
	    }
	    parm {
		name	"vm_computeN"
		label	"Automatically Compute Normals"
		type	toggle
		default	{ "1" }
		range	{ 0 1 }
		export	none
		parmtag	{ "spare_category" "Geometry" }
	    }
	    parm {
		name	"vm_overridedetail"
		label	"Ignore Geometry Attribute Shaders"
		type	toggle
		default	{ "0" }
		range	{ 0 1 }
		export	none
		parmtag	{ "spare_category" "Geometry" }
	    }
	}

    }

    group {
	name	"stdswitcher5_3"
	label	"Misc"

	parm {
	    name	"use_dcolor"
	    baseparm
	    export	none
	}
	parm {
	    name	"dcolor"
	    baseparm
	    export	none
	}
	parm {
	    name	"picking"
	    baseparm
	    export	none
	}
	parm {
	    name	"pickscript"
	    baseparm
	    export	none
	}
	parm {
	    name	"caching"
	    baseparm
	    export	none
	}
	parm {
	    name	"vport_shadeopen"
	    baseparm
	    export	none
	}
	parm {
	    name	"vport_displayassubdiv"
	    baseparm
	    invisible
	    export	none
	}
    }

0707070000010000000006660000000000000000010000001237543420700003300000004164obj/import_pyro_build.parm {
version 0.8
stdswitcher	[ 0	locks=0 ]	(	0	0	0	0	)
keeppos	[ 0	locks=0 ]	(	"off"	)
pre_xform	[ 0	locks=0 ]	(	0	)
xOrd	[ 0	locks=0 ]	(	"srt"	)
rOrd	[ 0	locks=0 ]	(	"xyz"	)
t	[ 0	locks=0 ]	(	0	0	0	)
r	[ 0	locks=0 ]	(	0	0	0	)
s	[ 0	locks=0 ]	(	1	1	1	)
p	[ 0	locks=0 ]	(	0	0	0	)
scale	[ 0	locks=0 ]	(	1	)
lookatpath	[ 0	locks=0 ]	(	""	)
lookup	[ 0	locks=0 ]	(	on	)
pathobjpath	[ 0	locks=0 ]	(	""	)
roll	[ 0	locks=0 ]	(	0	)
pos	[ 0	locks=0 ]	(	0	)
uparmtype	[ 0	locks=0 ]	(	"arc"	)
pathorient	[ 0	locks=0 ]	(	1	)
up	[ 0	locks=0 ]	(	0	1	0	)
bank	[ 0	locks=0 ]	(	0	)
shop_materialpath	[ 0	locks=0 ]	(	/shop/smokelessflames	)
shop_materialopts	[ 0	locks=0 ]	(	0	)
tdisplay	[ 0	locks=0 ]	(	"off"	)
display	[ 0	locks=0 ]	(	1	)
use_dcolor	[ 0	locks=0 ]	(	"off"	)
dcolor	[ 0	locks=0 ]	(	1	1	1	)
picking	[ 0	locks=0 ]	(	"on"	)
pickscript	[ 0	locks=0 ]	(	""	)
caching	[ 0	locks=0 ]	(	"off"	)
vport_shadeopen	[ 0	locks=0 ]	(	"off"	)
vport_displayassubdiv	[ 0	locks=0 ]	(	"off"	)
stdswitcher5	[ 0	locks=0 ]	(	0	0	0	0	)
vm_phantom	[ 0	locks=0 ]	(	"off"	)
vm_renderable	[ 0	locks=0 ]	(	"on"	)
viewportlod	[ 0	locks=0 ]	(	"full"	)
vm_rendersubd	[ 0	locks=0 ]	(	"off"	)
vm_subdstyle	[ 0	locks=0 ]	(	mantra_catclark	)
vm_subdgroup	[ 0	locks=0 ]	(	""	)
folder0	[ 0	locks=0 ]	(	0	0	0	0	)
categories	[ 0	locks=0 ]	(	""	)
reflectmask	[ 0	locks=0 ]	(	*	)
refractmask	[ 0	locks=0 ]	(	*	)
lightmask	[ 0	locks=0 ]	(	*	)
vm_volumefilter	[ 0	locks=0 ]	(	box	)
vm_volumefilterwidth	[ 0	locks=0 ]	(	1	)
vm_matte	[ 0	locks=0 ]	(	"off"	)
vm_rayshade	[ 0	locks=0 ]	(	"off"	)
geo_velocityblur	[ 0	locks=0 ]	(	"on"	)
vm_shadingquality	[ 0	locks=0 ]	(	1	)
vm_flatness	[ 0	locks=0 ]	(	0.050000000000000003	)
vm_raypredice	[ 0	locks=0 ]	(	0	)
vm_curvesurface	[ 0	locks=0 ]	(	"off"	)
vm_rmbackface	[ 0	locks=0 ]	(	"off"	)
shop_geometrypath	[ 0	locks=0 ]	(	""	)
vm_forcegeometry	[ 0	locks=0 ]	(	"on"	)
vm_renderpoints	[ 0	locks=0 ]	(	2	)
vm_usenforpoints	[ 0	locks=0 ]	(	"off"	)
vm_pointscale	[ 0	locks=0 ]	(	1	)
vm_metavolume	[ 0	locks=0 ]	(	"off"	)
vm_coving	[ 0	locks=0 ]	(	1	)
vm_materialoverride	[ 0	locks=0 ]	(	compact	)
vm_computeN	[ 0	locks=0 ]	(	"on"	)
vm_overridedetail	[ 0	locks=0 ]	(	"off"	)
}
0707070000010000000006660000000000000000010000001237543420700003700000000140obj/import_pyro_build.userdata     ___Version___    13.0.476 ___toolcount___    2 ___toolid___    pyro_smokelessflame0707070000010000000006660000000000000000010000001237543420700006500000000040obj/import_pyro_build/import_pyro_visualization.init type = dopimport
matchesdef = 0
0707070000010000000006660000000000000000010000001237543420700006400000000715obj/import_pyro_build/import_pyro_visualization.def sopflags sopflags = 
comment ""
position 1.6944 -0.8942
cachesize 1
connectornextid 0
flags =  lock off model off template off footprint off xray off bypass off display on render off highlight off unload off savedata off compress off exposed on
outputsNamed3
{
}
inputsNamed3
{
}
inputs
{
}
stat
{
  create 1408645038
  modify 1408645054
  author jeff_wagner@lorient-3.local
  access 0777
}
color UT_Color RGB 0.8 0.8 0.8 
delscript ""
exprlanguage hscript
end
0707070000010000000006660000000000000000010000001237543420700006400000000230obj/import_pyro_build/import_pyro_visualization.chn {
    channel integrateovertime {
      lefttype = extend
      righttype = extend
      flags = 0
      segment { length = 0 expr = 1/$FPS }
    }
  }
0707070000010000000006660000000000000000010000001237543420700006500000001736obj/import_pyro_build/import_pyro_visualization.parm {
version 0.8
doppath	[ 0	locks=0 ]	(	/obj/AutoDopNetwork	)
objpattern	[ 0	locks=0 ]	(	`dopobjscreatedby(\"/obj/AutoDopNetwork/pyro\")`	)
singleobject	[ 0	locks=0 ]	(	"off"	)
importstyle	[ 0	locks=0 ]	(	"fetch"	)
pivot	[ 0	locks=0 ]	(	"centroid"	)
viewportlod	[ 0	locks=0 ]	(	"full"	)
importbyname	[ 0	locks=0 ]	(	"on"	)
useobjidgroups	[ 0	locks=0 ]	(	"off"	)
geodatapath	[ 0	locks=0 ]	(	Visualization	)
inverseop	[ 0	locks=0 ]	(	"off"	)
doposxform	[ 0	locks=0 ]	(	"on"	)
doxform	[ 0	locks=0 ]	(	"on"	)
keepworldspacepos	[ 0	locks=0 ]	(	"off"	)
centeratpivot	[ 0	locks=0 ]	(	"on"	)
addname	[ 0	locks=0 ]	(	"off"	)
adddopobjectname	[ 0	locks=0 ]	(	"on"	)
adddopobjectid	[ 0	locks=0 ]	(	"off"	)
addtoexistingvel	[ 0	locks=0 ]	(	"off"	)
deleteabandoned	[ 0	locks=0 ]	(	"on"	)
pointvels	[ 0	locks=0 ]	(	"instant"	)
integrateovertime	[ 0	locks=0 ]	(	[ integrateovertime	0.041666666666666664 ] 	)
attribslabel	[ 0	locks=0 ]	(	)
xformattribs	[ 0	locks=0 ]	(	N	)
donotsim	[ 0	locks=0 ]	(	"off"	)
}
0707070000010000000006660000000000000000010000001237543420700007100000000140obj/import_pyro_build/import_pyro_visualization.userdata     ___Version___    13.0.476 ___toolcount___    2 ___toolid___    pyro_smokelessflame0707070000010000000006660000000000000000010000001237543420700005500000000034obj/import_pyro_build/import_pyrofields.init type = dopio
matchesdef = 1
0707070000010000000006660000000000000000010000001237543420700005400000000702obj/import_pyro_build/import_pyrofields.def sopflags sopflags = 
comment ""
position 0 0
cachesize 1
connectornextid 0
flags =  lock off model off template off footprint off xray off bypass off display off render on highlight off unload off savedata off compress off exposed on
outputsNamed3
{
}
inputsNamed3
{
}
inputs
{
}
stat
{
  create 1408645038
  modify 1408645068
  author jeff_wagner@lorient-3.local
  access 0777
}
color UT_Color RGB 0.8 0.8 0.8 
delscript ""
exprlanguage hscript
end
0707070000010000000006660000000000000000010000001237543420700005500000004510obj/import_pyro_build/import_pyrofields.parm {
version 0.8
loadfromdisk	[ 0	locks=0 ]	(	"off"	)
reload	[ 0	locks=0 ]	(	0	)
file	[ 0	locks=0 ]	(	$HIP/geo/$HIPNAME.$OS.$F.bgeo	)
folder0	[ 0	locks=0 ]	(	0	0	)
doppath	[ 0	locks=0 ]	(	/obj/AutoDopNetwork	)
dopnode	[ 0	locks=0 ]	(	/obj/AutoDopNetwork/pyro	)
defobj	[ 0	locks=0 ]	(	""	)
doposxform	[ 0	locks=0 ]	(	"on"	)
doxform	[ 0	locks=0 ]	(	"on"	)
computeminmax	[ 0	locks=0 ]	(	"off"	)
importsimsettings	[ 0	locks=0 ]	(	"on"	)
presets	[ 0	locks=0 ]	(	choose	)
folder1	[ 0	locks=0 ]	(	0	0	)
fields	[ 0	locks=0 ]	(	7	)
delete_attributes	[ 0	locks=0 ]	(	""	)
attribute_numcasts	[ 0	locks=0 ]	(	0	)
compression	[ 0	locks=0 ]	(	0	)
execute	[ 0	locks=0 ]	(	0	)
renderdialog	[ 0	locks=0 ]	(	0	)
trange	[ 0	locks=0 ]	(	"normal"	)
f	[ 0	locks=0 ]	(	1	240	1	)
take	[ 0	locks=0 ]	(	_current_	)
xformtype	[ 0	locks=0 ]	(	"none"	)
mkpath	[ 0	locks=0 ]	(	"on"	)
initsim	[ 0	locks=0 ]	(	"off"	)
alfprogress	[ 0	locks=0 ]	(	"off"	)
reportnetwork	[ 0	locks=0 ]	(	"off"	)
saveretry	[ 0	locks=0 ]	(	0	)
savebackground	[ 0	locks=0 ]	(	"on"	)
tprerender	[ 0	locks=0 ]	(	"on"	)
prerender	[ 0	locks=0 ]	(	""	)
lprerender	[ 0	locks=0 ]	(	hscript	)
tpreframe	[ 0	locks=0 ]	(	"on"	)
preframe	[ 0	locks=0 ]	(	""	)
lpreframe	[ 0	locks=0 ]	(	hscript	)
tpostframe	[ 0	locks=0 ]	(	"on"	)
postframe	[ 0	locks=0 ]	(	""	)
lpostframe	[ 0	locks=0 ]	(	hscript	)
tpostrender	[ 0	locks=0 ]	(	"on"	)
postrender	[ 0	locks=0 ]	(	""	)
lpostrender	[ 0	locks=0 ]	(	hscript	)
enable1	[ 0	locks=0 ]	(	"off"	)
visible1	[ 0	locks=0 ]	(	"smoke"	)
objname1	[ 0	locks=0 ]	(	""	)
fieldname1	[ 0	locks=0 ]	(	density	)
enable2	[ 0	locks=0 ]	(	"on"	)
visible2	[ 0	locks=0 ]	(	"invisible"	)
objname2	[ 0	locks=0 ]	(	""	)
fieldname2	[ 0	locks=0 ]	(	vel	)
enable3	[ 0	locks=0 ]	(	"on"	)
visible3	[ 0	locks=0 ]	(	"invisible"	)
objname3	[ 0	locks=0 ]	(	""	)
fieldname3	[ 0	locks=0 ]	(	rest	)
enable4	[ 0	locks=0 ]	(	"on"	)
visible4	[ 0	locks=0 ]	(	"invisible"	)
objname4	[ 0	locks=0 ]	(	""	)
fieldname4	[ 0	locks=0 ]	(	rest2	)
enable5	[ 0	locks=0 ]	(	"on"	)
visible5	[ 0	locks=0 ]	(	"invisible"	)
objname5	[ 0	locks=0 ]	(	""	)
fieldname5	[ 0	locks=0 ]	(	temperature	)
enable6	[ 0	locks=0 ]	(	"on"	)
visible6	[ 0	locks=0 ]	(	"smoke"	)
objname6	[ 0	locks=0 ]	(	""	)
fieldname6	[ 0	locks=0 ]	(	heat	)
enable7	[ 0	locks=0 ]	(	"on"	)
visible7	[ 0	locks=0 ]	(	"invisible"	)
objname7	[ 0	locks=0 ]	(	""	)
fieldname7	[ 0	locks=0 ]	(	fuel	)
}
0707070000010000000006660000000000000000010000001237543420700006100000000117obj/import_pyro_build/import_pyrofields.userdata     ___Version___    1 ___toolcount___    2 ___toolid___    	pyro_burn0707070000010000000006660000000000000000010000001237543420700003400000000056obj/import_pyro_build.order 2
import_pyro_visualization
import_pyrofields
0707070000010000000006660000000000000000010000001237543420700003200000000002obj/import_pyro_build.net 1
0707070000010000000006660000000000000000010000001237543420700001200000000060obj.order 3
grid_object1
AutoDopNetwork
import_pyro_build
0707070000010000000006660000000000000000010000001237543420700001000000000002obj.net 1
0707070000010000000006660000000000000000010000001237543420700001000000000660out.def comment ""
position 5 0.5
cachesize 1
connectornextid 0
flags =  lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress off exposed on
outputsNamed3
{
}
inputsNamed3
{
}
inputs
{
}
stat
{
  create 1408643241
  modify 1408643242
  author jeff_wagner@lorient-3.local
  access 0777
}
color UT_Color RGB 0.8 0.8 0.8 
delscript ""
exprlanguage hscript
end
0707070000010000000006660000000000000000010000001237543420700001100000000020out.parm {
version 0.8
}
0707070000010000000006660000000000000000010000001237543420700001500000000041out.userdata     ___Version___    13.0.4760707070000010000000006660000000000000000010000001237543420700001000000000002out.net 1
0707070000010000000006660000000000000000010000001237543420700001100000000662part.def comment ""
position 5.5 1.5
cachesize 1
connectornextid 0
flags =  lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress off exposed on
outputsNamed3
{
}
inputsNamed3
{
}
inputs
{
}
stat
{
  create 1408643241
  modify 1408643242
  author jeff_wagner@lorient-3.local
  access 0777
}
color UT_Color RGB 0.8 0.8 0.8 
delscript ""
exprlanguage hscript
end
0707070000010000000006660000000000000000010000001237543420700001200000000020part.parm {
version 0.8
}
0707070000010000000006660000000000000000010000001237543420700001600000000041part.userdata     ___Version___    13.0.4760707070000010000000006660000000000000000010000001237543420700001100000000002part.net 1
0707070000010000000006660000000000000000010000001237543420700000700000000660ch.def comment ""
position 4.5 1
cachesize 1
connectornextid 0
flags =  lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress off exposed on
outputsNamed3
{
}
inputsNamed3
{
}
inputs
{
}
stat
{
  create 1408643241
  modify 1408643242
  author jeff_wagner@lorient-3.local
  access 0777
}
color UT_Color RGB 0.8 0.8 0.8 
delscript ""
exprlanguage hscript
end
0707070000010000000006660000000000000000010000001237543420700001000000000020ch.parm {
version 0.8
}
0707070000010000000006660000000000000000010000001237543420700001400000000041ch.userdata     ___Version___    13.0.4760707070000010000000006660000000000000000010000001237543420700000700000000002ch.net 1
0707070000010000000006660000000000000000010000001237543420700001100000000002shop.net 1
0707070000010000000006660000000000000000010000001237543420700001000000000662img.def comment ""
position 4.5 2.5
cachesize 1
connectornextid 0
flags =  lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress off exposed on
outputsNamed3
{
}
inputsNamed3
{
}
inputs
{
}
stat
{
  create 1408643241
  modify 1408643243
  author jeff_wagner@lorient-3.local
  access 0777
}
color UT_Color RGB 0.8 0.8 0.8 
delscript ""
exprlanguage hscript
end
0707070000010000000006660000000000000000010000001237543420700001100000000020img.parm {
version 0.8
}
0707070000010000000006660000000000000000010000001237543420700001500000000041img.userdata     ___Version___    13.0.4760707070000010000000006660000000000000000010000001237543420700001700000000032img/comp1.init type = img
matchesdef = 0
0707070000010000000006660000000000000000010000001237543420700001600000000656img/comp1.def comment ""
position 0 0
cachesize 1
connectornextid 0
flags =  lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress off exposed on
outputsNamed3
{
}
inputsNamed3
{
}
inputs
{
}
stat
{
  create 1408643242
  modify 1408643242
  author jeff_wagner@lorient-3.local
  access 0777
}
color UT_Color RGB 0.8 0.8 0.8 
delscript ""
exprlanguage hscript
end
0707070000010000000006660000000000000000010000001237543420700001700000000020img/comp1.parm {
version 0.8
}
0707070000010000000006660000000000000000010000001237543420700002300000000041img/comp1.userdata     ___Version___    13.0.4760707070000010000000006660000000000000000010000001237543420700001600000000002img/comp1.net 1
0707070000010000000006660000000000000000010000001237543420700001000000000002img.net 1
0707070000010000000006660000000000000000010000001237543420700001000000000002vex.net 1
0707070000010000000006660000000000000000010000001237543420700002400000000000.userdisplayoptions 0707070000010000000006660000000000000000010000001237543420700001500000077571.application neteditor -d Technical -b 0 -l 0 -f '' -q 1.000000 -v /obj/AutoDopNetwork -6.86591  -1.01108 0.774723 panetab11
neteditor -d Technical -b 0 -l 0 -f '' -q 1.000000 -v /obj/grid_object1/attribfade1 -1.06201  1.65725 0.864281 panetab11
neteditor -d Technical -b 0 -l 0 -f '' -q 1.000000 -v /obj/grid_object1/vopsop1 9.78845  0.04488 0.896378 panetab11
neteditor -d Technical -b 0 -l 0 -f '' -q 1.000000 -v /obj/grid_object1 -4.20325  -3.70082 0.896378 panetab11
neteditor -d Technical -b 0 -l 0 -f '' -q 1.000000 -v /obj -4.97326  -3.18564 0.85 panetab11
performance -c on -d on -f on -g off -k on -m off -n on -o on -t off -v on -y on -u on -e off -r absolute -w tree panetab17
chopview -a 0 -c "" -k 0 -m 1 -b 1 -e 1 -f 0 -g 0 -H 1 -i 0 -j 1 -l 0 -n 1 -V 0 -y 0 -B 0 -s 0 -S 0.034375 -u 0 -v 0 -h -10 310 -r -1.5 1.5 Technical.panetab14
imgdispopt -m 10 -P on -M on -A on -g 2.2 -G "* ^P ^Pz ^N ^M ^B ^V ^Af" -B 1 -v split -V 2 2 -d h -a off -i 2 -b 0 0 0 -o "" -h on -H on -c 0.8 0.8 0.8 -C 1 1 1 -S 1 1 0 -R 6 -F dc -D "" -I "" -f "" -s off -r 256 256 -p on -l off -t on
imgview -z 1 -p (none) 0 -c 0 -l on -s off -i imgview3
imgview2d  -V on -L on -G on -H on -P off -m 0 -p 0 1 -b 1 1 0 -g 2.2 -d "" -c -1 -t off -i on -X on imgview3 1
imgview2d  -V on -L on -G on -H on -P off -m 0 -p 0 1 -b 1 1 0 -g 2.2 -d "" -c -1 -t off -i on -X on imgview3 2
imgview2d  -V on -L on -G on -H on -P off -m 0 -p 0 1 -b 1 1 0 -g 2.2 -d "" -c -1 -t off -i on -X on imgview3 3
imgview2d  -V on -L on -G on -H on -P off -m 0 -p 0 1 -b 1 1 0 -g 2.2 -d "" -c -1 -t off -i on -X on imgview3 4
imgview2d  -V on -L on -G on -H on -P off -m 0 -p 0 1 -b 1 1 0 -g 2.2 -d "" -c -1 -t off -i on -X on imgview3 5
imgview2d  -V on -L on -G on -H on -P off -m 0 -p 0 1 -b 1 1 0 -g 2.2 -d "" -c -1 -t off -i on -X on imgview3 6
imgview2d  -V on -L on -G on -H on -P off -m 0 -p 0 1 -b 1 1 0 -g 2.2 -d "" -c -1 -t off -i on -X on imgview3 7
imgview2d  -V on -L on -G on -H on -P off -m 0 -p 0 1 -b 1 1 0 -g 2.2 -d "" -c -1 -t off -i on -X on imgview3 8
imgview2d  -V on -L on -G on -H on -P off -m 0 -p 0 1 -b 1 1 0 -g 2.2 -d "" -c -1 -t off -i on -X on imgview3 9
imgview2d  -V on -L on -G on -H on -P off -m 0 -p 0 1 -b 1 1 0 -g 2.2 -d "" -c -1 -t off -i on -X on imgview3 10
imgview2d  -V on -L on -G on -H on -P off -m 0 -p 0 1 -b 1 1 0 -g 2.2 -d "" -c -1 -t off -i on -X on imgview3 11
imgview2d  -V on -L on -G on -H on -P off -m 0 -p 0 1 -b 1 1 0 -g 2.2 -d "" -c -1 -t off -i on -X on imgview3 12
imgview2d  -V on -L on -G on -H on -P off -m 0 -p 0 1 -b 1 1 0 -g 2.2 -d "" -c -1 -t off -i on -X on imgview3 13
imgview2d  -V on -L on -G on -H on -P off -m 0 -p 0 1 -b 1 1 0 -g 2.2 -d "" -c -1 -t off -i on -X on imgview3 14
imgview2d  -V on -L on -G on -H on -P off -m 0 -p 0 1 -b 1 1 0 -g 2.2 -d "" -c -1 -t off -i on -X on imgview3 15
imgview2d  -V on -L on -G on -H on -P off -m 0 -p 0 1 -b 1 1 0 -g 2.2 -d "" -c -1 -t off -i on -X on imgview3 16
imgviewtime -V on -L on -G on -H on -P off -r 24 -u fr -g 0 -f on -e on -b on -d imgview3
imgviewhist -V on -L on -G on -H on -P off -c -1 -h 0 -i on imgview3 1
imgviewhist -V on -L on -G on -H on -P off -c -1 -h 0 -i on imgview3 2
imgviewhist -V on -L on -G on -H on -P off -c -1 -h 0 -i on imgview3 3
imgviewhist -V on -L on -G on -H on -P off -c -1 -h 0 -i on imgview3 4
imgviewhist -V on -L on -G on -H on -P off -c -1 -h 0 -i on imgview3 5
imgviewhist -V on -L on -G on -H on -P off -c -1 -h 0 -i on imgview3 6
imgviewhist -V on -L on -G on -H on -P off -c -1 -h 0 -i on imgview3 7
imgviewhist -V on -L on -G on -H on -P off -c -1 -h 0 -i on imgview3 8
imgviewhist -V on -L on -G on -H on -P off -c -1 -h 0 -i on imgview3 9
imgviewhist -V on -L on -G on -H on -P off -c -1 -h 0 -i on imgview3 10
imgviewhist -V on -L on -G on -H on -P off -c -1 -h 0 -i on imgview3 11
imgviewhist -V on -L on -G on -H on -P off -c -1 -h 0 -i on imgview3 12
imgviewhist -V on -L on -G on -H on -P off -c -1 -h 0 -i on imgview3 13
imgviewhist -V on -L on -G on -H on -P off -c -1 -h 0 -i on imgview3 14
imgviewhist -V on -L on -G on -H on -P off -c -1 -h 0 -i on imgview3 15
imgviewhist -V on -L on -G on -H on -P off -c -1 -h 0 -i on imgview3 16
viewerstow -b open -x open -l open -m hide -c hide -d open Technical.panetab2.world
vieweroption -a 2 -h 0 -m 1 -r 'View: Mantra' Technical.panetab2.world
viewlayout -s 2 Technical.panetab2.world
viewerinspect Technical.panetab2.world mode ( objects ) object_properties ( ) prim_properties ( ) enable ( 0 ) magnify ( 1 )
viewtype -t perspective Technical.panetab2.world.`vpname("Technical.panetab2.world",2)`
viewtype -t ortho_top Technical.panetab2.world.`vpname("Technical.panetab2.world",1)`
viewtype -t ortho_front Technical.panetab2.world.`vpname("Technical.panetab2.world",3)`
viewtype -t ortho_right Technical.panetab2.world.`vpname("Technical.panetab2.world",4)`
viewname -l on -n aaaa3 Technical.panetab2.world.`vpname("Technical.panetab2.world",2)`
viewname -l on -n aaaa2 Technical.panetab2.world.`vpname("Technical.panetab2.world",1)`
viewname -l on -n aaaa1 Technical.panetab2.world.`vpname("Technical.panetab2.world",3)`
viewname -l on -n aaaa0 Technical.panetab2.world.`vpname("Technical.panetab2.world",4)`
viewname -l off -n persp1 Technical.panetab2.world.`vpname("Technical.panetab2.world",2)`
viewname -l off -n top1 Technical.panetab2.world.`vpname("Technical.panetab2.world",1)`
viewname -l off -n front1 Technical.panetab2.world.`vpname("Technical.panetab2.world",3)`
viewname -l off -n right1 Technical.panetab2.world.`vpname("Technical.panetab2.world",4)`
viewdisplay -a on Technical.panetab2.world.persp1
viewdisplay -M unsel shade -N unsel n off -E unsel n off -I unsel n off Technical.panetab2.world.persp1
viewdisplay -N unsel t off -E unsel t off -I unsel t on Technical.panetab2.world.persp1
viewdisplay -N unsel l off -E unsel g off -I unsel l off Technical.panetab2.world.persp1
viewdisplay -N unsel p off -I unsel p off Technical.panetab2.world.persp1
viewdisplay -N unsel m off -I unsel h off Technical.panetab2.world.persp1
viewdisplay -I unsel b off Technical.panetab2.world.persp1
viewdisplay -I unsel f off Technical.panetab2.world.persp1
viewdisplay -M templ wire -N templ n off -E templ n off -I templ n off Technical.panetab2.world.persp1
viewdisplay -N templ t off -E templ t off -I templ t off Technical.panetab2.world.persp1
viewdisplay -N templ l off -E templ g off -I templ l off Technical.panetab2.world.persp1
viewdisplay -N templ p off -I templ p off Technical.panetab2.world.persp1
viewdisplay -N templ m off -I templ h off Technical.panetab2.world.persp1
viewdisplay -I templ b off Technical.panetab2.world.persp1
viewdisplay -I templ f off Technical.panetab2.world.persp1
viewdisplay -M curr_unsel wire -N curr_unsel n off -E curr_unsel n off -I curr_unsel n off Technical.panetab2.world.persp1
viewdisplay -N curr_unsel t off -E curr_unsel t off -I curr_unsel t on Technical.panetab2.world.persp1
viewdisplay -N curr_unsel l off -E curr_unsel g off -I curr_unsel l off Technical.panetab2.world.persp1
viewdisplay -N curr_unsel p off -I curr_unsel p off Technical.panetab2.world.persp1
viewdisplay -N curr_unsel m off -I curr_unsel h off Technical.panetab2.world.persp1
viewdisplay -I curr_unsel b off Technical.panetab2.world.persp1
viewdisplay -I curr_unsel f off Technical.panetab2.world.persp1
viewdispset -m off always -n off always -c off always -u off always -x off always -N off always -C off always -b off always -M off always -v off always -V off always -U off always -g off always -h off -P off -p off -f off -F off -l on -L on -G off -r unique scene Technical.panetab2.world.persp1
viewdispset -m off always -n off always -c off always -u off always -x off always -N off always -C off always -b off always -M off always -v off always -V off always -U off always -g off always -h off -P off -p off -f off -F off -l on -L on -G off -r scene selectscene Technical.panetab2.world.persp1
viewdispset -m off always -n off always -c off always -u off always -x off always -N off always -C off always -b off always -M off always -v off always -V off always -U off always -g off always -h off -P off -p off -f off -F off -l on -L off -G on -r unique ghostscene Technical.panetab2.world.persp1
viewdispset -m off always -n off always -c off always -u off always -x off always -N off always -C off always -b off always -M off always -v off always -V off always -U off always -g off always -h off -P on -p off -f off -F off -l on -L on -G off -r unique display Technical.panetab2.world.persp1
viewdispset -m off always -n off always -c off always -u off always -x off always -N off always -C off always -b off always -M off always -v off always -V off always -U off always -g off always -h off -P on -p off -f off -F off -l on -L off -G off -r unique current Technical.panetab2.world.persp1
viewdispset -m off always -n off always -c off always -u off always -x off always -N off always -C off always -b off always -M off always -v off always -V off always -U off always -g off always -h off -P off -p off -f off -F on -l on -L off -G on -r unique template Technical.panetab2.world.persp1
viewdisplay -A templ on -B wb -b off -d off -C 2 -e 1 -F off -f off -g on -G '*' -h off -H on -j off -J off Technical.panetab2.world.persp1
viewdisplay -A curr_all on -l 1 -L on -n 0.2 -o on -O on -q on -r on -s off -t on Technical.panetab2.world.persp1
viewdisplay -V 2 -z off -y off -x off -X off -U 4 -Y 4 -T on -R on -i on -D on -k off Technical.panetab2.world.persp1
viewdisplay -Q on -m on -v on Technical.panetab2.world.persp1
viewdisplay -W  off bound_box_wire 0 Technical.panetab2.world.persp1
viewdisplay -c on -K on -P points -p 3 Technical.panetab2.world.persp1
vieweffect -a 0 -A 4 -b on -B 0 -c on -d on -D on off -e 0.8 -E -30 -30 -100 -f 1 -F 0 -g 2.2 -G 0 -h 1 -H off -i on -I 1 -j on -J 20 -K 2 -k 1 -l '' -m on -M 512 -o off -O 3 -p off -P 3 -q 1 -Q 2 -r 1024 1024 -s 1 -t 100 -T 100 -u off -U off -v 128 128 128 -w 0.05 -W off -x 1 1 1 -X 1 1 1 -y 1 1 1 -Y 0 0 0 -z 0.25 Technical.panetab2.world.persp1
viewinfotext -m off Technical.panetab2.world.persp1
viewlight  -a on -d on -e on -h off -l on -n 8 -s on Technical.panetab2.world.persp1
viewbackground -b off -e on -q 1 -i off -m 0 0 -M 1 1 Technical.panetab2.world.persp1
viewroto  -S file -F '' -C '' -a on -o 0 0 -s 1 1 persp Technical.panetab2.world.persp1
viewroto  -S file -F '' -C '' -a on -o 0 0 -s 1 1 cam Technical.panetab2.world.persp1
viewroto  -S file -F '' -C '' -a on -o 0 0 -s 1 1 top Technical.panetab2.world.persp1
viewroto  -S file -F '' -C '' -a on -o 0 0 -s 1 1 front Technical.panetab2.world.persp1
viewroto  -S file -F '' -C '' -a on -o 0 0 -s 1 1 right Technical.panetab2.world.persp1
viewroto  -S file -F '' -C '' -a on -o 0 0 -s 1 1 bottom Technical.panetab2.world.persp1
viewroto  -S file -F '' -C '' -a on -o 0 0 -s 1 1 back Technical.panetab2.world.persp1
viewroto  -S file -F '' -C '' -a on -o 0 0 -s 1 1 left Technical.panetab2.world.persp1
viewroto  -S file -F '' -C '' -a on -o 0 0 -s 1 1 uv Technical.panetab2.world.persp1
viewtransform Technical.panetab2.world.persp1 version ( 3 )  flag ( F )  orthowidth ( 25.1416 )  focal ( 50 )  aperture ( 41.4214 )  window ( 0 1 0 1 )  winroll ( 0 )  clear ( 1 )  nearfar ( 0.814649 32040.1 )  resxy ( 1 1 )  aspect ( 1.33333 )  pixelaspect ( 1 )  txyz ( -0.298824 2.04575 32.9849 )  pxyz ( -0.298824 2.04575 -0.935994 )  rotation ( -0.779768 -0.441616 0.443776 -0.0744152 0.769182 0.634682 -0.62163 0.461881 -0.632647  )  homedistance ( 40.1465 )  homeadjboxwidth ( 25.1416 )  homeorthowidth ( 25.1416 )  homeradius ( 32 )  homeaxis ( 0 )  homecustom ( 0.707107 -0.353553 0.612372 0 0.866025 0.5 -0.707107 -0.353553 0.612372  )  adjustlimits ( 3 )  
viewcamera -c '' Technical.panetab2.world.persp1
vieworthogrid -d on -o 0 0 0 -s 0.5 0.5 -r 8 8 Technical.panetab2.world.persp1
viewuvgrid -r off -s 0.1 0.1 -P on -S 1 1 -O 0 0 -C on -t on Technical.panetab2.world.persp1
viewdisplay -a on Technical.panetab2.world.top1
viewdisplay -M unsel shade -N unsel n off -E unsel n off -I unsel n off Technical.panetab2.world.top1
viewdisplay -N unsel t off -E unsel t off -I unsel t on Technical.panetab2.world.top1
viewdisplay -N unsel l off -E unsel g off -I unsel l off Technical.panetab2.world.top1
viewdisplay -N unsel p off -I unsel p off Technical.panetab2.world.top1
viewdisplay -N unsel m off -I unsel h off Technical.panetab2.world.top1
viewdisplay -I unsel b off Technical.panetab2.world.top1
viewdisplay -I unsel f off Technical.panetab2.world.top1
viewdisplay -M templ wire -N templ n off -E templ n off -I templ n off Technical.panetab2.world.top1
viewdisplay -N templ t off -E templ t off -I templ t off Technical.panetab2.world.top1
viewdisplay -N templ l off -E templ g off -I templ l off Technical.panetab2.world.top1
viewdisplay -N templ p off -I templ p off Technical.panetab2.world.top1
viewdisplay -N templ m off -I templ h off Technical.panetab2.world.top1
viewdisplay -I templ b off Technical.panetab2.world.top1
viewdisplay -I templ f off Technical.panetab2.world.top1
viewdisplay -M curr_unsel wire -N curr_unsel n off -E curr_unsel n off -I curr_unsel n off Technical.panetab2.world.top1
viewdisplay -N curr_unsel t off -E curr_unsel t off -I curr_unsel t on Technical.panetab2.world.top1
viewdisplay -N curr_unsel l off -E curr_unsel g off -I curr_unsel l off Technical.panetab2.world.top1
viewdisplay -N curr_unsel p off -I curr_unsel p off Technical.panetab2.world.top1
viewdisplay -N curr_unsel m off -I curr_unsel h off Technical.panetab2.world.top1
viewdisplay -I curr_unsel b off Technical.panetab2.world.top1
viewdisplay -I curr_unsel f off Technical.panetab2.world.top1
viewdispset -m off always -n off always -c off always -u off always -x off always -N off always -C off always -b off always -M off always -v off always -V off always -U off always -g off always -h off -P off -p off -f off -F off -l on -L on -G off -r unique scene Technical.panetab2.world.top1
viewdispset -m off always -n off always -c off always -u off always -x off always -N off always -C off always -b off always -M off always -v off always -V off always -U off always -g off always -h off -P off -p off -f off -F off -l on -L on -G off -r scene selectscene Technical.panetab2.world.top1
viewdispset -m off always -n off always -c off always -u off always -x off always -N off always -C off always -b off always -M off always -v off always -V off always -U off always -g off always -h off -P off -p off -f off -F off -l on -L off -G on -r unique ghostscene Technical.panetab2.world.top1
viewdispset -m off always -n off always -c off always -u off always -x off always -N off always -C off always -b off always -M off always -v off always -V off always -U off always -g off always -h off -P on -p off -f off -F off -l on -L on -G off -r unique display Technical.panetab2.world.top1
viewdispset -m off always -n off always -c off always -u off always -x off always -N off always -C off always -b off always -M off always -v off always -V off always -U off always -g off always -h off -P on -p off -f off -F off -l on -L off -G off -r unique current Technical.panetab2.world.top1
viewdispset -m off always -n off always -c off always -u off always -x off always -N off always -C off always -b off always -M off always -v off always -V off always -U off always -g off always -h off -P off -p off -f off -F on -l on -L off -G on -r unique template Technical.panetab2.world.top1
viewdisplay -A templ on -B wb -b off -d off -C 2 -e 1 -F off -f off -g on -G '*' -h off -H on -j off -J off Technical.panetab2.world.top1
viewdisplay -A curr_all on -l 1 -L on -n 0.2 -o on -O on -q on -r on -s off -t on Technical.panetab2.world.top1
viewdisplay -V 2 -z off -y off -x off -X off -U 4 -Y 4 -T on -R on -i on -D on -k off Technical.panetab2.world.top1
viewdisplay -Q on -m on -v on Technical.panetab2.world.top1
viewdisplay -W  off bound_box_wire 0 Technical.panetab2.world.top1
viewdisplay -c on -K on -P points -p 3 Technical.panetab2.world.top1
vieweffect -a 0 -A 4 -b on -B 0 -c on -d on -D on off -e 0.8 -E -30 -30 -100 -f 1 -F 0 -g 2.2 -G 0 -h 1 -H off -i on -I 1 -j on -J 20 -K 2 -k 1 -l '' -m on -M 512 -o off -O 3 -p off -P 3 -q 1 -Q 2 -r 1024 1024 -s 1 -t 100 -T 100 -u off -U off -v 128 128 128 -w 0.05 -W off -x 1 1 1 -X 1 1 1 -y 1 1 1 -Y 0 0 0 -z 0.25 Technical.panetab2.world.top1
viewinfotext -m off Technical.panetab2.world.top1
viewlight  -a on -d on -e on -h off -l on -n 8 -s on Technical.panetab2.world.top1
viewbackground -b off -e on -q 1 -i off -m 0 0 -M 1 1 Technical.panetab2.world.top1
viewroto  -S file -F '' -C '' -a on -o 0 0 -s 1 1 persp Technical.panetab2.world.top1
viewroto  -S file -F '' -C '' -a on -o 0 0 -s 1 1 cam Technical.panetab2.world.top1
viewroto  -S file -F '' -C '' -a on -o 0 0 -s 1 1 top Technical.panetab2.world.top1
viewroto  -S file -F '' -C '' -a on -o 0 0 -s 1 1 front Technical.panetab2.world.top1
viewroto  -S file -F '' -C '' -a on -o 0 0 -s 1 1 right Technical.panetab2.world.top1
viewroto  -S file -F '' -C '' -a on -o 0 0 -s 1 1 bottom Technical.panetab2.world.top1
viewroto  -S file -F '' -C '' -a on -o 0 0 -s 1 1 back Technical.panetab2.world.top1
viewroto  -S file -F '' -C '' -a on -o 0 0 -s 1 1 left Technical.panetab2.world.top1
viewroto  -S file -F '' -C '' -a on -o 0 0 -s 1 1 uv Technical.panetab2.world.top1
viewtransform Technical.panetab2.world.top1 version ( 3 )  flag ( Fo )  orthowidth ( 2.22222 )  focal ( 50 )  aperture ( 41.4214 )  window ( 0 1 0 1 )  winroll ( 0 )  clear ( 1 )  nearfar ( 0.1 3467.78 )  resxy ( 1 1 )  aspect ( 1.33333 )  pixelaspect ( 1 )  txyz ( 0 0 3.68246 )  pxyz ( 0 0 0 )  rotation ( 1 0 0 0 1.19209e-07 1 0 -1 1.19209e-07  )  homedistance ( 3.68246 )  homeadjboxwidth ( 2.22222 )  homeorthowidth ( 2.22222 )  homeradius ( 3.4641 )  homeaxis ( 0 )  homecustom ( 0.707107 -0.353553 0.612372 0 0.866025 0.5 -0.707107 -0.353553 0.612372  )  adjustlimits ( 3 )  
vieworthogrid -d on -o 0 0 0 -s 0.5 0.5 -r 8 8 Technical.panetab2.world.top1
viewuvgrid -r off -s 0.1 0.1 -P on -S 1 1 -O 0 0 -C on -t on Technical.panetab2.world.top1
viewdisplay -a on Technical.panetab2.world.front1
viewdisplay -M unsel shade -N unsel n off -E unsel n off -I unsel n off Technical.panetab2.world.front1
viewdisplay -N unsel t off -E unsel t off -I unsel t on Technical.panetab2.world.front1
viewdisplay -N unsel l off -E unsel g off -I unsel l off Technical.panetab2.world.front1
viewdisplay -N unsel p off -I unsel p off Technical.panetab2.world.front1
viewdisplay -N unsel m off -I unsel h off Technical.panetab2.world.front1
viewdisplay -I unsel b off Technical.panetab2.world.front1
viewdisplay -I unsel f off Technical.panetab2.world.front1
viewdisplay -M templ wire -N templ n off -E templ n off -I templ n off Technical.panetab2.world.front1
viewdisplay -N templ t off -E templ t off -I templ t off Technical.panetab2.world.front1
viewdisplay -N templ l off -E templ g off -I templ l off Technical.panetab2.world.front1
viewdisplay -N templ p off -I templ p off Technical.panetab2.world.front1
viewdisplay -N templ m off -I templ h off Technical.panetab2.world.front1
viewdisplay -I templ b off Technical.panetab2.world.front1
viewdisplay -I templ f off Technical.panetab2.world.front1
viewdisplay -M curr_unsel wire -N curr_unsel n off -E curr_unsel n off -I curr_unsel n off Technical.panetab2.world.front1
viewdisplay -N curr_unsel t off -E curr_unsel t off -I curr_unsel t on Technical.panetab2.world.front1
viewdisplay -N curr_unsel l off -E curr_unsel g off -I curr_unsel l off Technical.panetab2.world.front1
viewdisplay -N curr_unsel p off -I curr_unsel p off Technical.panetab2.world.front1
viewdisplay -N curr_unsel m off -I curr_unsel h off Technical.panetab2.world.front1
viewdisplay -I curr_unsel b off Technical.panetab2.world.front1
viewdisplay -I curr_unsel f off Technical.panetab2.world.front1
viewdispset -m off always -n off always -c off always -u off always -x off always -N off always -C off always -b off always -M off always -v off always -V off always -U off always -g off always -h off -P off -p off -f off -F off -l on -L on -G off -r unique scene Technical.panetab2.world.front1
viewdispset -m off always -n off always -c off always -u off always -x off always -N off always -C off always -b off always -M off always -v off always -V off always -U off always -g off always -h off -P off -p off -f off -F off -l on -L on -G off -r scene selectscene Technical.panetab2.world.front1
viewdispset -m off always -n off always -c off always -u off always -x off always -N off always -C off always -b off always -M off always -v off always -V off always -U off always -g off always -h off -P off -p off -f off -F off -l on -L off -G on -r unique ghostscene Technical.panetab2.world.front1
viewdispset -m off always -n off always -c off always -u off always -x off always -N off always -C off always -b off always -M off always -v off always -V off always -U off always -g off always -h off -P on -p off -f off -F off -l on -L on -G off -r unique display Technical.panetab2.world.front1
viewdispset -m off always -n off always -c off always -u off always -x off always -N off always -C off always -b off always -M off always -v off always -V off always -U off always -g off always -h off -P on -p off -f off -F off -l on -L off -G off -r unique current Technical.panetab2.world.front1
viewdispset -m off always -n off always -c off always -u off always -x off always -N off always -C off always -b off always -M off always -v off always -V off always -U off always -g off always -h off -P off -p off -f off -F on -l on -L off -G on -r unique template Technical.panetab2.world.front1
viewdisplay -A templ on -B wb -b off -d off -C 2 -e 1 -F off -f off -g on -G '*' -h off -H on -j off -J off Technical.panetab2.world.front1
viewdisplay -A curr_all on -l 1 -L on -n 0.2 -o on -O on -q on -r on -s off -t on Technical.panetab2.world.front1
viewdisplay -V 2 -z off -y off -x off -X off -U 4 -Y 4 -T on -R on -i on -D on -k off Technical.panetab2.world.front1
viewdisplay -Q on -m on -v on Technical.panetab2.world.front1
viewdisplay -W  off bound_box_wire 0 Technical.panetab2.world.front1
viewdisplay -c on -K on -P points -p 3 Technical.panetab2.world.front1
vieweffect -a 0 -A 4 -b on -B 0 -c on -d on -D on off -e 0.8 -E -30 -30 -100 -f 1 -F 0 -g 2.2 -G 0 -h 1 -H off -i on -I 1 -j on -J 20 -K 2 -k 1 -l '' -m on -M 512 -o off -O 3 -p off -P 3 -q 1 -Q 2 -r 1024 1024 -s 1 -t 100 -T 100 -u off -U off -v 128 128 128 -w 0.05 -W off -x 1 1 1 -X 1 1 1 -y 1 1 1 -Y 0 0 0 -z 0.25 Technical.panetab2.world.front1
viewinfotext -m off Technical.panetab2.world.front1
viewlight  -a on -d on -e on -h off -l on -n 8 -s on Technical.panetab2.world.front1
viewbackground -b off -e on -q 1 -i off -m 0 0 -M 1 1 Technical.panetab2.world.front1
viewroto  -S file -F '' -C '' -a on -o 0 0 -s 1 1 persp Technical.panetab2.world.front1
viewroto  -S file -F '' -C '' -a on -o 0 0 -s 1 1 cam Technical.panetab2.world.front1
viewroto  -S file -F '' -C '' -a on -o 0 0 -s 1 1 top Technical.panetab2.world.front1
viewroto  -S file -F '' -C '' -a on -o 0 0 -s 1 1 front Technical.panetab2.world.front1
viewroto  -S file -F '' -C '' -a on -o 0 0 -s 1 1 right Technical.panetab2.world.front1
viewroto  -S file -F '' -C '' -a on -o 0 0 -s 1 1 bottom Technical.panetab2.world.front1
viewroto  -S file -F '' -C '' -a on -o 0 0 -s 1 1 back Technical.panetab2.world.front1
viewroto  -S file -F '' -C '' -a on -o 0 0 -s 1 1 left Technical.panetab2.world.front1
viewroto  -S file -F '' -C '' -a on -o 0 0 -s 1 1 uv Technical.panetab2.world.front1
viewtransform Technical.panetab2.world.front1 version ( 3 )  flag ( Fo )  orthowidth ( 2.22222 )  focal ( 50 )  aperture ( 41.4214 )  window ( 0 1 0 1 )  winroll ( 0 )  clear ( 1 )  nearfar ( 0.1 3467.78 )  resxy ( 1 1 )  aspect ( 1.33333 )  pixelaspect ( 1 )  txyz ( 0 0 3.68246 )  pxyz ( 0 0 0 )  rotation ( 1 0 0 0 1 0 0 0 1  )  homedistance ( 3.68246 )  homeadjboxwidth ( 2.22222 )  homeorthowidth ( 2.22222 )  homeradius ( 3.4641 )  homeaxis ( 0 )  homecustom ( 0.707107 -0.353553 0.612372 0 0.866025 0.5 -0.707107 -0.353553 0.612372  )  adjustlimits ( 3 )  
vieworthogrid -d on -o 0 0 0 -s 0.5 0.5 -r 8 8 Technical.panetab2.world.front1
viewuvgrid -r off -s 0.1 0.1 -P on -S 1 1 -O 0 0 -C on -t on Technical.panetab2.world.front1
viewdisplay -a on Technical.panetab2.world.right1
viewdisplay -M unsel shade -N unsel n off -E unsel n off -I unsel n off Technical.panetab2.world.right1
viewdisplay -N unsel t off -E unsel t off -I unsel t on Technical.panetab2.world.right1
viewdisplay -N unsel l off -E unsel g off -I unsel l off Technical.panetab2.world.right1
viewdisplay -N unsel p off -I unsel p off Technical.panetab2.world.right1
viewdisplay -N unsel m off -I unsel h off Technical.panetab2.world.right1
viewdisplay -I unsel b off Technical.panetab2.world.right1
viewdisplay -I unsel f off Technical.panetab2.world.right1
viewdisplay -M templ wire -N templ n off -E templ n off -I templ n off Technical.panetab2.world.right1
viewdisplay -N templ t off -E templ t off -I templ t off Technical.panetab2.world.right1
viewdisplay -N templ l off -E templ g off -I templ l off Technical.panetab2.world.right1
viewdisplay -N templ p off -I templ p off Technical.panetab2.world.right1
viewdisplay -N templ m off -I templ h off Technical.panetab2.world.right1
viewdisplay -I templ b off Technical.panetab2.world.right1
viewdisplay -I templ f off Technical.panetab2.world.right1
viewdisplay -M curr_unsel wire -N curr_unsel n off -E curr_unsel n off -I curr_unsel n off Technical.panetab2.world.right1
viewdisplay -N curr_unsel t off -E curr_unsel t off -I curr_unsel t on Technical.panetab2.world.right1
viewdisplay -N curr_unsel l off -E curr_unsel g off -I curr_unsel l off Technical.panetab2.world.right1
viewdisplay -N curr_unsel p off -I curr_unsel p off Technical.panetab2.world.right1
viewdisplay -N curr_unsel m off -I curr_unsel h off Technical.panetab2.world.right1
viewdisplay -I curr_unsel b off Technical.panetab2.world.right1
viewdisplay -I curr_unsel f off Technical.panetab2.world.right1
viewdispset -m off always -n off always -c off always -u off always -x off always -N off always -C off always -b off always -M off always -v off always -V off always -U off always -g off always -h off -P off -p off -f off -F off -l on -L on -G off -r unique scene Technical.panetab2.world.right1
viewdispset -m off always -n off always -c off always -u off always -x off always -N off always -C off always -b off always -M off always -v off always -V off always -U off always -g off always -h off -P off -p off -f off -F off -l on -L on -G off -r scene selectscene Technical.panetab2.world.right1
viewdispset -m off always -n off always -c off always -u off always -x off always -N off always -C off always -b off always -M off always -v off always -V off always -U off always -g off always -h off -P off -p off -f off -F off -l on -L off -G on -r unique ghostscene Technical.panetab2.world.right1
viewdispset -m off always -n off always -c off always -u off always -x off always -N off always -C off always -b off always -M off always -v off always -V off always -U off always -g off always -h off -P on -p off -f off -F off -l on -L on -G off -r unique display Technical.panetab2.world.right1
viewdispset -m off always -n off always -c off always -u off always -x off always -N off always -C off always -b off always -M off always -v off always -V off always -U off always -g off always -h off -P on -p off -f off -F off -l on -L off -G off -r unique current Technical.panetab2.world.right1
viewdispset -m off always -n off always -c off always -u off always -x off always -N off always -C off always -b off always -M off always -v off always -V off always -U off always -g off always -h off -P off -p off -f off -F on -l on -L off -G on -r unique template Technical.panetab2.world.right1
viewdisplay -A templ on -B wb -b off -d off -C 2 -e 1 -F off -f off -g on -G '*' -h off -H on -j off -J off Technical.panetab2.world.right1
viewdisplay -A curr_all on -l 1 -L on -n 0.2 -o on -O on -q on -r on -s off -t on Technical.panetab2.world.right1
viewdisplay -V 2 -z off -y off -x off -X off -U 4 -Y 4 -T on -R on -i on -D on -k off Technical.panetab2.world.right1
viewdisplay -Q on -m on -v on Technical.panetab2.world.right1
viewdisplay -W  off bound_box_wire 0 Technical.panetab2.world.right1
viewdisplay -c on -K on -P points -p 3 Technical.panetab2.world.right1
vieweffect -a 0 -A 4 -b on -B 0 -c on -d on -D on off -e 0.8 -E -30 -30 -100 -f 1 -F 0 -g 2.2 -G 0 -h 1 -H off -i on -I 1 -j on -J 20 -K 2 -k 1 -l '' -m on -M 512 -o off -O 3 -p off -P 3 -q 1 -Q 2 -r 1024 1024 -s 1 -t 100 -T 100 -u off -U off -v 128 128 128 -w 0.05 -W off -x 1 1 1 -X 1 1 1 -y 1 1 1 -Y 0 0 0 -z 0.25 Technical.panetab2.world.right1
viewinfotext -m off Technical.panetab2.world.right1
viewlight  -a on -d on -e on -h off -l on -n 8 -s on Technical.panetab2.world.right1
viewbackground -b off -e on -q 1 -i off -m 0 0 -M 1 1 Technical.panetab2.world.right1
viewroto  -S file -F '' -C '' -a on -o 0 0 -s 1 1 persp Technical.panetab2.world.right1
viewroto  -S file -F '' -C '' -a on -o 0 0 -s 1 1 cam Technical.panetab2.world.right1
viewroto  -S file -F '' -C '' -a on -o 0 0 -s 1 1 top Technical.panetab2.world.right1
viewroto  -S file -F '' -C '' -a on -o 0 0 -s 1 1 front Technical.panetab2.world.right1
viewroto  -S file -F '' -C '' -a on -o 0 0 -s 1 1 right Technical.panetab2.world.right1
viewroto  -S file -F '' -C '' -a on -o 0 0 -s 1 1 bottom Technical.panetab2.world.right1
viewroto  -S file -F '' -C '' -a on -o 0 0 -s 1 1 back Technical.panetab2.world.right1
viewroto  -S file -F '' -C '' -a on -o 0 0 -s 1 1 left Technical.panetab2.world.right1
viewroto  -S file -F '' -C '' -a on -o 0 0 -s 1 1 uv Technical.panetab2.world.right1
viewtransform Technical.panetab2.world.right1 version ( 3 )  flag ( Fo )  orthowidth ( 2.22222 )  focal ( 50 )  aperture ( 41.4214 )  window ( 0 1 0 1 )  winroll ( 0 )  clear ( 1 )  nearfar ( 0.1 3467.78 )  resxy ( 1 1 )  aspect ( 1.33333 )  pixelaspect ( 1 )  txyz ( 0 0 3.68246 )  pxyz ( 0 0 0 )  rotation ( 6.12323e-17 0 1 0 1 0 -1 0 6.12323e-17  )  homedistance ( 3.68246 )  homeadjboxwidth ( 2.22222 )  homeorthowidth ( 2.22222 )  homeradius ( 3.4641 )  homeaxis ( 0 )  homecustom ( 0.707107 -0.353553 0.612372 0 0.866025 0.5 -0.707107 -0.353553 0.612372  )  adjustlimits ( 3 )  
vieworthogrid -d on -o 0 0 0 -s 0.5 0.5 -r 8 8 Technical.panetab2.world.right1
viewuvgrid -r off -s 0.1 0.1 -P on -S 1 1 -O 0 0 -C on -t on Technical.panetab2.world.right1
viewsnapshotoption -s off -h off -a 1 -v '*' Technical.panetab2.world
cplane -o -8 0 -8 -n 0 1 0 -x 0 0 1 -l n -s 0.5 0.5 -c 32 32 -r 8 8 -d on Technical.panetab2.world
glcache -M 2048
omparm Transformer xform /obj/AutoDopNetwork/pyro "scale(1)"
omparm "Follow Path" followpath /obj/AutoDopNetwork "invisible(1)"
omparm "Follow Path" followpath /obj/grid_object1 "invisible(1)"
panepath -d Technical -f -p panetab1 /obj/grid_object1/DisplayRender
panepath -d Technical -f -p panetab15 /obj/grid_object1/DisplayRender
panepath -d Technical -f -p panetab2 /obj/grid_object1/DisplayRender
panepath -d Technical -f -p panetab3 /obj/grid_object1/DisplayRender
panepath -d Technical -f -p panetab4 /obj/grid_object1/DisplayRender
panepath -d Technical -f -p panetab5 /img/comp1/
panepath -d Technical -f -p panetab14 /ch/
panepath -d Technical -f -p panetab6 /obj/grid_object1/DisplayRender
panepath -d Technical -f -p panetab17 /obj/
panepath -d Technical -f -p panetab18 /obj/
panepath -d Technical -f -p panetab22 /obj/
panepath -d Technical -f -p panetab7 /obj/grid_object1/DisplayRender
panepath -d Technical -f -p panetab13 /obj/
panepath -d Technical -f -p panetab19 /out/
panepath -d Technical -f -p panetab11 /obj/grid_object1/DisplayRender
panepath -d Technical -f -p panetab12 /obj/
panepath -d Technical -f -p panetab20 //obj
panepath -d Technical -f -p panetab8 /obj/grid_object1/DisplayRender
panepath -d Technical -f -p panetab9 /obj/
panepath -d Technical -f -p panetab10 /obj/
desk set Technical
viewupdate -u always
audiopanel -s p ''
audiopanel -s r off
audiopanel -s s 1
audiopanel -s f 45
audiopanel -t p stop
audiopanel -t l off
audiopanel -t r on
audiopanel -o m off
audiopanel -o t on
audiopanel -o u on
audiopanel -o l 1
audiopanel -o r 1
audiopanel -o d 0
audiopanel -r d 0.2
audiopanel -m 0
audiopanel -a ''
audiopanel -f 1
audiopanel -O 0
colorsettings -D -A -g 2.2 -l "" -p -s -v -i -r -c -f
compproject -r 640 480 -a 1 -d fp16 -p 0 1 -P full -f 0 -F 0 -l on
texcache  -a off -r 2147483647 2147483647 -m 10000 -M 2097152
shopvisible +OGL +OGL2 +I3D +VMantra +MI +RIB
0707070000010000000006660000000000000000010000001237543420700000700000000060.takes HoudiniTakeFile 1.0
take name Main kids 0
   e
0707070000010000000006660000000000000000010000001237543420700000500000000024.cwd opcf /
takeset Main
0707070000010000000006660000000000000000010000001237543420700001600000000000.custompanels 0707070000010000000006660000000000000000010000001237543420700001300000000000TRAILER!!! 