{
	"textureSize": [64, 32],
	"models": [
		{
			"part": "headwear",
			"id": "headwear",
			"invertAxis": "xy",
			"translate": [0, -24, 0],
			"boxes": [
				{"coordinates": [-4, 24, -4, 8, 8, 8], "textureOffset": [0, 0]},
				{"coordinates": [-4, 24, -4, 8, 8, 8], "textureOffset": [32, 0], "sizeAdd": 0.25}
			]
		},
		{
			"part": "head",
			"id": "head",
			"invertAxis": "xy",
			"translate": [0, 0, 0],
			"submodels": [
				{
					"id": "Created_by_FreshLX_for_Fresh_Animations",
					"invertAxis": "xy",
					"translate": [0, 0, 0]
				}
			],
			"animations": [
				{
					"var.att": "if(is_aggressive, if(left_arm.ry>=torad(10), -1, right_arm.ry<=torad(-10), 1, 2), 0 )"
				},
				{
					"head.rx": "torad(10) +sin((limb_swing/2+age)/80*pi*2-torad(90))/40 +torad(head_pitch)/1.4 +clamp(  torad(head_yaw)/4, 0, torad( 90)) +clamp(-torad(head_yaw  )/4, 0, torad( 90)) -(sin(pi*2*swing_progress)/3)",
					"head.ry": "                                                torad(head_yaw)/1.2 +clamp(torad(head_pitch)/4, torad(-90), 0) +clamp(-torad(head_pitch)/4, torad(-90), 0) +(cos((limb_swing/2+age)*2)/40*sin((limb_swing/2+age)/15))",
					"head.rz": "clamp(torad(5)-limb_speed/2, 0, torad(5))  +sin(torad( 45)+limb_swing/1.3)/15*limb_speed +sin(torad(-45)+limb_swing/1.3)/10*limb_speed +torad(head_yaw)/4 +(sin(pi*swing_progress)/3)",
					"head.tx": "sin(torad(45)+limb_swing/1.3)/2*limb_speed +(sin(pi*swing_progress)*3)",
					"head.ty": "sin((limb_swing/2+age)/80* pi*2)/4 +sin(torad(135)+limb_swing/0.65)*limb_speed +clamp(torad(head_yaw)/4 +torad(head_pitch)*2, torad(-90), 0) +clamp(-torad(head_yaw)/4 -torad(head_pitch)*2, torad(-90), 0) +if(is_riding, -3, 0.4) +(sin(pi*swing_progress)*2) +(sin((limb_swing/2+age)*2)/12*sin((limb_swing/2+age)/15))",
					"head.tz": "sin((limb_swing/2+age)/80*-pi*2)/4 +(sin(-pi*swing_progress)*4) +if(is_riding, -3, 0)",
					"headwear.rx": "head.rx",
					"headwear.ry": "head.ry",
					"headwear.rz": "head.rz",
					"headwear.tx": "head.tx",
					"headwear.ty": "head.ty",
					"headwear.tz": "head.tz",
					"body.ry": "if(var.att==-1, torad(-70), var.att==1, torad(70), if(is_riding, 0, clamp(torad(-15)+limb_speed, torad(-15), 0))) +sin(torad(180)+limb_swing/1.3)/4*limb_speed +(sin(-pi*swing_progress)/4) +(sin((limb_swing/2+age)*2)/20*sin((limb_swing/2+age)/15))",
					"body.rx": "sin((limb_swing/2+age)/80*pi*2)/40 +torad(10)*limb_speed +(sin(pi*swing_progress)/3) +if(is_riding, torad(15), 0)",
					"body.rz": "head.rz -clamp(torad(5)-limb_speed/2, 0, torad(5)) -torad(head_yaw)/4 -(sin(torad(-45)+limb_swing/1.3)/10*limb_speed) -(sin(pi*swing_progress)/4)",
					"body.tx": "head.tx",
					"body.ty": "head.ty -(clamp(torad(head_yaw)/4 +torad(head_pitch)*2, torad(-90), 0) +clamp(-torad(head_yaw)/4 -torad(head_pitch)*2, torad(-90), 0))",
					"body.tz": "head.tz"
				},
				{
					"right_arm.rx": "if(var.att==-1, torad(-100) +torad(head_pitch), var.att==1, torad(-90 ) +torad(head_pitch), var.att==2, torad(head_yaw)/8 -sin(limb_swing/1.3)/6*limb_speed +sin(torad(90)+limb_swing/0.65)/6*limb_speed +clamp(torad(-135)*limb_speed, torad(-90), 0), if(is_riding, torad(-8 ),  torad(head_yaw)/8 -sin(limb_swing/1.3)*limb_speed) ) +if(is_riding, 0, sin((limb_swing/2+age)/80*pi*2-torad(60))/20) -(sin(pi*2*swing_progress))",
					"left_arm.rx": " if(var.att==-1, torad(-90 ) +torad(head_pitch), var.att==1, torad(-100) +torad(head_pitch), var.att==2,-torad(head_yaw)/8 +sin(limb_swing/1.3)/6*limb_speed +sin(torad(90)+limb_swing/0.65)/6*limb_speed +clamp(torad(-135)*limb_speed, torad(-90), 0), if(is_riding, torad(-35), -torad(head_yaw)/8 +sin(limb_swing/1.3)*limb_speed) ) +if(is_riding, 0, sin((limb_swing/2+age)/80*pi*2-torad(60))/20) +(sin(pi*swing_progress)*2)",
					"right_arm.ry": "if(var.att==-1, 0, var.att==1, torad(-20), body.ry +sin((limb_swing/2+age)/80*pi*2+torad(90))/20) +(sin(-pi/2*swing_progress*2)/4)",
					"left_arm.ry": " if(var.att==-1, torad( 20), var.att==1, 0, body.ry +sin((limb_swing/2+age)/80*pi*2-torad(90))/20)",
					"right_arm.rz": "if(var.att==-1, torad(-8), var.att==1, torad(-5), is_riding, torad( 35), torad( 5) +if(is_in_water, torad( 10), 0) +clamp(-torad(head_pitch)/8, 0, torad( 45)) ) +(sin(-pi+torad(90)*swing_progress*2))",
					"left_arm.rz": " if(var.att==-1, torad( 5), var.att==1, torad( 8), is_riding, torad( 10), torad(-5) +if(is_in_water, torad(-10), 0) +clamp( torad(head_pitch)/8, torad(-45), 0) ) -(sin(pi*swing_progress))",
					"right_arm.tx": "if(var.att==-1, -1, var.att==1, -4, -5 +body.tx) +(sin(pi*swing_progress)*2)",
					"left_arm.tx": " if(var.att==-1,  4, var.att==1,  1,  5 +body.tx) -(sin(pi*swing_progress)*2)",
					"right_arm.ty": "if(var.att==-1||var.att==1, 2, 2.5 +sin((limb_swing/2+age)/80*pi*2-torad(60))/5) +body.ty                      +(cos((limb_swing/2+age)*2)/4*sin((limb_swing/2+age)/15))",
					"left_arm.ty": " if(var.att==-1||var.att==1, 2, 2.5 +sin((limb_swing/2+age)/80*pi*2-torad(60))/5) +body.ty +if(is_riding, 1, 0) +(cos((limb_swing/2+age)*2)/4*sin((limb_swing/2+age)/15))",
					"right_arm.tz": "if(var.att==-1, -6, var.att==1, -1, -0.5 +if(is_riding, 0, clamp(-1+limb_speed, -1, 0)) +sin(torad(135+90)+limb_swing/1.3)*2*limb_speed +sin((limb_swing/2+age)/80*-pi*2)/4) +if(is_riding, -2, 0) -(sin(pi*swing_progress)*6)",
					"left_arm.tz": " if(var.att==-1, -1, var.att==1, -6, -0.5 +if(is_riding, 0, clamp( 1-limb_speed,  0, 1)) +sin(torad(-45+90)+limb_swing/1.3)*2*limb_speed +sin((limb_swing/2+age)/80*-pi*2)/4) +if(is_riding, -2, 0)"
				},
				{
					"right_leg.rx": "if(is_riding, torad(-80), if(var.att==-1||var.att==1, 0, clamp(sin(torad( 0 )+limb_swing/1.3)/6 +sin(torad( 0 )+limb_swing/1.3)/1.5*limb_speed +torad(10)*limb_speed, torad(-60), torad(60))) +sin((limb_swing/2+age)/80*pi*2)/40) +(cos((limb_swing/2+age)*2)/40*sin((limb_swing/2+age)/15))",
					"left_leg.rx": " if(is_riding, torad(-80), if(var.att==-1||var.att==1, 0, clamp(sin(torad(180)+limb_swing/1.3)/6 +sin(torad(180)+limb_swing/1.3)/1.5*limb_speed +torad(10)*limb_speed, torad(-60), torad(60))) +sin((limb_swing/2+age)/80*pi*2)/40) +(cos((limb_swing/2+age)*2)/40*sin((limb_swing/2+age)/15))",
					"right_leg.ry": "if(var.att==-1, torad(-10 +if(is_riding, 20, 0)), var.att==1, torad(60                      ), if(is_riding, torad(20), clamp(torad( 20)-limb_speed, 0, torad( 20)))) +(sin((limb_swing/2+age)*2)/20*sin((limb_swing/2+age)/15))",
					"left_leg.ry": " if(var.att==-1, torad(-60                      ), var.att==1, torad(10 +if(is_riding,-20, 0)), if(is_riding,-torad(20), clamp(torad(-20)+limb_speed, torad(-20), 0))) +(sin((limb_swing/2+age)*2)/20*sin((limb_swing/2+age)/15))",
					"right_leg.rz": "if(is_riding, 0, clamp(torad( 5)-limb_speed/2, 0, torad( 5)) +if(var.att==-1||var.att==1, clamp(sin(torad( 0 )+limb_swing/1.3)/6 +sin(torad( 0 )+limb_swing/1.3)/1.5*limb_speed +torad(10)*limb_speed, torad(-60), torad(60)), 0))",
					"left_leg.rz": " if(is_riding, 0, clamp(torad(-5)+limb_speed/2, torad(-5), 0) +if(var.att==-1||var.att==1, clamp(sin(torad(180)+limb_swing/1.3)/6 +sin(torad(180)+limb_swing/1.3)/1.5*limb_speed +torad(10)*limb_speed, torad(-60), torad(60)), 0))",
					"right_leg.tx": "if(var.att==-1, -0.5 +if(is_riding, -3, 0), var.att==1, -0.5 +if(is_riding, 3, 0), -2) +if(is_riding||var.att==-1||var.att==1, 0, -sin((limb_swing/2+age)/80*pi*2)/10) +if(is_riding, -1, 0)",
					"left_leg.tx": " if(var.att==-1,  0.5 +if(is_riding, -3, 0), var.att==1,  0.5 +if(is_riding, 3, 0),  2) +if(is_riding||var.att==-1||var.att==1, 0,  sin((limb_swing/2+age)/80*pi*2)/10) +if(is_riding,  1, 0)",
					"right_leg.ty": "if(var.att==-1||var.att==1, 12.2 +if(is_riding, 1, 0), 0.2 +clamp(12 +sin(torad( 90)+limb_swing/1.3)*4*limb_speed +limb_speed, 0, 12.2) -right_leg.rx) +if(is_riding, -4.5, 0)",
					"left_leg.ty": " if(var.att==-1||var.att==1, 12.2 +if(is_riding, 1, 0), 0.2 +clamp(12 +sin(torad(-90)+limb_swing/1.3)*4*limb_speed +limb_speed, 0, 12.2) - left_leg.rx) +if(is_riding, -4.5, 0)",
					"right_leg.tz": "if(var.att==-1, -2 +if(is_riding, -2, 0), var.att==1,  2 +if(is_riding, -2, 0), if(is_riding, 0, clamp(-0.5+limb_speed/2, -0.5, 0)) +clamp((sin(torad( 90)+limb_swing/1.3)*6)*limb_speed +(3*limb_speed), -6, 2*limb_speed) -0.2) +if(is_riding, 0, -sin((limb_swing/2+age)/80*pi*2)/3) -(cos((limb_swing/2+age)*2)/4*sin((limb_swing/2+age)/15))",
					"left_leg.tz": " if(var.att==-1,  2 +if(is_riding, -2, 0), var.att==1, -2 +if(is_riding, -2, 0), if(is_riding, 0, clamp( 0.5-limb_speed/2,  0, 0.5)) +clamp((sin(torad(-90)+limb_swing/1.3)*6)*limb_speed +(3*limb_speed), -6, 2*limb_speed) -0.2) +if(is_riding, 0, -sin((limb_swing/2+age)/80*pi*2)/4) -(cos((limb_swing/2+age)*2)/4*sin((limb_swing/2+age)/15))"
				}
			]
		},
		{
			"part": "body",
			"id": "body",
			"invertAxis": "xy",
			"translate": [0, -24, 0],
			"boxes": [
				{"coordinates": [-4, 12, -2, 8, 12, 4], "textureOffset": [16, 16]}
			]
		},
		{
			"part": "left_arm",
			"id": "left_arm",
			"invertAxis": "xy",
			"mirrorTexture": "u",
			"translate": [5, -22, 0],
			"boxes": [
				{"coordinates": [-6, 12, -1, 2, 12, 2], "textureOffset": [40, 16]}
			]
		},
		{
			"part": "right_arm",
			"id": "right_arm",
			"invertAxis": "xy",
			"translate": [-5, -22, 0],
			"boxes": [
				{"coordinates": [4, 12, -1, 2, 12, 2], "textureOffset": [40, 16]}
			]
		},
		{
			"part": "left_leg",
			"id": "left_leg",
			"invertAxis": "xy",
			"mirrorTexture": "u",
			"translate": [2, -12, -0.1],
			"boxes": [
				{"coordinates": [-3, 0, -1, 2, 12, 2], "textureOffset": [0, 16]}
			]
		},
		{
			"part": "right_leg",
			"id": "right_leg",
			"invertAxis": "xy",
			"translate": [-2, -12, -0.1],
			"boxes": [
				{"coordinates": [1, 0, -1, 2, 12, 2], "textureOffset": [0, 16]}
			]
		},
		{
			"part": "headwear",
			"model": "stray_head.jpm",
			"attach": "true"
		},
		{
			"part": "body",
			"model": "stray_body.jpm",
			"attach": "true"
		},
		{
			"part": "left_arm",
			"model": "stray_left_arm.jpm",
			"attach": "true"
		},
		{
			"part": "right_arm",
			"model": "stray_right_arm.jpm",
			"attach": "true"
		},
		{
			"part": "left_leg",
			"model": "stray_left_leg.jpm",
			"attach": "true"
		},
		{
			"part": "right_leg",
			"model": "stray_right_leg.jpm",
			"attach": "true"
		}
	]
}