Sunda Cyber Army


* Sunda Cyber Army 2k17 *
Indonesia Defacer ~


Path : /home/dent/public_html/accounts/configurator/js/
File Upload :
Current File : /home/dent/public_html/accounts/configurator/js/partData.js

// ROOFTOP PARTS

var PARTS = {
  // ROOFTOP PARTS

  URTSB36: URTSB36(true),

  URTL502: URTL502(true),

  URTL502E: URTL502E(true),

  URTL503: URTL503(true),

  URTL503E: URTL503E(true),

  URSL20: URSL20(true),

  URTRK1: URTRK1(true),

  URTOS3636: URTOS3636(true),

  URTTP20L: URTTP20L(true),

  URTTP20R: URTTP20R(true),

  RT_LADDER50END: RT_LADDER50END(true),

  RT_LADDER90END: RT_LADDER90END(true),

  RT_LEGS: RT_LEGS(true),

  RT_LEFTTURN: RT_LEFTTURN(true),

  RT_RIGHTTURN: RT_RIGHTTURN(true),
  MPASSW3: MPASSW3(true),
  // "MPASSW3E": MPASSW3(true),
  // "MPASSW3L": MPASSW3(true),
  // "MPASSW3R": MPASSW3(true),
  // "MPASSW4": MPASSW4(true),
  // "MPASSW5": MPASSW5(true),
  // "MPASSW6": MPASSW6(true),
  // "MPASSW7": MPASSW7(true),
  // "MPASSW8": MPASSW8(true),
  // "MPASSW9": MPASSW9(true),
  // "MPASSW2": MPASSW2(true),

  // CROSSOVERPARTS

  UCB30246: UCB30246(true),

  UCB20246: UCB20246(true),

  CO_LEFTTURN: CO_LEFTTURN(true),

  CO_RIGHTTURN: CO_RIGHTTURN(true),

  CO_LADDER50END: CO_LADDER50END(true),

  CO_LADDER75END: CO_LADDER75END(true),

  CO_LADDER90END: CO_LADDER90END(true),

  CO_LEGS: CO_LEGS(true),

  URK: URK(true),

  // MAX PARTS

  UAP3636: UAP3636(true),

  UAP0250U: UAP0250U(true),

  UAP0290U: UAP0290U(true),

  UAP0250D: UAP0250D(true),

  UAP0290D: UAP0290D(true),

  UAP0350U: UAP0350U(true),

  UAP0390U: UAP0390U(true),

  UAP0350D: UAP0350D(true),

  UAP0390D: UAP0390D(true),

  UAP0450U: UAP0450U(true),

  UAP0490U: UAP0490U(true),

  UAP0450D: UAP0450D(true),

  UAP0490D: UAP0490D(true),

  UAP0550U: UAP0550U(true),

  UAP0590U: UAP0590U(true),

  UAP0550D: UAP0550D(true),

  UAP0590D: UAP0590D(true),

  UAP0650U: UAP0650U(true),

  UAP0690U: UAP0690U(true),

  UAP0650D: UAP0650D(true),

  UAP0690D: UAP0690D(true),

  UAP0750U: UAP0750U(true),

  UAP0790U: UAP0790U(true),

  UAP0750D: UAP0750D(true),

  UAP0790D: UAP0790D(true),

  UAP0850U: UAP0850U(true),

  UAP0890U: UAP0890U(true),

  UAP0850D: UAP0850D(true),

  UAP0890D: UAP0890D(true),

  UAP0950U: UAP0950U(true),

  UAP0990U: UAP0990U(true),

  UAP0950D: UAP0950D(true),

  UAP0990D: UAP0990D(true),

  UAP1050U: UAP1050U(true),

  UAP1090U: UAP1090U(true),

  UAP1050D: UAP1050D(true),

  UAP1090D: UAP1090D(true),

  UAP1150U: UAP1150U(true),

  UAP1190U: UAP1190U(true),

  UAP1150D: UAP1150D(true),

  UAP1190D: UAP1190D(true),

  UAPHR1: UAPHR1(true),
  MPASP30H3: MPASP30H3(true),
  MPASP60H3: MPASP60H3(true),
  MPASP90H3: MPASP90H3(true),
  // "MPASP120H3": MPASP120H3(true),
  MPASP30H2: MPASP30H2(true),
  MPASP60H2: MPASP60H2(true),
  MPASP90H2: MPASP90H2(true),
  // "MPASP120H2": MPASP120H2(true),
  MPASP30H4: MPASP30H4(true),
  MPASP60H4: MPASP60H4(true),
  MPASP90H4: MPASP90H4(true),
  // "MPASP120H4": MPASP120H4(true),
  MPASP30H5: MPASP30H5(true),
  MPASP60H5: MPASP60H5(true),
  MPASP90H5: MPASP90H5(true),
  // "MPASP120H5": MPASP120H5(true),
  MPASP30H6: MPASP30H6(true),
  MPASP60H6: MPASP60H6(true),
  MPASP90H6: MPASP90H6(true),
  // "MPASP120H6": MPASP120H6(true),
  MPASP30H7: MPASP30H7(true),
  MPASP60H7: MPASP60H7(true),
  MPASP90H7: MPASP90H7(true),
  // "MPASP120H7": MPASP120H7(true),
  MPASP30H8: MPASP30H8(true),
  MPASP60H8: MPASP60H8(true, "default"),
  MPASP90H8: MPASP90H8(true),
  //"MPASP120H8": MPASP120H8(true),
  MPASP30H9: MPASP30H9(true),
  MPASP60H9: MPASP60H9(true, "default"),
  MPASP90H9: MPASP90H9(true),
  MPASP120H9: MPASP120H9(true, "default"),
  MPASP120H9R1: MPASP120H9(true, "r1"),
  MPASP120H9R2: MPASP120H9(true, "r2"),
  MPASP120H9L2: MPASP120H9(true, "l2"),
  MPASP120H9L1: MPASP120H9(true, "l1"),
  MPASP120H9C: MPASP120H9(true, "c"),

  MPASP90H9R1: MPASP90H9(true, "r1"),
  MPASP90H9R2: MPASP90H9(true, "r2"),
  MPASP90H9L2: MPASP90H9(true, "l2"),
  MPASP90H9L1: MPASP90H9(true, "l1"),
  MPASP90H9C: MPASP90H9(true, "c"),
  MPASP90H9Back: MPASP90H9(true, "defaultBack"),
  MPASP90H9R1Back: MPASP90H9(true, "r1Back"),
  MPASP90H9R2Back: MPASP90H9(true, "r2Back"),
  MPASP90H9L2Back: MPASP90H9(true, "l2Back"),
  MPASP90H9L1Back: MPASP90H9(true, "l1Back"),
  MPASP90H9CBack: MPASP90H9(true, "cBack"),
  MPASP90H9Right: MPASP90H9(true, "defaultRight"),
  MPASP90H9R1Right: MPASP90H9(true, "r1Right"),
  MPASP90H9R2Right: MPASP90H9(true, "r2Right"),
  MPASP90H9L2Right: MPASP90H9(true, "l2Right"),
  MPASP90H9L1Right: MPASP90H9(true, "l1Right"),
  MPASP90H9CRight: MPASP90H9(true, "cRight"),
  MPASP90H9Left: MPASP90H9(true, "defaultLeft"),
  MPASP90H9R1Left: MPASP90H9(true, "r1Left"),
  MPASP90H9R2Left: MPASP90H9(true, "r2Left"),
  MPASP90H9L2Left: MPASP90H9(true, "l2Left"),
  MPASP90H9L1Left: MPASP90H9(true, "l1Left"),
  MPASP90H9CLeft: MPASP90H9(true, "cLeft"),

  MPASP120H9Left: MPASP120H9(true, "defaultLeft"),
  MPASP120H9R1Left: MPASP120H9(true, "r1Left"),
  MPASP120H9R2Left: MPASP120H9(true, "r2Left"),
  MPASP120H9L2Left: MPASP120H9(true, "l1Left"),
  MPASP120H9L1Left: MPASP120H9(true, "l2Left"),
  MPASP120H9CLeft: MPASP120H9(true, "cLeft"),
  MPASP120H9Right: MPASP120H9(true, "defaultRight"),
  MPASP120H9R1Right: MPASP120H9(true, "r1Right"),
  MPASP120H9R2Right: MPASP120H9(true, "r2Right"),
  MPASP120H9L2Right: MPASP120H9(true, "l1Right"),
  MPASP120H9L1Right: MPASP120H9(true, "l2Right"),
  MPASP120H9CRight: MPASP120H9(true, "cRight"),
  MPASP120H9Back: MPASP120H9(true, "defaultBack"),
  MPASP120H9R1Back: MPASP120H9(true, "r1Back"),
  MPASP120H9R2Back: MPASP120H9(true, "r2Back"),
  MPASP120H9L2Back: MPASP120H9(true, "l1Back"),
  MPASP120H9L1Back: MPASP120H9(true, "l2Back"),
  MPASP120H9CBack: MPASP120H9(true, "cBack"),


  MPASSW9FD: stairConfig({ part: "MPASSW9", isDown: true, side: 2 }),
  MPASSW9LD: stairConfig({ part: "MPASSW9", isDown: true, side: 3 }),
  MPASSW9BD: stairConfig({ part: "MPASSW9", isDown: true, side: 0 }),
  MPASSW9RD: stairConfig({ part: "MPASSW9", isDown: true, side: 1 }),

  MPASP60H9: MPASP60H9(true, "default"),
MPASP60H9R2: MPASP60H9(true, "r2"),
MPASP60H9L1: MPASP60H9(true, "l1"),
MPASP60H9C: MPASP60H9(true, "c"),
MPASP60H9Left: MPASP60H9(true, "defaultLeft"),
MPASP60H9R2Left: MPASP60H9(true, "r2Left"),
MPASP60H9L1Left: MPASP60H9(true, "l1Left"),
MPASP60H9CLeft: MPASP60H9(true, "cLeft"),
MPASP60H9Right: MPASP60H9(true, "defaultRight"),
MPASP60H9R2Right: MPASP60H9(true, "r2Right"),
MPASP60H9L1Right: MPASP60H9(true, "l1Right"),
MPASP60H9CRight: MPASP60H9(true, "cRight"),
MPASP60H9Back: MPASP60H9(true, "defaultBack"),
MPASP60H9R2Back: MPASP60H9(true, "r2Back"),
MPASP60H9L1Back: MPASP60H9(true, "l1Back"),
MPASP60H9CBack: MPASP60H9(true, "cBack"),

  MPASP120H8: MPASP120H8(true, "default"),
  MPASP120H8R1: MPASP120H8(true, "r1"),
  MPASP120H8R2: MPASP120H8(true, "r2"),
  MPASP120H8L2: MPASP120H8(true, "l2"),
  MPASP120H8L1: MPASP120H8(true, "l1"),
  MPASP120H8C: MPASP120H8(true, "c"),
  MPASP120H8Left: MPASP120H8(true, "defaultLeft"),
  MPASP120H8R1Left: MPASP120H8(true, "r1Left"),
  MPASP120H8R2Left: MPASP120H8(true, "r2Left"),
  MPASP120H8L2Left: MPASP120H8(true, "l1Left"),
  MPASP120H8L1Left: MPASP120H8(true, "l2Left"),
  MPASP120H8CLeft: MPASP120H8(true, "cLeft"),
  MPASP120H8Right: MPASP120H8(true, "defaultRight"),
  MPASP120H8R1Right: MPASP120H8(true, "r1Right"),
  MPASP120H8R2Right: MPASP120H8(true, "r2Right"),
  MPASP120H8L2Right: MPASP120H8(true, "l1Right"),
  MPASP120H8L1Right: MPASP120H8(true, "l2Right"),
  MPASP120H8CRight: MPASP120H8(true, "cRight"),
  MPASP120H8Back: MPASP120H8(true, "defaultBack"),
  MPASP120H8R1Back: MPASP120H8(true, "r1Back"),
  MPASP120H8R2Back: MPASP120H8(true, "r2Back"),
  MPASP120H8L2Back: MPASP120H8(true, "l1Back"),
  MPASP120H8L1Back: MPASP120H8(true, "l2Back"),
  MPASP120H8CBack: MPASP120H8(true, "cBack"),

  MPASP120H7: MPASP120H7(true, "default"),
  MPASP120H7R1: MPASP120H7(true, "r1"),
  MPASP120H7R2: MPASP120H7(true, "r2"),
  MPASP120H7L2: MPASP120H7(true, "l2"),
  MPASP120H7L1: MPASP120H7(true, "l1"),
  MPASP120H7C: MPASP120H7(true, "c"),
  MPASP120H7Left: MPASP120H7(true, "defaultLeft"),
  MPASP120H7R1Left: MPASP120H7(true, "r1Left"),
  MPASP120H7R2Left: MPASP120H7(true, "r2Left"),
  MPASP120H7L2Left: MPASP120H7(true, "l1Left"),
  MPASP120H7L1Left: MPASP120H7(true, "l2Left"),
  MPASP120H7CLeft: MPASP120H7(true, "cLeft"),
  MPASP120H7Right: MPASP120H7(true, "defaultRight"),
  MPASP120H7R1Right: MPASP120H7(true, "r1Right"),
  MPASP120H7R2Right: MPASP120H7(true, "r2Right"),
  MPASP120H7L2Right: MPASP120H7(true, "l1Right"),
  MPASP120H7L1Right: MPASP120H7(true, "l2Right"),
  MPASP120H7CRight: MPASP120H7(true, "cRight"),
  MPASP120H7Back: MPASP120H7(true, "defaultBack"),
  MPASP120H7R1Back: MPASP120H7(true, "r1Back"),
  MPASP120H7R2Back: MPASP120H7(true, "r2Back"),
  MPASP120H7L2Back: MPASP120H7(true, "l1Back"),
  MPASP120H7L1Back: MPASP120H7(true, "l2Back"),
  MPASP120H7CBack: MPASP120H7(true, "cBack"),

  MPASP120H6: MPASP120H6(true, "default"),
  MPASP120H6R1: MPASP120H6(true, "r1"),
  MPASP120H6R2: MPASP120H6(true, "r2"),
  MPASP120H6L2: MPASP120H6(true, "l2"),
  MPASP120H6L1: MPASP120H6(true, "l1"),
  MPASP120H6C: MPASP120H6(true, "c"),
  MPASP120H6Left: MPASP120H6(true, "defaultLeft"),
  MPASP120H6R1Left: MPASP120H6(true, "r1Left"),
  MPASP120H6R2Left: MPASP120H6(true, "r2Left"),
  MPASP120H6L2Left: MPASP120H6(true, "l1Left"),
  MPASP120H6L1Left: MPASP120H6(true, "l2Left"),
  MPASP120H6CLeft: MPASP120H6(true, "cLeft"),
  MPASP120H6Right: MPASP120H6(true, "defaultRight"),
  MPASP120H6R1Right: MPASP120H6(true, "r1Right"),
  MPASP120H6R2Right: MPASP120H6(true, "r2Right"),
  MPASP120H6L2Right: MPASP120H6(true, "l1Right"),
  MPASP120H6L1Right: MPASP120H6(true, "l2Right"),
  MPASP120H6CRight: MPASP120H6(true, "cRight"),
  MPASP120H6Back: MPASP120H6(true, "defaultBack"),
  MPASP120H6R1Back: MPASP120H6(true, "r1Back"),
  MPASP120H6R2Back: MPASP120H6(true, "r2Back"),
  MPASP120H6L2Back: MPASP120H6(true, "l1Back"),
  MPASP120H6L1Back: MPASP120H6(true, "l2Back"),
  MPASP120H6CBack: MPASP120H6(true, "cBack"),

  MPASP120H5: MPASP120H5(true, "default"),
  MPASP120H5R1: MPASP120H5(true, "r1"),
  MPASP120H5R2: MPASP120H5(true, "r2"),
  MPASP120H5L2: MPASP120H5(true, "l2"),
  MPASP120H5L1: MPASP120H5(true, "l1"),
  MPASP120H5C: MPASP120H5(true, "c"),
  MPASP120H5Left: MPASP120H5(true, "defaultLeft"),
  MPASP120H5R1Left: MPASP120H5(true, "r1Left"),
  MPASP120H5R2Left: MPASP120H5(true, "r2Left"),
  MPASP120H5L2Left: MPASP120H5(true, "l1Left"),
  MPASP120H5L1Left: MPASP120H5(true, "l2Left"),
  MPASP120H5CLeft: MPASP120H5(true, "cLeft"),
  MPASP120H5Right: MPASP120H5(true, "defaultRight"),
  MPASP120H5R1Right: MPASP120H5(true, "r1Right"),
  MPASP120H5R2Right: MPASP120H5(true, "r2Right"),
  MPASP120H5L2Right: MPASP120H5(true, "l1Right"),
  MPASP120H5L1Right: MPASP120H5(true, "l2Right"),
  MPASP120H5CRight: MPASP120H5(true, "cRight"),
  MPASP120H5Back: MPASP120H5(true, "defaultBack"),
  MPASP120H5R1Back: MPASP120H5(true, "r1Back"),
  MPASP120H5R2Back: MPASP120H5(true, "r2Back"),
  MPASP120H5L2Back: MPASP120H5(true, "l1Back"),
  MPASP120H5L1Back: MPASP120H5(true, "l2Back"),
  MPASP120H5CBack: MPASP120H5(true, "cBack"),

  MPASP120H4: MPASP120H4(true, "default"),
  MPASP120H4R1: MPASP120H4(true, "r1"),
  MPASP120H4R2: MPASP120H4(true, "r2"),
  MPASP120H4L2: MPASP120H4(true, "l2"),
  MPASP120H4L1: MPASP120H4(true, "l1"),
  MPASP120H4C: MPASP120H4(true, "c"),
  MPASP120H4Left: MPASP120H4(true, "defaultLeft"),
  MPASP120H4R1Left: MPASP120H4(true, "r1Left"),
  MPASP120H4R2Left: MPASP120H4(true, "r2Left"),
  MPASP120H4L2Left: MPASP120H4(true, "l1Left"),
  MPASP120H4L1Left: MPASP120H4(true, "l2Left"),
  MPASP120H4CLeft: MPASP120H4(true, "cLeft"),
  MPASP120H4Right: MPASP120H4(true, "defaultRight"),
  MPASP120H4R1Right: MPASP120H4(true, "r1Right"),
  MPASP120H4R2Right: MPASP120H4(true, "r2Right"),
  MPASP120H4L2Right: MPASP120H4(true, "l1Right"),
  MPASP120H4L1Right: MPASP120H4(true, "l2Right"),
  MPASP120H4CRight: MPASP120H4(true, "cRight"),
  MPASP120H4Back: MPASP120H4(true, "defaultBack"),
  MPASP120H4R1Back: MPASP120H4(true, "r1Back"),
  MPASP120H4R2Back: MPASP120H4(true, "r2Back"),
  MPASP120H4L2Back: MPASP120H4(true, "l1Back"),
  MPASP120H4L1Back: MPASP120H4(true, "l2Back"),
  MPASP120H4CBack: MPASP120H4(true, "cBack"),

  MPASP120H3: MPASP120H3(true, "default"),
  MPASP120H3R1: MPASP120H3(true, "r1"),
  MPASP120H3R2: MPASP120H3(true, "r2"),
  MPASP120H3L2: MPASP120H3(true, "l2"),
  MPASP120H3L1: MPASP120H3(true, "l1"),
  MPASP120H3C: MPASP120H3(true, "c"),
  MPASP120H3Left: MPASP120H3(true, "defaultLeft"),
  MPASP120H3R1Left: MPASP120H3(true, "r1Left"),
  MPASP120H3R2Left: MPASP120H3(true, "r2Left"),
  MPASP120H3L2Left: MPASP120H3(true, "l1Left"),
  MPASP120H3L1Left: MPASP120H3(true, "l2Left"),
  MPASP120H3CLeft: MPASP120H3(true, "cLeft"),
  MPASP120H3Right: MPASP120H3(true, "defaultRight"),
  MPASP120H3R1Right: MPASP120H3(true, "r1Right"),
  MPASP120H3R2Right: MPASP120H3(true, "r2Right"),
  MPASP120H3L2Right: MPASP120H3(true, "l1Right"),
  MPASP120H3L1Right: MPASP120H3(true, "l2Right"),
  MPASP120H3CRight: MPASP120H3(true, "cRight"),
  MPASP120H3Back: MPASP120H3(true, "defaultBack"),
  MPASP120H3R1Back: MPASP120H3(true, "r1Back"),
  MPASP120H3R2Back: MPASP120H3(true, "r2Back"),
  MPASP120H3L2Back: MPASP120H3(true, "l1Back"),
  MPASP120H3L1Back: MPASP120H3(true, "l2Back"),
  MPASP120H3CBack: MPASP120H3(true, "cBack"),

  MPASP120H2: MPASP120H2(true, "default"),
  MPASP120H2R1: MPASP120H2(true, "r1"),
  MPASP120H2R2: MPASP120H2(true, "r2"),
  MPASP120H2L2: MPASP120H2(true, "l1"),
  MPASP120H2L1: MPASP120H2(true, "l2"),
  MPASP120H2C: MPASP120H2(true, "c"),
  MPASP120H2Left: MPASP120H2(true, "defaultLeft"),
  MPASP120H2R1Left: MPASP120H2(true, "r1Left"),
  MPASP120H2R2Left: MPASP120H2(true, "r2Left"),
  MPASP120H2L2Left: MPASP120H2(true, "l1Left"),
  MPASP120H2L1Left: MPASP120H2(true, "l2Left"),
  MPASP120H2CLeft: MPASP120H2(true, "cLeft"),
  MPASP120H2Right: MPASP120H2(true, "defaultRight"),
  MPASP120H2R1Right: MPASP120H2(true, "r1Right"),
  MPASP120H2R2Right: MPASP120H2(true, "r2Right"),
  MPASP120H2L2Right: MPASP120H2(true, "l1Right"),
  MPASP120H2L1Right: MPASP120H2(true, "l2Right"),
  MPASP120H2CRight: MPASP120H2(true, "cRight"),
  MPASP120H2Back: MPASP120H2(true, "defaultBack"),
  MPASP120H2R1Back: MPASP120H2(true, "r1Back"),
  MPASP120H2R2Back: MPASP120H2(true, "r2Back"),
  MPASP120H2L2Back: MPASP120H2(true, "l1Back"),
  MPASP120H2L1Back: MPASP120H2(true, "l2Back"),
  MPASP120H2CBack: MPASP120H2(true, "cBack"),

  MPASP60H8: MPASP60H8(true, "default"),
MPASP60H8R2: MPASP60H8(true, "r2"),
MPASP60H8L1: MPASP60H8(true, "l1"),
MPASP60H8C: MPASP60H8(true, "c"),
MPASP60H8Left: MPASP60H8(true, "defaultLeft"),
MPASP60H8R2Left: MPASP60H8(true, "r2Left"),
MPASP60H8L1Left: MPASP60H8(true, "l1Left"),
MPASP60H8CLeft: MPASP60H8(true, "cLeft"),
MPASP60H8Right: MPASP60H8(true, "defaultRight"),
MPASP60H8R2Right: MPASP60H8(true, "r2Right"),
MPASP60H8L1Right: MPASP60H8(true, "l1Right"),
MPASP60H8CRight: MPASP60H8(true, "cRight"),
MPASP60H8Back: MPASP60H8(true, "defaultBack"),
MPASP60H8R2Back: MPASP60H8(true, "r2Back"),
MPASP60H8L1Back: MPASP60H8(true, "l1Back"),
MPASP60H8CBack: MPASP60H8(true, "cBack"),

  MPASP60H7: MPASP60H7(true, "default"),
  MPASP60H7R2: MPASP60H7(true, "r2"),
  MPASP60H7L1: MPASP60H7(true, "l1"),
  MPASP60H7C: MPASP60H7(true, "c"),
  MPASP60H7Left: MPASP60H7(true, "defaultLeft"),
  MPASP60H7R2Left: MPASP60H7(true, "r2Left"),
  MPASP60H7L1Left: MPASP60H7(true, "l1Left"),
  MPASP60H7CLeft: MPASP60H7(true, "cLeft"),
  MPASP60H7Right: MPASP60H7(true, "defaultRight"),
  MPASP60H7R2Right: MPASP60H7(true, "r2Right"),
  MPASP60H7L1Right: MPASP60H7(true, "l1Right"),
  MPASP60H7CRight: MPASP60H7(true, "cRight"),
  MPASP60H7Back: MPASP60H7(true, "defaultBack"),
  MPASP60H7R2Back: MPASP60H7(true, "r2Back"),
  MPASP60H7L1Back: MPASP60H7(true, "l1Back"),
  MPASP60H7CBack: MPASP60H7(true, "cBack"),

  MPASP60H6: MPASP60H6(true, "default"),
  MPASP60H6R2: MPASP60H6(true, "r2"),
  MPASP60H6L1: MPASP60H6(true, "l1"),
  MPASP60H6C: MPASP60H6(true, "c"),
  MPASP60H6Left: MPASP60H6(true, "defaultLeft"),
  MPASP60H6R2Left: MPASP60H6(true, "r2Left"),
  MPASP60H6L1Left: MPASP60H6(true, "l1Left"),
  MPASP60H6CLeft: MPASP60H6(true, "cLeft"),
  MPASP60H6Right: MPASP60H6(true, "defaultRight"),
  MPASP60H6R2Right: MPASP60H6(true, "r2Right"),
  MPASP60H6L1Right: MPASP60H6(true, "l1Right"),
  MPASP60H6CRight: MPASP60H6(true, "cRight"),
  MPASP60H6Back: MPASP60H6(true, "defaultBack"),
  MPASP60H6R2Back: MPASP60H6(true, "r2Back"),
  MPASP60H6L1Back: MPASP60H6(true, "l1Back"),
  MPASP60H6CBack: MPASP60H6(true, "cBack"),

  MPASP60H5: MPASP60H5(true, "default"),
  MPASP60H5R2: MPASP60H5(true, "r2"),
  MPASP60H5L1: MPASP60H5(true, "l1"),
  MPASP60H5C: MPASP60H5(true, "c"),
  MPASP60H5Left: MPASP60H5(true, "defaultLeft"),
  MPASP60H5R2Left: MPASP60H5(true, "r2Left"),
  MPASP60H5L1Left: MPASP60H5(true, "l1Left"),
  MPASP60H5CLeft: MPASP60H5(true, "cLeft"),
  MPASP60H5Right: MPASP60H5(true, "defaultRight"),
  MPASP60H5R2Right: MPASP60H5(true, "r2Right"),
  MPASP60H5L1Right: MPASP60H5(true, "l1Right"),
  MPASP60H5CRight: MPASP60H5(true, "cRight"),
  MPASP60H5Back: MPASP60H5(true, "defaultBack"),
  MPASP60H5R2Back: MPASP60H5(true, "r2Back"),
  MPASP60H5L1Back: MPASP60H5(true, "l1Back"),
  MPASP60H5CBack: MPASP60H5(true, "cBack"),

  MPASP60H4: MPASP60H4(true, "default"),
  MPASP60H4R2: MPASP60H4(true, "r2"),
  MPASP60H4L1: MPASP60H4(true, "l1"),
  MPASP60H4C: MPASP60H4(true, "c"),
  MPASP60H4Left: MPASP60H4(true, "defaultLeft"),
  MPASP60H4R2Left: MPASP60H4(true, "r2Left"),
  MPASP60H4L1Left: MPASP60H4(true, "l1Left"),
  MPASP60H4CLeft: MPASP60H4(true, "cLeft"),
  MPASP60H4Right: MPASP60H4(true, "defaultRight"),
  MPASP60H4R2Right: MPASP60H4(true, "r2Right"),
  MPASP60H4L1Right: MPASP60H4(true, "l1Right"),
  MPASP60H4CRight: MPASP60H4(true, "cRight"),
  MPASP60H4Back: MPASP60H4(true, "defaultBack"),
  MPASP60H4R2Back: MPASP60H4(true, "r2Back"),
  MPASP60H4L1Back: MPASP60H4(true, "l1Back"),
  MPASP60H4CBack: MPASP60H4(true, "cBack"),

  MPASP60H3: MPASP60H3(true, "default"),
  MPASP60H3R2: MPASP60H3(true, "r2"),
  MPASP60H3L1: MPASP60H3(true, "l1"),
  MPASP60H3C: MPASP60H3(true, "c"),
  MPASP60H3Left: MPASP60H3(true, "defaultLeft"),
  MPASP60H3R2Left: MPASP60H3(true, "r2Left"),
  MPASP60H3L1Left: MPASP60H3(true, "l1Left"),
  MPASP60H3CLeft: MPASP60H3(true, "cLeft"),
  MPASP60H3Right: MPASP60H3(true, "defaultRight"),
  MPASP60H3R2Right: MPASP60H3(true, "r2Right"),
  MPASP60H3L1Right: MPASP60H3(true, "l1Right"),
  MPASP60H3CRight: MPASP60H3(true, "cRight"),
  MPASP60H3Back: MPASP60H3(true, "defaultBack"),
  MPASP60H3R2Back: MPASP60H3(true, "r2Back"),
  MPASP60H3L1Back: MPASP60H3(true, "l1Back"),
  MPASP60H3CBack: MPASP60H3(true, "cBack"),

  MPASP60H2: MPASP60H2(true, "default"),
  MPASP60H2R2: MPASP60H2(true, "r2"),
  MPASP60H2L1: MPASP60H2(true, "l1"),
  MPASP60H2C: MPASP60H2(true, "c"),
  MPASP60H2Left: MPASP60H2(true, "defaultLeft"),
  MPASP60H2R2Left: MPASP60H2(true, "r2Left"),
  MPASP60H2L1Left: MPASP60H2(true, "l1Left"),
  MPASP60H2CLeft: MPASP60H2(true, "cLeft"),
  MPASP60H2Right: MPASP60H2(true, "defaultRight"),
  MPASP60H2R2Right: MPASP60H2(true, "r2Right"),
  MPASP60H2L1Right: MPASP60H2(true, "l1Right"),
  MPASP60H2CRight: MPASP60H2(true, "cRight"),
  MPASP60H2Back: MPASP60H2(true, "defaultBack"),
  MPASP60H2R2Back: MPASP60H2(true, "r2Back"),
  MPASP60H2L1Back: MPASP60H2(true, "l1Back"),
  MPASP60H2CBack: MPASP60H2(true, "cBack"),

  MPASP90H8R1: MPASP90H8(true, "r1"),
    MPASP90H8R2: MPASP90H8(true, "r2"),
    MPASP90H8L2: MPASP90H8(true, "l2"),
    MPASP90H8L1: MPASP90H8(true, "l1"),
    MPASP90H8C: MPASP90H8(true, "c"),
    MPASP90H8Back: MPASP90H8(true, "defaultBack"),
    MPASP90H8R1Back: MPASP90H8(true, "r1Back"),
    MPASP90H8R2Back: MPASP90H8(true, "r2Back"),
    MPASP90H8L2Back: MPASP90H8(true, "l2Back"),
    MPASP90H8L1Back: MPASP90H8(true, "l1Back"),
    MPASP90H8CBack: MPASP90H8(true, "cBack"),
    MPASP90H8Right: MPASP90H8(true, "defaultRight"),
    MPASP90H8R1Right: MPASP90H8(true, "r1Right"),
    MPASP90H8R2Right: MPASP90H8(true, "r2Right"),
    MPASP90H8L2Right: MPASP90H8(true, "l2Right"),
    MPASP90H8L1Right: MPASP90H8(true, "l1Right"),
    MPASP90H8CRight: MPASP90H8(true, "cRight"),
    MPASP90H8Left: MPASP90H8(true, "defaultLeft"),
    MPASP90H8R1Left: MPASP90H8(true, "r1Left"),
    MPASP90H8R2Left: MPASP90H8(true, "r2Left"),
    MPASP90H8L2Left: MPASP90H8(true, "l2Left"),
    MPASP90H8L1Left: MPASP90H8(true, "l1Left"),
    MPASP90H8CLeft: MPASP90H8(true, "cLeft"),

  MPASP90H7R1: MPASP90H7(true, "r1"),
  MPASP90H7R2: MPASP90H7(true, "r2"),
  MPASP90H7L2: MPASP90H7(true, "l2"),
  MPASP90H7L1: MPASP90H7(true, "l1"),
  MPASP90H7C: MPASP90H7(true, "c"),
  MPASP90H7Back: MPASP90H7(true, "defaultBack"),
  MPASP90H7R1Back: MPASP90H7(true, "r1Back"),
  MPASP90H7R2Back: MPASP90H7(true, "r2Back"),
  MPASP90H7L2Back: MPASP90H7(true, "l2Back"),
  MPASP90H7L1Back: MPASP90H7(true, "l1Back"),
  MPASP90H7CBack: MPASP90H7(true, "cBack"),
  MPASP90H7Right: MPASP90H7(true, "defaultRight"),
  MPASP90H7R1Right: MPASP90H7(true, "r1Right"),
  MPASP90H7R2Right: MPASP90H7(true, "r2Right"),
  MPASP90H7L2Right: MPASP90H7(true, "l2Right"),
  MPASP90H7L1Right: MPASP90H7(true, "l1Right"),
  MPASP90H7CRight: MPASP90H7(true, "cRight"),
  MPASP90H7Left: MPASP90H7(true, "defaultLeft"),
  MPASP90H7R1Left: MPASP90H7(true, "r1Left"),
  MPASP90H7R2Left: MPASP90H7(true, "r2Left"),
  MPASP90H7L2Left: MPASP90H7(true, "l2Left"),
  MPASP90H7L1Left: MPASP90H7(true, "l1Left"),
  MPASP90H7CLeft: MPASP90H7(true, "cLeft"),

  MPASP90H6R1: MPASP90H6(true, "r1"),
  MPASP90H6R2: MPASP90H6(true, "r2"),
  MPASP90H6L2: MPASP90H6(true, "l2"),
  MPASP90H6L1: MPASP90H6(true, "l1"),
  MPASP90H6C: MPASP90H6(true, "c"),
  MPASP90H6Back: MPASP90H6(true, "defaultBack"),
  MPASP90H6R1Back: MPASP90H6(true, "r1Back"),
  MPASP90H6R2Back: MPASP90H6(true, "r2Back"),
  MPASP90H6L2Back: MPASP90H6(true, "l2Back"),
  MPASP90H6L1Back: MPASP90H6(true, "l1Back"),
  MPASP90H6CBack: MPASP90H6(true, "cBack"),
  MPASP90H6Right: MPASP90H6(true, "defaultRight"),
  MPASP90H6R1Right: MPASP90H6(true, "r1Right"),
  MPASP90H6R2Right: MPASP90H6(true, "r2Right"),
  MPASP90H6L2Right: MPASP90H6(true, "l2Right"),
  MPASP90H6L1Right: MPASP90H6(true, "l1Right"),
  MPASP90H6CRight: MPASP90H6(true, "cRight"),
  MPASP90H6Left: MPASP90H6(true, "defaultLeft"),
  MPASP90H6R1Left: MPASP90H6(true, "r1Left"),
  MPASP90H6R2Left: MPASP90H6(true, "r2Left"),
  MPASP90H6L2Left: MPASP90H6(true, "l2Left"),
  MPASP90H6L1Left: MPASP90H6(true, "l1Left"),
  MPASP90H6CLeft: MPASP90H6(true, "cLeft"),

  MPASP90H5R1: MPASP90H5(true, "r1"),
  MPASP90H5R2: MPASP90H5(true, "r2"),
  MPASP90H5L2: MPASP90H5(true, "l2"),
  MPASP90H5L1: MPASP90H5(true, "l1"),
  MPASP90H5C: MPASP90H5(true, "c"),
  MPASP90H5Back: MPASP90H5(true, "defaultBack"),
  MPASP90H5R1Back: MPASP90H5(true, "r1Back"),
  MPASP90H5R2Back: MPASP90H5(true, "r2Back"),
  MPASP90H5L2Back: MPASP90H5(true, "l2Back"),
  MPASP90H5L1Back: MPASP90H5(true, "l1Back"),
  MPASP90H5CBack: MPASP90H5(true, "cBack"),
  MPASP90H5Right: MPASP90H5(true, "defaultRight"),
  MPASP90H5R1Right: MPASP90H5(true, "r1Right"),
  MPASP90H5R2Right: MPASP90H5(true, "r2Right"),
  MPASP90H5L2Right: MPASP90H5(true, "l2Right"),
  MPASP90H5L1Right: MPASP90H5(true, "l1Right"),
  MPASP90H5CRight: MPASP90H5(true, "cRight"),
  MPASP90H5Left: MPASP90H5(true, "defaultLeft"),
  MPASP90H5R1Left: MPASP90H5(true, "r1Left"),
  MPASP90H5R2Left: MPASP90H5(true, "r2Left"),
  MPASP90H5L2Left: MPASP90H5(true, "l2Left"),
  MPASP90H5L1Left: MPASP90H5(true, "l1Left"),
  MPASP90H5CLeft: MPASP90H5(true, "cLeft"),

  MPASP90H4R1: MPASP90H4(true, "r1"),
  MPASP90H4R2: MPASP90H4(true, "r2"),
  MPASP90H4L2: MPASP90H4(true, "l2"),
  MPASP90H4L1: MPASP90H4(true, "l1"),
  MPASP90H4C: MPASP90H4(true, "c"),
  MPASP90H4Back: MPASP90H4(true, "defaultBack"),
  MPASP90H4R1Back: MPASP90H4(true, "r1Back"),
  MPASP90H4R2Back: MPASP90H4(true, "r2Back"),
  MPASP90H4L2Back: MPASP90H4(true, "l2Back"),
  MPASP90H4L1Back: MPASP90H4(true, "l1Back"),
  MPASP90H4CBack: MPASP90H4(true, "cBack"),
  MPASP90H4Right: MPASP90H4(true, "defaultRight"),
  MPASP90H4R1Right: MPASP90H4(true, "r1Right"),
  MPASP90H4R2Right: MPASP90H4(true, "r2Right"),
  MPASP90H4L2Right: MPASP90H4(true, "l2Right"),
  MPASP90H4L1Right: MPASP90H4(true, "l1Right"),
  MPASP90H4CRight: MPASP90H4(true, "cRight"),
  MPASP90H4Left: MPASP90H4(true, "defaultLeft"),
  MPASP90H4R1Left: MPASP90H4(true, "r1Left"),
  MPASP90H4R2Left: MPASP90H4(true, "r2Left"),
  MPASP90H4L2Left: MPASP90H4(true, "l2Left"),
  MPASP90H4L1Left: MPASP90H4(true, "l1Left"),
  MPASP90H4CLeft: MPASP90H4(true, "cLeft"),

  MPASP90H3R1: MPASP90H3(true, "r1"),
  MPASP90H3R2: MPASP90H3(true, "r2"),
  MPASP90H3L2: MPASP90H3(true, "l2"),
  MPASP90H3L1: MPASP90H3(true, "l1"),
  MPASP90H3C: MPASP90H3(true, "c"),
  MPASP90H3Back: MPASP90H3(true, "defaultBack"),
  MPASP90H3R1Back: MPASP90H3(true, "r1Back"),
  MPASP90H3R2Back: MPASP90H3(true, "r2Back"),
  MPASP90H3L2Back: MPASP90H3(true, "l2Back"),
  MPASP90H3L1Back: MPASP90H3(true, "l1Back"),
  MPASP90H3CBack: MPASP90H3(true, "cBack"),
  MPASP90H3Right: MPASP90H3(true, "defaultRight"),
  MPASP90H3R1Right: MPASP90H3(true, "r1Right"),
  MPASP90H3R2Right: MPASP90H3(true, "r2Right"),
  MPASP90H3L2Right: MPASP90H3(true, "l2Right"),
  MPASP90H3L1Right: MPASP90H3(true, "l1Right"),
  MPASP90H3CRight: MPASP90H3(true, "cRight"),
  MPASP90H3Left: MPASP90H3(true, "defaultLeft"),
  MPASP90H3R1Left: MPASP90H3(true, "r1Left"),
  MPASP90H3R2Left: MPASP90H3(true, "r2Left"),
  MPASP90H3L2Left: MPASP90H3(true, "l2Left"),
  MPASP90H3L1Left: MPASP90H3(true, "l1Left"),
  MPASP90H3CLeft: MPASP90H3(true, "cLeft"),

  MPASP90H2R1: MPASP90H2(true, "r1"),
  MPASP90H2R2: MPASP90H2(true, "r2"),
  MPASP90H2L2: MPASP90H2(true, "l2"),
  MPASP90H2L1: MPASP90H2(true, "l1"),
  MPASP90H2C: MPASP90H2(true, "c"),
  MPASP90H2Back: MPASP90H2(true, "defaultBack"),
  MPASP90H2R1Back: MPASP90H2(true, "r1Back"),
  MPASP90H2R2Back: MPASP90H2(true, "r2Back"),
  MPASP90H2L2Back: MPASP90H2(true, "l2Back"),
  MPASP90H2L1Back: MPASP90H2(true, "l1Back"),
  MPASP90H2CBack: MPASP90H2(true, "cBack"),
  MPASP90H2Right: MPASP90H2(true, "defaultRight"),
  MPASP90H2R1Right: MPASP90H2(true, "r1Right"),
  MPASP90H2R2Right: MPASP90H2(true, "r2Right"),
  MPASP90H2L2Right: MPASP90H2(true, "l2Right"),
  MPASP90H2L1Right: MPASP90H2(true, "l1Right"),
  MPASP90H2CRight: MPASP90H2(true, "cRight"),
  MPASP90H2Left: MPASP90H2(true, "defaultLeft"),
  MPASP90H2R1Left: MPASP90H2(true, "r1Left"),
  MPASP90H2R2Left: MPASP90H2(true, "r2Left"),
  MPASP90H2L2Left: MPASP90H2(true, "l2Left"),
  MPASP90H2L1Left: MPASP90H2(true, "l1Left"),
  MPASP90H2CLeft: MPASP90H2(true, "cLeft"),
  MPASGR30: MPASGR(true, 30),
  MPASGR60: MPASGR(true, 60),
  MPASGR60N: MPASGR(true, 60),
};
for (let stairI = 2; stairI <= 8; stairI++) {
  let stairSides = ["BD", "RD", "FD", "LD", "BU", "RU", "FU", "LU"];
  for (let stType in stairSides) {
    PARTS["MPASSW" + stairI + stairSides[stType]] = stairConfig({
      part: "MPASSW" + stairI,
      isDown: stType <= 3 ? true : false,
      side: stType % 4,
    });
  }
}

function refreshParts() {
  PARTS["RT_LADDER50END"] = RT_LADDER50END(true);

  PARTS["RT_LADDER90END"] = RT_LADDER90END(true);

  PARTS["RT_LEGS"] = RT_LEGS(true);

  PARTS["RT_LEFTTURN"] = RT_LEFTTURN(true);

  PARTS["RT_RIGHTTURN"] = RT_RIGHTTURN(true);

  PARTS["CO_LEFTTURN"] = CO_LEFTTURN(true);

  PARTS["CO_RIGHTTURN"] = CO_RIGHTTURN(true);

  PARTS["CO_LADDER50END"] = CO_LADDER50END(true);

  PARTS["CO_LADDER75END"] = CO_LADDER75END(true);

  PARTS["CO_LADDER90END"] = CO_LADDER90END(true);

  PARTS["CO_LEGS"] = CO_LEGS(true);
  //PARTS["MPASSW3"] = MPASSW3(true);
}

// SLOTS
var MOUNT_SLOT = 1;

var LEG_SLOT = 2;

// PART CONSTRUCTORS

// ROOFTOP **************************************************************************************************************************************************

function URTSB36(selectedFromMenu) {
  selectedFromMenu = selectedFromMenu || false;

  return {
    mountPoint: [
      new createjs.Point(-32, 26),
      new createjs.Point(-60, -36),
      new createjs.Point(38, 60),
      new createjs.Point(-10, -110),
    ],

    connectorPoint: [
      new createjs.Point(36, 60),
      new createjs.Point(-26, 28),
      new createjs.Point(28, -26),
      new createjs.Point(60, 36),
    ],

    rotationOffsets: [
      new createjs.Point(0, 0),
      new createjs.Point(-60, 60),
      new createjs.Point(16, 42),
      new createjs.Point(0, 0),
    ],

    spriteSheet: new createjs.SpriteSheet({
      images: ["assets/spritesheets/URTSB36.PNG"],

      frames: { width: 141, height: 163 },

      animations: {},
    }),

    spriteCenter: new createjs.Point(70, 81),

    altSkus: false,

    length: 40,

    width: 42,

    legsNeeded: true,

    legsLimit: 120,

    actsAsLegs: false,

    frameOffset: 0,

    childFrameOffset: 0,

    description: '40"L Bridge Span',

    name: '40"L Bridge Span',

    sku: "URTSB36",

    gsku: "29RJ32",

    connectableParts: [
      "URTSB36",
      "RT_LADDER50END",
      "RT_LADDER90END",
      "RT_LEFTTURN",
      "RT_RIGHTTURN",
      "URTRK1",
      "RT_LEGS",
    ],

    usesSlot: 1,

    hasMountSlot: true,

    hasLegSlot: true,

    zOrderMod: [0, 0, 0, 0],

    iZOrderMod: [0, 1, 1, -1],

    forceDrawLast: false,

    forceDrawLastFrame: 0,

    bridgeSpan: true,

    turnPiece: false,

    legs: false,

    rails: false,

    ladder: false,
  };
}

function URTL502(selectedFromMenu) {
  selectedFromMenu = selectedFromMenu || false;

  return {
    mountPoint: [
      new createjs.Point(-19, 12),
      new createjs.Point(-18, -26),
      new createjs.Point(-26, -18),
      new createjs.Point(12, -19),
    ],

    connectorPoint: [
      new createjs.Point(18, -18),
      new createjs.Point(24, 26),
      new createjs.Point(26, 26),
      new createjs.Point(-18, 18),
    ],

    rotationOffsets: [
      new createjs.Point(0, -40),
      new createjs.Point(0, -40),
      new createjs.Point(0, 0),
      new createjs.Point(20, 70),
    ],

    spriteSheet: new createjs.SpriteSheet({
      images: ["assets/spritesheets/URTL502.PNG"],

      frames: { width: 116, height: 189 },

      animations: {},
    }),

    spriteCenter: new createjs.Point(58, 94),

    altSkus: false,

    length: 18,

    width: 42,

    legsNeeded: false,

    legsLimit: 4,

    actsAsLegs: true,

    frameOffset: 0,

    childFrameOffset: 0,

    description: "2 Step 50\xB0 Ladder",

    name: "2 Step 50\xB0\nLadder",

    sku: "URTL502",

    gsku: "29RJ17",

    connectableParts: ["URTSB36", "RT_LEFTTURN", "RT_RIGHTTURN"],

    usesSlot: 1,

    hasMountSlot: true,

    hasLegSlot: false,

    zOrderMod: [0, 0, 0, 0],

    iZOrderMod: [0, 0, 0, 0],

    forceDrawLast: false,

    forceDrawLastFrame: 0,

    bridgeSpan: false,

    turnPiece: false,

    legs: false,

    rails: false,

    ladder: true,
  };
}

function URTL502E(selectedFromMenu) {
  selectedFromMenu = selectedFromMenu || false;

  return {
    mountPoint: [
      new createjs.Point(26, 26),
      new createjs.Point(-18, -26),
      new createjs.Point(-26, -18),
      new createjs.Point(0, 0),
    ],

    connectorPoint: [
      new createjs.Point(24, 26),
      new createjs.Point(-18, 18),
      new createjs.Point(18, -12),
      new createjs.Point(48, 42),
    ],

    rotationOffsets: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(18, 68),
      new createjs.Point(0, 0),
    ],

    spriteSheet: new createjs.SpriteSheet({
      images: ["assets/spritesheets/URTL502E.PNG"],

      frames: { width: 116, height: 189 },

      animations: {},
    }),

    spriteCenter: new createjs.Point(58, 94),

    altSkus: false,

    length: 18,

    width: 42,

    legsNeeded: false,

    legsLimit: 4,

    actsAsLegs: true,

    frameOffset: 0,

    childFrameOffset: 0,

    description: "2 Step 50\xB0 Ladder",

    name: "2 Step 50\xB0\nLadder",

    sku: "URTL502",

    gsku: "29RJ17",

    connectableParts: ["URTSB36", "RT_LEFTTURN", "RT_RIGHTTURN"],

    usesSlot: 1,

    hasMountSlot: false,

    hasLegSlot: false,

    zOrderMod: [0, 0, 0, 0],

    iZOrderMod: [0, 0, 0, 0],

    forceDrawLast: false,

    forceDrawLastFrame: 0,

    bridgeSpan: false,

    turnPiece: false,

    legs: false,

    rails: false,

    ladder: true,
  };
}

function URTL902(selectedFromMenu) {
  selectedFromMenu = selectedFromMenu || false;

  return {
    mountPoint: [
      new createjs.Point(-20, 16),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    connectorPoint: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    rotationOffsets: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    spriteSheet: new createjs.SpriteSheet({
      images: ["assets/spritesheets/URTL902.PNG"],

      frames: { width: 111, height: 188 },

      animations: {},
    }),

    spriteCenter: new createjs.Point(55, 90),

    altSkus: false,

    length: 28,

    width: 42,

    legsNeeded: false,

    legsLimit: 4,

    actsAsLegs: true,

    frameOffset: 0,

    childFrameOffset: 0,

    description: "2 Step 90\xB0 Ladder",

    name: "2 Step 90\xB0\nLadder",

    sku: "URTL902",

    gsku: "29RJ22",

    connectableParts: ["URTSB36", "RT_LEFTTURN", "RT_RIGHTTURN"],

    usesSlot: 1,

    hasMountSlot: true,

    hasLegSlot: false,

    zOrderMod: [0, 0, 0, 0],

    iZOrderMod: [0, 0, 0, 0],

    forceDrawLast: false,

    forceDrawLastFrame: 0,

    bridgeSpan: false,

    turnPiece: false,

    legs: false,

    rails: false,

    ladder: true,
  };
}

function URTL902E(selectedFromMenu) {
  selectedFromMenu = selectedFromMenu || false;

  return {
    mountPoint: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    connectorPoint: [
      new createjs.Point(22, 40),
      new createjs.Point(0, 81),
      new createjs.Point(14, -18),
      new createjs.Point(61, 92),
    ],

    rotationOffsets: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    spriteSheet: new createjs.SpriteSheet({
      images: ["assets/spritesheets/URTL902E.PNG"],

      frames: { width: 111, height: 188 },

      animations: {},
    }),

    spriteCenter: new createjs.Point(55, 90),

    altSkus: false,

    length: 28,

    width: 42,

    legsNeeded: false,

    legsLimit: 4,

    actsAsLegs: true,

    frameOffset: 0,

    childFrameOffset: 0,

    description: "2 Step 90\xB0 Ladder",

    name: "2 Step 90\xB0\nLadder",

    sku: "URTL902",

    gsku: "29RJ22",

    connectableParts: ["URTSB36", "RT_LEFTTURN", "RT_RIGHTTURN"],

    usesSlot: 1,

    hasMountSlot: false,

    hasLegSlot: false,

    zOrderMod: [0, 0, 0, 0],

    iZOrderMod: [0, 0, 0, 0],

    forceDrawLast: false,

    forceDrawLastFrame: 0,

    bridgeSpan: false,

    turnPiece: false,

    legs: false,

    rails: false,

    ladder: true,
  };
}

function URTL503(selectedFromMenu) {
  selectedFromMenu = selectedFromMenu || false;

  return {
    mountPoint: [
      new createjs.Point(-12, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    connectorPoint: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    rotationOffsets: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    spriteSheet: new createjs.SpriteSheet({
      images: ["assets/spritesheets/URTL503.PNG"],

      frames: { width: 150, height: 223 },

      animations: {},
    }),

    spriteCenter: new createjs.Point(75, 111),

    altSkus: false,

    length: 27,

    width: 42,

    legsNeeded: false,

    legsLimit: 4,

    actsAsLegs: true,

    frameOffset: 0,

    childFrameOffset: 0,

    description: "3 Step 50\xB0 Ladder",

    name: "3 Step 50\xB0\nLadder",

    sku: "URTL503",

    gsku: "29RJ18",

    connectableParts: ["URTSB36", "RT_LEFTTURN", "RT_RIGHTTURN"],

    usesSlot: 1,

    hasMountSlot: true,

    hasLegSlot: false,

    zOrderMod: [0, 0, 0, 0],

    iZOrderMod: [0, 0, 0, 0],

    forceDrawLast: false,

    forceDrawLastFrame: 0,

    bridgeSpan: false,

    turnPiece: false,

    legs: false,

    rails: false,

    ladder: true,
  };
}

function URTL503E(selectedFromMenu) {
  selectedFromMenu = selectedFromMenu || false;

  return {
    mountPoint: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    connectorPoint: [
      new createjs.Point(20, 26),
      new createjs.Point(10, 100),
      new createjs.Point(16, 0),
      new createjs.Point(62, 110),
    ],

    rotationOffsets: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    spriteSheet: new createjs.SpriteSheet({
      images: ["assets/spritesheets/URTL503E.PNG"],

      frames: { width: 150, height: 223 },

      animations: {},
    }),

    spriteCenter: new createjs.Point(75, 111),

    altSkus: false,

    length: 27,

    width: 42,

    legsNeeded: false,

    legsLimit: 4,

    actsAsLegs: true,

    frameOffset: 0,

    childFrameOffset: 0,

    description: "3 Step 50\xB0 Ladder",

    name: "3 Step 50\xB0\nLadder",

    sku: "URTL503",

    gsku: "29RJ18",

    connectableParts: ["URTSB36", "RT_LEFTTURN", "RT_RIGHTTURN"],

    usesSlot: 1,

    hasMountSlot: false,

    hasLegSlot: false,

    zOrderMod: [0, 0, 0, 0],

    iZOrderMod: [0, 0, 0, 0],

    forceDrawLast: false,

    forceDrawLastFrame: 0,

    bridgeSpan: false,

    turnPiece: false,

    legs: false,

    rails: false,

    ladder: true,
  };
}

function URTL903(selectedFromMenu) {
  selectedFromMenu = selectedFromMenu || false;

  return {
    mountPoint: [
      new createjs.Point(-20, 8),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    connectorPoint: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    rotationOffsets: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    spriteSheet: new createjs.SpriteSheet({
      images: ["assets/spritesheets/URTL903.PNG"],

      frames: { width: 110, height: 209 },

      animations: {},
    }),

    spriteCenter: new createjs.Point(55, 101),

    altSkus: false,

    length: 28,

    width: 42,

    legsNeeded: false,

    legsLimit: 4,

    actsAsLegs: true,

    frameOffset: 0,

    childFrameOffset: 0,

    description: "3 Step 90\xB0 Ladder",

    name: "3 Step 90\xB0\nLadder",

    sku: "URTL903",

    gsku: "29RJ23",

    connectableParts: ["URTSB36", "RT_LEFTTURN", "RT_RIGHTTURN"],

    usesSlot: 1,

    hasMountSlot: true,

    hasLegSlot: false,

    zOrderMod: [0, 0, 0, 0],

    iZOrderMod: [0, 0, 0, 0],

    forceDrawLast: false,

    forceDrawLastFrame: 0,

    bridgeSpan: false,

    turnPiece: false,

    legs: false,

    rails: false,

    ladder: true,
  };
}

function URTL903E(selectedFromMenu) {
  selectedFromMenu = selectedFromMenu || false;

  return {
    mountPoint: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    connectorPoint: [
      new createjs.Point(24, 38),
      new createjs.Point(-1, 78),
      new createjs.Point(11, -20),
      new createjs.Point(57, 95),
    ],

    rotationOffsets: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    spriteSheet: new createjs.SpriteSheet({
      images: ["assets/spritesheets/URTL903E.PNG"],

      frames: { width: 110, height: 209 },

      animations: {},
    }),

    spriteCenter: new createjs.Point(55, 90),

    altSkus: false,

    length: 28,

    width: 42,

    legsNeeded: false,

    legsLimit: 4,

    actsAsLegs: true,

    frameOffset: 0,

    childFrameOffset: 0,

    description: "3 Step 90\xB0 Ladder",

    name: "3 Step 90\xB0\nLadder",

    sku: "URTL903",

    gsku: "29RJ23",

    connectableParts: ["URTSB36", "RT_LEFTTURN", "RT_RIGHTTURN"],

    usesSlot: 1,

    hasMountSlot: false,

    hasLegSlot: false,

    zOrderMod: [0, 0, 0, 0],

    iZOrderMod: [0, 0, 0, 0],

    forceDrawLast: false,

    forceDrawLastFrame: 0,

    bridgeSpan: false,

    turnPiece: false,

    legs: false,

    rails: false,

    ladder: true,
  };
}

function URTL504(selectedFromMenu) {
  selectedFromMenu = selectedFromMenu || false;

  return {
    mountPoint: [
      new createjs.Point(-22, -20),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    connectorPoint: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    rotationOffsets: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    spriteSheet: new createjs.SpriteSheet({
      images: ["assets/spritesheets/URTL504.PNG"],

      frames: { width: 165, height: 252 },

      animations: {},
    }),

    spriteCenter: new createjs.Point(82, 126),

    altSkus: false,

    length: 35,

    width: 42,

    legsNeeded: false,

    legsLimit: 4,

    actsAsLegs: true,

    frameOffset: 0,

    childFrameOffset: 0,

    description: "4 Step 50\xB0 Ladder",

    name: "4 Step 50\xB0\nLadder",

    sku: "URTL504",

    gsku: "29RJ19",

    connectableParts: ["URTSB36", "RT_LEFTTURN", "RT_RIGHTTURN"],

    usesSlot: 1,

    hasMountSlot: true,

    hasLegSlot: false,

    zOrderMod: [0, 0, 0, 0],

    iZOrderMod: [0, 0, 0, 0],

    forceDrawLast: false,

    forceDrawLastFrame: 0,

    bridgeSpan: false,

    turnPiece: false,

    legs: false,

    rails: false,

    ladder: true,
  };
}

function URTL504E(selectedFromMenu) {
  selectedFromMenu = selectedFromMenu || false;

  return {
    mountPoint: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    connectorPoint: [
      new createjs.Point(54, 46),
      new createjs.Point(-24, 78),
      new createjs.Point(-4, -16),
      new createjs.Point(40, 90),
    ],

    rotationOffsets: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    spriteSheet: new createjs.SpriteSheet({
      images: ["assets/spritesheets/URTL504E.PNG"],

      frames: { width: 165, height: 252 },

      animations: {},
    }),

    spriteCenter: new createjs.Point(58, 94),

    altSkus: false,

    length: 35,

    width: 42,

    legsNeeded: false,

    legsLimit: 4,

    actsAsLegs: true,

    frameOffset: 0,

    childFrameOffset: 0,

    description: "4 Step 50\xB0 Ladder",

    name: "4 Step 50\xB0\nLadder",

    sku: "URTL504",

    gsku: "29RJ19",

    connectableParts: ["URTSB36", "RT_LEFTTURN", "RT_RIGHTTURN"],

    usesSlot: 1,

    hasMountSlot: false,

    hasLegSlot: false,

    zOrderMod: [0, 0, 0, 0],

    iZOrderMod: [0, 0, 0, 0],

    forceDrawLast: false,

    forceDrawLastFrame: 0,

    bridgeSpan: false,

    turnPiece: false,

    legs: false,

    rails: false,

    ladder: true,
  };
}

function URTL904(selectedFromMenu) {
  selectedFromMenu = selectedFromMenu || false;

  return {
    mountPoint: [
      new createjs.Point(-20, 16),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    connectorPoint: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    rotationOffsets: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    spriteSheet: new createjs.SpriteSheet({
      images: ["assets/spritesheets/URTL904.PNG"],

      frames: { width: 110, height: 230 },

      animations: {},
    }),

    spriteCenter: new createjs.Point(55, 90),

    altSkus: false,

    length: 28,

    width: 42,

    legsNeeded: false,

    legsLimit: 4,

    actsAsLegs: true,

    frameOffset: 0,

    childFrameOffset: 0,

    description: "4 Step 90\xB0 Ladder",

    name: "4 Step 90\xB0\nLadder",

    sku: "URTL904",

    gsku: "29RJ24X",

    connectableParts: ["URTSB36", "RT_LEFTTURN", "RT_RIGHTTURN"],

    usesSlot: 1,

    hasMountSlot: true,

    hasLegSlot: false,

    zOrderMod: [0, 0, 0, 0],

    iZOrderMod: [0, 0, 0, 0],

    forceDrawLast: false,

    forceDrawLastFrame: 0,

    bridgeSpan: false,

    turnPiece: false,

    legs: false,

    rails: false,

    ladder: true,
  };
}

function URTL904E(selectedFromMenu) {
  selectedFromMenu = selectedFromMenu || false;

  return {
    mountPoint: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    connectorPoint: [
      new createjs.Point(21, 37),
      new createjs.Point(0, 79),
      new createjs.Point(11, -20),
      new createjs.Point(56, 100),
    ],

    rotationOffsets: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    spriteSheet: new createjs.SpriteSheet({
      images: ["assets/spritesheets/URTL904E.PNG"],

      frames: { width: 110, height: 230 },

      animations: {},
    }),

    spriteCenter: new createjs.Point(55, 90),

    altSkus: false,

    length: 28,

    width: 42,

    legsNeeded: false,

    legsLimit: 4,

    actsAsLegs: true,

    frameOffset: 0,

    childFrameOffset: 0,

    description: "4 Step 90\xB0 Ladder",

    name: "4 Step 90\xB0\nLadder",

    sku: "URTL904",

    gsku: "29RJ24X",

    connectableParts: ["URTSB36", "RT_LEFTTURN", "RT_RIGHTTURN"],

    usesSlot: 1,

    hasMountSlot: false,

    hasLegSlot: false,

    zOrderMod: [0, 0, 0, 0],

    iZOrderMod: [0, 0, 0, 0],

    forceDrawLast: false,

    forceDrawLastFrame: 0,

    bridgeSpan: false,

    turnPiece: false,

    legs: false,

    rails: false,

    ladder: true,
  };
}

function URTL505(selectedFromMenu) {
  selectedFromMenu = selectedFromMenu || false;

  return {
    mountPoint: [
      new createjs.Point(-32, -30),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    connectorPoint: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    rotationOffsets: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    spriteSheet: new createjs.SpriteSheet({
      images: ["assets/spritesheets/URTL505.PNG"],

      frames: { width: 180, height: 280 },

      animations: {},
    }),

    spriteCenter: new createjs.Point(90, 140),

    altSkus: false,

    length: 44,

    width: 42,

    legsNeeded: false,

    legsLimit: 4,

    actsAsLegs: true,

    frameOffset: 0,

    childFrameOffset: 0,

    description: "5 Step 50\xB0 Ladder",

    name: "5 Step 50\xB0\nLadder",

    sku: "URTL505",

    gsku: "29RJ20",

    connectableParts: ["URTSB36", "RT_LEFTTURN", "RT_RIGHTTURN"],

    usesSlot: 1,

    hasMountSlot: true,

    hasLegSlot: false,

    zOrderMod: [0, 0, 0, 0],

    iZOrderMod: [0, 0, 0, 0],

    forceDrawLast: false,

    forceDrawLastFrame: 0,

    bridgeSpan: false,

    turnPiece: false,

    legs: false,

    rails: false,

    ladder: true,
  };
}

function URTL505E(selectedFromMenu) {
  selectedFromMenu = selectedFromMenu || false;

  return {
    mountPoint: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    connectorPoint: [
      new createjs.Point(38, 54),
      new createjs.Point(-8, 74),
      new createjs.Point(30, -20),
      new createjs.Point(72, 80),
    ],

    rotationOffsets: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    spriteSheet: new createjs.SpriteSheet({
      images: ["assets/spritesheets/URTL505E.PNG"],

      frames: { width: 180, height: 280 },

      animations: {},
    }),

    spriteCenter: new createjs.Point(90, 90),

    altSkus: false,

    length: 44,

    width: 42,

    legsNeeded: false,

    legsLimit: 4,

    actsAsLegs: true,

    frameOffset: 0,

    childFrameOffset: 0,

    description: "5 Step 50\xB0 Ladder",

    name: "5 Step 50\xB0\nLadder",

    sku: "URTL505",

    gsku: "29RJ20",

    connectableParts: ["URTSB36", "RT_LEFTTURN", "RT_RIGHTTURN"],

    usesSlot: 1,

    hasMountSlot: false,

    hasLegSlot: false,

    zOrderMod: [0, 0, 0, 0],

    iZOrderMod: [0, 0, 0, 0],

    forceDrawLast: false,

    forceDrawLastFrame: 0,

    bridgeSpan: false,

    turnPiece: false,

    legs: false,

    rails: false,

    ladder: true,
  };
}

function URTL905(selectedFromMenu) {
  selectedFromMenu = selectedFromMenu || false;

  return {
    mountPoint: [
      new createjs.Point(-20, 16),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    connectorPoint: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    rotationOffsets: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    spriteSheet: new createjs.SpriteSheet({
      images: ["assets/spritesheets/URTL905.PNG"],

      frames: { width: 110, height: 251 },

      animations: {},
    }),

    spriteCenter: new createjs.Point(55, 90),

    altSkus: false,

    length: 28,

    width: 42,

    legsNeeded: false,

    legsLimit: 4,

    actsAsLegs: true,

    frameOffset: 0,

    childFrameOffset: 0,

    description: "5 Step 90\xB0 Ladder",

    name: "5 Step 90\xB0\nLadder",

    sku: "URTL905",

    gsku: "29RJ25",

    connectableParts: ["URTSB36", "RT_LEFTTURN", "RT_RIGHTTURN"],

    usesSlot: 1,

    hasMountSlot: true,

    hasLegSlot: false,

    zOrderMod: [0, 0, 0, 0],

    iZOrderMod: [0, 0, 0, 0],

    forceDrawLast: false,

    forceDrawLastFrame: 0,

    bridgeSpan: false,

    turnPiece: false,

    legs: false,

    rails: false,

    ladder: true,
  };
}

function URTL905E(selectedFromMenu) {
  selectedFromMenu = selectedFromMenu || false;

  return {
    mountPoint: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    connectorPoint: [
      new createjs.Point(21, 40),
      new createjs.Point(2, 74),
      new createjs.Point(14, -18),
      new createjs.Point(58, 97),
    ],

    rotationOffsets: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    spriteSheet: new createjs.SpriteSheet({
      images: ["assets/spritesheets/URTL905E.PNG"],

      frames: { width: 110, height: 251 },

      animations: {},
    }),

    spriteCenter: new createjs.Point(55, 90),

    altSkus: false,

    length: 28,

    width: 42,

    legsNeeded: false,

    legsLimit: 4,

    actsAsLegs: true,

    frameOffset: 0,

    childFrameOffset: 0,

    description: "5 Step 90\xB0 Ladder",

    name: "5 Step 90\xB0\nLadder",

    sku: "URTL905",

    gsku: "29RJ25",

    connectableParts: ["URTSB36", "RT_LEFTTURN", "RT_RIGHTTURN"],

    usesSlot: 1,

    hasMountSlot: false,

    hasLegSlot: false,

    zOrderMod: [0, 0, 0, 0],

    iZOrderMod: [0, 0, 0, 0],

    forceDrawLast: false,

    forceDrawLastFrame: 0,

    bridgeSpan: false,

    turnPiece: false,

    legs: false,

    rails: false,

    ladder: true,
  };
}

function URTL506(selectedFromMenu) {
  selectedFromMenu = selectedFromMenu || false;

  return {
    mountPoint: [
      new createjs.Point(-32, -30),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    connectorPoint: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    rotationOffsets: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    spriteSheet: new createjs.SpriteSheet({
      images: ["assets/spritesheets/URTL506.PNG"],

      frames: { width: 195, height: 303 },

      animations: {},
    }),

    spriteCenter: new createjs.Point(90, 140),

    altSkus: false,

    length: 52,

    width: 42,

    legsNeeded: false,

    legsLimit: 4,

    actsAsLegs: true,

    frameOffset: 0,

    childFrameOffset: 0,

    description: "6 Step 50\xB0 Ladder",

    name: "6 Step 50\xB0\nLadder",

    sku: "URTL506",

    gsku: "29RJ21",

    connectableParts: ["URTSB36", "RT_LEFTTURN", "RT_RIGHTTURN"],

    usesSlot: 1,

    hasMountSlot: true,

    hasLegSlot: false,

    zOrderMod: [0, 0, 0, 0],

    iZOrderMod: [0, 0, 0, 0],

    forceDrawLast: false,

    forceDrawLastFrame: 0,

    bridgeSpan: false,

    turnPiece: false,

    legs: false,

    rails: false,

    ladder: true,
  };
}

function URTL506E(selectedFromMenu) {
  selectedFromMenu = selectedFromMenu || false;

  return {
    mountPoint: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    connectorPoint: [
      new createjs.Point(44, 26),
      new createjs.Point(-20, 80),
      new createjs.Point(30, -20),
      new createjs.Point(80, 110),
    ],

    rotationOffsets: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    spriteSheet: new createjs.SpriteSheet({
      images: ["assets/spritesheets/URTL506E.PNG"],

      frames: { width: 195, height: 303 },

      animations: {},
    }),

    spriteCenter: new createjs.Point(90, 90),

    altSkus: false,

    length: 52,

    width: 42,

    legsNeeded: false,

    legsLimit: 4,

    actsAsLegs: true,

    frameOffset: 0,

    childFrameOffset: 0,

    description: "6 Step 50\xB0 Ladder",

    name: "6 Step 50\xB0\nLadder",

    sku: "URTL506",

    gsku: "29RJ21",

    connectableParts: ["URTSB36", "RT_LEFTTURN", "RT_RIGHTTURN"],

    usesSlot: 1,

    hasMountSlot: false,

    hasLegSlot: false,

    zOrderMod: [0, 0, 0, 0],

    iZOrderMod: [0, 0, 0, 0],

    forceDrawLast: false,

    forceDrawLastFrame: 0,

    bridgeSpan: false,

    turnPiece: false,

    legs: false,

    rails: false,

    ladder: true,
  };
}

function URTL906(selectedFromMenu) {
  selectedFromMenu = selectedFromMenu || false;

  return {
    mountPoint: [
      new createjs.Point(-20, 16),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    connectorPoint: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    rotationOffsets: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    spriteSheet: new createjs.SpriteSheet({
      images: ["assets/spritesheets/URTL906.PNG"],

      frames: { width: 111, height: 272 },

      animations: {},
    }),

    spriteCenter: new createjs.Point(55, 90),

    altSkus: false,

    length: 28,

    width: 42,

    legsNeeded: false,

    legsLimit: 4,

    actsAsLegs: true,

    frameOffset: 0,

    childFrameOffset: 0,

    description: "6 Step 90\xB0 Ladder",

    name: "6 Step 90\xB0\nLadder",

    sku: "URTL906",

    gsku: "29RJ26",

    connectableParts: ["URTSB36", "RT_LEFTTURN", "RT_RIGHTTURN"],

    usesSlot: 1,

    hasMountSlot: true,

    hasLegSlot: false,

    zOrderMod: [0, 0, 0, 0],

    iZOrderMod: [0, 0, 0, 0],

    forceDrawLast: false,

    forceDrawLastFrame: 0,

    bridgeSpan: false,

    turnPiece: false,

    legs: false,

    rails: false,

    ladder: true,
  };
}

function URTL906E(selectedFromMenu) {
  selectedFromMenu = selectedFromMenu || false;

  return {
    mountPoint: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    connectorPoint: [
      new createjs.Point(24, 38),
      new createjs.Point(2, 74),
      new createjs.Point(17, -19),
      new createjs.Point(61, 96),
    ],

    rotationOffsets: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    spriteSheet: new createjs.SpriteSheet({
      images: ["assets/spritesheets/URTL906E.PNG"],

      frames: { width: 111, height: 272 },

      animations: {},
    }),

    spriteCenter: new createjs.Point(55, 90),

    altSkus: false,

    length: 28,

    width: 42,

    legsNeeded: false,

    legsLimit: 4,

    actsAsLegs: true,

    frameOffset: 0,

    childFrameOffset: 0,

    description: "6 Step 90\xB0 Ladder",

    name: "6 Step 90\xB0\nLadder",

    sku: "URTL906",

    gsku: "29RJ26",

    connectableParts: ["URTSB36", "RT_LEFTTURN", "RT_RIGHTTURN"],

    usesSlot: 1,

    hasMountSlot: false,

    hasLegSlot: false,

    zOrderMod: [0, 0, 0, 0],

    iZOrderMod: [0, 0, 0, 0],

    forceDrawLast: false,

    forceDrawLastFrame: 0,

    bridgeSpan: false,

    turnPiece: false,

    legs: false,

    rails: false,

    ladder: true,
  };
}

function URSL20(selectedFromMenu) {
  selectedFromMenu = selectedFromMenu || false;

  return {
    mountPoint: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    connectorPoint: [
      new createjs.Point(2, -10),
      new createjs.Point(30, -36),
      new createjs.Point(0, -36),
      new createjs.Point(45, 0),
    ],

    rotationOffsets: [
      new createjs.Point(-2, 40),
      new createjs.Point(0, 0),
      new createjs.Point(-5, 140),
      new createjs.Point(0, 0),
    ],

    spriteSheet: new createjs.SpriteSheet({
      images: ["assets/spritesheets/URSL20.PNG"],

      frames: { width: 113, height: 133 },

      animations: {},
    }),

    spriteCenter: new createjs.Point(56, 66),

    altSkus: false,

    length: 0,

    width: 42,

    legsNeeded: false,

    legsLimit: 3,

    actsAsLegs: true,

    frameOffset: 0,

    childFrameOffset: 0,

    description: "Legs Kit",

    name: "Legs Kit",

    sku: "URSL20",

    gsku: "29RJ27",

    connectableParts: [],

    usesSlot: 2,

    hasMountSlot: false,

    hasLegSlot: false,

    zOrderMod: [0, 0, 0, 0],

    iZOrderMod: [-50000, -50000, -50000, -50000],

    forceDrawLast: false,

    forceDrawLastFrame: 0,

    bridgeSpan: false,

    turnPiece: false,

    legs: true,

    rails: false,

    ladder: false,
  };
}

function URSL30(selectedFromMenu) {
  selectedFromMenu = selectedFromMenu || false;

  return {
    mountPoint: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    connectorPoint: [
      new createjs.Point(2, -4),
      new createjs.Point(30, -36),
      new createjs.Point(0, -36),
      new createjs.Point(45, 0),
    ],

    rotationOffsets: [
      new createjs.Point(-2, 40),
      new createjs.Point(0, 0),
      new createjs.Point(-5, 140),
      new createjs.Point(0, 0),
    ],

    spriteSheet: new createjs.SpriteSheet({
      images: ["assets/spritesheets/URSL30.PNG"],

      frames: { width: 113, height: 155 },

      animations: {},
    }),

    spriteCenter: new createjs.Point(56, 66),

    altSkus: false,

    length: 0,

    width: 42,

    legsNeeded: false,

    legsLimit: 3,

    actsAsLegs: true,

    frameOffset: 0,

    childFrameOffset: 0,

    description: "Legs Kit",

    name: "Legs Kit",

    sku: "URSL30",

    gsku: "29RJ28",

    connectableParts: [],

    usesSlot: 2,

    hasMountSlot: false,

    hasLegSlot: false,

    zOrderMod: [0, 0, 0, 0],

    iZOrderMod: [-50000, -50000, -50000, -50000],

    forceDrawLast: false,

    forceDrawLastFrame: 0,

    bridgeSpan: false,

    turnPiece: false,

    legs: true,

    rails: false,

    ladder: false,
  };
}

function URSL40(selectedFromMenu) {
  selectedFromMenu = selectedFromMenu || false;

  return {
    mountPoint: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    connectorPoint: [
      new createjs.Point(2, -4),
      new createjs.Point(30, -36),
      new createjs.Point(0, -36),
      new createjs.Point(45, 0),
    ],

    rotationOffsets: [
      new createjs.Point(-2, 40),
      new createjs.Point(0, 0),
      new createjs.Point(-5, 140),
      new createjs.Point(0, 0),
    ],

    spriteSheet: new createjs.SpriteSheet({
      images: ["assets/spritesheets/URSL40.PNG"],

      frames: { width: 113, height: 176 },

      animations: {},
    }),

    spriteCenter: new createjs.Point(56, 66),

    altSkus: false,

    length: 0,

    width: 42,

    legsNeeded: false,

    legsLimit: 3,

    actsAsLegs: true,

    frameOffset: 0,

    childFrameOffset: 0,

    description: "Legs Kit",

    name: "Legs Kit",

    sku: "URSL40",

    gsku: "29RJ29",

    connectableParts: [],

    usesSlot: 2,

    hasMountSlot: false,

    hasLegSlot: false,

    zOrderMod: [0, 0, 0, 0],

    iZOrderMod: [-50000, -50000, -50000, -50000],

    forceDrawLast: false,

    forceDrawLastFrame: 0,

    bridgeSpan: false,

    turnPiece: false,

    legs: true,

    rails: false,

    ladder: false,
  };
}

function URSL50(selectedFromMenu) {
  selectedFromMenu = selectedFromMenu || false;

  return {
    mountPoint: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    connectorPoint: [
      new createjs.Point(2, -4),
      new createjs.Point(30, -36),
      new createjs.Point(0, -36),
      new createjs.Point(45, 0),
    ],

    rotationOffsets: [
      new createjs.Point(-2, 40),
      new createjs.Point(0, 0),
      new createjs.Point(-5, 140),
      new createjs.Point(0, 0),
    ],

    spriteSheet: new createjs.SpriteSheet({
      images: ["assets/spritesheets/URSL50.PNG"],

      frames: { width: 113, height: 197 },

      animations: {},
    }),

    spriteCenter: new createjs.Point(56, 66),

    altSkus: false,

    length: 0,

    width: 42,

    legsNeeded: false,

    legsLimit: 3,

    actsAsLegs: true,

    frameOffset: 0,

    childFrameOffset: 0,

    description: "Legs Kit",

    name: "Legs Kit",

    sku: "URSL50",

    gsku: "29RJ30",

    connectableParts: [],

    usesSlot: 2,

    hasMountSlot: false,

    hasLegSlot: false,

    zOrderMod: [0, 0, 0, 0],

    iZOrderMod: [-50000, -50000, -50000, -50000],

    forceDrawLast: false,

    forceDrawLastFrame: 0,

    bridgeSpan: false,

    turnPiece: false,

    legs: true,

    rails: false,

    ladder: false,
  };
}

function URSL60(selectedFromMenu) {
  selectedFromMenu = selectedFromMenu || false;

  return {
    mountPoint: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    connectorPoint: [
      new createjs.Point(2, -4),
      new createjs.Point(30, -36),
      new createjs.Point(0, -36),
      new createjs.Point(45, 0),
    ],

    rotationOffsets: [
      new createjs.Point(-2, 40),
      new createjs.Point(0, 0),
      new createjs.Point(-5, 140),
      new createjs.Point(0, 0),
    ],

    spriteSheet: new createjs.SpriteSheet({
      images: ["assets/spritesheets/URSL60.PNG"],

      frames: { width: 113, height: 218 },

      animations: {},
    }),

    spriteCenter: new createjs.Point(56, 66),

    altSkus: false,

    length: 0,

    width: 42,

    legsNeeded: false,

    legsLimit: 3,

    actsAsLegs: true,

    frameOffset: 0,

    childFrameOffset: 0,

    description: "Legs Kit",

    name: "Legs Kit",

    sku: "URSL60",

    gsku: "29RJ31",

    connectableParts: [],

    usesSlot: 2,

    hasMountSlot: false,

    hasLegSlot: false,

    zOrderMod: [0, 0, 0, 0],

    iZOrderMod: [-50000, -50000, -50000, -50000],

    forceDrawLast: false,

    forceDrawLastFrame: 0,

    bridgeSpan: false,

    turnPiece: false,

    legs: true,

    rails: false,

    ladder: false,
  };
}

function URTRK1(selectedFromMenu) {
  selectedFromMenu = selectedFromMenu || false;

  return {
    mountPoint: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    connectorPoint: [
      new createjs.Point(5, 45),
      new createjs.Point(-45, 0),
      new createjs.Point(0, -45),
      new createjs.Point(-24, 40),
    ],

    rotationOffsets: [
      new createjs.Point(0, 0),
      new createjs.Point(70, 52),
      new createjs.Point(70, 52),
      new createjs.Point(0, 0),
    ],

    spriteSheet: new createjs.SpriteSheet({
      images: ["assets/spritesheets/URTRK1-1.PNG"],

      frames: { width: 74, height: 126 },

      animations: {},
    }),

    spriteCenter: new createjs.Point(37, 63),

    altSkus: false,

    length: 0,

    width: 42,

    legsNeeded: true,

    legsLimit: 0,

    actsAsLegs: false,

    frameOffset: 0,

    childFrameOffset: 0,

    description: "Rail Kit",

    name: "Rail Kit",

    sku: "URTRK1",

    gsku: "29RJ38",

    connectableParts: [],

    usesSlot: 1,

    hasMountSlot: false,

    hasLegSlot: false,

    zOrderMod: [0, 0, 0, 0],

    iZOrderMod: [0, 0, 0, 0],

    forceDrawLast: false,

    forceDrawLastFrame: 0,

    bridgeSpan: false,

    turnPiece: false,

    legs: false,

    rails: true,

    ladder: false,
  };
}

function URTOS3636(selectedFromMenu) {
  selectedFromMenu = selectedFromMenu || false;
}

function URTTP20L(selectedFromMenu) {
  selectedFromMenu = selectedFromMenu || false;

  return {
    mountPoint: [
      new createjs.Point(-64, -60),
      new createjs.Point(54, 36),
      new createjs.Point(4, -140),
      new createjs.Point(-40, 6),
    ],

    connectorPoint: [
      new createjs.Point(32, 36),
      new createjs.Point(0, 45),
      new createjs.Point(24, -2),
      new createjs.Point(110, 52),
    ],

    rotationOffsets: [
      new createjs.Point(-2, 0),
      new createjs.Point(-20, 50),
      new createjs.Point(-20, 50),
      new createjs.Point(0, 0),
    ],

    spriteSheet: new createjs.SpriteSheet({
      images: ["assets/spritesheets/URTTP20L.PNG"],

      frames: { width: 163, height: 212 },

      animations: {},
    }),

    spriteCenter: new createjs.Point(81, 106),

    altSkus: false,

    length: 40,

    width: 42,

    legsNeeded: false,

    legsLimit: 3,

    actsAsLegs: true,

    frameOffset: 0,

    childFrameOffset: 1,

    description: "Turn Platform",

    name: "Turn Platform\n(Left)",

    sku: "URTTP20",

    gsku: "29RJ33",

    canConnectParts: true,

    connectableParts: [
      "URTSB36",
      "RT_LADDER50END",
      "RT_LADDER90END",
      "RT_RIGHTTURN",
    ],

    usesSlot: 1,

    hasMountSlot: true,

    hasLegSlot: false,

    zOrderMod: [0, 0, 0, 0],

    iZOrderMod: [0, 50, 100, -50],

    forceDrawLast: true,

    forceDrawLastFrame: 2,

    bridgeSpan: false,

    turnPiece: true,

    legs: false,

    rails: false,

    ladder: false,
  };
}

function URTTP20R(selectedFromMenu) {
  selectedFromMenu = selectedFromMenu || false;

  return {
    mountPoint: [
      new createjs.Point(0, -132),
      new createjs.Point(-20, 0),
      new createjs.Point(-64, -60),
      new createjs.Point(32, 36),
    ],

    connectorPoint: [
      new createjs.Point(48, 40),
      new createjs.Point(-20, 100),
      new createjs.Point(40, 0),
      new createjs.Point(84, 100),
    ],

    rotationOffsets: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    spriteSheet: new createjs.SpriteSheet({
      images: ["assets/spritesheets/URTTP20R.PNG"],

      frames: { width: 163, height: 212 },

      animations: {},
    }),

    spriteCenter: new createjs.Point(81, 106),

    altSkus: false,

    length: 40,

    width: 42,

    legsNeeded: false,

    legsLimit: 3,

    actsAsLegs: true,

    frameOffset: 0,

    childFrameOffset: 3,

    description: "Turn Platform",

    name: "Turn Platform\n(Right)",

    sku: "URTTP20",

    gsku: "29RJ33",

    connectableParts: [
      "URTSB36",
      "RT_LADDER50END",
      "RT_LADDER90END",
      "RT_LEFTTURN",
    ],

    usesSlot: 1,

    hasMountSlot: true,

    hasLegSlot: false,

    zOrderMod: [0, 0, 0, 0],

    iZOrderMod: [0, 0, 0, 0],

    forceDrawLast: false,

    forceDrawLastFrame: 0,

    bridgeSpan: false,

    turnPiece: true,

    legs: false,

    rails: false,

    ladder: false,
  };
}

function URTTP30L(selectedFromMenu) {
  selectedFromMenu = selectedFromMenu || false;

  return {
    mountPoint: [
      new createjs.Point(-64, -68),
      new createjs.Point(52, 28),
      new createjs.Point(4, -146),
      new createjs.Point(-40, -6),
    ],

    connectorPoint: [
      new createjs.Point(30, 30),
      new createjs.Point(-18, 102),
      new createjs.Point(24, 6),
      new createjs.Point(90, 110),
    ],

    rotationOffsets: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    spriteSheet: new createjs.SpriteSheet({
      images: ["assets/spritesheets/URTTP30L.PNG"],

      frames: { width: 163, height: 233 },

      animations: {},
    }),

    spriteCenter: new createjs.Point(81, 116),

    altSkus: false,

    length: 40,

    width: 42,

    legsNeeded: false,

    legsLimit: 3,

    actsAsLegs: true,

    frameOffset: 0,

    childFrameOffset: 1,

    description: "Turn Platform",

    name: "Turn Platform\n(Left)",

    sku: "URTTP30",

    gsku: "29RJ34",

    canConnectParts: true,

    connectableParts: [
      "URTSB36",
      "RT_LADDER50END",
      "RT_LADDER90END",
      "RT_RIGHTTURN",
    ],

    usesSlot: 1,

    hasMountSlot: true,

    hasLegSlot: false,

    zOrderMod: [0, 0, 0, 0],

    iZOrderMod: [0, 50, 100, -50],

    forceDrawLast: true,

    forceDrawLastFrame: 2,

    bridgeSpan: false,

    turnPiece: true,

    legs: false,

    rails: false,

    ladder: false,
  };
}

function URTTP30R(selectedFromMenu) {
  selectedFromMenu = selectedFromMenu || false;

  return {
    mountPoint: [
      new createjs.Point(0, -142),
      new createjs.Point(-24, -10),
      new createjs.Point(-64, -68),
      new createjs.Point(32, 28),
    ],

    connectorPoint: [
      new createjs.Point(48, 30),
      new createjs.Point(-20, 100),
      new createjs.Point(40, 10),
      new createjs.Point(84, 110),
    ],

    rotationOffsets: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    spriteSheet: new createjs.SpriteSheet({
      images: ["assets/spritesheets/URTTP30R.PNG"],

      frames: { width: 163, height: 233 },

      animations: {},
    }),

    spriteCenter: new createjs.Point(81, 116),

    altSkus: false,

    length: 40,

    width: 42,

    legsNeeded: false,

    legsLimit: 3,

    actsAsLegs: true,

    frameOffset: 0,

    childFrameOffset: 3,

    description: "Turn Platform",

    name: "Turn Platform\n(Right)",

    sku: "URTTP30",

    gsku: "29RJ34",

    connectableParts: [
      "URTSB36",
      "RT_LADDER50END",
      "RT_LADDER90END",
      "RT_LEFTTURN",
    ],

    usesSlot: 1,

    hasMountSlot: true,

    hasLegSlot: false,

    zOrderMod: [0, 0, 0, 0],

    iZOrderMod: [0, 0, 0, 0],

    forceDrawLast: false,

    forceDrawLastFrame: 0,

    bridgeSpan: false,

    turnPiece: true,

    legs: false,

    rails: false,

    ladder: false,
  };
}

function URTTP40R(selectedFromMenu) {
  selectedFromMenu = selectedFromMenu || false;

  return {
    mountPoint: [
      new createjs.Point(0, -148),
      new createjs.Point(-20, -8),
      new createjs.Point(-68, -69),
      new createjs.Point(28, 27),
    ],

    connectorPoint: [
      new createjs.Point(48, 26),
      new createjs.Point(-20, 104),
      new createjs.Point(40, 10),
      new createjs.Point(84, 110),
    ],

    rotationOffsets: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    spriteSheet: new createjs.SpriteSheet({
      images: ["assets/spritesheets/URTTP40R.PNG"],

      frames: { width: 163, height: 253 },

      animations: {},
    }),

    spriteCenter: new createjs.Point(81, 116),

    altSkus: false,

    length: 40,

    width: 42,

    legsNeeded: false,

    legsLimit: 3,

    actsAsLegs: true,

    frameOffset: 0,

    childFrameOffset: 3,

    description: "Turn Platform",

    name: "Turn Platform\n(Right)",

    sku: "URTTP40",

    gsku: "29RJ35",

    connectableParts: [
      "URTSB36",
      "RT_LADDER50END",
      "RT_LADDER90END",
      "RT_LEFTTURN",
    ],

    usesSlot: 1,

    hasMountSlot: true,

    hasLegSlot: false,

    zOrderMod: [0, 0, 0, 0],

    iZOrderMod: [0, 0, 0, 0],

    forceDrawLast: false,

    forceDrawLastFrame: 0,

    bridgeSpan: false,

    turnPiece: true,

    legs: false,

    rails: false,

    ladder: false,
  };
}

function URTTP40L(selectedFromMenu) {
  selectedFromMenu = selectedFromMenu || false;

  return {
    mountPoint: [
      new createjs.Point(-66, -68),
      new createjs.Point(52, 28),
      new createjs.Point(0, -146),
      new createjs.Point(-40, -6),
    ],

    connectorPoint: [
      new createjs.Point(30, 26),
      new createjs.Point(-18, 102),
      new createjs.Point(24, 10),
      new createjs.Point(90, 110),
    ],

    rotationOffsets: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    spriteSheet: new createjs.SpriteSheet({
      images: ["assets/spritesheets/URTTP40L.PNG"],

      frames: { width: 163, height: 253 },

      animations: {},
    }),

    spriteCenter: new createjs.Point(81, 116),

    altSkus: false,

    length: 40,

    width: 42,

    legsNeeded: false,

    legsLimit: 3,

    actsAsLegs: true,

    frameOffset: 0,

    childFrameOffset: 1,

    description: "Turn Platform",

    name: "Turn Platform\n(Left)",

    sku: "URTTP40",

    gsku: "29RJ35",

    canConnectParts: true,

    connectableParts: [
      "URTSB36",
      "RT_LADDER50END",
      "RT_LADDER90END",
      "RT_RIGHTTURN",
    ],

    usesSlot: 1,

    hasMountSlot: true,

    hasLegSlot: false,

    zOrderMod: [0, 0, 0, 0],

    iZOrderMod: [0, 50, 100, -50],

    forceDrawLast: true,

    forceDrawLastFrame: 2,

    bridgeSpan: false,

    turnPiece: true,

    legs: false,

    rails: false,

    ladder: false,
  };
}

function URTTP50R(selectedFromMenu) {
  selectedFromMenu = selectedFromMenu || false;

  return {
    mountPoint: [
      new createjs.Point(0, -148),
      new createjs.Point(-20, -8),
      new createjs.Point(-68, -69),
      new createjs.Point(28, 27),
    ],

    connectorPoint: [
      new createjs.Point(48, 26),
      new createjs.Point(-20, 104),
      new createjs.Point(40, 10),
      new createjs.Point(84, 110),
    ],

    rotationOffsets: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    spriteSheet: new createjs.SpriteSheet({
      images: ["assets/spritesheets/URTTP50R.PNG"],

      frames: { width: 163, height: 276 },

      animations: {},
    }),

    spriteCenter: new createjs.Point(81, 118),

    altSkus: false,

    length: 40,

    width: 42,

    legsNeeded: false,

    legsLimit: 3,

    actsAsLegs: true,

    frameOffset: 0,

    childFrameOffset: 3,

    description: "Turn Platform",

    name: "Turn Platform\n(Right)",

    sku: "URTTP50",

    gsku: "29RJ36",

    connectableParts: [
      "URTSB36",
      "RT_LADDER50END",
      "RT_LADDER90END",
      "RT_LEFTTURN",
    ],

    usesSlot: 1,

    hasMountSlot: true,

    hasLegSlot: false,

    zOrderMod: [0, 0, 0, 0],

    iZOrderMod: [0, 0, 0, 0],

    forceDrawLast: false,

    forceDrawLastFrame: 0,

    bridgeSpan: false,

    turnPiece: true,

    legs: false,

    rails: false,

    ladder: false,
  };
}

function URTTP50L(selectedFromMenu) {
  selectedFromMenu = selectedFromMenu || false;

  return {
    mountPoint: [
      new createjs.Point(-66, -68),
      new createjs.Point(52, 28),
      new createjs.Point(0, -146),
      new createjs.Point(-40, -6),
    ],

    connectorPoint: [
      new createjs.Point(30, 26),
      new createjs.Point(-18, 108),
      new createjs.Point(24, 10),
      new createjs.Point(90, 110),
    ],

    rotationOffsets: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    spriteSheet: new createjs.SpriteSheet({
      images: ["assets/spritesheets/URTTP50L.PNG"],

      frames: { width: 163, height: 276 },

      animations: {},
    }),

    spriteCenter: new createjs.Point(81, 118),

    altSkus: false,

    length: 40,

    width: 42,

    legsNeeded: false,

    legsLimit: 3,

    actsAsLegs: true,

    frameOffset: 0,

    childFrameOffset: 1,

    description: "Turn Platform",

    name: "Turn Platform\n(Left)",

    sku: "URTTP50",

    gsku: "29RJ36",

    canConnectParts: true,

    connectableParts: [
      "URTSB36",
      "RT_LADDER50END",
      "RT_LADDER90END",
      "RT_RIGHTTURN",
    ],

    usesSlot: 1,

    hasMountSlot: true,

    hasLegSlot: false,

    zOrderMod: [0, 0, 0, 0],

    iZOrderMod: [0, 50, 100, -50],

    forceDrawLast: true,

    forceDrawLastFrame: 2,

    bridgeSpan: false,

    turnPiece: true,

    legs: false,

    rails: false,

    ladder: false,
  };
}

function URTTP60R(selectedFromMenu) {
  selectedFromMenu = selectedFromMenu || false;

  return {
    mountPoint: [
      new createjs.Point(0, -148),
      new createjs.Point(-20, -8),
      new createjs.Point(-68, -69),
      new createjs.Point(28, 27),
    ],

    connectorPoint: [
      new createjs.Point(48, 26),
      new createjs.Point(-20, 104),
      new createjs.Point(40, 10),
      new createjs.Point(84, 110),
    ],

    rotationOffsets: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    spriteSheet: new createjs.SpriteSheet({
      images: ["assets/spritesheets/URTTP50R.PNG"],

      frames: { width: 163, height: 276 },

      animations: {},
    }),

    spriteCenter: new createjs.Point(81, 118),

    altSkus: false,

    length: 40,

    width: 42,

    legsNeeded: false,

    legsLimit: 3,

    actsAsLegs: true,

    frameOffset: 0,

    childFrameOffset: 3,

    description: "Turn Platform",

    name: "Turn Platform\n(Right)",

    sku: "URTTP60",

    gsku: "29RJ37",

    connectableParts: [
      "URTSB36",
      "RT_LADDER50END",
      "RT_LADDER90END",
      "RT_LEFTTURN",
    ],

    usesSlot: 1,

    hasMountSlot: true,

    hasLegSlot: false,

    zOrderMod: [0, 0, 0, 0],

    iZOrderMod: [0, 0, 0, 0],

    forceDrawLast: false,

    forceDrawLastFrame: 0,

    bridgeSpan: false,

    turnPiece: true,

    legs: false,

    rails: false,

    ladder: false,
  };
}

function URTTP60L(selectedFromMenu) {
  selectedFromMenu = selectedFromMenu || false;

  return {
    mountPoint: [
      new createjs.Point(-66, -68),
      new createjs.Point(52, 28),
      new createjs.Point(0, -146),
      new createjs.Point(-40, -6),
    ],

    connectorPoint: [
      new createjs.Point(30, 26),
      new createjs.Point(-18, 108),
      new createjs.Point(24, 10),
      new createjs.Point(90, 110),
    ],

    rotationOffsets: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    spriteSheet: new createjs.SpriteSheet({
      images: ["assets/spritesheets/URTTP50L.PNG"],

      frames: { width: 163, height: 276 },

      animations: {},
    }),

    spriteCenter: new createjs.Point(81, 118),

    altSkus: false,

    length: 40,

    width: 42,

    legsNeeded: false,

    legsLimit: 3,

    actsAsLegs: true,

    frameOffset: 0,

    childFrameOffset: 1,

    description: "Turn Platform",

    name: "Turn Platform\n(Left)",

    sku: "URTTP60",

    gsku: "29RJ37",

    canConnectParts: true,

    connectableParts: [
      "URTSB36",
      "RT_LADDER50END",
      "RT_LADDER90END",
      "RT_RIGHTTURN",
    ],

    usesSlot: 1,

    hasMountSlot: true,

    hasLegSlot: false,

    zOrderMod: [0, 0, 0, 0],

    iZOrderMod: [0, 50, 100, -50],

    forceDrawLast: true,

    forceDrawLastFrame: 2,

    bridgeSpan: false,

    turnPiece: true,

    legs: false,

    rails: false,

    ladder: false,
  };
}

// CROSSOVER **************************************************************************************************************************************************

function UCL5003242(selectedFromMenu) {
  selectedFromMenu = selectedFromMenu || false;

  return {
    mountPoint: [
      new createjs.Point(-18, 2),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    connectorPoint: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    rotationOffsets: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    spriteSheet: new createjs.SpriteSheet({
      images: ["assets/spritesheets/UCL5003242.PNG"],

      frames: { width: 95, height: 205 },

      animations: {},
    }),

    spriteCenter: new createjs.Point(47, 102),

    altSkus: true,

    length: 27,

    width: 30,

    legsNeeded: false,

    legsLimit: 4,

    actsAsLegs: true,

    frameOffset: 0,

    childFrameOffset: 0,

    description: "3 Step 50\xB0 Ladder",

    name: "3 Step 50\xB0\nLadder",

    sku: "UCL500324X",

    gsku: "29RJ18",

    gSkus: ["21Y491", "21Y489"],

    connectableParts: ["UCB30246", "UCB20246", "CO_LEFTTURN", "CO_RIGHTTURN"],

    usesSlot: 1,

    hasMountSlot: true,

    hasLegSlot: false,

    zOrderMod: [0, 0, 0, 0],

    iZOrderMod: [0, 0, 0, 0],

    forceDrawLast: false,

    forceDrawLastFrame: 0,

    bridgeSpan: false,

    turnPiece: false,

    legs: false,

    rails: false,

    ladder: true,
  };
}

function UCL5003242E(selectedFromMenu) {
  selectedFromMenu = selectedFromMenu || false;

  return {
    mountPoint: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    connectorPoint: [
      new createjs.Point(20, 34),
      new createjs.Point(-22, -16),
      new createjs.Point(14, -10),
      new createjs.Point(18, -32),
    ],

    rotationOffsets: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    spriteSheet: new createjs.SpriteSheet({
      images: ["assets/spritesheets/UCL5003242E.PNG"],

      frames: { width: 95, height: 205 },

      animations: {},
    }),

    spriteCenter: new createjs.Point(47, 92),

    altSkus: true,

    length: 27,

    width: 30,

    legsNeeded: false,

    legsLimit: 4,

    actsAsLegs: true,

    frameOffset: 0,

    childFrameOffset: 0,

    description: "3 Step 50\xB0 Ladder",

    name: "3 Step 50\xB0\nLadder",

    sku: "UCL500324X",

    gsku: "29RJ18",

    gSkus: ["21Y491", "21Y489"],

    connectableParts: [],

    usesSlot: 1,

    hasMountSlot: false,

    hasLegSlot: false,

    zOrderMod: [0, 0, 0, 0],

    iZOrderMod: [0, 0, 0, 0],

    forceDrawLast: false,

    forceDrawLastFrame: 0,

    bridgeSpan: false,

    turnPiece: false,

    legs: false,

    rails: false,

    ladder: true,
  };
}

function UCL7503242(selectedFromMenu) {
  selectedFromMenu = selectedFromMenu || false;

  return {
    mountPoint: [
      new createjs.Point(-6, 4),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    connectorPoint: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    rotationOffsets: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    spriteSheet: new createjs.SpriteSheet({
      images: ["assets/spritesheets/UCL7503242.PNG"],

      frames: { width: 72, height: 192 },

      animations: {},
    }),

    spriteCenter: new createjs.Point(36, 96),

    altSkus: true,

    length: 14,

    width: 30,

    legsNeeded: false,

    legsLimit: 4,

    actsAsLegs: true,

    frameOffset: 0,

    childFrameOffset: 0,

    description: "3 Step 75\xB0 Ladder",

    name: "3 Step 75\xB0\nLadder",

    sku: "UCL750324X",

    gsku: "29RJ18",

    gSkus: ["21Y495", "21Y493"],

    connectableParts: ["UCB30246", "UCB20246", "CO_LEFTTURN", "CO_RIGHTTURN"],

    usesSlot: 1,

    hasMountSlot: true,

    hasLegSlot: false,

    zOrderMod: [0, 0, 0, 0],

    iZOrderMod: [0, 0, 0, 0],

    forceDrawLast: false,

    forceDrawLastFrame: 0,

    bridgeSpan: false,

    turnPiece: false,

    legs: false,

    rails: false,

    ladder: true,
  };
}

function UCL7503242E(selectedFromMenu) {
  selectedFromMenu = selectedFromMenu || false;

  return {
    mountPoint: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    connectorPoint: [
      new createjs.Point(10, 36),
      new createjs.Point(-8, -28),
      new createjs.Point(0, -30),
      new createjs.Point(8, -34),
    ],

    rotationOffsets: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    spriteSheet: new createjs.SpriteSheet({
      images: ["assets/spritesheets/UCL7503242E.PNG"],

      frames: { width: 72, height: 192 },

      animations: {},
    }),

    spriteCenter: new createjs.Point(36, 76),

    altSkus: true,

    length: 14,

    width: 30,

    legsNeeded: false,

    legsLimit: 4,

    actsAsLegs: true,

    frameOffset: 0,

    childFrameOffset: 0,

    description: "3 Step 75\xB0 Ladder",

    name: "3 Step 75\xB0\nLadder",

    sku: "UCL750324X",

    gsku: "29RJ18",

    gSkus: ["21Y495", "21Y493"],

    connectableParts: [],

    usesSlot: 1,

    hasMountSlot: false,

    hasLegSlot: false,

    zOrderMod: [0, 0, 0, 0],

    iZOrderMod: [0, 0, 0, 0],

    forceDrawLast: false,

    forceDrawLastFrame: 0,

    bridgeSpan: false,

    turnPiece: false,

    legs: false,

    rails: false,

    ladder: true,
  };
}

function UCL9003242(selectedFromMenu) {
  selectedFromMenu = selectedFromMenu || false;

  return {
    mountPoint: [
      new createjs.Point(-6, 6),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    connectorPoint: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    rotationOffsets: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    spriteSheet: new createjs.SpriteSheet({
      images: ["assets/spritesheets/UCL9003246.PNG"],

      frames: { width: 80, height: 193 },

      animations: {},
    }),

    spriteCenter: new createjs.Point(32, 93),

    altSkus: false,

    length: 15,

    width: 30,

    legsNeeded: false,

    legsLimit: 4,

    actsAsLegs: true,

    frameOffset: 0,

    childFrameOffset: 0,

    description: "3 Step 90\xB0 Ladder",

    name: "3 Step 90\xB0\nLadder",

    sku: "UCL9003246",

    gsku: "21Y497",

    connectableParts: ["UCB30246", "UCB20246", "CO_LEFTTURN", "CO_RIGHTTURN"],

    usesSlot: 1,

    hasMountSlot: true,

    hasLegSlot: false,

    zOrderMod: [0, 0, 0, 0],

    iZOrderMod: [0, 0, 0, 0],

    forceDrawLast: false,

    forceDrawLastFrame: 0,

    bridgeSpan: false,

    turnPiece: false,

    legs: false,

    rails: false,

    ladder: true,
  };
}

function UCL9003242E(selectedFromMenu) {
  selectedFromMenu = selectedFromMenu || false;

  return {
    mountPoint: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    connectorPoint: [
      new createjs.Point(20, 60),
      new createjs.Point(-22, -38),
      new createjs.Point(0, -38),
      new createjs.Point(6, -58),
    ],

    rotationOffsets: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    spriteSheet: new createjs.SpriteSheet({
      images: ["assets/spritesheets/UCL9003246E.PNG"],

      frames: { width: 80, height: 193 },

      animations: {},
    }),

    spriteCenter: new createjs.Point(32, 63),

    altSkus: false,

    length: 15,

    width: 30,

    legsNeeded: false,

    legsLimit: 4,

    actsAsLegs: true,

    frameOffset: 0,

    childFrameOffset: 0,

    description: "3 Step 90\xB0 Ladder",

    name: "3 Step 90\xB0\nLadder",

    sku: "UCL9003246",

    gsku: "21Y497",

    connectableParts: [],

    usesSlot: 1,

    hasMountSlot: false,

    hasLegSlot: false,

    zOrderMod: [0, 0, 0, 0],

    iZOrderMod: [0, 0, 0, 0],

    forceDrawLast: false,

    forceDrawLastFrame: 0,

    bridgeSpan: false,

    turnPiece: false,

    legs: false,

    rails: false,

    ladder: true,
  };
}

function UCL5004242(selectedFromMenu) {
  selectedFromMenu = selectedFromMenu || false;

  return {
    mountPoint: [
      new createjs.Point(-30, -16),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    connectorPoint: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    rotationOffsets: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    spriteSheet: new createjs.SpriteSheet({
      images: ["assets/spritesheets/UCL5004242.PNG"],

      frames: { width: 110, height: 231 },

      animations: {},
    }),

    spriteCenter: new createjs.Point(55, 115),

    altSkus: true,

    length: 35,

    width: 30,

    legsNeeded: false,

    legsLimit: 4,

    actsAsLegs: true,

    frameOffset: 0,

    childFrameOffset: 0,

    description: "4 Step 50\xB0 Ladder",

    name: "4 Step 50\xB0\nLadder",

    sku: "UCL500424X",

    gsku: "29RJ18",

    gSkus: ["21Y492", "21Y490"],

    connectableParts: ["UCB30246", "UCB20246", "CO_LEFTTURN", "CO_RIGHTTURN"],

    usesSlot: 1,

    hasMountSlot: true,

    hasLegSlot: false,

    zOrderMod: [0, 0, 0, 0],

    iZOrderMod: [0, 0, 0, 0],

    forceDrawLast: false,

    forceDrawLastFrame: 0,

    bridgeSpan: false,

    turnPiece: false,

    legs: false,

    rails: false,

    ladder: true,
  };
}

function UCL5004242E(selectedFromMenu) {
  selectedFromMenu = selectedFromMenu || false;

  return {
    mountPoint: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    connectorPoint: [
      new createjs.Point(28, 36),
      new createjs.Point(-28, -12),
      new createjs.Point(24, -10),
      new createjs.Point(28, -34),
    ],

    rotationOffsets: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    spriteSheet: new createjs.SpriteSheet({
      images: ["assets/spritesheets/UCL5004242E.PNG"],

      frames: { width: 110, height: 231 },

      animations: {},
    }),

    spriteCenter: new createjs.Point(55, 95),

    altSkus: true,

    length: 35,

    width: 30,

    legsNeeded: false,

    legsLimit: 4,

    actsAsLegs: true,

    frameOffset: 0,

    childFrameOffset: 0,

    description: "4 Step 50\xB0 Ladder",

    name: "4 Step 50\xB0\nLadder",

    sku: "UCL500424X",

    gsku: "29RJ18",

    gSkus: ["21Y492", "21Y490"],

    connectableParts: [],

    usesSlot: 1,

    hasMountSlot: false,

    hasLegSlot: false,

    zOrderMod: [0, 0, 0, 0],

    iZOrderMod: [0, 0, 0, 0],

    forceDrawLast: false,

    forceDrawLastFrame: 0,

    bridgeSpan: false,

    turnPiece: false,

    legs: false,

    rails: false,

    ladder: true,
  };
}

function UCL7504242(selectedFromMenu) {
  selectedFromMenu = selectedFromMenu || false;

  return {
    mountPoint: [
      new createjs.Point(-10, 4),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    connectorPoint: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    rotationOffsets: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    spriteSheet: new createjs.SpriteSheet({
      images: ["assets/spritesheets/UCL7504242.PNG"],

      frames: { width: 77, height: 215 },

      animations: {},
    }),

    spriteCenter: new createjs.Point(38, 96),

    altSkus: true,

    length: 18,

    width: 30,

    legsNeeded: false,

    legsLimit: 4,

    actsAsLegs: true,

    frameOffset: 0,

    childFrameOffset: 0,

    description: "4 Step 75\xB0 Ladder",

    name: "4 Step 75\xB0\nLadder",

    sku: "UCL750424X",

    gsku: "29RJ18",

    gSkus: ["21Y496", "21Y494"],

    connectableParts: ["UCB30246", "UCB20246", "CO_LEFTTURN", "CO_RIGHTTURN"],

    usesSlot: 1,

    hasMountSlot: true,

    hasLegSlot: false,

    zOrderMod: [0, 0, 0, 0],

    iZOrderMod: [0, 0, 0, 0],

    forceDrawLast: false,

    forceDrawLastFrame: 0,

    bridgeSpan: false,

    turnPiece: false,

    legs: false,

    rails: false,

    ladder: true,
  };
}

function UCL7504242E(selectedFromMenu) {
  selectedFromMenu = selectedFromMenu || false;

  return {
    mountPoint: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    connectorPoint: [
      new createjs.Point(8, 36),
      new createjs.Point(-8, -28),
      new createjs.Point(2, -30),
      new createjs.Point(8, -36),
    ],

    rotationOffsets: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    spriteSheet: new createjs.SpriteSheet({
      images: ["assets/spritesheets/UCL7504242E.PNG"],

      frames: { width: 77, height: 215 },

      animations: {},
    }),

    spriteCenter: new createjs.Point(38, 76),

    altSkus: true,

    length: 18,

    width: 30,

    legsNeeded: false,

    legsLimit: 4,

    actsAsLegs: true,

    frameOffset: 0,

    childFrameOffset: 0,

    description: "4 Step 75\xB0 Ladder",

    name: "4 Step 75\xB0\nLadder",

    sku: "UCL750424X",

    gsku: "29RJ18",

    gSkus: ["21Y496", "21Y494"],

    connectableParts: [],

    usesSlot: 1,

    hasMountSlot: false,

    hasLegSlot: false,

    zOrderMod: [0, 0, 0, 0],

    iZOrderMod: [0, 0, 0, 0],

    forceDrawLast: false,

    forceDrawLastFrame: 0,

    bridgeSpan: false,

    turnPiece: false,

    legs: false,

    rails: false,

    ladder: true,
  };
}

function UCL9004242(selectedFromMenu) {
  selectedFromMenu = selectedFromMenu || false;

  return {
    mountPoint: [
      new createjs.Point(-6, 6),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    connectorPoint: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    rotationOffsets: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    spriteSheet: new createjs.SpriteSheet({
      images: ["assets/spritesheets/UCL9004246.PNG"],

      frames: { width: 80, height: 215 },

      animations: {},
    }),

    spriteCenter: new createjs.Point(33, 93),

    altSkus: true,

    length: 15,

    width: 30,

    legsNeeded: false,

    legsLimit: 4,

    actsAsLegs: true,

    frameOffset: 0,

    childFrameOffset: 0,

    description: "4 Step 90\xB0 Ladder",

    name: "4 Step 90\xB0\nLadder",

    sku: "UCL900424X",

    gsku: "21Y498",

    connectableParts: ["UCB30246", "UCB20246", "CO_LEFTTURN", "CO_RIGHTTURN"],

    usesSlot: 1,

    hasMountSlot: true,

    hasLegSlot: false,

    zOrderMod: [0, 0, 0, 0],

    iZOrderMod: [0, 0, 0, 0],

    forceDrawLast: false,

    forceDrawLastFrame: 0,

    bridgeSpan: false,

    turnPiece: false,

    legs: false,

    rails: false,

    ladder: true,
  };
}

function UCL9004242E(selectedFromMenu) {
  selectedFromMenu = selectedFromMenu || false;

  return {
    mountPoint: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    connectorPoint: [
      new createjs.Point(18, 58),
      new createjs.Point(-22, -38),
      new createjs.Point(2, -38),
      new createjs.Point(8, -57),
    ],

    rotationOffsets: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    spriteSheet: new createjs.SpriteSheet({
      images: ["assets/spritesheets/UCL9004246E.PNG"],

      frames: { width: 80, height: 215 },

      animations: {},
    }),

    spriteCenter: new createjs.Point(33, 63),

    altSkus: false,

    length: 15,

    width: 30,

    legsNeeded: false,

    legsLimit: 4,

    actsAsLegs: true,

    frameOffset: 0,

    childFrameOffset: 0,

    description: "4 Step 90\xB0 Ladder",

    name: "4 Step 90\xB0\nLadder",

    sku: "UCL9004246",

    gsku: "21Y498",

    connectableParts: [],

    usesSlot: 1,

    hasMountSlot: false,

    hasLegSlot: false,

    zOrderMod: [0, 0, 0, 0],

    iZOrderMod: [0, 0, 0, 0],

    forceDrawLast: false,

    forceDrawLastFrame: 0,

    bridgeSpan: false,

    turnPiece: false,

    legs: false,

    rails: false,

    ladder: true,
  };
}

function UCL5005242(selectedFromMenu) {
  selectedFromMenu = selectedFromMenu || false;

  return {
    mountPoint: [
      new createjs.Point(-36, -26),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    connectorPoint: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    rotationOffsets: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    spriteSheet: new createjs.SpriteSheet({
      images: ["assets/spritesheets/UCL5005242.PNG"],

      frames: { width: 125, height: 261 },

      animations: {},
    }),

    spriteCenter: new createjs.Point(62, 130),

    altSkus: true,

    length: 44,

    width: 30,

    legsNeeded: false,

    legsLimit: 4,

    actsAsLegs: true,

    frameOffset: 0,

    childFrameOffset: 0,

    description: "5 Step 50\xB0 Ladder",

    name: "5 Step 50\xB0\nLadder",

    sku: "UCL500524X",

    gsku: "29RJ18",

    gSkus: ["15E905", "15E910"],

    connectableParts: ["UCB30246", "UCB20246", "CO_LEFTTURN", "CO_RIGHTTURN"],

    usesSlot: 1,

    hasMountSlot: true,

    hasLegSlot: false,

    zOrderMod: [0, 0, 0, 0],

    iZOrderMod: [0, 0, 0, 0],

    forceDrawLast: false,

    forceDrawLastFrame: 0,

    bridgeSpan: false,

    turnPiece: false,

    legs: false,

    rails: false,

    ladder: true,
  };
}

function UCL5005242E(selectedFromMenu) {
  selectedFromMenu = selectedFromMenu || false;

  return {
    mountPoint: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    connectorPoint: [
      new createjs.Point(36, 40),
      new createjs.Point(-34, -8),
      new createjs.Point(24, -10),
      new createjs.Point(34, -38),
    ],

    rotationOffsets: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    spriteSheet: new createjs.SpriteSheet({
      images: ["assets/spritesheets/UCL5005242E.PNG"],

      frames: { width: 125, height: 261 },

      animations: {},
    }),

    spriteCenter: new createjs.Point(62, 95),

    altSkus: true,

    length: 44,

    width: 30,

    legsNeeded: false,

    legsLimit: 4,

    actsAsLegs: true,

    frameOffset: 0,

    childFrameOffset: 0,

    description: "5 Step 50\xB0 Ladder",

    name: "5 Step 50\xB0\nLadder",

    sku: "UCL500524X",

    gsku: "29RJ18",

    gSkus: ["15E905", "15E910"],

    connectableParts: [],

    usesSlot: 1,

    hasMountSlot: false,

    hasLegSlot: false,

    zOrderMod: [0, 0, 0, 0],

    iZOrderMod: [0, 0, 0, 0],

    forceDrawLast: false,

    forceDrawLastFrame: 0,

    bridgeSpan: false,

    turnPiece: false,

    legs: false,

    rails: false,

    ladder: true,
  };
}

function UCL7505242(selectedFromMenu) {
  selectedFromMenu = selectedFromMenu || false;

  return {
    mountPoint: [
      new createjs.Point(-10, 4),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    connectorPoint: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    rotationOffsets: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    spriteSheet: new createjs.SpriteSheet({
      images: ["assets/spritesheets/UCL7505242.PNG"],

      frames: { width: 81, height: 238 },

      animations: {},
    }),

    spriteCenter: new createjs.Point(38, 96),

    altSkus: true,

    length: 21,

    width: 30,

    legsNeeded: false,

    legsLimit: 4,

    actsAsLegs: true,

    frameOffset: 0,

    childFrameOffset: 0,

    description: "5 Step 75\xB0 Ladder",

    name: "5 Step 75\xB0\nLadder",

    sku: "UCL750524X",

    gsku: "29RJ18",

    gSkus: ["15E914", "15E919"],

    connectableParts: ["UCB30246", "UCB20246", "CO_LEFTTURN", "CO_RIGHTTURN"],

    usesSlot: 1,

    hasMountSlot: true,

    hasLegSlot: false,

    zOrderMod: [0, 0, 0, 0],

    iZOrderMod: [0, 0, 0, 0],

    forceDrawLast: false,

    forceDrawLastFrame: 0,

    bridgeSpan: false,

    turnPiece: false,

    legs: false,

    rails: false,

    ladder: true,
  };
}

function UCL7505242E(selectedFromMenu) {
  selectedFromMenu = selectedFromMenu || false;

  return {
    mountPoint: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    connectorPoint: [
      new createjs.Point(16, 36),
      new createjs.Point(-12, -28),
      new createjs.Point(4, -32),
      new createjs.Point(8, -40),
    ],

    rotationOffsets: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    spriteSheet: new createjs.SpriteSheet({
      images: ["assets/spritesheets/UCL7505242E.PNG"],

      frames: { width: 81, height: 238 },

      animations: {},
    }),

    spriteCenter: new createjs.Point(38, 76),

    altSkus: true,

    length: 21,

    width: 30,

    legsNeeded: false,

    legsLimit: 4,

    actsAsLegs: true,

    frameOffset: 0,

    childFrameOffset: 0,

    description: "5 Step 75\xB0 Ladder",

    name: "5 Step 75\xB0\nLadder",

    sku: "UCL750524X",

    gsku: "29RJ18",

    gSkus: ["15E914", "15E919"],

    connectableParts: [],

    usesSlot: 1,

    hasMountSlot: false,

    hasLegSlot: false,

    zOrderMod: [0, 0, 0, 0],

    iZOrderMod: [0, 0, 0, 0],

    forceDrawLast: false,

    forceDrawLastFrame: 0,

    bridgeSpan: false,

    turnPiece: false,

    legs: false,

    rails: false,

    ladder: true,
  };
}

function UCL9005242(selectedFromMenu) {
  selectedFromMenu = selectedFromMenu || false;

  return {
    mountPoint: [
      new createjs.Point(-8, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    connectorPoint: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    rotationOffsets: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    spriteSheet: new createjs.SpriteSheet({
      images: ["assets/spritesheets/UCL9005246.PNG"],

      frames: { width: 80, height: 236 },

      animations: {},
    }),

    spriteCenter: new createjs.Point(33, 99),

    altSkus: false,

    length: 15,

    width: 30,

    legsNeeded: false,

    legsLimit: 4,

    actsAsLegs: true,

    frameOffset: 0,

    childFrameOffset: 0,

    description: "5 Step 90\xB0 Ladder",

    name: "5 Step 90\xB0\nLadder",

    sku: "UCL9005246",

    gsku: "15E924",

    connectableParts: ["UCB30246", "UCB20246", "CO_LEFTTURN", "CO_RIGHTTURN"],

    usesSlot: 1,

    hasMountSlot: true,

    hasLegSlot: false,

    zOrderMod: [0, 0, 0, 0],

    iZOrderMod: [0, 0, 0, 0],

    forceDrawLast: false,

    forceDrawLastFrame: 0,

    bridgeSpan: false,

    turnPiece: false,

    legs: false,

    rails: false,

    ladder: true,
  };
}

function UCL9005242E(selectedFromMenu) {
  selectedFromMenu = selectedFromMenu || false;

  return {
    mountPoint: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    connectorPoint: [
      new createjs.Point(18, 60),
      new createjs.Point(-21, -39),
      new createjs.Point(6, -40),
      new createjs.Point(8, -58),
    ],

    rotationOffsets: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    spriteSheet: new createjs.SpriteSheet({
      images: ["assets/spritesheets/UCL9005246E.PNG"],

      frames: { width: 80, height: 236 },

      animations: {},
    }),

    spriteCenter: new createjs.Point(33, 63),

    altSkus: false,

    length: 15,

    width: 30,

    legsNeeded: false,

    legsLimit: 4,

    actsAsLegs: true,

    frameOffset: 0,

    childFrameOffset: 0,

    description: "5 Step 90\xB0 Ladder",

    name: "5 Step 90\xB0\nLadder",

    sku: "UCL9005246",

    gsku: "15E924",

    connectableParts: [],

    usesSlot: 1,

    hasMountSlot: false,

    hasLegSlot: false,

    zOrderMod: [0, 0, 0, 0],

    iZOrderMod: [0, 0, 0, 0],

    forceDrawLast: false,

    forceDrawLastFrame: 0,

    bridgeSpan: false,

    turnPiece: false,

    legs: false,

    rails: false,

    ladder: true,
  };
}

function UCL5006242(selectedFromMenu) {
  selectedFromMenu = selectedFromMenu || false;

  return {
    mountPoint: [
      new createjs.Point(-36, -26),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    connectorPoint: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    rotationOffsets: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    spriteSheet: new createjs.SpriteSheet({
      images: ["assets/spritesheets/UCL5006242.PNG"],

      frames: { width: 139, height: 288 },

      animations: {},
    }),

    spriteCenter: new createjs.Point(62, 130),

    altSkus: true,

    length: 52,

    width: 30,

    legsNeeded: false,

    legsLimit: 4,

    actsAsLegs: true,

    frameOffset: 0,

    childFrameOffset: 0,

    description: "6 Step 50\xB0 Ladder",

    name: "6 Step 50\xB0\nLadder",

    sku: "UCL500624X",

    gsku: "29RJ18",

    gSkus: ["15E905", "15E910"],

    connectableParts: ["UCB30246", "UCB20246", "CO_LEFTTURN", "CO_RIGHTTURN"],

    usesSlot: 1,

    hasMountSlot: true,

    hasLegSlot: false,

    zOrderMod: [0, 0, 0, 0],

    iZOrderMod: [0, 0, 0, 0],

    forceDrawLast: false,

    forceDrawLastFrame: 0,

    bridgeSpan: false,

    turnPiece: false,

    legs: false,

    rails: false,

    ladder: true,
  };
}

function UCL5006242E(selectedFromMenu) {
  selectedFromMenu = selectedFromMenu || false;

  return {
    mountPoint: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    connectorPoint: [
      new createjs.Point(48, 50),
      new createjs.Point(-46, -8),
      new createjs.Point(28, -10),
      new createjs.Point(38, -48),
    ],

    rotationOffsets: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    spriteSheet: new createjs.SpriteSheet({
      images: ["assets/spritesheets/UCL5006242E.PNG"],

      frames: { width: 139, height: 288 },

      animations: {},
    }),

    spriteCenter: new createjs.Point(62, 95),

    altSkus: true,

    length: 52,

    width: 30,

    legsNeeded: false,

    legsLimit: 4,

    actsAsLegs: true,

    frameOffset: 0,

    childFrameOffset: 0,

    description: "6 Step 50\xB0 Ladder",

    name: "6 Step 50\xB0\nLadder",

    sku: "UCL500624X",

    gsku: "29RJ18",

    gSkus: ["15E905", "15E910"],

    connectableParts: [],

    usesSlot: 1,

    hasMountSlot: false,

    hasLegSlot: false,

    zOrderMod: [0, 0, 0, 0],

    iZOrderMod: [0, 0, 0, 0],

    forceDrawLast: false,

    forceDrawLastFrame: 0,

    bridgeSpan: false,

    turnPiece: false,

    legs: false,

    rails: false,

    ladder: true,
  };
}

function UCL7506242(selectedFromMenu) {
  selectedFromMenu = selectedFromMenu || false;

  return {
    mountPoint: [
      new createjs.Point(-10, 4),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    connectorPoint: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    rotationOffsets: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    spriteSheet: new createjs.SpriteSheet({
      images: ["assets/spritesheets/UCL7506242.PNG"],

      frames: { width: 86, height: 262 },

      animations: {},
    }),

    spriteCenter: new createjs.Point(38, 96),

    altSkus: true,

    length: 24,

    width: 30,

    legsNeeded: false,

    legsLimit: 4,

    actsAsLegs: true,

    frameOffset: 0,

    childFrameOffset: 0,

    description: "6 Step 75\xB0 Ladder",

    name: "6 Step 75\xB0\nLadder",

    sku: "UCL750624X",

    gsku: "29RJ18",

    gSkus: ["15E915", "15E920"],

    connectableParts: ["UCB30246", "UCB20246", "CO_LEFTTURN", "CO_RIGHTTURN"],

    usesSlot: 1,

    hasMountSlot: true,

    hasLegSlot: false,

    zOrderMod: [0, 0, 0, 0],

    iZOrderMod: [0, 0, 0, 0],

    forceDrawLast: false,

    forceDrawLastFrame: 0,

    bridgeSpan: false,

    turnPiece: false,

    legs: false,

    rails: false,

    ladder: true,
  };
}

function UCL7506242E(selectedFromMenu) {
  selectedFromMenu = selectedFromMenu || false;

  return {
    mountPoint: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    connectorPoint: [
      new createjs.Point(16, 40),
      new createjs.Point(-18, -28),
      new createjs.Point(2, -30),
      new createjs.Point(10, -40),
    ],

    rotationOffsets: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    spriteSheet: new createjs.SpriteSheet({
      images: ["assets/spritesheets/UCL7506242E.PNG"],

      frames: { width: 86, height: 262 },

      animations: {},
    }),

    spriteCenter: new createjs.Point(38, 76),

    altSkus: true,

    length: 24,

    width: 30,

    legsNeeded: false,

    legsLimit: 4,

    actsAsLegs: true,

    frameOffset: 0,

    childFrameOffset: 0,

    description: "6 Step 75\xB0 Ladder",

    name: "6 Step 75\xB0\nLadder",

    sku: "UCL750624X",

    gsku: "29RJ18",

    gSkus: ["15E915", "15E920"],

    connectableParts: [],

    usesSlot: 1,

    hasMountSlot: false,

    hasLegSlot: false,

    zOrderMod: [0, 0, 0, 0],

    iZOrderMod: [0, 0, 0, 0],

    forceDrawLast: false,

    forceDrawLastFrame: 0,

    bridgeSpan: false,

    turnPiece: false,

    legs: false,

    rails: false,

    ladder: true,
  };
}

function UCL9006242(selectedFromMenu) {
  selectedFromMenu = selectedFromMenu || false;

  return {
    mountPoint: [
      new createjs.Point(-10, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    connectorPoint: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    rotationOffsets: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    spriteSheet: new createjs.SpriteSheet({
      images: ["assets/spritesheets/UCL9006246.PNG"],

      frames: { width: 80, height: 256 },

      animations: {},
    }),

    spriteCenter: new createjs.Point(33, 99),

    altSkus: false,

    length: 15,

    width: 30,

    legsNeeded: false,

    legsLimit: 4,

    actsAsLegs: true,

    frameOffset: 0,

    childFrameOffset: 0,

    description: "6 Step 90\xB0 Ladder",

    name: "6 Step 90\xB0\nLadder",

    sku: "UCL9006246",

    gsku: "15E925",

    connectableParts: ["UCB30246", "UCB20246", "CO_LEFTTURN", "CO_RIGHTTURN"],

    usesSlot: 1,

    hasMountSlot: true,

    hasLegSlot: false,

    zOrderMod: [0, 0, 0, 0],

    iZOrderMod: [0, 0, 0, 0],

    forceDrawLast: false,

    forceDrawLastFrame: 0,

    bridgeSpan: false,

    turnPiece: false,

    legs: false,

    rails: false,

    ladder: true,
  };
}

function UCL9006242E(selectedFromMenu) {
  selectedFromMenu = selectedFromMenu || false;

  return {
    mountPoint: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    connectorPoint: [
      new createjs.Point(19, 61),
      new createjs.Point(-18, -41),
      new createjs.Point(5, -38),
      new createjs.Point(9, -58),
    ],

    rotationOffsets: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    spriteSheet: new createjs.SpriteSheet({
      images: ["assets/spritesheets/UCL9006246E.PNG"],

      frames: { width: 80, height: 256 },

      animations: {},
    }),

    spriteCenter: new createjs.Point(33, 63),

    altSkus: false,

    length: 15,

    width: 30,

    legsNeeded: false,

    legsLimit: 4,

    actsAsLegs: true,

    frameOffset: 0,

    childFrameOffset: 0,

    description: "6 Step 90\xB0 Ladder",

    name: "6 Step 90\xB0\nLadder",

    sku: "UCL9006246",

    gsku: "15E925",

    connectableParts: [],

    usesSlot: 1,

    hasMountSlot: false,

    hasLegSlot: false,

    zOrderMod: [0, 0, 0, 0],

    iZOrderMod: [0, 0, 0, 0],

    forceDrawLast: false,

    forceDrawLastFrame: 0,

    bridgeSpan: false,

    turnPiece: false,

    legs: false,

    rails: false,

    ladder: true,
  };
}

function UCL5007242(selectedFromMenu) {
  selectedFromMenu = selectedFromMenu || false;

  return {
    mountPoint: [
      new createjs.Point(-36, -26),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    connectorPoint: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    rotationOffsets: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    spriteSheet: new createjs.SpriteSheet({
      images: ["assets/spritesheets/UCL5007242.PNG"],

      frames: { width: 153, height: 317 },

      animations: {},
    }),

    spriteCenter: new createjs.Point(62, 130),

    altSkus: true,

    length: 61,

    width: 30,

    legsNeeded: false,

    legsLimit: 4,

    actsAsLegs: true,

    frameOffset: 0,

    childFrameOffset: 0,

    description: "7 Step 50\xB0 Ladder",

    name: "7 Step 50\xB0\nLadder",

    sku: "UCL500724X",

    gsku: "29RJ18",

    gSkus: ["15E906", "15E911"],

    connectableParts: ["UCB30246", "UCB20246", "CO_LEFTTURN", "CO_RIGHTTURN"],

    usesSlot: 1,

    hasMountSlot: true,

    hasLegSlot: false,

    zOrderMod: [0, 0, 0, 0],

    iZOrderMod: [0, 0, 0, 0],

    forceDrawLast: false,

    forceDrawLastFrame: 0,

    bridgeSpan: false,

    turnPiece: false,

    legs: false,

    rails: false,

    ladder: true,
  };
}

function UCL5007242E(selectedFromMenu) {
  selectedFromMenu = selectedFromMenu || false;

  return {
    mountPoint: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    connectorPoint: [
      new createjs.Point(62, 56),
      new createjs.Point(-62, -10),
      new createjs.Point(28, -10),
      new createjs.Point(38, -54),
    ],

    rotationOffsets: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    spriteSheet: new createjs.SpriteSheet({
      images: ["assets/spritesheets/UCL5007242E.PNG"],

      frames: { width: 153, height: 317 },

      animations: {},
    }),

    spriteCenter: new createjs.Point(62, 95),

    altSkus: true,

    length: 61,

    width: 30,

    legsNeeded: false,

    legsLimit: 4,

    actsAsLegs: true,

    frameOffset: 0,

    childFrameOffset: 0,

    description: "7 Step 50\xB0 Ladder",

    name: "7 Step 50\xB0\nLadder",

    sku: "UCL500724X",

    gsku: "29RJ18",

    gSkus: ["15E906", "15E911"],

    connectableParts: [],

    usesSlot: 1,

    hasMountSlot: false,

    hasLegSlot: false,

    zOrderMod: [0, 0, 0, 0],

    iZOrderMod: [0, 0, 0, 0],

    forceDrawLast: false,

    forceDrawLastFrame: 0,

    bridgeSpan: false,

    turnPiece: false,

    legs: false,

    rails: false,

    ladder: true,
  };
}

function UCL7507242(selectedFromMenu) {
  selectedFromMenu = selectedFromMenu || false;

  return {
    mountPoint: [
      new createjs.Point(-10, 4),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    connectorPoint: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    rotationOffsets: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    spriteSheet: new createjs.SpriteSheet({
      images: ["assets/spritesheets/UCL7507242.PNG"],

      frames: { width: 90, height: 285 },

      animations: {},
    }),

    spriteCenter: new createjs.Point(38, 96),

    altSkus: true,

    length: 27,

    width: 30,

    legsNeeded: false,

    legsLimit: 4,

    actsAsLegs: true,

    frameOffset: 0,

    childFrameOffset: 0,

    description: "7 Step 75\xB0 Ladder",

    name: "7 Step 75\xB0\nLadder",

    sku: "UCL750724X",

    gsku: "29RJ18",

    gSkus: ["15E916", "15E921"],

    connectableParts: ["UCB30246", "UCB20246", "CO_LEFTTURN", "CO_RIGHTTURN"],

    usesSlot: 1,

    hasMountSlot: true,

    hasLegSlot: false,

    zOrderMod: [0, 0, 0, 0],

    iZOrderMod: [0, 0, 0, 0],

    forceDrawLast: false,

    forceDrawLastFrame: 0,

    bridgeSpan: false,

    turnPiece: false,

    legs: false,

    rails: false,

    ladder: true,
  };
}

function UCL7507242E(selectedFromMenu) {
  selectedFromMenu = selectedFromMenu || false;

  return {
    mountPoint: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    connectorPoint: [
      new createjs.Point(26, 46),
      new createjs.Point(-24, -28),
      new createjs.Point(2, -30),
      new createjs.Point(10, -44),
    ],

    rotationOffsets: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    spriteSheet: new createjs.SpriteSheet({
      images: ["assets/spritesheets/UCL7507242E.PNG"],

      frames: { width: 90, height: 285 },

      animations: {},
    }),

    spriteCenter: new createjs.Point(38, 76),

    altSkus: true,

    length: 27,

    width: 30,

    legsNeeded: false,

    legsLimit: 4,

    actsAsLegs: true,

    frameOffset: 0,

    childFrameOffset: 0,

    description: "7 Step 75\xB0 Ladder",

    name: "7 Step 75\xB0\nLadder",

    sku: "UCL750724X",

    gsku: "29RJ18",

    gSkus: ["15E916", "15E921"],

    connectableParts: [],

    usesSlot: 1,

    hasMountSlot: false,

    hasLegSlot: false,

    zOrderMod: [0, 0, 0, 0],

    iZOrderMod: [0, 0, 0, 0],

    forceDrawLast: false,

    forceDrawLastFrame: 0,

    bridgeSpan: false,

    turnPiece: false,

    legs: false,

    rails: false,

    ladder: true,
  };
}

function UCL9007242(selectedFromMenu) {
  selectedFromMenu = selectedFromMenu || false;

  return {
    mountPoint: [
      new createjs.Point(-8, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    connectorPoint: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    rotationOffsets: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    spriteSheet: new createjs.SpriteSheet({
      images: ["assets/spritesheets/UCL9007246.PNG"],

      frames: { width: 80, height: 278 },

      animations: {},
    }),

    spriteCenter: new createjs.Point(33, 99),

    altSkus: false,

    length: 15,

    width: 30,

    legsNeeded: false,

    legsLimit: 4,

    actsAsLegs: true,

    frameOffset: 0,

    childFrameOffset: 0,

    description: "7 Step 90\xB0 Ladder",

    name: "7 Step 90\xB0\nLadder",

    sku: "UCL9007246",

    gsku: "15E926",

    connectableParts: ["UCB30246", "UCB20246", "CO_LEFTTURN", "CO_RIGHTTURN"],

    usesSlot: 1,

    hasMountSlot: true,

    hasLegSlot: false,

    zOrderMod: [0, 0, 0, 0],

    iZOrderMod: [0, 0, 0, 0],

    forceDrawLast: false,

    forceDrawLastFrame: 0,

    bridgeSpan: false,

    turnPiece: false,

    legs: false,

    rails: false,

    ladder: true,
  };
}

function UCL9007242E(selectedFromMenu) {
  selectedFromMenu = selectedFromMenu || false;

  return {
    mountPoint: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    connectorPoint: [
      new createjs.Point(19, 57),
      new createjs.Point(-21, -40),
      new createjs.Point(4, -38),
      new createjs.Point(9, -58),
    ],

    rotationOffsets: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    spriteSheet: new createjs.SpriteSheet({
      images: ["assets/spritesheets/UCL9007246E.PNG"],

      frames: { width: 80, height: 278 },

      animations: {},
    }),

    spriteCenter: new createjs.Point(33, 63),

    altSkus: false,

    length: 15,

    width: 30,

    legsNeeded: false,

    legsLimit: 4,

    actsAsLegs: true,

    frameOffset: 0,

    childFrameOffset: 0,

    description: "7 Step 90\xB0 Ladder",

    name: "7 Step 90\xB0\nLadder",

    sku: "UCL9007246",

    gsku: "15E926",

    connectableParts: [],

    usesSlot: 1,

    hasMountSlot: false,

    hasLegSlot: false,

    zOrderMod: [0, 0, 0, 0],

    iZOrderMod: [0, 0, 0, 0],

    forceDrawLast: false,

    forceDrawLastFrame: 0,

    bridgeSpan: false,

    turnPiece: false,

    legs: false,

    rails: false,

    ladder: true,
  };
}

function UCL5008242(selectedFromMenu) {
  selectedFromMenu = selectedFromMenu || false;

  return {
    mountPoint: [
      new createjs.Point(-36, -26),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    connectorPoint: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    rotationOffsets: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    spriteSheet: new createjs.SpriteSheet({
      images: ["assets/spritesheets/UCL5008242.PNG"],

      frames: { width: 168, height: 344 },

      animations: {},
    }),

    spriteCenter: new createjs.Point(62, 130),

    altSkus: true,

    length: 69,

    width: 30,

    legsNeeded: false,

    legsLimit: 4,

    actsAsLegs: true,

    frameOffset: 0,

    childFrameOffset: 0,

    description: "8 Step 50\xB0 Ladder",

    name: "8 Step 50\xB0\nLadder",

    sku: "UCL500824X",

    gsku: "29RJ18",

    gSkus: ["15E908", "15E912"],

    connectableParts: ["UCB30246", "UCB20246", "CO_LEFTTURN", "CO_RIGHTTURN"],

    usesSlot: 1,

    hasMountSlot: true,

    hasLegSlot: false,

    zOrderMod: [0, 0, 0, 0],

    iZOrderMod: [0, 0, 0, 0],

    forceDrawLast: false,

    forceDrawLastFrame: 0,

    bridgeSpan: false,

    turnPiece: false,

    legs: false,

    rails: false,

    ladder: true,
  };
}

function UCL5008242E(selectedFromMenu) {
  selectedFromMenu = selectedFromMenu || false;

  return {
    mountPoint: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    connectorPoint: [
      new createjs.Point(78, 66),
      new createjs.Point(-80, -8),
      new createjs.Point(32, -8),
      new createjs.Point(38, -60),
    ],

    rotationOffsets: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    spriteSheet: new createjs.SpriteSheet({
      images: ["assets/spritesheets/UCL5008242E.PNG"],

      frames: { width: 168, height: 344 },

      animations: {},
    }),

    spriteCenter: new createjs.Point(62, 95),

    altSkus: true,

    length: 69,

    width: 30,

    legsNeeded: false,

    legsLimit: 4,

    actsAsLegs: true,

    frameOffset: 0,

    childFrameOffset: 0,

    description: "8 Step 50\xB0 Ladder",

    name: "8 Step 50\xB0\nLadder",

    sku: "UCL500824X",

    gsku: "29RJ18",

    gSkus: ["15E908", "15E912"],

    connectableParts: [],

    usesSlot: 1,

    hasMountSlot: false,

    hasLegSlot: false,

    zOrderMod: [0, 0, 0, 0],

    iZOrderMod: [0, 0, 0, 0],

    forceDrawLast: false,

    forceDrawLastFrame: 0,

    bridgeSpan: false,

    turnPiece: false,

    legs: false,

    rails: false,

    ladder: true,
  };
}

function UCL7508242(selectedFromMenu) {
  selectedFromMenu = selectedFromMenu || false;

  return {
    mountPoint: [
      new createjs.Point(-10, 4),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    connectorPoint: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    rotationOffsets: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    spriteSheet: new createjs.SpriteSheet({
      images: ["assets/spritesheets/UCL7508242.PNG"],

      frames: { width: 94, height: 308 },

      animations: {},
    }),

    spriteCenter: new createjs.Point(38, 96),

    altSkus: true,

    length: 30,

    width: 30,

    legsNeeded: false,

    legsLimit: 4,

    actsAsLegs: true,

    frameOffset: 0,

    childFrameOffset: 0,

    description: "8 Step 75\xB0 Ladder",

    name: "8 Step 75\xB0\nLadder",

    sku: "UCL750824X",

    gsku: "29RJ18",

    gSkus: ["15E917", "15E922"],

    connectableParts: ["UCB30246", "UCB20246", "CO_LEFTTURN", "CO_RIGHTTURN"],

    usesSlot: 1,

    hasMountSlot: true,

    hasLegSlot: false,

    zOrderMod: [0, 0, 0, 0],

    iZOrderMod: [0, 0, 0, 0],

    forceDrawLast: false,

    forceDrawLastFrame: 0,

    bridgeSpan: false,

    turnPiece: false,

    legs: false,

    rails: false,

    ladder: true,
  };
}

function UCL7508242E(selectedFromMenu) {
  selectedFromMenu = selectedFromMenu || false;

  return {
    mountPoint: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    connectorPoint: [
      new createjs.Point(26, 46),
      new createjs.Point(-26, -28),
      new createjs.Point(2, -30),
      new createjs.Point(10, -44),
    ],

    rotationOffsets: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    spriteSheet: new createjs.SpriteSheet({
      images: ["assets/spritesheets/UCL7508242E.PNG"],

      frames: { width: 94, height: 308 },

      animations: {},
    }),

    spriteCenter: new createjs.Point(38, 76),

    altSkus: true,

    length: 30,

    width: 30,

    legsNeeded: false,

    legsLimit: 4,

    actsAsLegs: true,

    frameOffset: 0,

    childFrameOffset: 0,

    description: "8 Step 75\xB0 Ladder",

    name: "8 Step 75\xB0\nLadder",

    sku: "UCL750824X",

    gsku: "29RJ18",

    gSkus: ["15E917", "15E922"],

    connectableParts: [],

    usesSlot: 1,

    hasMountSlot: false,

    hasLegSlot: false,

    zOrderMod: [0, 0, 0, 0],

    iZOrderMod: [0, 0, 0, 0],

    forceDrawLast: false,

    forceDrawLastFrame: 0,

    bridgeSpan: false,

    turnPiece: false,

    legs: false,

    rails: false,

    ladder: true,
  };
}

function UCL9008242(selectedFromMenu) {
  selectedFromMenu = selectedFromMenu || false;

  return {
    mountPoint: [
      new createjs.Point(-10, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    connectorPoint: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    rotationOffsets: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    spriteSheet: new createjs.SpriteSheet({
      images: ["assets/spritesheets/UCL9008246.PNG"],

      frames: { width: 80, height: 299 },

      animations: {},
    }),

    spriteCenter: new createjs.Point(33, 99),

    altSkus: false,

    length: 15,

    width: 30,

    legsNeeded: false,

    legsLimit: 4,

    actsAsLegs: true,

    frameOffset: 0,

    childFrameOffset: 0,

    description: "8 Step 90\xB0 Ladder",

    name: "8 Step 90\xB0\nLadder",

    sku: "UCL9008246",

    gsku: "15E927",

    connectableParts: ["UCB30246", "UCB20246", "CO_LEFTTURN", "CO_RIGHTTURN"],

    usesSlot: 1,

    hasMountSlot: true,

    hasLegSlot: false,

    zOrderMod: [0, 0, 0, 0],

    iZOrderMod: [0, 0, 0, 0],

    forceDrawLast: false,

    forceDrawLastFrame: 0,

    bridgeSpan: false,

    turnPiece: false,

    legs: false,

    rails: false,

    ladder: true,
  };
}

function UCL9008242E(selectedFromMenu) {
  selectedFromMenu = selectedFromMenu || false;

  return {
    mountPoint: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    connectorPoint: [
      new createjs.Point(17, 58),
      new createjs.Point(-22, -38),
      new createjs.Point(0, -36),
      new createjs.Point(5, -57),
    ],

    rotationOffsets: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    spriteSheet: new createjs.SpriteSheet({
      images: ["assets/spritesheets/UCL9008246E.PNG"],

      frames: { width: 80, height: 299 },

      animations: {},
    }),

    spriteCenter: new createjs.Point(33, 63),

    altSkus: false,

    length: 15,

    width: 30,

    legsNeeded: false,

    legsLimit: 4,

    actsAsLegs: true,

    frameOffset: 0,

    childFrameOffset: 0,

    description: "8 Step 90\xB0 Ladder",

    name: "8 Step 90\xB0\nLadder",

    sku: "UCL9008246",

    gsku: "15E927",

    connectableParts: [],

    usesSlot: 1,

    hasMountSlot: false,

    hasLegSlot: false,

    zOrderMod: [0, 0, 0, 0],

    iZOrderMod: [0, 0, 0, 0],

    forceDrawLast: false,

    forceDrawLastFrame: 0,

    bridgeSpan: false,

    turnPiece: false,

    legs: false,

    rails: false,

    ladder: true,
  };
}

function UCL5009242(selectedFromMenu) {
  selectedFromMenu = selectedFromMenu || false;

  return {
    mountPoint: [
      new createjs.Point(-36, -26),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    connectorPoint: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    rotationOffsets: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    spriteSheet: new createjs.SpriteSheet({
      images: ["assets/spritesheets/UCL5009242.PNG"],

      frames: { width: 182, height: 373 },

      animations: {},
    }),

    spriteCenter: new createjs.Point(62, 130),

    altSkus: true,

    length: 78,

    width: 30,

    legsNeeded: false,

    legsLimit: 4,

    actsAsLegs: true,

    frameOffset: 0,

    childFrameOffset: 0,

    description: "9 Step 50\xB0 Ladder",

    name: "9 Step 50\xB0\nLadder",

    sku: "UCL500924X",

    gsku: "29RJ18",

    gSkus: ["15E908", "15E913"],

    connectableParts: ["UCB30246", "UCB20246", "CO_LEFTTURN", "CO_RIGHTTURN"],

    usesSlot: 1,

    hasMountSlot: true,

    hasLegSlot: false,

    zOrderMod: [0, 0, 0, 0],

    iZOrderMod: [0, 0, 0, 0],

    forceDrawLast: false,

    forceDrawLastFrame: 0,

    bridgeSpan: false,

    turnPiece: false,

    legs: false,

    rails: false,

    ladder: true,
  };
}

function UCL5009242E(selectedFromMenu) {
  selectedFromMenu = selectedFromMenu || false;

  return {
    mountPoint: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    connectorPoint: [
      new createjs.Point(92, 74),
      new createjs.Point(-94, -10),
      new createjs.Point(28, -8),
      new createjs.Point(33, -70),
    ],

    rotationOffsets: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    spriteSheet: new createjs.SpriteSheet({
      images: ["assets/spritesheets/UCL5009242E.PNG"],

      frames: { width: 182, height: 373 },

      animations: {},
    }),

    spriteCenter: new createjs.Point(62, 95),

    altSkus: true,

    length: 78,

    width: 30,

    legsNeeded: false,

    legsLimit: 4,

    actsAsLegs: true,

    frameOffset: 0,

    childFrameOffset: 0,

    description: "9 Step 50\xB0 Ladder",

    name: "9 Step 50\xB0\nLadder",

    sku: "UCL500924X",

    gsku: "29RJ18",

    gSkus: ["15E908", "15E913"],

    connectableParts: [],

    usesSlot: 1,

    hasMountSlot: false,

    hasLegSlot: false,

    zOrderMod: [0, 0, 0, 0],

    iZOrderMod: [0, 0, 0, 0],

    forceDrawLast: false,

    forceDrawLastFrame: 0,

    bridgeSpan: false,

    turnPiece: false,

    legs: false,

    rails: false,

    ladder: true,
  };
}

function UCL7509242(selectedFromMenu) {
  selectedFromMenu = selectedFromMenu || false;

  return {
    mountPoint: [
      new createjs.Point(-10, 4),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    connectorPoint: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    rotationOffsets: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    spriteSheet: new createjs.SpriteSheet({
      images: ["assets/spritesheets/UCL7509242.PNG"],

      frames: { width: 100, height: 331 },

      animations: {},
    }),

    spriteCenter: new createjs.Point(38, 96),

    altSkus: true,

    length: 32,

    width: 30,

    legsNeeded: false,

    legsLimit: 4,

    actsAsLegs: true,

    frameOffset: 0,

    childFrameOffset: 0,

    description: "9 Step 75\xB0 Ladder",

    name: "9 Step 75\xB0\nLadder",

    sku: "UCL750924X",

    gsku: "29RJ18",

    gSkus: ["15E918", "15E923"],

    connectableParts: ["UCB30246", "UCB20246", "CO_LEFTTURN", "CO_RIGHTTURN"],

    usesSlot: 1,

    hasMountSlot: true,

    hasLegSlot: false,

    zOrderMod: [0, 0, 0, 0],

    iZOrderMod: [0, 0, 0, 0],

    forceDrawLast: false,

    forceDrawLastFrame: 0,

    bridgeSpan: false,

    turnPiece: false,

    legs: false,

    rails: false,

    ladder: true,
  };
}

function UCL7509242E(selectedFromMenu) {
  selectedFromMenu = selectedFromMenu || false;

  return {
    mountPoint: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    connectorPoint: [
      new createjs.Point(34, 48),
      new createjs.Point(-34, -28),
      new createjs.Point(2, -30),
      new createjs.Point(10, -48),
    ],

    rotationOffsets: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    spriteSheet: new createjs.SpriteSheet({
      images: ["assets/spritesheets/UCL7509242E.PNG"],

      frames: { width: 100, height: 331 },

      animations: {},
    }),

    spriteCenter: new createjs.Point(38, 76),

    altSkus: true,

    length: 32,

    width: 30,

    legsNeeded: false,

    legsLimit: 4,

    actsAsLegs: true,

    frameOffset: 0,

    childFrameOffset: 0,

    description: "9 Step 75\xB0 Ladder",

    name: "9 Step 75\xB0\nLadder",

    sku: "UCL750924X",

    gsku: "29RJ18",

    gSkus: ["15E918", "15E923"],

    connectableParts: [],

    usesSlot: 1,

    hasMountSlot: false,

    hasLegSlot: false,

    zOrderMod: [0, 0, 0, 0],

    iZOrderMod: [0, 0, 0, 0],

    forceDrawLast: false,

    forceDrawLastFrame: 0,

    bridgeSpan: false,

    turnPiece: false,

    legs: false,

    rails: false,

    ladder: true,
  };
}

function UCL9009242(selectedFromMenu) {
  selectedFromMenu = selectedFromMenu || false;

  return {
    mountPoint: [
      new createjs.Point(-8, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    connectorPoint: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    rotationOffsets: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    spriteSheet: new createjs.SpriteSheet({
      images: ["assets/spritesheets/UCL9009246.PNG"],

      frames: { width: 80, height: 320 },

      animations: {},
    }),

    spriteCenter: new createjs.Point(33, 100),

    altSkus: false,

    length: 15,

    width: 30,

    legsNeeded: false,

    legsLimit: 4,

    actsAsLegs: true,

    frameOffset: 0,

    childFrameOffset: 0,

    description: "9 Step 90\xB0 Ladder",

    name: "9 Step 90\xB0\nLadder",

    sku: "UCL9009246",

    gsku: "15E928",

    connectableParts: ["UCB30246", "UCB20246", "CO_LEFTTURN", "CO_RIGHTTURN"],

    usesSlot: 1,

    hasMountSlot: true,

    hasLegSlot: false,

    zOrderMod: [0, 0, 0, 0],

    iZOrderMod: [0, 0, 0, 0],

    forceDrawLast: false,

    forceDrawLastFrame: 0,

    bridgeSpan: false,

    turnPiece: false,

    legs: false,

    rails: false,

    ladder: true,
  };
}

function UCL9009242E(selectedFromMenu) {
  selectedFromMenu = selectedFromMenu || false;

  return {
    mountPoint: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    connectorPoint: [
      new createjs.Point(20, 60),
      new createjs.Point(-21, -40),
      new createjs.Point(0, -35),
      new createjs.Point(8, -58),
    ],

    rotationOffsets: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    spriteSheet: new createjs.SpriteSheet({
      images: ["assets/spritesheets/UCL9009246E.PNG"],

      frames: { width: 80, height: 320 },

      animations: {},
    }),

    spriteCenter: new createjs.Point(33, 63),

    altSkus: false,

    length: 15,

    width: 30,

    legsNeeded: false,

    legsLimit: 4,

    actsAsLegs: true,

    frameOffset: 0,

    childFrameOffset: 0,

    description: "9 Step 90\xB0 Ladder",

    name: "9 Step 90\xB0\nLadder",

    sku: "UCL9009246",

    gsku: "15E928",

    connectableParts: [],

    usesSlot: 1,

    hasMountSlot: false,

    hasLegSlot: false,

    zOrderMod: [0, 0, 0, 0],

    iZOrderMod: [0, 0, 0, 0],

    forceDrawLast: false,

    forceDrawLastFrame: 0,

    bridgeSpan: false,

    turnPiece: false,

    legs: false,

    rails: false,

    ladder: true,
  };
}

function UCB30246(selectedFromMenu) {
  selectedFromMenu = selectedFromMenu || false;

  return {
    mountPoint: [
      new createjs.Point(-26, 27),
      new createjs.Point(-28, 58),
      new createjs.Point(32, 57),
      new createjs.Point(27, 25),
    ],

    connectorPoint: [
      new createjs.Point(26, 54),
      new createjs.Point(-24, -32),
      new createjs.Point(18, -32),
      new createjs.Point(26, -52),
    ],

    rotationOffsets: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    spriteSheet: new createjs.SpriteSheet({
      images: ["assets/spritesheets/UCB30246.PNG"],

      frames: { width: 103, height: 145 },

      animations: {},
    }),

    spriteCenter: new createjs.Point(51, 72),

    altSkus: true,

    length: 30,

    width: 30,

    legsNeeded: true,

    legsLimit: 90,

    actsAsLegs: false,

    frameOffset: 0,

    childFrameOffset: 0,

    description: '30"L Bridge Span',

    name: '30"L Bridge Span',

    sku: "UCB3024X",

    gsku: "29RJ18",

    gSkus: ["15E931", "15E929"],

    connectableParts: [
      "UCB30246",
      "UCB20246",
      "CO_LADDER50END",
      "CO_LADDER75END",
      "CO_LADDER90END",
      "CO_LEFTTURN",
      "CO_RIGHTTURN",
      "CO_LEGS",
      "URK",
    ],

    usesSlot: 1,

    hasMountSlot: true,

    hasLegSlot: true,

    zOrderMod: [0, 0, 0, 0],

    iZOrderMod: [0, 0, 0, 0],

    forceDrawLast: false,

    forceDrawLastFrame: 0,

    bridgeSpan: true,

    turnPiece: false,

    legs: false,

    rails: false,

    ladder: false,
  };
}

function UCB20246(selectedFromMenu) {
  selectedFromMenu = selectedFromMenu || false;

  return {
    mountPoint: [
      new createjs.Point(-18, 28),
      new createjs.Point(-19, 50),
      new createjs.Point(25, 49),
      new createjs.Point(17, 26),
    ],

    connectorPoint: [
      new createjs.Point(16, 44),
      new createjs.Point(-14, -36),
      new createjs.Point(8, -32),
      new createjs.Point(20, -44),
    ],

    rotationOffsets: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    spriteSheet: new createjs.SpriteSheet({
      images: ["assets/spritesheets/UCB20246.PNG"],

      frames: { width: 86, height: 137 },

      animations: {},
    }),

    spriteCenter: new createjs.Point(43, 72),

    altSkus: true,

    length: 20,

    width: 30,

    legsNeeded: true,

    legsLimit: 80,

    actsAsLegs: false,

    frameOffset: 0,

    childFrameOffset: 0,

    description: '20"L Bridge Span',

    name: '20"L Bridge Span',

    sku: "UCB2024X",

    gsku: "29RJ18",

    gSkus: ["15E932", "15E930"],

    connectableParts: [
      "UCB30246",
      "UCB20246",
      "CO_LADDER50END",
      "CO_LADDER75END",
      "CO_LADDER90END",
      "CO_LEFTTURN",
      "CO_RIGHTTURN",
      "CO_LEGS",
      "URK",
    ],

    usesSlot: 1,

    hasMountSlot: true,

    hasLegSlot: true,

    zOrderMod: [0, 0, 0, 0],

    iZOrderMod: [0, 0, 0, 0],

    forceDrawLast: false,

    forceDrawLastFrame: 0,

    bridgeSpan: true,

    turnPiece: false,

    legs: false,

    rails: false,

    ladder: false,
  };
}

function UCT03246L(selectedFromMenu) {
  selectedFromMenu = selectedFromMenu || false;

  return {
    mountPoint: [
      new createjs.Point(-28, 44),
      new createjs.Point(34, 44),
      new createjs.Point(26, 10),
      new createjs.Point(-28, 14),
    ],

    connectorPoint: [
      new createjs.Point(24, 38),
      new createjs.Point(-22, -20),
      new createjs.Point(18, -18),
      new createjs.Point(26, -36),
    ],

    rotationOffsets: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    spriteSheet: new createjs.SpriteSheet({
      images: ["assets/spritesheets/UCT03246L.PNG"],

      frames: { width: 107, height: 206 },

      animations: {},
    }),

    spriteCenter: new createjs.Point(53, 87),

    altSkus: true,

    length: 30,

    width: 30,

    legsNeeded: false,

    legsLimit: 3,

    actsAsLegs: true,

    frameOffset: 0,

    childFrameOffset: 1,

    description: "Turn Platform",

    name: "Turn Platform\n(Left)",

    sku: "UCT0324X",

    gsku: "29RJ34",

    gSkus: ["21Y502", "21Y499"],

    canConnectParts: true,

    connectableParts: [
      "UCB30246",
      "UCB20246",
      "CO_LADDER50END",
      "CO_LADDER75END",
      "CO_LADDER90END",
      "CO_RIGHTTURN",
    ],

    usesSlot: 1,

    hasMountSlot: true,

    hasLegSlot: false,

    zOrderMod: [0, 0, 0, 0],

    iZOrderMod: [0, 50, 100, -50],

    forceDrawLast: true,

    forceDrawLastFrame: 2,

    bridgeSpan: false,

    turnPiece: true,

    legs: false,

    rails: false,

    ladder: false,
  };
}

function UCT03246R(selectedFromMenu) {
  selectedFromMenu = selectedFromMenu || false;

  return {
    mountPoint: [
      new createjs.Point(24, 4),
      new createjs.Point(-22, 8),
      new createjs.Point(-24, 34),
      new createjs.Point(32, 34),
    ],

    connectorPoint: [
      new createjs.Point(26, 32),
      new createjs.Point(-26, -8),
      new createjs.Point(20, -8),
      new createjs.Point(28, -32),
    ],

    rotationOffsets: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    spriteSheet: new createjs.SpriteSheet({
      images: ["assets/spritesheets/UCT03246R.PNG"],

      frames: { width: 107, height: 206 },

      animations: {},
    }),

    spriteCenter: new createjs.Point(53, 95),

    altSkus: true,

    length: 30,

    width: 30,

    legsNeeded: false,

    legsLimit: 3,

    actsAsLegs: true,

    frameOffset: 0,

    childFrameOffset: 3,

    description: "Turn Platform",

    name: "Turn Platform\n(Right)",

    sku: "UCT0324X",

    gsku: "29RJ34",

    gSkus: ["21Y502", "21Y499"],

    connectableParts: [
      "UCB30246",
      "UCB20246",
      "CO_LADDER50END",
      "CO_LADDER75END",
      "CO_LADDER90END",
      "CO_LEFTTURN",
    ],

    usesSlot: 1,

    hasMountSlot: true,

    hasLegSlot: false,

    zOrderMod: [0, 0, 0, 0],

    iZOrderMod: [0, 0, 0, 0],

    forceDrawLast: false,

    forceDrawLastFrame: 0,

    bridgeSpan: false,

    turnPiece: true,

    legs: false,

    rails: false,

    ladder: false,
  };
}

function UCT04246L(selectedFromMenu) {
  selectedFromMenu = selectedFromMenu || false;

  return {
    mountPoint: [
      new createjs.Point(-28, 44),
      new createjs.Point(34, 44),
      new createjs.Point(26, 10),
      new createjs.Point(-28, 14),
    ],

    connectorPoint: [
      new createjs.Point(24, 38),
      new createjs.Point(-22, -20),
      new createjs.Point(18, -18),
      new createjs.Point(26, -36),
    ],

    rotationOffsets: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    spriteSheet: new createjs.SpriteSheet({
      images: ["assets/spritesheets/UCT04246L.PNG"],

      frames: { width: 107, height: 227 },

      animations: {},
    }),

    spriteCenter: new createjs.Point(53, 87),

    altSkus: true,

    length: 30,

    width: 30,

    legsNeeded: false,

    legsLimit: 3,

    actsAsLegs: true,

    frameOffset: 0,

    childFrameOffset: 1,

    description: "Turn Platform",

    name: "Turn Platform\n(Left)",

    sku: "UCT0424X",

    gsku: "29RJ34",

    gSkus: ["21Y503", "21Y501"],

    canConnectParts: true,

    connectableParts: [
      "UCB30246",
      "UCB20246",
      "CO_LADDER50END",
      "CO_LADDER75END",
      "CO_LADDER90END",
      "CO_RIGHTTURN",
    ],

    usesSlot: 1,

    hasMountSlot: true,

    hasLegSlot: false,

    zOrderMod: [0, 0, 0, 0],

    iZOrderMod: [0, 50, 100, -50],

    forceDrawLast: true,

    forceDrawLastFrame: 2,

    bridgeSpan: false,

    turnPiece: true,

    legs: false,

    rails: false,

    ladder: false,
  };
}

function UCT04246R(selectedFromMenu) {
  selectedFromMenu = selectedFromMenu || false;

  return {
    mountPoint: [
      new createjs.Point(24, 4),
      new createjs.Point(-22, 8),
      new createjs.Point(-26, 36),
      new createjs.Point(32, 34),
    ],

    connectorPoint: [
      new createjs.Point(26, 32),
      new createjs.Point(-26, -8),
      new createjs.Point(22, -6),
      new createjs.Point(28, -32),
    ],

    rotationOffsets: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    spriteSheet: new createjs.SpriteSheet({
      images: ["assets/spritesheets/UCT04246R.PNG"],

      frames: { width: 108, height: 227 },

      animations: {},
    }),

    spriteCenter: new createjs.Point(54, 95),

    altSkus: true,

    length: 30,

    width: 30,

    legsNeeded: false,

    legsLimit: 3,

    actsAsLegs: true,

    frameOffset: 0,

    childFrameOffset: 3,

    description: "Turn Platform",

    name: "Turn Platform\n(Right)",

    sku: "UCT0424X",

    gsku: "29RJ34",

    gSkus: ["21Y503", "21Y501"],

    connectableParts: [
      "UCB30246",
      "UCB20246",
      "CO_LADDER50END",
      "CO_LADDER75END",
      "CO_LADDER90END",
      "CO_LEFTTURN",
    ],

    usesSlot: 1,

    hasMountSlot: true,

    hasLegSlot: false,

    zOrderMod: [0, 0, 0, 0],

    iZOrderMod: [0, 0, 0, 0],

    forceDrawLast: false,

    forceDrawLastFrame: 0,

    bridgeSpan: false,

    turnPiece: true,

    legs: false,

    rails: false,

    ladder: false,
  };
}

function UCT05246L(selectedFromMenu) {
  selectedFromMenu = selectedFromMenu || false;

  return {
    mountPoint: [
      new createjs.Point(-28, 44),
      new createjs.Point(34, 44),
      new createjs.Point(26, 10),
      new createjs.Point(-28, 14),
    ],

    connectorPoint: [
      new createjs.Point(24, 38),
      new createjs.Point(-22, -20),
      new createjs.Point(18, -18),
      new createjs.Point(24, -34),
    ],

    rotationOffsets: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    spriteSheet: new createjs.SpriteSheet({
      images: ["assets/spritesheets/UCT05246L.PNG"],

      frames: { width: 107, height: 248 },

      animations: {},
    }),

    spriteCenter: new createjs.Point(53, 87),

    altSkus: true,

    length: 30,

    width: 30,

    legsNeeded: false,

    legsLimit: 3,

    actsAsLegs: true,

    frameOffset: 0,

    childFrameOffset: 1,

    description: "Turn Platform",

    name: "Turn Platform\n(Left)",

    sku: "UCT0524X",

    gsku: "29RJ34",

    gSkus: ["15E933", "15E938"],

    canConnectParts: true,

    connectableParts: [
      "UCB30246",
      "UCB20246",
      "CO_LADDER50END",
      "CO_LADDER75END",
      "CO_LADDER90END",
      "CO_RIGHTTURN",
    ],

    usesSlot: 1,

    hasMountSlot: true,

    hasLegSlot: false,

    zOrderMod: [0, 0, 0, 0],

    iZOrderMod: [0, 50, 100, -50],

    forceDrawLast: true,

    forceDrawLastFrame: 2,

    bridgeSpan: false,

    turnPiece: true,

    legs: false,

    rails: false,

    ladder: false,
  };
}

function UCT05246R(selectedFromMenu) {
  selectedFromMenu = selectedFromMenu || false;

  return {
    mountPoint: [
      new createjs.Point(24, 4),
      new createjs.Point(-22, 8),
      new createjs.Point(-26, 36),
      new createjs.Point(32, 34),
    ],

    connectorPoint: [
      new createjs.Point(26, 32),
      new createjs.Point(-26, -8),
      new createjs.Point(22, -6),
      new createjs.Point(28, -32),
    ],

    rotationOffsets: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    spriteSheet: new createjs.SpriteSheet({
      images: ["assets/spritesheets/UCT05246R.PNG"],

      frames: { width: 107, height: 248 },

      animations: {},
    }),

    spriteCenter: new createjs.Point(54, 95),

    altSkus: true,

    length: 30,

    width: 30,

    legsNeeded: false,

    legsLimit: 3,

    actsAsLegs: true,

    frameOffset: 0,

    childFrameOffset: 3,

    description: "Turn Platform",

    name: "Turn Platform\n(Right)",

    sku: "UCT0524X",

    gsku: "29RJ34",

    gSkus: ["15E933", "15E938"],

    connectableParts: [
      "UCB30246",
      "UCB20246",
      "CO_LADDER50END",
      "CO_LADDER75END",
      "CO_LADDER90END",
      "CO_LEFTTURN",
    ],

    usesSlot: 1,

    hasMountSlot: true,

    hasLegSlot: false,

    zOrderMod: [0, 0, 0, 0],

    iZOrderMod: [0, 0, 0, 0],

    forceDrawLast: false,

    forceDrawLastFrame: 0,

    bridgeSpan: false,

    turnPiece: true,

    legs: false,

    rails: false,

    ladder: false,
  };
}

function UCT06246L(selectedFromMenu) {
  selectedFromMenu = selectedFromMenu || false;

  return {
    mountPoint: [
      new createjs.Point(-28, 44),
      new createjs.Point(34, 44),
      new createjs.Point(26, 10),
      new createjs.Point(-28, 14),
    ],

    connectorPoint: [
      new createjs.Point(24, 38),
      new createjs.Point(-22, -20),
      new createjs.Point(18, -18),
      new createjs.Point(24, -34),
    ],

    rotationOffsets: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    spriteSheet: new createjs.SpriteSheet({
      images: ["assets/spritesheets/UCT06246L.PNG"],

      frames: { width: 107, height: 269 },

      animations: {},
    }),

    spriteCenter: new createjs.Point(53, 87),

    altSkus: true,

    length: 30,

    width: 30,

    legsNeeded: false,

    legsLimit: 3,

    actsAsLegs: true,

    frameOffset: 0,

    childFrameOffset: 1,

    description: "Turn Platform",

    name: "Turn Platform\n(Left)",

    sku: "UCT0624X",

    gsku: "29RJ34",

    gSkus: ["15E934", "15E939"],

    canConnectParts: true,

    connectableParts: [
      "UCB30246",
      "UCB20246",
      "CO_LADDER50END",
      "CO_LADDER75END",
      "CO_LADDER90END",
      "CO_RIGHTTURN",
    ],

    usesSlot: 1,

    hasMountSlot: true,

    hasLegSlot: false,

    zOrderMod: [0, 0, 0, 0],

    iZOrderMod: [0, 50, 100, -50],

    forceDrawLast: true,

    forceDrawLastFrame: 2,

    bridgeSpan: false,

    turnPiece: true,

    legs: false,

    rails: false,

    ladder: false,
  };
}

function UCT06246R(selectedFromMenu) {
  selectedFromMenu = selectedFromMenu || false;

  return {
    mountPoint: [
      new createjs.Point(24, 4),
      new createjs.Point(-22, 8),
      new createjs.Point(-26, 36),
      new createjs.Point(32, 34),
    ],

    connectorPoint: [
      new createjs.Point(26, 32),
      new createjs.Point(-26, -8),
      new createjs.Point(22, -6),
      new createjs.Point(28, -32),
    ],

    rotationOffsets: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    spriteSheet: new createjs.SpriteSheet({
      images: ["assets/spritesheets/UCT06246R.PNG"],

      frames: { width: 107, height: 269 },

      animations: {},
    }),

    spriteCenter: new createjs.Point(54, 95),

    altSkus: true,

    length: 30,

    width: 30,

    legsNeeded: false,

    legsLimit: 3,

    actsAsLegs: true,

    frameOffset: 0,

    childFrameOffset: 3,

    description: "Turn Platform",

    name: "Turn Platform\n(Right)",

    sku: "UCT0624X",

    gsku: "29RJ34",

    gSkus: ["15E934", "15E939"],

    connectableParts: [
      "UCB30246",
      "UCB20246",
      "CO_LADDER50END",
      "CO_LADDER75END",
      "CO_LADDER90END",
      "CO_LEFTTURN",
    ],

    usesSlot: 1,

    hasMountSlot: true,

    hasLegSlot: false,

    zOrderMod: [0, 0, 0, 0],

    iZOrderMod: [0, 0, 0, 0],

    forceDrawLast: false,

    forceDrawLastFrame: 0,

    bridgeSpan: false,

    turnPiece: true,

    legs: false,

    rails: false,

    ladder: false,
  };
}

function UCT07246L(selectedFromMenu) {
  selectedFromMenu = selectedFromMenu || false;

  return {
    mountPoint: [
      new createjs.Point(-28, 42),
      new createjs.Point(34, 44),
      new createjs.Point(26, 10),
      new createjs.Point(-28, 14),
    ],

    connectorPoint: [
      new createjs.Point(24, 38),
      new createjs.Point(-22, -20),
      new createjs.Point(18, -18),
      new createjs.Point(24, -34),
    ],

    rotationOffsets: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    spriteSheet: new createjs.SpriteSheet({
      images: ["assets/spritesheets/UCT07246L.PNG"],

      frames: { width: 107, height: 269 },

      animations: {},
    }),

    spriteCenter: new createjs.Point(53, 87),

    altSkus: true,

    length: 30,

    width: 30,

    legsNeeded: false,

    legsLimit: 3,

    actsAsLegs: true,

    frameOffset: 0,

    childFrameOffset: 1,

    description: "Turn Platform",

    name: "Turn Platform\n(Left)",

    sku: "UCT0724X",

    gsku: "29RJ34",

    gSkus: ["15E935", "15E940"],

    canConnectParts: true,

    connectableParts: [
      "UCB30246",
      "UCB20246",
      "CO_LADDER50END",
      "CO_LADDER75END",
      "CO_LADDER90END",
      "CO_RIGHTTURN",
    ],

    usesSlot: 1,

    hasMountSlot: true,

    hasLegSlot: false,

    zOrderMod: [0, 0, 0, 0],

    iZOrderMod: [0, 50, 100, -50],

    forceDrawLast: true,

    forceDrawLastFrame: 2,

    bridgeSpan: false,

    turnPiece: true,

    legs: false,

    rails: false,

    ladder: false,
  };
}

function UCT07246R(selectedFromMenu) {
  selectedFromMenu = selectedFromMenu || false;

  return {
    mountPoint: [
      new createjs.Point(24, 4),
      new createjs.Point(-22, 8),
      new createjs.Point(-26, 36),
      new createjs.Point(32, 34),
    ],

    connectorPoint: [
      new createjs.Point(26, 32),
      new createjs.Point(-26, -8),
      new createjs.Point(22, -6),
      new createjs.Point(28, -32),
    ],

    rotationOffsets: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    spriteSheet: new createjs.SpriteSheet({
      images: ["assets/spritesheets/UCT07246R.PNG"],

      frames: { width: 107, height: 269 },

      animations: {},
    }),

    spriteCenter: new createjs.Point(54, 95),

    altSkus: true,

    length: 30,

    width: 30,

    legsNeeded: false,

    legsLimit: 3,

    actsAsLegs: true,

    frameOffset: 0,

    childFrameOffset: 3,

    description: "Turn Platform",

    name: "Turn Platform\n(Right)",

    sku: "UCT0724X",

    gsku: "29RJ34",

    gSkus: ["15E935", "15E940"],

    connectableParts: [
      "UCB30246",
      "UCB20246",
      "CO_LADDER50END",
      "CO_LADDER75END",
      "CO_LADDER90END",
      "CO_LEFTTURN",
    ],

    usesSlot: 1,

    hasMountSlot: true,

    hasLegSlot: false,

    zOrderMod: [0, 0, 0, 0],

    iZOrderMod: [0, 0, 0, 0],

    forceDrawLast: false,

    forceDrawLastFrame: 0,

    bridgeSpan: false,

    turnPiece: true,

    legs: false,

    rails: false,

    ladder: false,
  };
}

function UCT08246L(selectedFromMenu) {
  selectedFromMenu = selectedFromMenu || false;

  return {
    mountPoint: [
      new createjs.Point(-28, 44),
      new createjs.Point(34, 44),
      new createjs.Point(26, 10),
      new createjs.Point(-28, 14),
    ],

    connectorPoint: [
      new createjs.Point(24, 38),
      new createjs.Point(-22, -20),
      new createjs.Point(18, -18),
      new createjs.Point(26, -36),
    ],

    rotationOffsets: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    spriteSheet: new createjs.SpriteSheet({
      images: ["assets/spritesheets/UCT08246L.PNG"],

      frames: { width: 107, height: 312 },

      animations: {},
    }),

    spriteCenter: new createjs.Point(53, 87),

    altSkus: true,

    length: 30,

    width: 30,

    legsNeeded: false,

    legsLimit: 3,

    actsAsLegs: true,

    frameOffset: 0,

    childFrameOffset: 1,

    description: "Turn Platform",

    name: "Turn Platform\n(Left)",

    sku: "UCT0824X",

    gsku: "29RJ34",

    gSkus: ["15E936", "15E941"],

    canConnectParts: true,

    connectableParts: [
      "UCB30246",
      "UCB20246",
      "CO_LADDER50END",
      "CO_LADDER75END",
      "CO_LADDER90END",
      "CO_RIGHTTURN",
    ],

    usesSlot: 1,

    hasMountSlot: true,

    hasLegSlot: false,

    zOrderMod: [0, 0, 0, 0],

    iZOrderMod: [0, 50, 100, -50],

    forceDrawLast: true,

    forceDrawLastFrame: 2,

    bridgeSpan: false,

    turnPiece: true,

    legs: false,

    rails: false,

    ladder: false,
  };
}

function UCT08246R(selectedFromMenu) {
  selectedFromMenu = selectedFromMenu || false;

  return {
    mountPoint: [
      new createjs.Point(24, 4),
      new createjs.Point(-22, 8),
      new createjs.Point(-26, 36),
      new createjs.Point(32, 34),
    ],

    connectorPoint: [
      new createjs.Point(26, 32),
      new createjs.Point(-26, -8),
      new createjs.Point(22, -6),
      new createjs.Point(28, -32),
    ],

    rotationOffsets: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    spriteSheet: new createjs.SpriteSheet({
      images: ["assets/spritesheets/UCT08246R.PNG"],

      frames: { width: 107, height: 312 },

      animations: {},
    }),

    spriteCenter: new createjs.Point(54, 95),

    altSkus: true,

    length: 30,

    width: 30,

    legsNeeded: false,

    legsLimit: 3,

    actsAsLegs: true,

    frameOffset: 0,

    childFrameOffset: 3,

    description: "Turn Platform",

    name: "Turn Platform\n(Right)",

    sku: "UCT0824X",

    gsku: "29RJ34",

    gSkus: ["15E936", "15E941"],

    connectableParts: [
      "UCB30246",
      "UCB20246",
      "CO_LADDER50END",
      "CO_LADDER75END",
      "CO_LADDER90END",
      "CO_LEFTTURN",
    ],

    usesSlot: 1,

    hasMountSlot: true,

    hasLegSlot: false,

    zOrderMod: [0, 0, 0, 0],

    iZOrderMod: [0, 0, 0, 0],

    forceDrawLast: false,

    forceDrawLastFrame: 0,

    bridgeSpan: false,

    turnPiece: true,

    legs: false,

    rails: false,

    ladder: false,
  };
}

function UCT09246L(selectedFromMenu) {
  selectedFromMenu = selectedFromMenu || false;

  return {
    mountPoint: [
      new createjs.Point(-28, 44),
      new createjs.Point(34, 44),
      new createjs.Point(26, 10),
      new createjs.Point(-28, 14),
    ],

    connectorPoint: [
      new createjs.Point(24, 38),
      new createjs.Point(-22, -20),
      new createjs.Point(18, -18),
      new createjs.Point(26, -36),
    ],

    rotationOffsets: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    spriteSheet: new createjs.SpriteSheet({
      images: ["assets/spritesheets/UCT09246L.PNG"],

      frames: { width: 108, height: 333 },

      animations: {},
    }),

    spriteCenter: new createjs.Point(53, 87),

    altSkus: true,

    length: 30,

    width: 30,

    legsNeeded: false,

    legsLimit: 3,

    actsAsLegs: true,

    frameOffset: 0,

    childFrameOffset: 1,

    description: "Turn Platform",

    name: "Turn Platform\n(Left)",

    sku: "UCT0924X",

    gsku: "29RJ34",

    gSkus: ["15E937", "15E942"],

    canConnectParts: true,

    connectableParts: [
      "UCB30246",
      "UCB20246",
      "CO_LADDER50END",
      "CO_LADDER75END",
      "CO_LADDER90END",
      "CO_RIGHTTURN",
    ],

    usesSlot: 1,

    hasMountSlot: true,

    hasLegSlot: false,

    zOrderMod: [0, 0, 0, 0],

    iZOrderMod: [0, 50, 100, -50],

    forceDrawLast: true,

    forceDrawLastFrame: 2,

    bridgeSpan: false,

    turnPiece: true,

    legs: false,

    rails: false,

    ladder: false,
  };
}

function UCT09246R(selectedFromMenu) {
  selectedFromMenu = selectedFromMenu || false;

  return {
    mountPoint: [
      new createjs.Point(22, 6),
      new createjs.Point(-26, 6),
      new createjs.Point(-26, 36),
      new createjs.Point(32, 34),
    ],

    connectorPoint: [
      new createjs.Point(26, 32),
      new createjs.Point(-26, -8),
      new createjs.Point(22, -6),
      new createjs.Point(28, -32),
    ],

    rotationOffsets: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    spriteSheet: new createjs.SpriteSheet({
      images: ["assets/spritesheets/UCT09246R.PNG"],

      frames: { width: 108, height: 333 },

      animations: {},
    }),

    spriteCenter: new createjs.Point(54, 95),

    altSkus: true,

    length: 30,

    width: 30,

    legsNeeded: false,

    legsLimit: 3,

    actsAsLegs: true,

    frameOffset: 0,

    childFrameOffset: 3,

    description: "Turn Platform",

    name: "Turn Platform\n(Right)",

    sku: "UCT0924X",

    gsku: "29RJ34",

    gSkus: ["15E937", "15E942"],

    connectableParts: [
      "UCB30246",
      "UCB20246",
      "CO_LADDER50END",
      "CO_LADDER75END",
      "CO_LADDER90END",
      "CO_LEFTTURN",
    ],

    usesSlot: 1,

    hasMountSlot: true,

    hasLegSlot: false,

    zOrderMod: [0, 0, 0, 0],

    iZOrderMod: [0, 0, 0, 0],

    forceDrawLast: false,

    forceDrawLastFrame: 0,

    bridgeSpan: false,

    turnPiece: true,

    legs: false,

    rails: false,

    ladder: false,
  };
}

function URK(selectedFromMenu) {
  selectedFromMenu = selectedFromMenu || false;

  return {
    mountPoint: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    connectorPoint: [
      new createjs.Point(0, 40),
      new createjs.Point(-66, -98),
      new createjs.Point(-4, -42),
      new createjs.Point(-72, -90),
    ],

    rotationOffsets: [
      new createjs.Point(0, 0),
      new createjs.Point(70, 52),
      new createjs.Point(70, 52),
      new createjs.Point(0, 0),
    ],

    spriteSheet: new createjs.SpriteSheet({
      images: ["assets/spritesheets/URK.PNG"],

      frames: { width: 55, height: 118 },

      animations: {},
    }),

    spriteCenter: new createjs.Point(27, 59),

    altSkus: false,

    length: 0,

    width: 0,

    legsNeeded: true,

    legsLimit: 0,

    actsAsLegs: false,

    frameOffset: 0,

    childFrameOffset: 0,

    description: "Rail Kit",

    name: "Rail Kit",

    sku: "URK",

    gsku: "",

    connectableParts: [],

    usesSlot: 1,

    hasMountSlot: false,

    hasLegSlot: false,

    zOrderMod: [0, 0, 0, 0],

    iZOrderMod: [0, 0, 0, 0],

    forceDrawLast: false,

    forceDrawLastFrame: 0,

    bridgeSpan: false,

    turnPiece: false,

    legs: false,

    rails: true,

    ladder: false,
  };
}

function ULK0324(selectedFromMenu) {
  selectedFromMenu = selectedFromMenu || false;

  return {
    mountPoint: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    connectorPoint: [
      new createjs.Point(2, -10),
      new createjs.Point(8, -144),
      new createjs.Point(-4, -38),
      new createjs.Point(4, -120),
    ],

    rotationOffsets: [
      new createjs.Point(-2, 40),
      new createjs.Point(0, 0),
      new createjs.Point(-5, 140),
      new createjs.Point(0, 0),
    ],

    spriteSheet: new createjs.SpriteSheet({
      images: ["assets/spritesheets/ULK0324.PNG"],

      frames: { width: 57, height: 133 },

      animations: {},
    }),

    spriteCenter: new createjs.Point(28, 66),

    altSkus: false,

    length: 0,

    width: 42,

    legsNeeded: false,

    legsLimit: 3,

    actsAsLegs: true,

    frameOffset: 0,

    childFrameOffset: 0,

    description: "Legs Kit",

    name: "Legs Kit",

    sku: "ULK0324",

    gsku: "21Y504",

    connectableParts: [],

    usesSlot: 2,

    hasMountSlot: false,

    hasLegSlot: false,

    zOrderMod: [0, 0, 0, 0],

    iZOrderMod: [-50000, -50000, -50000, -50000],

    forceDrawLast: false,

    forceDrawLastFrame: 0,

    bridgeSpan: false,

    turnPiece: false,

    legs: true,

    rails: false,

    ladder: false,
  };
}

function ULK0424(selectedFromMenu) {
  selectedFromMenu = selectedFromMenu || false;

  return {
    mountPoint: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    connectorPoint: [
      new createjs.Point(2, -10),
      new createjs.Point(8, -144),
      new createjs.Point(-4, -38),
      new createjs.Point(4, -120),
    ],

    rotationOffsets: [
      new createjs.Point(-2, 40),
      new createjs.Point(0, 0),
      new createjs.Point(-5, 140),
      new createjs.Point(0, 0),
    ],

    spriteSheet: new createjs.SpriteSheet({
      images: ["assets/spritesheets/ULK0424.PNG"],

      frames: { width: 57, height: 154 },

      animations: {},
    }),

    spriteCenter: new createjs.Point(28, 66),

    altSkus: false,

    length: 0,

    width: 42,

    legsNeeded: false,

    legsLimit: 3,

    actsAsLegs: true,

    frameOffset: 0,

    childFrameOffset: 0,

    description: "Legs Kit",

    name: "Legs Kit",

    sku: "ULK0424",

    gsku: "21Y505",

    connectableParts: [],

    usesSlot: 2,

    hasMountSlot: false,

    hasLegSlot: false,

    zOrderMod: [0, 0, 0, 0],

    iZOrderMod: [-50000, -50000, -50000, -50000],

    forceDrawLast: false,

    forceDrawLastFrame: 0,

    bridgeSpan: false,

    turnPiece: false,

    legs: true,

    rails: false,

    ladder: false,
  };
}

function ULK0524(selectedFromMenu) {
  selectedFromMenu = selectedFromMenu || false;

  return {
    mountPoint: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    connectorPoint: [
      new createjs.Point(2, -10),
      new createjs.Point(8, -144),
      new createjs.Point(-4, -38),
      new createjs.Point(4, -120),
    ],

    rotationOffsets: [
      new createjs.Point(-2, 40),
      new createjs.Point(0, 0),
      new createjs.Point(-5, 140),
      new createjs.Point(0, 0),
    ],

    spriteSheet: new createjs.SpriteSheet({
      images: ["assets/spritesheets/ULK0524.PNG"],

      frames: { width: 57, height: 175 },

      animations: {},
    }),

    spriteCenter: new createjs.Point(28, 66),

    altSkus: false,

    length: 0,

    width: 42,

    legsNeeded: false,

    legsLimit: 3,

    actsAsLegs: true,

    frameOffset: 0,

    childFrameOffset: 0,

    description: "Legs Kit",

    name: "Legs Kit",

    sku: "ULK0524",

    gsku: "15E943",

    connectableParts: [],

    usesSlot: 2,

    hasMountSlot: false,

    hasLegSlot: false,

    zOrderMod: [0, 0, 0, 0],

    iZOrderMod: [-50000, -50000, -50000, -50000],

    forceDrawLast: false,

    forceDrawLastFrame: 0,

    bridgeSpan: false,

    turnPiece: false,

    legs: true,

    rails: false,

    ladder: false,
  };
}

function ULK0624(selectedFromMenu) {
  selectedFromMenu = selectedFromMenu || false;

  return {
    mountPoint: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    connectorPoint: [
      new createjs.Point(2, -10),
      new createjs.Point(8, -144),
      new createjs.Point(-4, -38),
      new createjs.Point(4, -120),
    ],

    rotationOffsets: [
      new createjs.Point(-2, 40),
      new createjs.Point(0, 0),
      new createjs.Point(-5, 140),
      new createjs.Point(0, 0),
    ],

    spriteSheet: new createjs.SpriteSheet({
      images: ["assets/spritesheets/ULK0624.PNG"],

      frames: { width: 57, height: 196 },

      animations: {},
    }),

    spriteCenter: new createjs.Point(28, 66),

    altSkus: false,

    length: 0,

    width: 42,

    legsNeeded: false,

    legsLimit: 3,

    actsAsLegs: true,

    frameOffset: 0,

    childFrameOffset: 0,

    description: "Legs Kit",

    name: "Legs Kit",

    sku: "ULK0624",

    gsku: "15E944",

    connectableParts: [],

    usesSlot: 2,

    hasMountSlot: false,

    hasLegSlot: false,

    zOrderMod: [0, 0, 0, 0],

    iZOrderMod: [-50000, -50000, -50000, -50000],

    forceDrawLast: false,

    forceDrawLastFrame: 0,

    bridgeSpan: false,

    turnPiece: false,

    legs: true,

    rails: false,

    ladder: false,
  };
}

function ULK0724(selectedFromMenu) {
  selectedFromMenu = selectedFromMenu || false;

  return {
    mountPoint: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    connectorPoint: [
      new createjs.Point(2, -10),
      new createjs.Point(8, -144),
      new createjs.Point(-4, -38),
      new createjs.Point(4, -120),
    ],

    rotationOffsets: [
      new createjs.Point(-2, 40),
      new createjs.Point(0, 0),
      new createjs.Point(-5, 140),
      new createjs.Point(0, 0),
    ],

    spriteSheet: new createjs.SpriteSheet({
      images: ["assets/spritesheets/ULK0724.PNG"],

      frames: { width: 57, height: 218 },

      animations: {},
    }),

    spriteCenter: new createjs.Point(28, 66),

    altSkus: false,

    length: 0,

    width: 42,

    legsNeeded: false,

    legsLimit: 3,

    actsAsLegs: true,

    frameOffset: 0,

    childFrameOffset: 0,

    description: "Legs Kit",

    name: "Legs Kit",

    sku: "ULK0724",

    gsku: "15E945",

    connectableParts: [],

    usesSlot: 2,

    hasMountSlot: false,

    hasLegSlot: false,

    zOrderMod: [0, 0, 0, 0],

    iZOrderMod: [-50000, -50000, -50000, -50000],

    forceDrawLast: false,

    forceDrawLastFrame: 0,

    bridgeSpan: false,

    turnPiece: false,

    legs: true,

    rails: false,

    ladder: false,
  };
}

function ULK0824(selectedFromMenu) {
  selectedFromMenu = selectedFromMenu || false;

  return {
    mountPoint: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    connectorPoint: [
      new createjs.Point(2, -10),
      new createjs.Point(8, -144),
      new createjs.Point(-4, -38),
      new createjs.Point(4, -120),
    ],

    rotationOffsets: [
      new createjs.Point(-2, 40),
      new createjs.Point(0, 0),
      new createjs.Point(-5, 140),
      new createjs.Point(0, 0),
    ],

    spriteSheet: new createjs.SpriteSheet({
      images: ["assets/spritesheets/ULK0824.PNG"],

      frames: { width: 57, height: 239 },

      animations: {},
    }),

    spriteCenter: new createjs.Point(28, 66),

    altSkus: false,

    length: 0,

    width: 42,

    legsNeeded: false,

    legsLimit: 3,

    actsAsLegs: true,

    frameOffset: 0,

    childFrameOffset: 0,

    description: "Legs Kit",

    name: "Legs Kit",

    sku: "ULK0824",

    gsku: "15E946",

    connectableParts: [],

    usesSlot: 2,

    hasMountSlot: false,

    hasLegSlot: false,

    zOrderMod: [0, 0, 0, 0],

    iZOrderMod: [-50000, -50000, -50000, -50000],

    forceDrawLast: false,

    forceDrawLastFrame: 0,

    bridgeSpan: false,

    turnPiece: false,

    legs: true,

    rails: false,

    ladder: false,
  };
}

function ULK0924(selectedFromMenu) {
  selectedFromMenu = selectedFromMenu || false;

  return {
    mountPoint: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    connectorPoint: [
      new createjs.Point(2, -10),
      new createjs.Point(8, -144),
      new createjs.Point(-4, -38),
      new createjs.Point(4, -120),
    ],

    rotationOffsets: [
      new createjs.Point(-2, 40),
      new createjs.Point(0, 0),
      new createjs.Point(-5, 140),
      new createjs.Point(0, 0),
    ],

    spriteSheet: new createjs.SpriteSheet({
      images: ["assets/spritesheets/ULK0924.PNG"],

      frames: { width: 57, height: 260 },

      animations: {},
    }),

    spriteCenter: new createjs.Point(28, 66),

    altSkus: false,

    length: 0,

    width: 42,

    legsNeeded: false,

    legsLimit: 3,

    actsAsLegs: true,

    frameOffset: 0,

    childFrameOffset: 0,

    description: "Legs Kit",

    name: "Legs Kit",

    sku: "ULK0924",

    gsku: "15E947",

    connectableParts: [],

    usesSlot: 2,

    hasMountSlot: false,

    hasLegSlot: false,

    zOrderMod: [0, 0, 0, 0],

    iZOrderMod: [-50000, -50000, -50000, -50000],

    forceDrawLast: false,

    forceDrawLastFrame: 0,

    bridgeSpan: false,

    turnPiece: false,

    legs: true,

    rails: false,

    ladder: false,
  };
}

// MAX ACCESS PARTS **********

function UAP3636(selectedFromMenu) {
  selectedFromMenu = selectedFromMenu || false;

  return {
    isoMountPoint: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    isoConnectorPoint: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    isoRotationOffsets: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    isoSpriteSheet: new createjs.SpriteSheet({
      images: ["assets/spritesheets/UCB30246.PNG"],

      frames: { width: 103, height: 145 },

      animations: {},
    }),

    isoSpriteCenter: new createjs.Point(51, 72),

    altSkus: false,

    length: 36,

    width: 36,

    legsNeeded: true,

    isoFrameOffset: 0,

    isoChildFrameOffset: 0,

    description: '36"x36" Platform',

    name: '36"x36" Platform',

    sprite: "assets/spritesheets/UAP3636.png",

    sku: "UAP3636",

    gsku: "29RJ18",

    connectableParts: ["UAP3636", "UAPHR1"],

    zOrderMod: [0, 0, 0, 0],

    iZOrderMod: [0, 0, 0, 0],

    forceDrawLast: false,

    forceDrawLastFrame: 0,

    rails: false,

    ladder: false,

    stackable: false,

    platform: true,

    heightMod: 0,

    attachmentSlots: 4,

    attachmentPoints: [
      new createjs.Point(0, -293),
      new createjs.Point(-293, 0),
      new createjs.Point(293, 0),
      new createjs.Point(0, 293),
    ],

    anchorPoint: new createjs.Point(0, 293),

    spriteAnchor: new createjs.Point(146, 293),

    spriteAnchorOffset: new createjs.Point(0, 0),

    bitmapCenter: new createjs.Point(146, 146),

    gridSize: new createjs.Point(1, 1),

    attachmentCoordinates: [
      new createjs.Point(0, -1),
      new createjs.Point(-1, 0),
      new createjs.Point(1, 0),
      new createjs.Point(0, 1),
    ],

    renderPriority: 0,

    spriteDoesntRotate: true,
  };
}

function UAP0250U(selectedFromMenu) {
  selectedFromMenu = selectedFromMenu || false;

  return {
    isoMountPoint: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    isoConnectorPoint: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    isoRotationOffsets: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    isoSpriteSheet: new createjs.SpriteSheet({
      images: ["assets/spritesheets/UCB30246.PNG"],

      frames: { width: 103, height: 145 },

      animations: {},
    }),

    isoSpriteCenter: new createjs.Point(51, 72),

    altSkus: false,

    length: 18,

    width: 36,

    legsNeeded: true,

    isoFrameOffset: 0,

    isoChildFrameOffset: 0,

    description: "2-Step 50\xB0 Ladder",

    name: "2-Step \n50\xB0 Ladder (Up)",

    sprite: "assets/spritesheets/UAP0250U.png",

    sku: "UAP0250",

    gsku: "29RJ18",

    connectableParts: ["UAP3636"],

    zOrderMod: [0, 0, 0, 0],

    iZOrderMod: [0, 0, 0, 0],

    forceDrawLast: false,

    forceDrawLastFrame: 0,

    rails: false,

    ladder: true,

    stackable: true,

    heightMod: 20,

    attachmentSlots: 4,

    attachmentPoints: [
      new createjs.Point(0, -293),
      new createjs.Point(-293, 0),
      new createjs.Point(293, 0),
      new createjs.Point(0, 293),
    ],

    anchorPoint: new createjs.Point(0, 293),

    spriteAnchor: new createjs.Point(146, 293),

    spriteAnchorOffset: new createjs.Point(0, 0),

    bitmapCenter: new createjs.Point(146, 146),

    gridSize: new createjs.Point(1, 1),

    attachmentCoordinates: [
      new createjs.Point(0, -1),
      new createjs.Point(-1, 0),
      new createjs.Point(1, 0),
      new createjs.Point(0, 1),
    ],

    renderPriority: 0,

    spriteDoesntRotate: false,

    overrideButtonScaling: false,

    buttonScale: 0.5,

    startTextPosition: new createjs.Point(0, 75),

    endTextPosition: new createjs.Point(0, -120),

    directionTextPosition: new createjs.Point(0, 0),
  };
}

function UAP0290U(selectedFromMenu) {
  selectedFromMenu = selectedFromMenu || false;

  return {
    isoMountPoint: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    isoConnectorPoint: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    isoRotationOffsets: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    isoSpriteSheet: new createjs.SpriteSheet({
      images: ["assets/spritesheets/UCB30246.PNG"],

      frames: { width: 103, height: 145 },

      animations: {},
    }),

    isoSpriteCenter: new createjs.Point(51, 72),

    altSkus: false,

    length: 9,

    width: 36,

    legsNeeded: true,

    isoFrameOffset: 0,

    isoChildFrameOffset: 0,

    description: "2-Step 90\xB0 Ladder",

    name: "2-Step \n90\xB0 Ladder (Up)",

    sprite: "assets/spritesheets/UAP0290U.png",

    sku: "UAP0290",

    gsku: "29RJ18",

    connectableParts: ["UAP3636"],

    zOrderMod: [0, 0, 0, 0],

    iZOrderMod: [0, 0, 0, 0],

    forceDrawLast: false,

    forceDrawLastFrame: 0,

    rails: false,

    ladder: true,

    stackable: true,

    heightMod: 20,

    attachmentSlots: 4,

    attachmentPoints: [
      new createjs.Point(0, -293),
      new createjs.Point(-293, 0),
      new createjs.Point(293, 0),
      new createjs.Point(0, 293),
    ],

    anchorPoint: new createjs.Point(0, 293),

    spriteAnchor: new createjs.Point(146, 293),

    spriteAnchorOffset: new createjs.Point(0, 0),

    bitmapCenter: new createjs.Point(146, 146),

    gridSize: new createjs.Point(1, 1),

    attachmentCoordinates: [
      new createjs.Point(0, -1),
      new createjs.Point(-1, 0),
      new createjs.Point(1, 0),
      new createjs.Point(0, 1),
    ],

    renderPriority: 0,

    spriteDoesntRotate: false,

    overrideButtonScaling: false,

    buttonScale: 0.5,

    startTextPosition: new createjs.Point(0, 75),

    endTextPosition: new createjs.Point(0, -120),

    directionTextPosition: new createjs.Point(0, 0),
  };
}

function UAP0350U(selectedFromMenu) {
  selectedFromMenu = selectedFromMenu || false;

  return {
    isoMountPoint: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    isoConnectorPoint: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    isoRotationOffsets: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    isoSpriteSheet: new createjs.SpriteSheet({
      images: ["assets/spritesheets/UCB30246.PNG"],

      frames: { width: 103, height: 145 },

      animations: {},
    }),

    isoSpriteCenter: new createjs.Point(51, 72),

    altSkus: false,

    length: 27,

    width: 36,

    legsNeeded: true,

    isoFrameOffset: 0,

    isoChildFrameOffset: 0,

    description: "3-Step 50\xB0 Ladder",

    name: "3-Step \n50\xB0 Ladder (Up)",

    sprite: "assets/spritesheets/UAP0350U.png",

    sku: "UAP0350",

    gsku: "29RJ18",

    connectableParts: ["UAP3636"],

    zOrderMod: [0, 0, 0, 0],

    iZOrderMod: [0, 0, 0, 0],

    forceDrawLast: false,

    forceDrawLastFrame: 0,

    rails: false,

    ladder: true,

    stackable: true,

    heightMod: 30,

    attachmentSlots: 4,

    attachmentPoints: [
      new createjs.Point(0, -293),
      new createjs.Point(-293, 0),
      new createjs.Point(293, 0),
      new createjs.Point(0, 293),
    ],

    anchorPoint: new createjs.Point(0, 293),

    spriteAnchor: new createjs.Point(146, 293),

    spriteAnchorOffset: new createjs.Point(0, 0),

    bitmapCenter: new createjs.Point(146, 146),

    gridSize: new createjs.Point(1, 1),

    attachmentCoordinates: [
      new createjs.Point(0, -1),
      new createjs.Point(-1, 0),
      new createjs.Point(1, 0),
      new createjs.Point(0, 1),
    ],

    renderPriority: 0,

    spriteDoesntRotate: false,

    overrideButtonScaling: false,

    buttonScale: 0.5,

    startTextPosition: new createjs.Point(0, 75),

    endTextPosition: new createjs.Point(0, -120),

    directionTextPosition: new createjs.Point(0, 0),
  };
}

function UAP0390U(selectedFromMenu) {
  selectedFromMenu = selectedFromMenu || false;

  return {
    isoMountPoint: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    isoConnectorPoint: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    isoRotationOffsets: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    isoSpriteSheet: new createjs.SpriteSheet({
      images: ["assets/spritesheets/UCB30246.PNG"],

      frames: { width: 103, height: 145 },

      animations: {},
    }),

    isoSpriteCenter: new createjs.Point(51, 72),

    altSkus: false,

    length: 9,

    width: 36,

    legsNeeded: true,

    isoFrameOffset: 0,

    isoChildFrameOffset: 0,

    description: "3-Step 90\xB0 Ladder",

    name: "3-Step \n90\xB0 Ladder (Up)",

    sprite: "assets/spritesheets/UAP0290U.png",

    sku: "UAP0390",

    gsku: "29RJ18",

    connectableParts: ["UAP3636"],

    zOrderMod: [0, 0, 0, 0],

    iZOrderMod: [0, 0, 0, 0],

    forceDrawLast: false,

    forceDrawLastFrame: 0,

    rails: false,

    ladder: true,

    stackable: true,

    heightMod: 30,

    attachmentSlots: 4,

    attachmentPoints: [
      new createjs.Point(0, -293),
      new createjs.Point(-293, 0),
      new createjs.Point(293, 0),
      new createjs.Point(0, 293),
    ],

    anchorPoint: new createjs.Point(0, 293),

    spriteAnchor: new createjs.Point(146, 293),

    spriteAnchorOffset: new createjs.Point(0, 0),

    bitmapCenter: new createjs.Point(146, 146),

    gridSize: new createjs.Point(1, 1),

    attachmentCoordinates: [
      new createjs.Point(0, -1),
      new createjs.Point(-1, 0),
      new createjs.Point(1, 0),
      new createjs.Point(0, 1),
    ],

    renderPriority: 0,

    spriteDoesntRotate: false,

    overrideButtonScaling: false,

    buttonScale: 0.5,

    startTextPosition: new createjs.Point(0, 75),

    endTextPosition: new createjs.Point(0, -120),

    directionTextPosition: new createjs.Point(0, 0),
  };
}

function UAP0250D(selectedFromMenu) {
  selectedFromMenu = selectedFromMenu || false;

  return {
    isoMountPoint: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    isoConnectorPoint: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    isoRotationOffsets: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    isoSpriteSheet: new createjs.SpriteSheet({
      images: ["assets/spritesheets/UCB30246.PNG"],

      frames: { width: 103, height: 145 },

      animations: {},
    }),

    isoSpriteCenter: new createjs.Point(51, 72),

    altSkus: false,

    length: 18,

    width: 36,

    legsNeeded: true,

    isoFrameOffset: 0,

    isoChildFrameOffset: 0,

    description: "2-Step 50\xB0 Ladder",

    name: "2-Step \n50\xB0 Ladder (Down)",

    sprite: "assets/spritesheets/UAP0250D.png",

    sku: "UAP0250",

    gsku: "29RJ18",

    connectableParts: ["UAP3636"],

    zOrderMod: [0, 0, 0, 0],

    iZOrderMod: [0, 0, 0, 0],

    forceDrawLast: false,

    forceDrawLastFrame: 0,

    rails: false,

    ladder: true,

    stackable: true,

    heightMod: -20,

    attachmentSlots: 4,

    attachmentPoints: [
      new createjs.Point(0, -293),
      new createjs.Point(-293, 0),
      new createjs.Point(293, 0),
      new createjs.Point(0, 293),
    ],

    anchorPoint: new createjs.Point(0, 293),

    spriteAnchor: new createjs.Point(146, 293),

    spriteAnchorOffset: new createjs.Point(0, 0),

    bitmapCenter: new createjs.Point(146, 146),

    gridSize: new createjs.Point(1, 1),

    attachmentCoordinates: [
      new createjs.Point(0, -1),
      new createjs.Point(-1, 0),
      new createjs.Point(1, 0),
      new createjs.Point(0, 1),
    ],

    renderPriority: 0,

    spriteDoesntRotate: false,

    overrideButtonScaling: false,

    buttonScale: 0.5,

    startTextPosition: new createjs.Point(0, 75),

    endTextPosition: new createjs.Point(0, -120),

    directionTextPosition: new createjs.Point(0, 0),
  };
}

function UAP0290D(selectedFromMenu) {
  selectedFromMenu = selectedFromMenu || false;

  return {
    isoMountPoint: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    isoConnectorPoint: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    isoRotationOffsets: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    isoSpriteSheet: new createjs.SpriteSheet({
      images: ["assets/spritesheets/UCB30246.PNG"],

      frames: { width: 103, height: 145 },

      animations: {},
    }),

    isoSpriteCenter: new createjs.Point(51, 72),

    altSkus: false,

    length: 9,

    width: 36,

    legsNeeded: true,

    isoFrameOffset: 0,

    isoChildFrameOffset: 0,

    description: "2-Step 90\xB0 Ladder",

    name: "2-Step \n90\xB0 Ladder (Down)",

    sprite: "assets/spritesheets/UAP0290D.png",

    sku: "UAP0290",

    gsku: "29RJ18",

    connectableParts: [],

    zOrderMod: [0, 0, 0, 0],

    iZOrderMod: [0, 0, 0, 0],

    forceDrawLast: false,

    forceDrawLastFrame: 0,

    rails: false,

    ladder: true,

    stackable: true,

    heightMod: -20,

    attachmentSlots: 0,

    attachmentPoints: [
      new createjs.Point(0, -293),
      new createjs.Point(-293, 0),
      new createjs.Point(293, 0),
      new createjs.Point(0, 293),
    ],

    anchorPoint: new createjs.Point(0, 293),

    spriteAnchor: new createjs.Point(146, 293),

    spriteAnchorOffset: new createjs.Point(0, 0),

    bitmapCenter: new createjs.Point(146, 146),

    gridSize: new createjs.Point(1, 1),

    attachmentCoordinates: [
      new createjs.Point(0, -1),
      new createjs.Point(-1, 0),
      new createjs.Point(1, 0),
      new createjs.Point(0, 1),
    ],

    renderPriority: 0,

    spriteDoesntRotate: false,

    overrideButtonScaling: false,

    buttonScale: 0.5,

    startTextPosition: new createjs.Point(0, 75),

    endTextPosition: new createjs.Point(0, -120),

    directionTextPosition: new createjs.Point(0, 0),
  };
}

function UAP0350D(selectedFromMenu) {
  selectedFromMenu = selectedFromMenu || false;

  return {
    isoMountPoint: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    isoConnectorPoint: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    isoRotationOffsets: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    isoSpriteSheet: new createjs.SpriteSheet({
      images: ["assets/spritesheets/UCB30246.PNG"],

      frames: { width: 103, height: 145 },

      animations: {},
    }),

    isoSpriteCenter: new createjs.Point(51, 72),

    altSkus: false,

    length: 27,

    width: 36,

    legsNeeded: true,

    isoFrameOffset: 0,

    isoChildFrameOffset: 0,

    description: "3-Step 50\xB0 Ladder",

    name: "3-Step \n50\xB0 Ladder (Down)",

    sprite: "assets/spritesheets/UAP0350D.png",

    sku: "UAP0350",

    gsku: "29RJ18",

    connectableParts: ["UAP3636"],

    zOrderMod: [0, 0, 0, 0],

    iZOrderMod: [0, 0, 0, 0],

    forceDrawLast: false,

    forceDrawLastFrame: 0,

    rails: false,

    ladder: true,

    stackable: true,

    heightMod: -30,

    attachmentSlots: 4,

    attachmentPoints: [
      new createjs.Point(0, -293),
      new createjs.Point(-293, 0),
      new createjs.Point(293, 0),
      new createjs.Point(0, 293),
    ],

    anchorPoint: new createjs.Point(0, 293),

    spriteAnchor: new createjs.Point(146, 293),

    spriteAnchorOffset: new createjs.Point(0, 0),

    bitmapCenter: new createjs.Point(146, 146),

    gridSize: new createjs.Point(1, 1),

    attachmentCoordinates: [
      new createjs.Point(0, -1),
      new createjs.Point(-1, 0),
      new createjs.Point(1, 0),
      new createjs.Point(0, 1),
    ],

    renderPriority: 0,

    spriteDoesntRotate: false,

    overrideButtonScaling: false,

    buttonScale: 0.5,

    startTextPosition: new createjs.Point(0, 75),

    endTextPosition: new createjs.Point(0, -120),

    directionTextPosition: new createjs.Point(0, 0),
  };
}

function UAP0390D(selectedFromMenu) {
  selectedFromMenu = selectedFromMenu || false;

  return {
    isoMountPoint: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    isoConnectorPoint: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    isoRotationOffsets: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    isoSpriteSheet: new createjs.SpriteSheet({
      images: ["assets/spritesheets/UCB30246.PNG"],

      frames: { width: 103, height: 145 },

      animations: {},
    }),

    isoSpriteCenter: new createjs.Point(51, 72),

    altSkus: false,

    length: 9,

    width: 36,

    legsNeeded: true,

    isoFrameOffset: 0,

    isoChildFrameOffset: 0,

    description: "3-Step 90\xB0 Ladder",

    name: "3-Step \n90\xB0 Ladder (Down)",

    sprite: "assets/spritesheets/UAP0290D.png",

    sku: "UAP0390",

    gsku: "29RJ18",

    connectableParts: [],

    zOrderMod: [0, 0, 0, 0],

    iZOrderMod: [0, 0, 0, 0],

    forceDrawLast: false,

    forceDrawLastFrame: 0,

    rails: false,

    ladder: true,

    stackable: true,

    heightMod: -30,

    attachmentSlots: 0,

    attachmentPoints: [
      new createjs.Point(0, -293),
      new createjs.Point(-293, 0),
      new createjs.Point(293, 0),
      new createjs.Point(0, 293),
    ],

    anchorPoint: new createjs.Point(0, 293),

    spriteAnchor: new createjs.Point(146, 293),

    spriteAnchorOffset: new createjs.Point(0, 0),

    bitmapCenter: new createjs.Point(146, 146),

    gridSize: new createjs.Point(1, 1),

    attachmentCoordinates: [
      new createjs.Point(0, -1),
      new createjs.Point(-1, 0),
      new createjs.Point(1, 0),
      new createjs.Point(0, 1),
    ],

    renderPriority: 0,

    spriteDoesntRotate: false,

    overrideButtonScaling: false,

    buttonScale: 0.5,

    startTextPosition: new createjs.Point(0, 75),

    endTextPosition: new createjs.Point(0, -120),

    directionTextPosition: new createjs.Point(0, 0),
  };
}

function UAP0450U(selectedFromMenu) {
  selectedFromMenu = selectedFromMenu || false;

  return {
    isoMountPoint: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    isoConnectorPoint: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    isoRotationOffsets: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    isoSpriteSheet: new createjs.SpriteSheet({
      images: ["assets/spritesheets/UCB30246.PNG"],

      frames: { width: 103, height: 145 },

      animations: {},
    }),

    isoSpriteCenter: new createjs.Point(51, 72),

    altSkus: false,

    length: 35,

    width: 36,

    legsNeeded: true,

    isoFrameOffset: 0,

    isoChildFrameOffset: 0,

    description: "4-Step 50\xB0 Ladder",

    name: "4-Step \n50\xB0 Ladder (Up)",

    sprite: "assets/spritesheets/UAP0450U.png",

    sku: "UAP0450",

    gsku: "29RJ18",

    connectableParts: ["UAP3636"],

    zOrderMod: [0, 0, 0, 0],

    iZOrderMod: [0, 0, 0, 0],

    forceDrawLast: false,

    forceDrawLastFrame: 0,

    rails: false,

    ladder: true,

    stackable: true,

    heightMod: 40,

    attachmentSlots: 4,

    attachmentPoints: [
      new createjs.Point(0, -293),
      new createjs.Point(-293, 0),
      new createjs.Point(293, 0),
      new createjs.Point(0, 293),
    ],

    anchorPoint: new createjs.Point(0, 293),

    spriteAnchor: new createjs.Point(146, 293),

    spriteAnchorOffset: new createjs.Point(0, 0),

    bitmapCenter: new createjs.Point(146, 146),

    gridSize: new createjs.Point(1, 1),

    attachmentCoordinates: [
      new createjs.Point(0, -1),
      new createjs.Point(-1, 0),
      new createjs.Point(1, 0),
      new createjs.Point(0, 1),
    ],

    renderPriority: 0,

    spriteDoesntRotate: false,

    overrideButtonScaling: false,

    buttonScale: 0.5,

    startTextPosition: new createjs.Point(0, 75),

    endTextPosition: new createjs.Point(0, -120),

    directionTextPosition: new createjs.Point(0, 0),
  };
}

function UAP0490U(selectedFromMenu) {
  selectedFromMenu = selectedFromMenu || false;

  return {
    isoMountPoint: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    isoConnectorPoint: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    isoRotationOffsets: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    isoSpriteSheet: new createjs.SpriteSheet({
      images: ["assets/spritesheets/UCB30246.PNG"],

      frames: { width: 103, height: 145 },

      animations: {},
    }),

    isoSpriteCenter: new createjs.Point(51, 72),

    altSkus: false,

    length: 9,

    width: 36,

    legsNeeded: true,

    isoFrameOffset: 0,

    isoChildFrameOffset: 0,

    description: "4-Step 90\xB0 Ladder",

    name: "4-Step \n90\xB0 Ladder (Up)",

    sprite: "assets/spritesheets/UAP0290U.png",

    sku: "UAP0490",

    gsku: "29RJ18",

    connectableParts: ["UAP3636"],

    zOrderMod: [0, 0, 0, 0],

    iZOrderMod: [0, 0, 0, 0],

    forceDrawLast: false,

    forceDrawLastFrame: 0,

    rails: false,

    ladder: true,

    stackable: false,

    heightMod: 40,

    attachmentSlots: 4,

    attachmentPoints: [
      new createjs.Point(0, -293),
      new createjs.Point(-293, 0),
      new createjs.Point(293, 0),
      new createjs.Point(0, 293),
    ],

    anchorPoint: new createjs.Point(0, 293),

    spriteAnchor: new createjs.Point(146, 293),

    spriteAnchorOffset: new createjs.Point(0, 0),

    bitmapCenter: new createjs.Point(146, 146),

    gridSize: new createjs.Point(1, 1),

    attachmentCoordinates: [
      new createjs.Point(0, -1),
      new createjs.Point(-1, 0),
      new createjs.Point(1, 0),
      new createjs.Point(0, 1),
    ],

    renderPriority: 0,

    spriteDoesntRotate: false,

    overrideButtonScaling: false,

    buttonScale: 0.5,

    startTextPosition: new createjs.Point(0, 75),

    endTextPosition: new createjs.Point(0, -120),

    directionTextPosition: new createjs.Point(0, 0),
  };
}

function UAP0450D(selectedFromMenu) {
  selectedFromMenu = selectedFromMenu || false;

  return {
    isoMountPoint: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    isoConnectorPoint: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    isoRotationOffsets: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    isoSpriteSheet: new createjs.SpriteSheet({
      images: ["assets/spritesheets/UCB30246.PNG"],

      frames: { width: 103, height: 145 },

      animations: {},
    }),

    isoSpriteCenter: new createjs.Point(51, 72),

    altSkus: false,

    length: 35,

    width: 36,

    legsNeeded: true,

    isoFrameOffset: 0,

    isoChildFrameOffset: 0,

    description: "4-Step 50\xB0 Ladder",

    name: "4-Step \n50\xB0 Ladder (Down)",

    sprite: "assets/spritesheets/UAP0450D.png",

    sku: "UAP0450",

    gsku: "29RJ18",

    connectableParts: ["UAP3636"],

    zOrderMod: [0, 0, 0, 0],

    iZOrderMod: [0, 0, 0, 0],

    forceDrawLast: false,

    forceDrawLastFrame: 0,

    rails: false,

    ladder: true,

    stackable: true,

    heightMod: -40,

    attachmentSlots: 4,

    attachmentPoints: [
      new createjs.Point(0, -293),
      new createjs.Point(-293, 0),
      new createjs.Point(293, 0),
      new createjs.Point(0, 293),
    ],

    anchorPoint: new createjs.Point(0, 293),

    spriteAnchor: new createjs.Point(146, 293),

    spriteAnchorOffset: new createjs.Point(0, 0),

    bitmapCenter: new createjs.Point(146, 146),

    gridSize: new createjs.Point(1, 1),

    attachmentCoordinates: [
      new createjs.Point(0, -1),
      new createjs.Point(-1, 0),
      new createjs.Point(1, 0),
      new createjs.Point(0, 1),
    ],

    renderPriority: 0,

    spriteDoesntRotate: false,

    overrideButtonScaling: false,

    buttonScale: 0.5,

    startTextPosition: new createjs.Point(0, 75),

    endTextPosition: new createjs.Point(0, -120),

    directionTextPosition: new createjs.Point(0, 0),
  };
}

function UAP0490D(selectedFromMenu) {
  selectedFromMenu = selectedFromMenu || false;

  return {
    isoMountPoint: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    isoConnectorPoint: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    isoRotationOffsets: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    isoSpriteSheet: new createjs.SpriteSheet({
      images: ["assets/spritesheets/UCB30246.PNG"],

      frames: { width: 103, height: 145 },

      animations: {},
    }),

    isoSpriteCenter: new createjs.Point(51, 72),

    altSkus: false,

    length: 9,

    width: 36,

    legsNeeded: true,

    isoFrameOffset: 0,

    isoChildFrameOffset: 0,

    description: "4-Step 90\xB0 Ladder",

    name: "4-Step \n90\xB0 Ladder (Down)",

    sprite: "assets/spritesheets/UAP0290D.png",

    sku: "UAP0490",

    gsku: "29RJ18",

    connectableParts: [],

    zOrderMod: [0, 0, 0, 0],

    iZOrderMod: [0, 0, 0, 0],

    forceDrawLast: false,

    forceDrawLastFrame: 0,

    rails: false,

    ladder: true,

    stackable: false,

    heightMod: -40,

    attachmentSlots: 0,

    attachmentPoints: [
      new createjs.Point(0, -293),
      new createjs.Point(-293, 0),
      new createjs.Point(293, 0),
      new createjs.Point(0, 293),
    ],

    anchorPoint: new createjs.Point(0, 293),

    spriteAnchor: new createjs.Point(146, 293),

    spriteAnchorOffset: new createjs.Point(0, 0),

    bitmapCenter: new createjs.Point(146, 146),

    gridSize: new createjs.Point(1, 1),

    attachmentCoordinates: [
      new createjs.Point(0, -1),
      new createjs.Point(-1, 0),
      new createjs.Point(1, 0),
      new createjs.Point(0, 1),
    ],

    renderPriority: 0,

    spriteDoesntRotate: false,

    overrideButtonScaling: false,

    buttonScale: 0.5,

    startTextPosition: new createjs.Point(0, 75),

    endTextPosition: new createjs.Point(0, -120),

    directionTextPosition: new createjs.Point(0, 0),
  };
}

function UAP0550U(selectedFromMenu) {
  selectedFromMenu = selectedFromMenu || false;

  return {
    isoMountPoint: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    isoConnectorPoint: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    isoRotationOffsets: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    isoSpriteSheet: new createjs.SpriteSheet({
      images: ["assets/spritesheets/UCB30246.PNG"],

      frames: { width: 103, height: 145 },

      animations: {},
    }),

    isoSpriteCenter: new createjs.Point(51, 72),

    altSkus: false,

    length: 43.5,

    width: 36,

    legsNeeded: true,

    isoFrameOffset: 0,

    isoChildFrameOffset: 0,

    description: "5-Step 50\xB0 Ladder",

    name: "5-Step \n50\xB0 Ladder (Up)",

    sprite: "assets/spritesheets/UAP0550U.png",

    sku: "UAP0550",

    gsku: "29RJ18",

    connectableParts: ["UAP3636"],

    zOrderMod: [0, 0, 0, 0],

    iZOrderMod: [0, 0, 0, 0],

    forceDrawLast: false,

    forceDrawLastFrame: 0,

    rails: false,

    ladder: true,

    stackable: true,

    heightMod: 50,

    attachmentSlots: 4,

    attachmentPoints: [
      new createjs.Point(0, -440),
      new createjs.Point(-440, 0),
      new createjs.Point(440, 0),
      new createjs.Point(0, 440),
    ],

    anchorPoint: new createjs.Point(0, 586),

    spriteAnchor: new createjs.Point(146, 586),

    spriteAnchorOffset: new createjs.Point(0, -146),

    bitmapCenter: new createjs.Point(146, 293),

    gridSize: new createjs.Point(1, 2),

    attachmentCoordinates: [
      new createjs.Point(0, -2),
      new createjs.Point(-2, 0),
      new createjs.Point(2, 0),
      new createjs.Point(0, 2),
    ],

    renderPriority: 0,

    spriteDoesntRotate: false,

    overrideButtonScaling: false,

    buttonScale: 0.5,

    startTextPosition: new createjs.Point(0, 75),

    endTextPosition: new createjs.Point(0, -120),

    directionTextPosition: new createjs.Point(0, 0),
  };
}

function UAP0550D(selectedFromMenu) {
  selectedFromMenu = selectedFromMenu || false;

  return {
    isoMountPoint: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    isoConnectorPoint: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    isoRotationOffsets: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    isoSpriteSheet: new createjs.SpriteSheet({
      images: ["assets/spritesheets/UCB30246.PNG"],

      frames: { width: 103, height: 145 },

      animations: {},
    }),

    isoSpriteCenter: new createjs.Point(51, 72),

    altSkus: false,

    length: 43.5,

    width: 36,

    legsNeeded: true,

    isoFrameOffset: 0,

    isoChildFrameOffset: 0,

    description: "5-Step 50\xB0 Ladder",

    name: "5-Step \n50\xB0 Ladder (Down)",

    sprite: "assets/spritesheets/UAP0550D.png",

    sku: "UAP0550",

    gsku: "29RJ18",

    connectableParts: ["UAP3636"],

    zOrderMod: [0, 0, 0, 0],

    iZOrderMod: [0, 0, 0, 0],

    forceDrawLast: false,

    forceDrawLastFrame: 0,

    rails: false,

    ladder: true,

    stackable: true,

    heightMod: -50,

    attachmentSlots: 4,

    attachmentPoints: [
      new createjs.Point(0, -440),
      new createjs.Point(-440, 0),
      new createjs.Point(440, 0),
      new createjs.Point(0, 440),
    ],

    anchorPoint: new createjs.Point(0, 586),

    spriteAnchor: new createjs.Point(146, 586),

    spriteAnchorOffset: new createjs.Point(0, -146),

    bitmapCenter: new createjs.Point(146, 293),

    gridSize: new createjs.Point(1, 2),

    attachmentCoordinates: [
      new createjs.Point(0, -2),
      new createjs.Point(-2, 0),
      new createjs.Point(2, 0),
      new createjs.Point(0, 2),
    ],

    renderPriority: 0,

    spriteDoesntRotate: false,

    overrideButtonScaling: false,

    buttonScale: 0.5,

    startTextPosition: new createjs.Point(0, 75),

    endTextPosition: new createjs.Point(0, -120),

    directionTextPosition: new createjs.Point(0, 0),
  };
}

function UAP0590U(selectedFromMenu) {
  selectedFromMenu = selectedFromMenu || false;

  return {
    isoMountPoint: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    isoConnectorPoint: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    isoRotationOffsets: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    isoSpriteSheet: new createjs.SpriteSheet({
      images: ["assets/spritesheets/UCB30246.PNG"],

      frames: { width: 103, height: 145 },

      animations: {},
    }),

    isoSpriteCenter: new createjs.Point(51, 72),

    altSkus: false,

    length: 9,

    width: 36,

    legsNeeded: true,

    isoFrameOffset: 0,

    isoChildFrameOffset: 0,

    description: "5-Step 90\xB0 Ladder",

    name: "5-Step \n90\xB0 Ladder (Up)",

    sprite: "assets/spritesheets/UAP0290U.png",

    sku: "UAP0590",

    gsku: "29RJ18",

    connectableParts: ["UAP3636"],

    zOrderMod: [0, 0, 0, 0],

    iZOrderMod: [0, 0, 0, 0],

    forceDrawLast: false,

    forceDrawLastFrame: 0,

    rails: false,

    ladder: true,

    stackable: false,

    heightMod: 50,

    attachmentSlots: 4,

    attachmentPoints: [
      new createjs.Point(0, -293),
      new createjs.Point(-293, 0),
      new createjs.Point(293, 0),
      new createjs.Point(0, 293),
    ],

    anchorPoint: new createjs.Point(0, 293),

    spriteAnchor: new createjs.Point(146, 293),

    spriteAnchorOffset: new createjs.Point(0, 0),

    bitmapCenter: new createjs.Point(146, 146),

    gridSize: new createjs.Point(1, 1),

    attachmentCoordinates: [
      new createjs.Point(0, -1),
      new createjs.Point(-1, 0),
      new createjs.Point(1, 0),
      new createjs.Point(0, 1),
    ],

    renderPriority: 0,

    spriteDoesntRotate: false,

    overrideButtonScaling: false,

    buttonScale: 0.5,

    startTextPosition: new createjs.Point(0, 75),

    endTextPosition: new createjs.Point(0, -120),

    directionTextPosition: new createjs.Point(0, 0),
  };
}

function UAP0590D(selectedFromMenu) {
  selectedFromMenu = selectedFromMenu || false;

  return {
    isoMountPoint: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    isoConnectorPoint: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    isoRotationOffsets: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    isoSpriteSheet: new createjs.SpriteSheet({
      images: ["assets/spritesheets/UCB30246.PNG"],

      frames: { width: 103, height: 145 },

      animations: {},
    }),

    isoSpriteCenter: new createjs.Point(51, 72),

    altSkus: false,

    length: 9,

    width: 36,

    legsNeeded: true,

    isoFrameOffset: 0,

    isoChildFrameOffset: 0,

    description: "5-Step 90\xB0 Ladder",

    name: "5-Step \n90\xB0 Ladder (Down)",

    sprite: "assets/spritesheets/UAP0290D.png",

    sku: "UAP0590",

    gsku: "29RJ18",

    connectableParts: [],

    zOrderMod: [0, 0, 0, 0],

    iZOrderMod: [0, 0, 0, 0],

    forceDrawLast: false,

    forceDrawLastFrame: 0,

    rails: false,

    ladder: true,

    stackable: false,

    heightMod: -50,

    attachmentSlots: 0,

    attachmentPoints: [
      new createjs.Point(0, -293),
      new createjs.Point(-293, 0),
      new createjs.Point(293, 0),
      new createjs.Point(0, 293),
    ],

    anchorPoint: new createjs.Point(0, 293),

    spriteAnchor: new createjs.Point(146, 293),

    spriteAnchorOffset: new createjs.Point(0, 0),

    bitmapCenter: new createjs.Point(146, 146),

    gridSize: new createjs.Point(1, 1),

    attachmentCoordinates: [
      new createjs.Point(0, -1),
      new createjs.Point(-1, 0),
      new createjs.Point(1, 0),
      new createjs.Point(0, 1),
    ],

    renderPriority: 0,

    spriteDoesntRotate: false,

    overrideButtonScaling: false,

    buttonScale: 0.5,

    startTextPosition: new createjs.Point(0, 75),

    endTextPosition: new createjs.Point(0, -120),

    directionTextPosition: new createjs.Point(0, 0),
  };
}

function UAP0650U(selectedFromMenu) {
  selectedFromMenu = selectedFromMenu || false;

  return {
    isoMountPoint: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    isoConnectorPoint: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    isoRotationOffsets: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    isoSpriteSheet: new createjs.SpriteSheet({
      images: ["assets/spritesheets/UCB30246.PNG"],

      frames: { width: 103, height: 145 },

      animations: {},
    }),

    isoSpriteCenter: new createjs.Point(51, 72),

    altSkus: false,

    length: 52,

    width: 36,

    legsNeeded: true,

    isoFrameOffset: 0,

    isoChildFrameOffset: 0,

    description: "6-Step 50\xB0 Ladder",

    name: "6-Step \n50\xB0 Ladder (Up)",

    sprite: "assets/spritesheets/UAP0650U.png",

    sku: "UAP0650",

    gsku: "29RJ18",

    connectableParts: ["UAP3636"],

    zOrderMod: [0, 0, 0, 0],

    iZOrderMod: [0, 0, 0, 0],

    forceDrawLast: false,

    forceDrawLastFrame: 0,

    rails: false,

    ladder: true,

    stackable: true,

    heightMod: 60,

    attachmentSlots: 4,

    attachmentPoints: [
      new createjs.Point(0, -440),
      new createjs.Point(-440, 0),
      new createjs.Point(440, 0),
      new createjs.Point(0, 440),
    ],

    anchorPoint: new createjs.Point(0, 586),

    spriteAnchor: new createjs.Point(146, 586),

    spriteAnchorOffset: new createjs.Point(0, -146),

    bitmapCenter: new createjs.Point(146, 293),

    gridSize: new createjs.Point(1, 2),

    attachmentCoordinates: [
      new createjs.Point(0, -2),
      new createjs.Point(-2, 0),
      new createjs.Point(2, 0),
      new createjs.Point(0, 2),
    ],

    renderPriority: 0,

    spriteDoesntRotate: false,

    overrideButtonScaling: false,

    buttonScale: 0.5,

    startTextPosition: new createjs.Point(0, 75),

    endTextPosition: new createjs.Point(0, -120),

    directionTextPosition: new createjs.Point(0, 0),
  };
}

function UAP0650D(selectedFromMenu) {
  selectedFromMenu = selectedFromMenu || false;

  return {
    isoMountPoint: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    isoConnectorPoint: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    isoRotationOffsets: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    isoSpriteSheet: new createjs.SpriteSheet({
      images: ["assets/spritesheets/UCB30246.PNG"],

      frames: { width: 103, height: 145 },

      animations: {},
    }),

    isoSpriteCenter: new createjs.Point(51, 72),

    altSkus: false,

    length: 52,

    width: 36,

    legsNeeded: true,

    isoFrameOffset: 0,

    isoChildFrameOffset: 0,

    description: "6-Step 50\xB0 Ladder",

    name: "6-Step \n50\xB0 Ladder (Down)",

    sprite: "assets/spritesheets/UAP0650D.png",

    sku: "UAP0650",

    gsku: "29RJ18",

    connectableParts: ["UAP3636"],

    zOrderMod: [0, 0, 0, 0],

    iZOrderMod: [0, 0, 0, 0],

    forceDrawLast: false,

    forceDrawLastFrame: 0,

    rails: false,

    ladder: true,

    stackable: true,

    heightMod: -60,

    attachmentSlots: 4,

    attachmentPoints: [
      new createjs.Point(0, -440),
      new createjs.Point(-440, 0),
      new createjs.Point(440, 0),
      new createjs.Point(0, 440),
    ],

    anchorPoint: new createjs.Point(0, 586),

    spriteAnchor: new createjs.Point(146, 586),

    spriteAnchorOffset: new createjs.Point(0, -146),

    bitmapCenter: new createjs.Point(146, 293),

    gridSize: new createjs.Point(1, 2),

    attachmentCoordinates: [
      new createjs.Point(0, -2),
      new createjs.Point(-2, 0),
      new createjs.Point(2, 0),
      new createjs.Point(0, 2),
    ],

    renderPriority: 0,

    spriteDoesntRotate: false,

    overrideButtonScaling: false,

    buttonScale: 0.5,

    startTextPosition: new createjs.Point(0, 75),

    endTextPosition: new createjs.Point(0, -120),

    directionTextPosition: new createjs.Point(0, 0),
  };
}

function UAP0690U(selectedFromMenu) {
  selectedFromMenu = selectedFromMenu || false;

  return {
    isoMountPoint: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    isoConnectorPoint: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    isoRotationOffsets: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    isoSpriteSheet: new createjs.SpriteSheet({
      images: ["assets/spritesheets/UCB30246.PNG"],

      frames: { width: 103, height: 145 },

      animations: {},
    }),

    isoSpriteCenter: new createjs.Point(51, 72),

    altSkus: false,

    length: 9,

    width: 36,

    legsNeeded: true,

    isoFrameOffset: 0,

    isoChildFrameOffset: 0,

    description: "6-Step 90\xB0 Ladder",

    name: "6-Step \n90\xB0 Ladder (Up)",

    sprite: "assets/spritesheets/UAP0290U.png",

    sku: "UAP0690",

    gsku: "29RJ18",

    connectableParts: ["UAP3636"],

    zOrderMod: [0, 0, 0, 0],

    iZOrderMod: [0, 0, 0, 0],

    forceDrawLast: false,

    forceDrawLastFrame: 0,

    rails: false,

    ladder: true,

    stackable: false,

    heightMod: 60,

    attachmentSlots: 4,

    attachmentPoints: [
      new createjs.Point(0, -293),
      new createjs.Point(-293, 0),
      new createjs.Point(293, 0),
      new createjs.Point(0, 293),
    ],

    anchorPoint: new createjs.Point(0, 293),

    spriteAnchor: new createjs.Point(146, 293),

    spriteAnchorOffset: new createjs.Point(0, 0),

    bitmapCenter: new createjs.Point(146, 146),

    gridSize: new createjs.Point(1, 1),

    attachmentCoordinates: [
      new createjs.Point(0, -1),
      new createjs.Point(-1, 0),
      new createjs.Point(1, 0),
      new createjs.Point(0, 1),
    ],

    renderPriority: 0,

    spriteDoesntRotate: false,

    overrideButtonScaling: false,

    buttonScale: 0.5,

    startTextPosition: new createjs.Point(0, 75),

    endTextPosition: new createjs.Point(0, -120),

    directionTextPosition: new createjs.Point(0, 0),
  };
}

function UAP0690D(selectedFromMenu) {
  selectedFromMenu = selectedFromMenu || false;

  return {
    isoMountPoint: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    isoConnectorPoint: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    isoRotationOffsets: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    isoSpriteSheet: new createjs.SpriteSheet({
      images: ["assets/spritesheets/UCB30246.PNG"],

      frames: { width: 103, height: 145 },

      animations: {},
    }),

    isoSpriteCenter: new createjs.Point(51, 72),

    altSkus: false,

    length: 9,

    width: 36,

    legsNeeded: true,

    isoFrameOffset: 0,

    isoChildFrameOffset: 0,

    description: "6-Step 90\xB0 Ladder",

    name: "6-Step \n90\xB0 Ladder (Down)",

    sprite: "assets/spritesheets/UAP0290D.png",

    sku: "UAP0690",

    gsku: "29RJ18",

    connectableParts: [],

    zOrderMod: [0, 0, 0, 0],

    iZOrderMod: [0, 0, 0, 0],

    forceDrawLast: false,

    forceDrawLastFrame: 0,

    rails: false,

    ladder: true,

    stackable: false,

    heightMod: -60,

    attachmentSlots: 0,

    attachmentPoints: [
      new createjs.Point(0, -293),
      new createjs.Point(-293, 0),
      new createjs.Point(293, 0),
      new createjs.Point(0, 293),
    ],

    anchorPoint: new createjs.Point(0, 293),

    spriteAnchor: new createjs.Point(146, 293),

    spriteAnchorOffset: new createjs.Point(0, 0),

    bitmapCenter: new createjs.Point(146, 146),

    gridSize: new createjs.Point(1, 1),

    attachmentCoordinates: [
      new createjs.Point(0, -1),
      new createjs.Point(-1, 0),
      new createjs.Point(1, 0),
      new createjs.Point(0, 1),
    ],

    renderPriority: 0,

    spriteDoesntRotate: false,

    overrideButtonScaling: false,

    buttonScale: 0.5,

    startTextPosition: new createjs.Point(0, 75),

    endTextPosition: new createjs.Point(0, -120),

    directionTextPosition: new createjs.Point(0, 0),
  };
}

function UAP0750U(selectedFromMenu) {
  selectedFromMenu = selectedFromMenu || false;

  return {
    isoMountPoint: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    isoConnectorPoint: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    isoRotationOffsets: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    isoSpriteSheet: new createjs.SpriteSheet({
      images: ["assets/spritesheets/UCB30246.PNG"],

      frames: { width: 103, height: 145 },

      animations: {},
    }),

    isoSpriteCenter: new createjs.Point(51, 72),

    altSkus: false,

    length: 61,

    width: 36,

    legsNeeded: true,

    isoFrameOffset: 0,

    isoChildFrameOffset: 0,

    description: "7-Step 50\xB0 Ladder",

    name: "7-Step \n50\xB0 Ladder (Up)",

    sprite: "assets/spritesheets/UAP0750U.png",

    sku: "UAP0750",

    gsku: "29RJ18",

    connectableParts: ["UAP3636"],

    zOrderMod: [0, 0, 0, 0],

    iZOrderMod: [0, 0, 0, 0],

    forceDrawLast: false,

    forceDrawLastFrame: 0,

    rails: false,

    ladder: true,

    stackable: true,

    heightMod: 70,

    attachmentSlots: 4,

    attachmentPoints: [
      new createjs.Point(0, -440),
      new createjs.Point(-440, 0),
      new createjs.Point(440, 0),
      new createjs.Point(0, 440),
    ],

    anchorPoint: new createjs.Point(0, 586),

    spriteAnchor: new createjs.Point(146, 586),

    spriteAnchorOffset: new createjs.Point(0, -146),

    bitmapCenter: new createjs.Point(146, 293),

    gridSize: new createjs.Point(1, 2),

    attachmentCoordinates: [
      new createjs.Point(0, -2),
      new createjs.Point(-2, 0),
      new createjs.Point(2, 0),
      new createjs.Point(0, 2),
    ],

    renderPriority: 0,

    spriteDoesntRotate: false,

    overrideButtonScaling: false,

    buttonScale: 0.5,

    startTextPosition: new createjs.Point(0, 75),

    endTextPosition: new createjs.Point(0, -120),

    directionTextPosition: new createjs.Point(0, 0),
  };
}

function UAP0750D(selectedFromMenu) {
  selectedFromMenu = selectedFromMenu || false;

  return {
    isoMountPoint: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    isoConnectorPoint: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    isoRotationOffsets: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    isoSpriteSheet: new createjs.SpriteSheet({
      images: ["assets/spritesheets/UCB30246.PNG"],

      frames: { width: 103, height: 145 },

      animations: {},
    }),

    isoSpriteCenter: new createjs.Point(51, 72),

    altSkus: false,

    length: 61,

    width: 36,

    legsNeeded: true,

    isoFrameOffset: 0,

    isoChildFrameOffset: 0,

    description: "7-Step 50\xB0 Ladder",

    name: "7-Step \n50\xB0 Ladder (Down)",

    sprite: "assets/spritesheets/UAP0750D.png",

    sku: "UAP0750",

    gsku: "29RJ18",

    connectableParts: ["UAP3636"],

    zOrderMod: [0, 0, 0, 0],

    iZOrderMod: [0, 0, 0, 0],

    forceDrawLast: false,

    forceDrawLastFrame: 0,

    rails: false,

    ladder: true,

    stackable: true,

    heightMod: -70,

    attachmentSlots: 4,

    attachmentPoints: [
      new createjs.Point(0, -440),
      new createjs.Point(-440, 0),
      new createjs.Point(440, 0),
      new createjs.Point(0, 440),
    ],

    anchorPoint: new createjs.Point(0, 586),

    spriteAnchor: new createjs.Point(146, 586),

    spriteAnchorOffset: new createjs.Point(0, -146),

    bitmapCenter: new createjs.Point(146, 293),

    gridSize: new createjs.Point(1, 2),

    attachmentCoordinates: [
      new createjs.Point(0, -2),
      new createjs.Point(-2, 0),
      new createjs.Point(2, 0),
      new createjs.Point(0, 2),
    ],

    renderPriority: 0,

    spriteDoesntRotate: false,

    overrideButtonScaling: false,

    buttonScale: 0.5,

    startTextPosition: new createjs.Point(0, 75),

    endTextPosition: new createjs.Point(0, -120),

    directionTextPosition: new createjs.Point(0, 0),
  };
}

function UAP0790U(selectedFromMenu) {
  selectedFromMenu = selectedFromMenu || false;

  return {
    isoMountPoint: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    isoConnectorPoint: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    isoRotationOffsets: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    isoSpriteSheet: new createjs.SpriteSheet({
      images: ["assets/spritesheets/UCB30246.PNG"],

      frames: { width: 103, height: 145 },

      animations: {},
    }),

    isoSpriteCenter: new createjs.Point(51, 72),

    altSkus: false,

    length: 9,

    width: 36,

    legsNeeded: true,

    isoFrameOffset: 0,

    isoChildFrameOffset: 0,

    description: "7-Step 90\xB0 Ladder",

    name: "7-Step \n90\xB0 Ladder (Up)",

    sprite: "assets/spritesheets/UAP0290U.png",

    sku: "UAP0790",

    gsku: "29RJ18",

    connectableParts: ["UAP3636"],

    zOrderMod: [0, 0, 0, 0],

    iZOrderMod: [0, 0, 0, 0],

    forceDrawLast: false,

    forceDrawLastFrame: 0,

    rails: false,

    ladder: true,

    stackable: false,

    heightMod: 70,

    attachmentSlots: 4,

    attachmentPoints: [
      new createjs.Point(0, -293),
      new createjs.Point(-293, 0),
      new createjs.Point(293, 0),
      new createjs.Point(0, 293),
    ],

    anchorPoint: new createjs.Point(0, 293),

    spriteAnchor: new createjs.Point(146, 293),

    spriteAnchorOffset: new createjs.Point(0, 0),

    bitmapCenter: new createjs.Point(146, 146),

    gridSize: new createjs.Point(1, 1),

    attachmentCoordinates: [
      new createjs.Point(0, -1),
      new createjs.Point(-1, 0),
      new createjs.Point(1, 0),
      new createjs.Point(0, 1),
    ],

    renderPriority: 0,

    spriteDoesntRotate: false,

    overrideButtonScaling: false,

    buttonScale: 0.5,

    startTextPosition: new createjs.Point(0, 75),

    endTextPosition: new createjs.Point(0, -120),

    directionTextPosition: new createjs.Point(0, 0),
  };
}

function UAP0790D(selectedFromMenu) {
  selectedFromMenu = selectedFromMenu || false;

  return {
    isoMountPoint: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    isoConnectorPoint: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    isoRotationOffsets: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    isoSpriteSheet: new createjs.SpriteSheet({
      images: ["assets/spritesheets/UCB30246.PNG"],

      frames: { width: 103, height: 145 },

      animations: {},
    }),

    isoSpriteCenter: new createjs.Point(51, 72),

    altSkus: false,

    length: 9,

    width: 36,

    legsNeeded: true,

    isoFrameOffset: 0,

    isoChildFrameOffset: 0,

    description: "7-Step 90\xB0 Ladder",

    name: "7-Step \n90\xB0 Ladder (Down)",

    sprite: "assets/spritesheets/UAP0290D.png",

    sku: "UAP0790",

    gsku: "29RJ18",

    connectableParts: [],

    zOrderMod: [0, 0, 0, 0],

    iZOrderMod: [0, 0, 0, 0],

    forceDrawLast: false,

    forceDrawLastFrame: 0,

    rails: false,

    ladder: true,

    stackable: false,

    heightMod: -70,

    attachmentSlots: 0,

    attachmentPoints: [
      new createjs.Point(0, -293),
      new createjs.Point(-293, 0),
      new createjs.Point(293, 0),
      new createjs.Point(0, 293),
    ],

    anchorPoint: new createjs.Point(0, 293),

    spriteAnchor: new createjs.Point(146, 293),

    spriteAnchorOffset: new createjs.Point(0, 0),

    bitmapCenter: new createjs.Point(146, 146),

    gridSize: new createjs.Point(1, 1),

    attachmentCoordinates: [
      new createjs.Point(0, -1),
      new createjs.Point(-1, 0),
      new createjs.Point(1, 0),
      new createjs.Point(0, 1),
    ],

    renderPriority: 0,

    spriteDoesntRotate: false,

    overrideButtonScaling: false,

    buttonScale: 0.5,

    startTextPosition: new createjs.Point(0, 75),

    endTextPosition: new createjs.Point(0, -120),

    directionTextPosition: new createjs.Point(0, 0),
  };
}

function UAP0850U(selectedFromMenu) {
  selectedFromMenu = selectedFromMenu || false;

  return {
    isoMountPoint: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    isoConnectorPoint: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    isoRotationOffsets: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    isoSpriteSheet: new createjs.SpriteSheet({
      images: ["assets/spritesheets/UCB30246.PNG"],

      frames: { width: 103, height: 145 },

      animations: {},
    }),

    isoSpriteCenter: new createjs.Point(51, 72),

    altSkus: false,

    length: 69,

    width: 36,

    legsNeeded: true,

    isoFrameOffset: 0,

    isoChildFrameOffset: 0,

    description: "8-Step 50\xB0 Ladder",

    name: "8-Step \n50\xB0 Ladder (Up)",

    sprite: "assets/spritesheets/UAP0850U.png",

    sku: "UAP0850",

    gsku: "29RJ18",

    connectableParts: ["UAP3636"],

    zOrderMod: [0, 0, 0, 0],

    iZOrderMod: [0, 0, 0, 0],

    forceDrawLast: false,

    forceDrawLastFrame: 0,

    rails: false,

    ladder: true,

    stackable: true,

    heightMod: 80,

    attachmentSlots: 4,

    attachmentPoints: [
      new createjs.Point(0, -440),
      new createjs.Point(-440, 0),
      new createjs.Point(440, 0),
      new createjs.Point(0, 440),
    ],

    anchorPoint: new createjs.Point(0, 586),

    spriteAnchor: new createjs.Point(146, 586),

    spriteAnchorOffset: new createjs.Point(0, -146),

    bitmapCenter: new createjs.Point(146, 293),

    gridSize: new createjs.Point(1, 2),

    attachmentCoordinates: [
      new createjs.Point(0, -2),
      new createjs.Point(-2, 0),
      new createjs.Point(2, 0),
      new createjs.Point(0, 2),
    ],

    renderPriority: 0,

    spriteDoesntRotate: false,

    overrideButtonScaling: false,

    buttonScale: 0.5,

    startTextPosition: new createjs.Point(0, 75),

    endTextPosition: new createjs.Point(0, -120),

    directionTextPosition: new createjs.Point(0, 0),
  };
}

function UAP0850D(selectedFromMenu) {
  selectedFromMenu = selectedFromMenu || false;

  return {
    isoMountPoint: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    isoConnectorPoint: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    isoRotationOffsets: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    isoSpriteSheet: new createjs.SpriteSheet({
      images: ["assets/spritesheets/UCB30246.PNG"],

      frames: { width: 103, height: 145 },

      animations: {},
    }),

    isoSpriteCenter: new createjs.Point(51, 72),

    altSkus: false,

    length: 69,

    width: 36,

    legsNeeded: true,

    isoFrameOffset: 0,

    isoChildFrameOffset: 0,

    description: "8-Step 50\xB0 Ladder",

    name: "8-Step \n50\xB0 Ladder (Down)",

    sprite: "assets/spritesheets/UAP0850D.png",

    sku: "UAP0850",

    gsku: "29RJ18",

    connectableParts: ["UAP3636"],

    zOrderMod: [0, 0, 0, 0],

    iZOrderMod: [0, 0, 0, 0],

    forceDrawLast: false,

    forceDrawLastFrame: 0,

    rails: false,

    ladder: true,

    stackable: true,

    heightMod: -80,

    attachmentSlots: 4,

    attachmentPoints: [
      new createjs.Point(0, -440),
      new createjs.Point(-440, 0),
      new createjs.Point(440, 0),
      new createjs.Point(0, 440),
    ],

    anchorPoint: new createjs.Point(0, 586),

    spriteAnchor: new createjs.Point(146, 586),

    spriteAnchorOffset: new createjs.Point(0, -146),

    bitmapCenter: new createjs.Point(146, 293),

    gridSize: new createjs.Point(1, 2),

    attachmentCoordinates: [
      new createjs.Point(0, -2),
      new createjs.Point(-2, 0),
      new createjs.Point(2, 0),
      new createjs.Point(0, 2),
    ],

    renderPriority: 0,

    spriteDoesntRotate: false,

    overrideButtonScaling: false,

    buttonScale: 0.5,

    startTextPosition: new createjs.Point(0, 75),

    endTextPosition: new createjs.Point(0, -120),

    directionTextPosition: new createjs.Point(0, 0),
  };
}

function UAP0890U(selectedFromMenu) {
  selectedFromMenu = selectedFromMenu || false;

  return {
    isoMountPoint: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    isoConnectorPoint: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    isoRotationOffsets: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    isoSpriteSheet: new createjs.SpriteSheet({
      images: ["assets/spritesheets/UCB30246.PNG"],

      frames: { width: 103, height: 145 },

      animations: {},
    }),

    isoSpriteCenter: new createjs.Point(51, 72),

    altSkus: false,

    length: 9,

    width: 36,

    legsNeeded: true,

    isoFrameOffset: 0,

    isoChildFrameOffset: 0,

    description: "8-Step 90\xB0 Ladder",

    name: "8-Step \n90\xB0 Ladder (Up)",

    sprite: "assets/spritesheets/UAP0290U.png",

    sku: "UAP0890",

    gsku: "29RJ18",

    connectableParts: ["UAP3636"],

    zOrderMod: [0, 0, 0, 0],

    iZOrderMod: [0, 0, 0, 0],

    forceDrawLast: false,

    forceDrawLastFrame: 0,

    rails: false,

    ladder: true,

    stackable: false,

    heightMod: 80,

    attachmentSlots: 4,

    attachmentPoints: [
      new createjs.Point(0, -293),
      new createjs.Point(-293, 0),
      new createjs.Point(293, 0),
      new createjs.Point(0, 293),
    ],

    anchorPoint: new createjs.Point(0, 293),

    spriteAnchor: new createjs.Point(146, 293),

    spriteAnchorOffset: new createjs.Point(0, 0),

    bitmapCenter: new createjs.Point(146, 146),

    gridSize: new createjs.Point(1, 1),

    attachmentCoordinates: [
      new createjs.Point(0, -1),
      new createjs.Point(-1, 0),
      new createjs.Point(1, 0),
      new createjs.Point(0, 1),
    ],

    renderPriority: 0,

    spriteDoesntRotate: false,

    overrideButtonScaling: false,

    buttonScale: 0.5,

    startTextPosition: new createjs.Point(0, 75),

    endTextPosition: new createjs.Point(0, -120),

    directionTextPosition: new createjs.Point(0, 0),
  };
}

function UAP0890D(selectedFromMenu) {
  selectedFromMenu = selectedFromMenu || false;

  return {
    isoMountPoint: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    isoConnectorPoint: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    isoRotationOffsets: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    isoSpriteSheet: new createjs.SpriteSheet({
      images: ["assets/spritesheets/UCB30246.PNG"],

      frames: { width: 103, height: 145 },

      animations: {},
    }),

    isoSpriteCenter: new createjs.Point(51, 72),

    altSkus: false,

    length: 9,

    width: 36,

    legsNeeded: true,

    isoFrameOffset: 0,

    isoChildFrameOffset: 0,

    description: "8-Step 90\xB0 Ladder",

    name: "8-Step \n90\xB0 Ladder (Down)",

    sprite: "assets/spritesheets/UAP0290D.png",

    sku: "UAP0890",

    gsku: "29RJ18",

    connectableParts: [],

    zOrderMod: [0, 0, 0, 0],

    iZOrderMod: [0, 0, 0, 0],

    forceDrawLast: false,

    forceDrawLastFrame: 0,

    rails: false,

    ladder: true,

    stackable: false,

    heightMod: -80,

    attachmentSlots: 0,

    attachmentPoints: [
      new createjs.Point(0, -293),
      new createjs.Point(-293, 0),
      new createjs.Point(293, 0),
      new createjs.Point(0, 293),
    ],

    anchorPoint: new createjs.Point(0, 293),

    spriteAnchor: new createjs.Point(146, 293),

    spriteAnchorOffset: new createjs.Point(0, 0),

    bitmapCenter: new createjs.Point(146, 146),

    gridSize: new createjs.Point(1, 1),

    attachmentCoordinates: [
      new createjs.Point(0, -1),
      new createjs.Point(-1, 0),
      new createjs.Point(1, 0),
      new createjs.Point(0, 1),
    ],

    renderPriority: 0,

    spriteDoesntRotate: false,

    overrideButtonScaling: false,

    buttonScale: 0.5,

    startTextPosition: new createjs.Point(0, 75),

    endTextPosition: new createjs.Point(0, -120),

    directionTextPosition: new createjs.Point(0, 0),
  };
}

function UAP0950U(selectedFromMenu) {
  selectedFromMenu = selectedFromMenu || false;

  return {
    isoMountPoint: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    isoConnectorPoint: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    isoRotationOffsets: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    isoSpriteSheet: new createjs.SpriteSheet({
      images: ["assets/spritesheets/UCB30246.PNG"],

      frames: { width: 103, height: 145 },

      animations: {},
    }),

    isoSpriteCenter: new createjs.Point(51, 72),

    altSkus: false,

    length: 78,

    width: 36,

    legsNeeded: true,

    isoFrameOffset: 0,

    isoChildFrameOffset: 0,

    description: "9-Step 50\xB0 Ladder",

    name: "9-Step \n50\xB0 Ladder (Up)",

    sprite: "assets/spritesheets/UAP0950U.png",

    sku: "UAP0950",

    gsku: "29RJ18",

    connectableParts: ["UAP3636"],

    zOrderMod: [0, 0, 0, 0],

    iZOrderMod: [0, 0, 0, 0],

    forceDrawLast: false,

    forceDrawLastFrame: 0,

    rails: false,

    ladder: true,

    stackable: true,

    heightMod: 90,

    attachmentSlots: 4,

    attachmentPoints: [
      new createjs.Point(0, -586),
      new createjs.Point(-586, 0),
      new createjs.Point(586, 0),
      new createjs.Point(0, 586),
    ],

    anchorPoint: new createjs.Point(0, 879),

    spriteAnchor: new createjs.Point(146, 879),

    spriteAnchorOffset: new createjs.Point(0, -293),

    bitmapCenter: new createjs.Point(146, 440),

    gridSize: new createjs.Point(1, 3),

    attachmentCoordinates: [
      new createjs.Point(0, -3),
      new createjs.Point(-3, 0),
      new createjs.Point(3, 0),
      new createjs.Point(0, 3),
    ],

    renderPriority: 0,

    spriteDoesntRotate: false,

    overrideButtonScaling: false,

    buttonScale: 0.5,

    startTextPosition: new createjs.Point(0, 75),

    endTextPosition: new createjs.Point(0, -120),

    directionTextPosition: new createjs.Point(0, 0),
  };
}

function UAP0950D(selectedFromMenu) {
  selectedFromMenu = selectedFromMenu || false;

  return {
    isoMountPoint: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    isoConnectorPoint: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    isoRotationOffsets: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    isoSpriteSheet: new createjs.SpriteSheet({
      images: ["assets/spritesheets/UCB30246.PNG"],

      frames: { width: 103, height: 145 },

      animations: {},
    }),

    isoSpriteCenter: new createjs.Point(51, 72),

    altSkus: false,

    length: 78,

    width: 36,

    legsNeeded: true,

    isoFrameOffset: 0,

    isoChildFrameOffset: 0,

    description: "9-Step 50\xB0 Ladder",

    name: "9-Step \n50\xB0 Ladder (Down)",

    sprite: "assets/spritesheets/UAP0950D.png",

    sku: "UAP0950",

    gsku: "29RJ18",

    connectableParts: ["UAP3636"],

    zOrderMod: [0, 0, 0, 0],

    iZOrderMod: [0, 0, 0, 0],

    forceDrawLast: false,

    forceDrawLastFrame: 0,

    rails: false,

    ladder: true,

    stackable: true,

    heightMod: -90,

    attachmentSlots: 4,

    attachmentPoints: [
      new createjs.Point(0, -586),
      new createjs.Point(-586, 0),
      new createjs.Point(586, 0),
      new createjs.Point(0, 586),
    ],

    anchorPoint: new createjs.Point(0, 879),

    spriteAnchor: new createjs.Point(146, 879),

    spriteAnchorOffset: new createjs.Point(0, -293),

    bitmapCenter: new createjs.Point(146, 440),

    gridSize: new createjs.Point(1, 3),

    attachmentCoordinates: [
      new createjs.Point(0, -3),
      new createjs.Point(-3, 0),
      new createjs.Point(3, 0),
      new createjs.Point(0, 3),
    ],

    renderPriority: 0,

    spriteDoesntRotate: false,

    overrideButtonScaling: false,

    buttonScale: 0.5,

    startTextPosition: new createjs.Point(0, 75),

    endTextPosition: new createjs.Point(0, -120),

    directionTextPosition: new createjs.Point(0, 0),
  };
}

function UAP0990U(selectedFromMenu) {
  selectedFromMenu = selectedFromMenu || false;

  return {
    isoMountPoint: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    isoConnectorPoint: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    isoRotationOffsets: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    isoSpriteSheet: new createjs.SpriteSheet({
      images: ["assets/spritesheets/UCB30246.PNG"],

      frames: { width: 103, height: 145 },

      animations: {},
    }),

    isoSpriteCenter: new createjs.Point(51, 72),

    altSkus: false,

    length: 9,

    width: 36,

    legsNeeded: true,

    isoFrameOffset: 0,

    isoChildFrameOffset: 0,

    description: "9-Step 90\xB0 Ladder",

    name: "9-Step \n90\xB0 Ladder (Up)",

    sprite: "assets/spritesheets/UAP0290U.png",

    sku: "UAP0990",

    gsku: "29RJ18",

    connectableParts: ["UAP3636"],

    zOrderMod: [0, 0, 0, 0],

    iZOrderMod: [0, 0, 0, 0],

    forceDrawLast: false,

    forceDrawLastFrame: 0,

    rails: false,

    ladder: true,

    stackable: false,

    heightMod: 90,

    attachmentSlots: 4,

    attachmentPoints: [
      new createjs.Point(0, -293),
      new createjs.Point(-293, 0),
      new createjs.Point(293, 0),
      new createjs.Point(0, 293),
    ],

    anchorPoint: new createjs.Point(0, 293),

    spriteAnchor: new createjs.Point(146, 293),

    spriteAnchorOffset: new createjs.Point(0, 0),

    bitmapCenter: new createjs.Point(146, 146),

    gridSize: new createjs.Point(1, 1),

    attachmentCoordinates: [
      new createjs.Point(0, -1),
      new createjs.Point(-1, 0),
      new createjs.Point(1, 0),
      new createjs.Point(0, 1),
    ],

    renderPriority: 0,

    spriteDoesntRotate: false,

    overrideButtonScaling: false,

    buttonScale: 0.5,

    startTextPosition: new createjs.Point(0, 75),

    endTextPosition: new createjs.Point(0, -120),

    directionTextPosition: new createjs.Point(0, 0),
  };
}

function UAP0990D(selectedFromMenu) {
  selectedFromMenu = selectedFromMenu || false;

  return {
    isoMountPoint: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    isoConnectorPoint: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    isoRotationOffsets: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    isoSpriteSheet: new createjs.SpriteSheet({
      images: ["assets/spritesheets/UCB30246.PNG"],

      frames: { width: 103, height: 145 },

      animations: {},
    }),

    isoSpriteCenter: new createjs.Point(51, 72),

    altSkus: false,

    length: 9,

    width: 36,

    legsNeeded: true,

    isoFrameOffset: 0,

    isoChildFrameOffset: 0,

    description: "9-Step 90\xB0 Ladder",

    name: "9-Step \n90\xB0 Ladder (Down)",

    sprite: "assets/spritesheets/UAP0290D.png",

    sku: "UAP0990",

    gsku: "29RJ18",

    connectableParts: [],

    zOrderMod: [0, 0, 0, 0],

    iZOrderMod: [0, 0, 0, 0],

    forceDrawLast: false,

    forceDrawLastFrame: 0,

    rails: false,

    ladder: true,

    stackable: false,

    heightMod: -90,

    attachmentSlots: 0,

    attachmentPoints: [
      new createjs.Point(0, -293),
      new createjs.Point(-293, 0),
      new createjs.Point(293, 0),
      new createjs.Point(0, 293),
    ],

    anchorPoint: new createjs.Point(0, 293),

    spriteAnchor: new createjs.Point(146, 293),

    spriteAnchorOffset: new createjs.Point(0, 0),

    bitmapCenter: new createjs.Point(146, 146),

    gridSize: new createjs.Point(1, 1),

    attachmentCoordinates: [
      new createjs.Point(0, -1),
      new createjs.Point(-1, 0),
      new createjs.Point(1, 0),
      new createjs.Point(0, 1),
    ],

    renderPriority: 0,

    spriteDoesntRotate: false,

    overrideButtonScaling: false,

    buttonScale: 0.5,

    startTextPosition: new createjs.Point(0, 75),

    endTextPosition: new createjs.Point(0, -120),

    directionTextPosition: new createjs.Point(0, 0),
  };
}

function UAP1050U(selectedFromMenu) {
  selectedFromMenu = selectedFromMenu || false;

  return {
    isoMountPoint: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    isoConnectorPoint: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    isoRotationOffsets: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    isoSpriteSheet: new createjs.SpriteSheet({
      images: ["assets/spritesheets/UCB30246.PNG"],

      frames: { width: 103, height: 145 },

      animations: {},
    }),

    isoSpriteCenter: new createjs.Point(51, 72),

    altSkus: false,

    length: 86,

    width: 36,

    legsNeeded: true,

    isoFrameOffset: 0,

    isoChildFrameOffset: 0,

    description: "10-Step 50\xB0 Ladder",

    name: "10-Step \n50\xB0 Ladder (Up)",

    sprite: "assets/spritesheets/UAP1050U.png",

    sku: "UAP1050",

    gsku: "29RJ18",

    connectableParts: ["UAP3636"],

    zOrderMod: [0, 0, 0, 0],

    iZOrderMod: [0, 0, 0, 0],

    forceDrawLast: false,

    forceDrawLastFrame: 0,

    rails: false,

    ladder: true,

    stackable: true,

    heightMod: 100,

    attachmentSlots: 4,

    attachmentPoints: [
      new createjs.Point(0, -586),
      new createjs.Point(-586, 0),
      new createjs.Point(586, 0),
      new createjs.Point(0, 586),
    ],

    anchorPoint: new createjs.Point(0, 879),

    spriteAnchor: new createjs.Point(146, 879),

    spriteAnchorOffset: new createjs.Point(0, -293),

    bitmapCenter: new createjs.Point(146, 440),

    gridSize: new createjs.Point(1, 3),

    attachmentCoordinates: [
      new createjs.Point(0, -3),
      new createjs.Point(-3, 0),
      new createjs.Point(3, 0),
      new createjs.Point(0, 3),
    ],

    renderPriority: 0,

    spriteDoesntRotate: false,

    overrideButtonScaling: false,

    buttonScale: 0.5,

    startTextPosition: new createjs.Point(0, 75),

    endTextPosition: new createjs.Point(0, -120),

    directionTextPosition: new createjs.Point(0, 0),
  };
}

function UAP1050D(selectedFromMenu) {
  selectedFromMenu = selectedFromMenu || false;

  return {
    isoMountPoint: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    isoConnectorPoint: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    isoRotationOffsets: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    isoSpriteSheet: new createjs.SpriteSheet({
      images: ["assets/spritesheets/UCB30246.PNG"],

      frames: { width: 103, height: 145 },

      animations: {},
    }),

    isoSpriteCenter: new createjs.Point(51, 72),

    altSkus: false,

    length: 86,

    width: 36,

    legsNeeded: true,

    isoFrameOffset: 0,

    isoChildFrameOffset: 0,

    description: "10-Step 50\xB0 Ladder",

    name: "10-Step \n50\xB0 Ladder (Down)",

    sprite: "assets/spritesheets/UAP1050D.png",

    sku: "UAP1050",

    gsku: "29RJ18",

    connectableParts: ["UAP3636"],

    zOrderMod: [0, 0, 0, 0],

    iZOrderMod: [0, 0, 0, 0],

    forceDrawLast: false,

    forceDrawLastFrame: 0,

    rails: false,

    ladder: true,

    stackable: true,

    heightMod: -100,

    attachmentSlots: 4,

    attachmentPoints: [
      new createjs.Point(0, -586),
      new createjs.Point(-586, 0),
      new createjs.Point(586, 0),
      new createjs.Point(0, 586),
    ],

    anchorPoint: new createjs.Point(0, 879),

    spriteAnchor: new createjs.Point(146, 879),

    spriteAnchorOffset: new createjs.Point(0, -293),

    bitmapCenter: new createjs.Point(146, 440),

    gridSize: new createjs.Point(1, 3),

    attachmentCoordinates: [
      new createjs.Point(0, -3),
      new createjs.Point(-3, 0),
      new createjs.Point(3, 0),
      new createjs.Point(0, 3),
    ],

    renderPriority: 0,

    spriteDoesntRotate: false,

    overrideButtonScaling: false,

    buttonScale: 0.5,

    startTextPosition: new createjs.Point(0, 75),

    endTextPosition: new createjs.Point(0, -120),

    directionTextPosition: new createjs.Point(0, 0),
  };
}

function UAP1090U(selectedFromMenu) {
  selectedFromMenu = selectedFromMenu || false;

  return {
    isoMountPoint: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    isoConnectorPoint: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    isoRotationOffsets: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    isoSpriteSheet: new createjs.SpriteSheet({
      images: ["assets/spritesheets/UCB30246.PNG"],

      frames: { width: 103, height: 145 },

      animations: {},
    }),

    isoSpriteCenter: new createjs.Point(51, 72),

    altSkus: false,

    length: 9,

    width: 36,

    legsNeeded: true,

    isoFrameOffset: 0,

    isoChildFrameOffset: 0,

    description: "10-Step 90\xB0 Ladder",

    name: "10-Step \n90\xB0 Ladder (Up)",

    sprite: "assets/spritesheets/UAP0290U.png",

    sku: "UAP1090",

    gsku: "29RJ18",

    connectableParts: ["UAP3636"],

    zOrderMod: [0, 0, 0, 0],

    iZOrderMod: [0, 0, 0, 0],

    forceDrawLast: false,

    forceDrawLastFrame: 0,

    rails: false,

    ladder: true,

    stackable: false,

    heightMod: 100,

    attachmentSlots: 4,

    attachmentPoints: [
      new createjs.Point(0, -293),
      new createjs.Point(-293, 0),
      new createjs.Point(293, 0),
      new createjs.Point(0, 293),
    ],

    anchorPoint: new createjs.Point(0, 293),

    spriteAnchor: new createjs.Point(146, 293),

    spriteAnchorOffset: new createjs.Point(0, 0),

    bitmapCenter: new createjs.Point(146, 146),

    gridSize: new createjs.Point(1, 1),

    attachmentCoordinates: [
      new createjs.Point(0, -1),
      new createjs.Point(-1, 0),
      new createjs.Point(1, 0),
      new createjs.Point(0, 1),
    ],

    renderPriority: 0,

    spriteDoesntRotate: false,

    overrideButtonScaling: false,

    buttonScale: 0.5,

    startTextPosition: new createjs.Point(0, 75),

    endTextPosition: new createjs.Point(0, -120),

    directionTextPosition: new createjs.Point(0, 0),
  };
}

function UAP1090D(selectedFromMenu) {
  selectedFromMenu = selectedFromMenu || false;

  return {
    isoMountPoint: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    isoConnectorPoint: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    isoRotationOffsets: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    isoSpriteSheet: new createjs.SpriteSheet({
      images: ["assets/spritesheets/UCB30246.PNG"],

      frames: { width: 103, height: 145 },

      animations: {},
    }),

    isoSpriteCenter: new createjs.Point(51, 72),

    altSkus: false,

    length: 9,

    width: 36,

    legsNeeded: true,

    isoFrameOffset: 0,

    isoChildFrameOffset: 0,

    description: "10-Step 90\xB0 Ladder",

    name: "10-Step \n90\xB0 Ladder (Down)",

    sprite: "assets/spritesheets/UAP0290D.png",

    sku: "UAP1090",

    gsku: "29RJ18",

    connectableParts: [],

    zOrderMod: [0, 0, 0, 0],

    iZOrderMod: [0, 0, 0, 0],

    forceDrawLast: false,

    forceDrawLastFrame: 0,

    rails: false,

    ladder: true,

    stackable: false,

    heightMod: -100,

    attachmentSlots: 0,

    attachmentPoints: [
      new createjs.Point(0, -293),
      new createjs.Point(-293, 0),
      new createjs.Point(293, 0),
      new createjs.Point(0, 293),
    ],

    anchorPoint: new createjs.Point(0, 293),

    spriteAnchor: new createjs.Point(146, 293),

    spriteAnchorOffset: new createjs.Point(0, 0),

    bitmapCenter: new createjs.Point(146, 146),

    gridSize: new createjs.Point(1, 1),

    attachmentCoordinates: [
      new createjs.Point(0, -1),
      new createjs.Point(-1, 0),
      new createjs.Point(1, 0),
      new createjs.Point(0, 1),
    ],

    renderPriority: 0,

    spriteDoesntRotate: false,

    overrideButtonScaling: false,

    buttonScale: 0.5,

    startTextPosition: new createjs.Point(0, 75),

    endTextPosition: new createjs.Point(0, -120),

    directionTextPosition: new createjs.Point(0, 0),
  };
}

function UAP1150U(selectedFromMenu) {
  selectedFromMenu = selectedFromMenu || false;

  return {
    isoMountPoint: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    isoConnectorPoint: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    isoRotationOffsets: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    isoSpriteSheet: new createjs.SpriteSheet({
      images: ["assets/spritesheets/UCB30246.PNG"],

      frames: { width: 103, height: 145 },

      animations: {},
    }),

    isoSpriteCenter: new createjs.Point(51, 72),

    altSkus: false,

    length: 95,

    width: 36,

    legsNeeded: true,

    isoFrameOffset: 0,

    isoChildFrameOffset: 0,

    description: "11-Step 50\xB0 Ladder",

    name: "11-Step \n50\xB0 Ladder (Up)",

    sprite: "assets/spritesheets/UAP1150U.png",

    sku: "UAP1150",

    gsku: "29RJ18",

    connectableParts: ["UAP3636"],

    zOrderMod: [0, 0, 0, 0],

    iZOrderMod: [0, 0, 0, 0],

    forceDrawLast: false,

    forceDrawLastFrame: 0,

    rails: false,

    ladder: true,

    stackable: true,

    heightMod: 110,

    attachmentSlots: 4,

    attachmentPoints: [
      new createjs.Point(0, -586),
      new createjs.Point(-586, 0),
      new createjs.Point(586, 0),
      new createjs.Point(0, 586),
    ],

    anchorPoint: new createjs.Point(0, 879),

    spriteAnchor: new createjs.Point(146, 879),

    spriteAnchorOffset: new createjs.Point(0, -293),

    bitmapCenter: new createjs.Point(146, 440),

    gridSize: new createjs.Point(1, 3),

    attachmentCoordinates: [
      new createjs.Point(0, -3),
      new createjs.Point(-3, 0),
      new createjs.Point(3, 0),
      new createjs.Point(0, 3),
    ],

    renderPriority: 0,

    spriteDoesntRotate: false,

    overrideButtonScaling: false,

    buttonScale: 0.5,

    startTextPosition: new createjs.Point(0, 75),

    endTextPosition: new createjs.Point(0, -120),

    directionTextPosition: new createjs.Point(0, 0),
  };
}

function UAP1150D(selectedFromMenu) {
  selectedFromMenu = selectedFromMenu || false;

  return {
    isoMountPoint: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    isoConnectorPoint: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    isoRotationOffsets: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    isoSpriteSheet: new createjs.SpriteSheet({
      images: ["assets/spritesheets/UCB30246.PNG"],

      frames: { width: 103, height: 145 },

      animations: {},
    }),

    isoSpriteCenter: new createjs.Point(51, 72),

    altSkus: false,

    length: 95,

    width: 36,

    legsNeeded: true,

    isoFrameOffset: 0,

    isoChildFrameOffset: 0,

    description: "11-Step 50\xB0 Ladder",

    name: "11-Step \n50\xB0 Ladder (Down)",

    sprite: "assets/spritesheets/UAP1150D.png",

    sku: "UAP1150",

    gsku: "29RJ18",

    connectableParts: ["UAP3636"],

    zOrderMod: [0, 0, 0, 0],

    iZOrderMod: [0, 0, 0, 0],

    forceDrawLast: false,

    forceDrawLastFrame: 0,

    rails: false,

    ladder: true,

    stackable: true,

    heightMod: -110,

    attachmentSlots: 4,

    attachmentPoints: [
      new createjs.Point(0, -586),
      new createjs.Point(-586, 0),
      new createjs.Point(586, 0),
      new createjs.Point(0, 586),
    ],

    anchorPoint: new createjs.Point(0, 879),

    spriteAnchor: new createjs.Point(146, 879),

    spriteAnchorOffset: new createjs.Point(0, -293),

    bitmapCenter: new createjs.Point(146, 440),

    gridSize: new createjs.Point(1, 3),

    attachmentCoordinates: [
      new createjs.Point(0, -3),
      new createjs.Point(-3, 0),
      new createjs.Point(3, 0),
      new createjs.Point(0, 3),
    ],

    renderPriority: 0,

    spriteDoesntRotate: false,

    overrideButtonScaling: false,

    buttonScale: 0.5,

    startTextPosition: new createjs.Point(0, 75),

    endTextPosition: new createjs.Point(0, -120),

    directionTextPosition: new createjs.Point(0, 0),
  };
}

function UAP1190U(selectedFromMenu) {
  selectedFromMenu = selectedFromMenu || false;

  return {
    isoMountPoint: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    isoConnectorPoint: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    isoRotationOffsets: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    isoSpriteSheet: new createjs.SpriteSheet({
      images: ["assets/spritesheets/UCB30246.PNG"],

      frames: { width: 103, height: 145 },

      animations: {},
    }),

    isoSpriteCenter: new createjs.Point(51, 72),

    altSkus: false,

    length: 9,

    width: 36,

    legsNeeded: true,

    isoFrameOffset: 0,

    isoChildFrameOffset: 0,

    description: "11-Step 90\xB0 Ladder",

    name: "11-Step \n90\xB0 Ladder (Up)",

    sprite: "assets/spritesheets/UAP0290U.png",

    sku: "UAP1190",

    gsku: "29RJ18",

    connectableParts: ["UAP3636"],

    zOrderMod: [0, 0, 0, 0],

    iZOrderMod: [0, 0, 0, 0],

    forceDrawLast: false,

    forceDrawLastFrame: 0,

    rails: false,

    ladder: true,

    stackable: false,

    heightMod: 110,

    attachmentSlots: 4,

    attachmentPoints: [
      new createjs.Point(0, -293),
      new createjs.Point(-293, 0),
      new createjs.Point(293, 0),
      new createjs.Point(0, 293),
    ],

    anchorPoint: new createjs.Point(0, 293),

    spriteAnchor: new createjs.Point(146, 293),

    spriteAnchorOffset: new createjs.Point(0, 0),

    bitmapCenter: new createjs.Point(146, 146),

    gridSize: new createjs.Point(1, 1),

    attachmentCoordinates: [
      new createjs.Point(0, -1),
      new createjs.Point(-1, 0),
      new createjs.Point(1, 0),
      new createjs.Point(0, 1),
    ],

    renderPriority: 0,

    spriteDoesntRotate: false,

    overrideButtonScaling: false,

    buttonScale: 0.5,

    startTextPosition: new createjs.Point(0, 75),

    endTextPosition: new createjs.Point(0, -120),

    directionTextPosition: new createjs.Point(0, 0),
  };
}

function UAP1190D(selectedFromMenu) {
  selectedFromMenu = selectedFromMenu || false;

  return {
    isoMountPoint: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    isoConnectorPoint: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    isoRotationOffsets: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    isoSpriteSheet: new createjs.SpriteSheet({
      images: ["assets/spritesheets/UCB30246.PNG"],

      frames: { width: 103, height: 145 },

      animations: {},
    }),

    isoSpriteCenter: new createjs.Point(51, 72),

    altSkus: false,

    length: 9,

    width: 36,

    legsNeeded: true,

    isoFrameOffset: 0,

    isoChildFrameOffset: 0,

    description: "11-Step 90\xB0 Ladder",

    name: "11-Step \n90\xB0 Ladder (Down)",

    sprite: "assets/spritesheets/UAP0290D.png",

    sku: "UAP1190",

    gsku: "29RJ18",

    connectableParts: [],

    zOrderMod: [0, 0, 0, 0],

    iZOrderMod: [0, 0, 0, 0],

    forceDrawLast: false,

    forceDrawLastFrame: 0,

    rails: false,

    ladder: true,

    stackable: false,

    heightMod: -110,

    attachmentSlots: 0,

    attachmentPoints: [
      new createjs.Point(0, -293),
      new createjs.Point(-293, 0),
      new createjs.Point(293, 0),
      new createjs.Point(0, 293),
    ],

    anchorPoint: new createjs.Point(0, 293),

    spriteAnchor: new createjs.Point(146, 293),

    spriteAnchorOffset: new createjs.Point(0, 0),

    bitmapCenter: new createjs.Point(146, 146),

    gridSize: new createjs.Point(1, 1),

    attachmentCoordinates: [
      new createjs.Point(0, -1),
      new createjs.Point(-1, 0),
      new createjs.Point(1, 0),
      new createjs.Point(0, 1),
    ],

    renderPriority: 0,

    spriteDoesntRotate: false,

    overrideButtonScaling: false,

    buttonScale: 0.5,

    startTextPosition: new createjs.Point(0, 75),

    endTextPosition: new createjs.Point(0, -120),

    directionTextPosition: new createjs.Point(0, 0),
  };
}

function UAP020(selectedFromMenu) {
  selectedFromMenu = selectedFromMenu || false;

  return {
    isoMountPoint: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    isoConnectorPoint: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    isoRotationOffsets: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    isoSpriteSheet: new createjs.SpriteSheet({
      images: ["assets/spritesheets/UCB30246.PNG"],

      frames: { width: 103, height: 145 },

      animations: {},
    }),

    isoSpriteCenter: new createjs.Point(51, 72),

    altSkus: false,

    length: 36,

    width: 36,

    legsNeeded: true,

    isoFrameOffset: 0,

    isoChildFrameOffset: 0,

    description: '20" Leg Kit',

    name: '20" Leg Kit',

    sprite: "assets/spritesheets/UAP020.png",

    sku: "UAP020",

    gsku: "29RJ18",

    connectableParts: [],

    zOrderMod: [0, 0, 0, 0],

    iZOrderMod: [0, 0, 0, 0],

    forceDrawLast: false,

    forceDrawLastFrame: 0,

    rails: false,

    ladder: false,

    stackable: false,

    heightMod: 0,

    attachmentSlots: 0,

    attachmentPoints: [new createjs.Point(0, -220)],

    anchorPoint: new createjs.Point(0, 293),

    spriteAnchor: new createjs.Point(146, 293),

    spriteAnchorOffset: new createjs.Point(0, 0),

    bitmapCenter: new createjs.Point(138, 74),

    gridSize: new createjs.Point(1, 1),

    attachmentCoordinates: [
      new createjs.Point(0, -1),
      new createjs.Point(-1, 0),
      new createjs.Point(1, 0),
    ],

    renderPriority: -1,

    spriteDoesntRotate: true,

    hiddenSprite: true,

    legs: true,
  };
}

function UAP030(selectedFromMenu) {
  selectedFromMenu = selectedFromMenu || false;

  return {
    isoMountPoint: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    isoConnectorPoint: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    isoRotationOffsets: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    isoSpriteSheet: new createjs.SpriteSheet({
      images: ["assets/spritesheets/UCB30246.PNG"],

      frames: { width: 103, height: 145 },

      animations: {},
    }),

    isoSpriteCenter: new createjs.Point(51, 72),

    altSkus: false,

    length: 36,

    width: 36,

    legsNeeded: true,

    isoFrameOffset: 0,

    isoChildFrameOffset: 0,

    description: '30" Leg Kit',

    name: '30" Leg Kit',

    sprite: "assets/spritesheets/UAP020.png",

    sku: "UAP030",

    gsku: "29RJ18",

    connectableParts: [],

    zOrderMod: [0, 0, 0, 0],

    iZOrderMod: [0, 0, 0, 0],

    forceDrawLast: false,

    forceDrawLastFrame: 0,

    rails: false,

    ladder: false,

    stackable: false,

    heightMod: 0,

    attachmentSlots: 0,

    attachmentPoints: [new createjs.Point(0, -220)],

    anchorPoint: new createjs.Point(0, 293),

    spriteAnchor: new createjs.Point(146, 293),

    spriteAnchorOffset: new createjs.Point(0, 0),

    bitmapCenter: new createjs.Point(138, 74),

    gridSize: new createjs.Point(1, 1),

    attachmentCoordinates: [
      new createjs.Point(0, -1),
      new createjs.Point(-1, 0),
      new createjs.Point(1, 0),
    ],

    renderPriority: -1,

    spriteDoesntRotate: true,

    hiddenSprite: true,

    legs: true,
  };
}

function UAP040(selectedFromMenu) {
  selectedFromMenu = selectedFromMenu || false;

  return {
    isoMountPoint: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    isoConnectorPoint: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    isoRotationOffsets: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    isoSpriteSheet: new createjs.SpriteSheet({
      images: ["assets/spritesheets/UCB30246.PNG"],

      frames: { width: 103, height: 145 },

      animations: {},
    }),

    isoSpriteCenter: new createjs.Point(51, 72),

    altSkus: false,

    length: 36,

    width: 36,

    legsNeeded: true,

    isoFrameOffset: 0,

    isoChildFrameOffset: 0,

    description: '40" Leg Kit',

    name: '40" Leg Kit',

    sprite: "assets/spritesheets/UAP020.png",

    sku: "UAP040",

    gsku: "29RJ18",

    connectableParts: [],

    zOrderMod: [0, 0, 0, 0],

    iZOrderMod: [0, 0, 0, 0],

    forceDrawLast: false,

    forceDrawLastFrame: 0,

    rails: false,

    ladder: false,

    stackable: false,

    heightMod: 0,

    attachmentSlots: 0,

    attachmentPoints: [new createjs.Point(0, -220)],

    anchorPoint: new createjs.Point(0, 293),

    spriteAnchor: new createjs.Point(146, 293),

    spriteAnchorOffset: new createjs.Point(0, 0),

    bitmapCenter: new createjs.Point(138, 74),

    gridSize: new createjs.Point(1, 1),

    attachmentCoordinates: [
      new createjs.Point(0, -1),
      new createjs.Point(-1, 0),
      new createjs.Point(1, 0),
    ],

    renderPriority: -1,

    spriteDoesntRotate: true,

    hiddenSprite: true,

    legs: true,
  };
}

function UAP050(selectedFromMenu) {
  selectedFromMenu = selectedFromMenu || false;

  return {
    isoMountPoint: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    isoConnectorPoint: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    isoRotationOffsets: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    isoSpriteSheet: new createjs.SpriteSheet({
      images: ["assets/spritesheets/UCB30246.PNG"],

      frames: { width: 103, height: 145 },

      animations: {},
    }),

    isoSpriteCenter: new createjs.Point(51, 72),

    altSkus: false,

    length: 36,

    width: 36,

    legsNeeded: true,

    isoFrameOffset: 0,

    isoChildFrameOffset: 0,

    description: '50" Leg Kit',

    name: '50" Leg Kit',

    sprite: "assets/spritesheets/UAP020.png",

    sku: "UAP050",

    gsku: "29RJ18",

    connectableParts: [],

    zOrderMod: [0, 0, 0, 0],

    iZOrderMod: [0, 0, 0, 0],

    forceDrawLast: false,

    forceDrawLastFrame: 0,

    rails: false,

    ladder: false,

    stackable: false,

    heightMod: 0,

    attachmentSlots: 0,

    attachmentPoints: [new createjs.Point(0, -220)],

    anchorPoint: new createjs.Point(0, 293),

    spriteAnchor: new createjs.Point(146, 293),

    spriteAnchorOffset: new createjs.Point(0, 0),

    bitmapCenter: new createjs.Point(138, 74),

    gridSize: new createjs.Point(1, 1),

    attachmentCoordinates: [
      new createjs.Point(0, -1),
      new createjs.Point(-1, 0),
      new createjs.Point(1, 0),
    ],

    renderPriority: -1,

    spriteDoesntRotate: true,

    hiddenSprite: true,

    legs: true,
  };
}

function UAP060(selectedFromMenu) {
  selectedFromMenu = selectedFromMenu || false;

  return {
    isoMountPoint: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    isoConnectorPoint: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    isoRotationOffsets: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    isoSpriteSheet: new createjs.SpriteSheet({
      images: ["assets/spritesheets/UCB30246.PNG"],

      frames: { width: 103, height: 145 },

      animations: {},
    }),

    isoSpriteCenter: new createjs.Point(51, 72),

    altSkus: false,

    length: 36,

    width: 36,

    legsNeeded: true,

    isoFrameOffset: 0,

    isoChildFrameOffset: 0,

    description: '60" Leg Kit',

    name: '60" Leg Kit',

    sprite: "assets/spritesheets/UAP020.png",

    sku: "UAP060",

    gsku: "29RJ18",

    connectableParts: [],

    zOrderMod: [0, 0, 0, 0],

    iZOrderMod: [0, 0, 0, 0],

    forceDrawLast: false,

    forceDrawLastFrame: 0,

    rails: false,

    ladder: false,

    stackable: false,

    heightMod: 0,

    attachmentSlots: 0,

    attachmentPoints: [new createjs.Point(0, -220)],

    anchorPoint: new createjs.Point(0, 293),

    spriteAnchor: new createjs.Point(146, 293),

    spriteAnchorOffset: new createjs.Point(0, 0),

    bitmapCenter: new createjs.Point(138, 74),

    gridSize: new createjs.Point(1, 1),

    attachmentCoordinates: [
      new createjs.Point(0, -1),
      new createjs.Point(-1, 0),
      new createjs.Point(1, 0),
    ],

    renderPriority: -1,

    spriteDoesntRotate: true,

    hiddenSprite: true,

    legs: true,
  };
}

function UAP070(selectedFromMenu) {
  selectedFromMenu = selectedFromMenu || false;

  return {
    isoMountPoint: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    isoConnectorPoint: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    isoRotationOffsets: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    isoSpriteSheet: new createjs.SpriteSheet({
      images: ["assets/spritesheets/UCB30246.PNG"],

      frames: { width: 103, height: 145 },

      animations: {},
    }),

    isoSpriteCenter: new createjs.Point(51, 72),

    altSkus: false,

    length: 36,

    width: 36,

    legsNeeded: true,

    isoFrameOffset: 0,

    isoChildFrameOffset: 0,

    description: '70" Leg Kit',

    name: '70" Leg Kit',

    sprite: "assets/spritesheets/UAP020.png",

    sku: "UAP070",

    gsku: "29RJ18",

    connectableParts: [],

    zOrderMod: [0, 0, 0, 0],

    iZOrderMod: [0, 0, 0, 0],

    forceDrawLast: false,

    forceDrawLastFrame: 0,

    rails: false,

    ladder: false,

    stackable: false,

    heightMod: 0,

    attachmentSlots: 0,

    attachmentPoints: [new createjs.Point(0, -220)],

    anchorPoint: new createjs.Point(0, 293),

    spriteAnchor: new createjs.Point(146, 293),

    spriteAnchorOffset: new createjs.Point(0, 0),

    bitmapCenter: new createjs.Point(138, 74),

    gridSize: new createjs.Point(1, 1),

    attachmentCoordinates: [
      new createjs.Point(0, -1),
      new createjs.Point(-1, 0),
      new createjs.Point(1, 0),
    ],

    renderPriority: -1,

    spriteDoesntRotate: true,

    hiddenSprite: true,

    legs: true,
  };
}

function UAP080(selectedFromMenu) {
  selectedFromMenu = selectedFromMenu || false;

  return {
    isoMountPoint: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    isoConnectorPoint: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    isoRotationOffsets: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    isoSpriteSheet: new createjs.SpriteSheet({
      images: ["assets/spritesheets/UCB30246.PNG"],

      frames: { width: 103, height: 145 },

      animations: {},
    }),

    isoSpriteCenter: new createjs.Point(51, 72),

    altSkus: false,

    length: 36,

    width: 36,

    legsNeeded: true,

    isoFrameOffset: 0,

    isoChildFrameOffset: 0,

    description: '80" Leg Kit',

    name: '80" Leg Kit',

    sprite: "assets/spritesheets/UAP020.png",

    sku: "UAP080",

    gsku: "29RJ18",

    connectableParts: [],

    zOrderMod: [0, 0, 0, 0],

    iZOrderMod: [0, 0, 0, 0],

    forceDrawLast: false,

    forceDrawLastFrame: 0,

    rails: false,

    ladder: false,

    stackable: false,

    heightMod: 0,

    attachmentSlots: 0,

    attachmentPoints: [new createjs.Point(0, -220)],

    anchorPoint: new createjs.Point(0, 293),

    spriteAnchor: new createjs.Point(146, 293),

    spriteAnchorOffset: new createjs.Point(0, 0),

    bitmapCenter: new createjs.Point(138, 74),

    gridSize: new createjs.Point(1, 1),

    attachmentCoordinates: [
      new createjs.Point(0, -1),
      new createjs.Point(-1, 0),
      new createjs.Point(1, 0),
    ],

    renderPriority: -1,

    spriteDoesntRotate: true,

    hiddenSprite: true,

    legs: true,
  };
}

function UAP090(selectedFromMenu) {
  selectedFromMenu = selectedFromMenu || false;

  return {
    isoMountPoint: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    isoConnectorPoint: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    isoRotationOffsets: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    isoSpriteSheet: new createjs.SpriteSheet({
      images: ["assets/spritesheets/UCB30246.PNG"],

      frames: { width: 103, height: 145 },

      animations: {},
    }),

    isoSpriteCenter: new createjs.Point(51, 72),

    altSkus: false,

    length: 36,

    width: 36,

    legsNeeded: true,

    isoFrameOffset: 0,

    isoChildFrameOffset: 0,

    description: '90" Leg Kit',

    name: '90" Leg Kit',

    sprite: "assets/spritesheets/UAP020.png",

    sku: "UAP090",

    gsku: "29RJ18",

    connectableParts: [],

    zOrderMod: [0, 0, 0, 0],

    iZOrderMod: [0, 0, 0, 0],

    forceDrawLast: false,

    forceDrawLastFrame: 0,

    rails: false,

    ladder: false,

    stackable: false,

    heightMod: 0,

    attachmentSlots: 0,

    attachmentPoints: [new createjs.Point(0, -220)],

    anchorPoint: new createjs.Point(0, 293),

    spriteAnchor: new createjs.Point(146, 293),

    spriteAnchorOffset: new createjs.Point(0, 0),

    bitmapCenter: new createjs.Point(138, 74),

    gridSize: new createjs.Point(1, 1),

    attachmentCoordinates: [
      new createjs.Point(0, -1),
      new createjs.Point(-1, 0),
      new createjs.Point(1, 0),
    ],

    renderPriority: -1,

    spriteDoesntRotate: true,

    hiddenSprite: true,

    legs: true,
  };
}

function UAP100(selectedFromMenu) {
  selectedFromMenu = selectedFromMenu || false;

  return {
    isoMountPoint: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    isoConnectorPoint: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    isoRotationOffsets: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    isoSpriteSheet: new createjs.SpriteSheet({
      images: ["assets/spritesheets/UCB30246.PNG"],

      frames: { width: 103, height: 145 },

      animations: {},
    }),

    isoSpriteCenter: new createjs.Point(51, 72),

    altSkus: false,

    length: 36,

    width: 36,

    legsNeeded: true,

    isoFrameOffset: 0,

    isoChildFrameOffset: 0,

    description: '100" Leg Kit',

    name: '100" Leg Kit',

    sprite: "assets/spritesheets/UAP020.png",

    sku: "UAP100",

    gsku: "29RJ18",

    connectableParts: [],

    zOrderMod: [0, 0, 0, 0],

    iZOrderMod: [0, 0, 0, 0],

    forceDrawLast: false,

    forceDrawLastFrame: 0,

    rails: false,

    ladder: false,

    stackable: false,

    heightMod: 0,

    attachmentSlots: 0,

    attachmentPoints: [new createjs.Point(0, -220)],

    anchorPoint: new createjs.Point(0, 293),

    spriteAnchor: new createjs.Point(146, 293),

    spriteAnchorOffset: new createjs.Point(0, 0),

    bitmapCenter: new createjs.Point(138, 74),

    gridSize: new createjs.Point(1, 1),

    attachmentCoordinates: [
      new createjs.Point(0, -1),
      new createjs.Point(-1, 0),
      new createjs.Point(1, 0),
    ],

    renderPriority: -1,

    spriteDoesntRotate: true,

    hiddenSprite: true,

    legs: true,
  };
}

function UAP110(selectedFromMenu) {
  selectedFromMenu = selectedFromMenu || false;

  return {
    isoMountPoint: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    isoConnectorPoint: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    isoRotationOffsets: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    isoSpriteSheet: new createjs.SpriteSheet({
      images: ["assets/spritesheets/UCB30246.PNG"],

      frames: { width: 103, height: 145 },

      animations: {},
    }),

    isoSpriteCenter: new createjs.Point(51, 72),

    altSkus: false,

    length: 36,

    width: 36,

    legsNeeded: true,

    isoFrameOffset: 0,

    isoChildFrameOffset: 0,

    description: '110" Leg Kit',

    name: '110" Leg Kit',

    sprite: "assets/spritesheets/UAP020.png",

    sku: "UAP110",

    gsku: "29RJ18",

    connectableParts: [],

    zOrderMod: [0, 0, 0, 0],

    iZOrderMod: [0, 0, 0, 0],

    forceDrawLast: false,

    forceDrawLastFrame: 0,

    rails: false,

    ladder: false,

    stackable: false,

    heightMod: 0,

    attachmentSlots: 0,

    attachmentPoints: [new createjs.Point(0, -220)],

    anchorPoint: new createjs.Point(0, 293),

    spriteAnchor: new createjs.Point(146, 293),

    spriteAnchorOffset: new createjs.Point(0, 0),

    bitmapCenter: new createjs.Point(138, 74),

    gridSize: new createjs.Point(1, 1),

    attachmentCoordinates: [
      new createjs.Point(0, -1),
      new createjs.Point(-1, 0),
      new createjs.Point(1, 0),
    ],

    renderPriority: -1,

    spriteDoesntRotate: true,

    hiddenSprite: true,

    legs: true,
  };
}

function UAPHR1(selectedFromMenu) {
  selectedFromMenu = selectedFromMenu || false;

  return {
    isoMountPoint: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    isoConnectorPoint: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    isoRotationOffsets: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    isoSpriteSheet: new createjs.SpriteSheet({
      images: ["assets/spritesheets/UCB30246.PNG"],

      frames: { width: 103, height: 145 },

      animations: {},
    }),

    isoSpriteCenter: new createjs.Point(51, 72),

    altSkus: false,

    length: 36,

    width: 36,

    legsNeeded: false,

    isoFrameOffset: 0,

    isoChildFrameOffset: 0,

    description: "Rail Kit",

    name: "Rail Kit",

    sprite: "assets/spritesheets/UAPHR1.png",

    sku: "UAPHR1",

    gsku: "29RJ18",

    connectableParts: ["UAPHR1"],

    zOrderMod: [0, 0, 0, 0],

    iZOrderMod: [0, 0, 0, 0],

    forceDrawLast: false,

    forceDrawLastFrame: 0,

    rails: true,

    ladder: false,

    stackable: true,

    heightMod: 0,

    attachmentSlots: 0,

    attachmentPoints: [
      new createjs.Point(0, -293),
      new createjs.Point(-293, 0),
      new createjs.Point(293, 0),
      new createjs.Point(0, 293),
    ],

    anchorPoint: new createjs.Point(0, 293),

    spriteAnchor: new createjs.Point(142, 8),

    spriteAnchorOffset: new createjs.Point(0, 148),

    bitmapCenter: new createjs.Point(142, 8),

    gridSize: new createjs.Point(0, 1),

    attachmentCoordinates: [
      new createjs.Point(0, -1),
      new createjs.Point(-1, 0),
      new createjs.Point(1, 0),
      new createjs.Point(0, 1),
    ],

    renderPriority: 1,

    spriteDoesntRotate: false,

    overrideButtonScaling: false,

    buttonScale: 0.5,

    startTextPosition: new createjs.Point(0, 75),

    endTextPosition: new createjs.Point(0, -120),
  };
}

// SELECTORS **************************************************************************************************************************************************

function RT_LEFTTURN(selectedFromMenu) {
  switch (height) {
    case 20:
      return URTTP20L(selectedFromMenu);

    case 30:
      return URTTP30L(selectedFromMenu);

    case 40:
      return URTTP40L(selectedFromMenu);

    case 50:
      return URTTP50L(selectedFromMenu);

    case 60:
      return URTTP60L(selectedFromMenu);

    default:
      return;
  }
}

function RT_RIGHTTURN(selectedFromMenu) {
  switch (height) {
    case 20:
      return URTTP20R(selectedFromMenu);

    case 30:
      return URTTP30R(selectedFromMenu);

    case 40:
      return URTTP40R(selectedFromMenu);

    case 50:
      return URTTP50R(selectedFromMenu);

    case 60:
      return URTTP60R(selectedFromMenu);

    default:
      return;
  }
}

function CO_LEFTTURN(selectedFromMenu) {
  switch (height) {
    case 30:
      return UCT03246L(selectedFromMenu);

    case 40:
      return UCT04246L(selectedFromMenu);

    case 50:
      return UCT05246L(selectedFromMenu);

    case 60:
      return UCT06246L(selectedFromMenu);

    case 70:
      return UCT07246L(selectedFromMenu);

    case 80:
      return UCT08246L(selectedFromMenu);

    case 90:
      return UCT09246L(selectedFromMenu);

    default:
      return UCT03246L(selectedFromMenu);
  }
}

function CO_RIGHTTURN(selectedFromMenu) {
  switch (height) {
    case 30:
      return UCT03246R(selectedFromMenu);

    case 40:
      return UCT04246R(selectedFromMenu);

    case 50:
      return UCT05246R(selectedFromMenu);

    case 60:
      return UCT06246R(selectedFromMenu);

    case 70:
      return UCT07246R(selectedFromMenu);

    case 80:
      return UCT08246R(selectedFromMenu);

    case 90:
      return UCT09246R(selectedFromMenu);

    default:
      return UCT03246R(selectedFromMenu);
  }
}

function RT_LADDER50END(selectedFromMenu) {
  switch (height) {
    case 20:
      return URTL502E(selectedFromMenu);

    case 30:
      return URTL503E(selectedFromMenu);

    case 40:
      return URTL504E(selectedFromMenu);

    case 50:
      return URTL505E(selectedFromMenu);

    case 60:
      return URTL506E(selectedFromMenu);

    default:
      return URTL502E(selectedFromMenu);
  }
}

function RT_LADDER90END(selectedFromMenu) {
  switch (height) {
    case 20:
      return URTL902E(selectedFromMenu);

    case 30:
      return URTL903E(selectedFromMenu);

    case 40:
      return URTL904E(selectedFromMenu);

    case 50:
      return URTL905E(selectedFromMenu);

    case 60:
      return URTL906E(selectedFromMenu);

    default:
      return URTL902E(selectedFromMenu);
  }
}

function CO_LADDER50END(selectedFromMenu) {
  switch (height) {
    case 30:
      return UCL5003242E(selectedFromMenu);

    case 40:
      return UCL5004242E(selectedFromMenu);

    case 50:
      return UCL5005242E(selectedFromMenu);

    case 60:
      return UCL5006242E(selectedFromMenu);

    case 70:
      return UCL5007242E(selectedFromMenu);

    case 80:
      return UCL5008242E(selectedFromMenu);

    case 90:
      return UCL5009242E(selectedFromMenu);

    default:
      return UCL5003242E(selectedFromMenu);
  }
}

function CO_LADDER75END(selectedFromMenu) {
  switch (height) {
    case 30:
      return UCL7503242E(selectedFromMenu);

    case 40:
      return UCL7504242E(selectedFromMenu);

    case 50:
      return UCL7505242E(selectedFromMenu);

    case 60:
      return UCL7506242E(selectedFromMenu);

    case 70:
      return UCL7507242E(selectedFromMenu);

    case 80:
      return UCL7508242E(selectedFromMenu);

    case 90:
      return UCL7509242E(selectedFromMenu);

    default:
      return UCL7503242E(selectedFromMenu);
  }
}

function CO_LADDER90END(selectedFromMenu) {
  switch (height) {
    case 30:
      return UCL9003242E(selectedFromMenu);

    case 40:
      return UCL9004242E(selectedFromMenu);

    case 50:
      return UCL9005242E(selectedFromMenu);

    case 60:
      return UCL9006242E(selectedFromMenu);

    case 70:
      return UCL9007242E(selectedFromMenu);

    case 80:
      return UCL9008242E(selectedFromMenu);

    case 90:
      return UCL9009242E(selectedFromMenu);

    default:
      return UCL9003242E(selectedFromMenu);
  }
}

function RT_LEGS(selectedFromMenu) {
  switch (height) {
    case 20:
      return URSL20(true);

    case 30:
      return URSL30(true);

    case 40:
      return URSL40(true);

    case 50:
      return URSL50(true);

    case 60:
      return URSL60(true);

    default:
      return;
  }
}

function RT_LADDER50S() {
  switch (height) {
    case 20:
      return URTL502(false);

    case 30:
      return URTL503(false);

    case 40:
      return URTL504(false);

    case 50:
      return URTL505(false);

    case 60:
      return URTL506(false);

    default:
      return;
  }
}

function RT_LADDER90S() {
  switch (height) {
    case 20:
      return URTL902(false);

    case 30:
      return URTL903(false);

    case 40:
      return URTL904(false);

    case 50:
      return URTL905(false);

    case 60:
      return URTL906(false);

    default:
      return;
  }
}

function CO_LADDER50S() {
  switch (height) {
    case 30:
      return UCL5003242(false);

    case 40:
      return UCL5004242(false);

    case 50:
      return UCL5005242(false);

    case 60:
      return UCL5006242(false);

    case 70:
      return UCL5007242(false);

    case 80:
      return UCL5008242(false);

    case 90:
      return UCL5009242(false);

    default:
      return UCL5003242(false);
  }
}

function CO_LADDER75S() {
  switch (height) {
    case 30:
      return UCL7503242(false);

    case 40:
      return UCL7504242(false);

    case 50:
      return UCL7505242(false);

    case 60:
      return UCL7506242(false);

    case 70:
      return UCL7507242(false);

    case 80:
      return UCL7508242(false);

    case 90:
      return UCL7509242(false);

    default:
      return UCL7503242(false);
  }
}

function CO_LADDER90S() {
  switch (height) {
    case 30:
      return UCL9003242(false);

    case 40:
      return UCL9004242(false);

    case 50:
      return UCL9005242(false);

    case 60:
      return UCL9006242(false);

    case 70:
      return UCL9007242(false);

    case 80:
      return UCL9008242(false);

    case 90:
      return UCL9009242(false);

    default:
      return UCL9003242(false);
  }
}

function CO_LEGS(selectedFromMenu) {
  switch (height) {
    case 30:
      return ULK0324(true);

    case 40:
      return ULK0424(true);

    case 50:
      return ULK0524(true);

    case 60:
      return ULK0624(true);

    case 70:
      return ULK0724(true);

    case 80:
      return ULK0824(true);

    case 90:
      return ULK0924(true);

    default:
      return;
  }
}

function MA_LADDER50S() {
  switch (height) {
    case 20:
      return UAP0250U(false);

    case 30:
      return UAP0350U(false);

    case 40:
      return UAP0450U(false);

    case 50:
      return UAP0550U(false);

    case 60:
      return UAP0650U(false);

    case 70:
      return UAP0750U(false);

    case 80:
      return UAP0850U(false);

    case 90:
      return UAP0950U(false);

    case 100:
      return UAP1050U(false);

    case 110:
      return UAP1150U(false);

    default:
      break;
  }
}

function MA_LADDER90S() {
  switch (height) {
    case 20:
      return UAP0290U(false);

    case 30:
      return UAP0390U(false);

    case 40:
      return UAP0490U(false);

    case 50:
      return UAP0590U(false);

    case 60:
      return UAP0690U(false);

    case 70:
      return UAP0790U(false);

    case 80:
      return UAP0890U(false);

    case 90:
      return UAP0990U(false);

    case 100:
      return UAP1090U(false);

    case 110:
      return UAP1190U(false);

    default:
      break;
  }
}

function MPAS_LADDER() {
  switch (height) {
    case 10:
      return MPASSW2(false);

    case 20:
      return MPASSW3(false);

    case 30:
      return MPASSW4(false);

    case 40:
      return MPASSW5(false);

    case 50:
      return MPASSW6(false);

    case 60:
      return MPASSW7(false);
    case 70:
      return MPASSW8(false);
    case 80:
      return MPASSW9(false);

    default:
      return;
  }
}

function LEGS() {
  switch (system) {
    case 1:
      return RT_LEGS(true);

      break;

    case 2:
      return CO_LEGS(true);

      break;

    default:
      break;
  }
}

function LADDER() {
  switch (system) {
    case 1:
      switch (incline) {
        case 50:
          return RT_LADDER50S();

        case 90:
          return RT_LADDER90S();

        default:
          return;
      }

    case 2:
      switch (incline) {
        case 50:
          return CO_LADDER50S();

        case 75:
          return CO_LADDER75S();

        case 90:
          return CO_LADDER90S();

        default:
          return;
      }

    case 3:
      return MPAS_LADDER();

    case 4:
      return MPAS_LADDER();
  }
}

function MA_LADDERS(currentHeight) {
  var ladders = [];

  switch (currentHeight) {
    case 20:
      ladders = [
        "UAP0250D",
        "UAP0290D",
        "UAP0250U",
        "UAP0350U",
        "UAP0450U",
        "UAP0550U",
        "UAP0650U",
        "UAP0750U",
        "UAP0850U",
        "UAP0950U",
        "UAP1050U",
      ];

      break;

    case 30:
      ladders = [
        "UAP0350D",
        "UAP0390D",
        "UAP0250D",
        "UAP0250U",
        "UAP0350U",
        "UAP0450U",
        "UAP0550U",
        "UAP0650U",
        "UAP0750U",
        "UAP0850U",
        "UAP0950U",
      ];

      break;

    case 40:
      ladders = [
        "UAP0450D",
        "UAP0490D",
        "UAP0250D",
        "UAP0350D",
        "UAP0250U",
        "UAP0350U",
        "UAP0450U",
        "UAP0550U",
        "UAP0650U",
        "UAP0750U",
        "UAP0850U",
      ];

      break;

    case 50:
      ladders = [
        "UAP0550D",
        "UAP0590D",
        "UAP0450D",
        "UAP0250D",
        "UAP0350D",
        "UAP0250U",
        "UAP0350U",
        "UAP0450U",
        "UAP0550U",
        "UAP0650U",
        "UAP0750U",
      ];

      break;

    case 60:
      ladders = [
        "UAP0650D",
        "UAP0690D",
        "UAP0550D",
        "UAP0450D",
        "UAP0350D",
        "UAP0250D",
        "UAP0250U",
        "UAP0350U",
        "UAP0450U",
        "UAP0550U",
        "UAP0650U",
      ];

      break;

    case 70:
      ladders = [
        "UAP0750D",
        "UAP0790D",
        "UAP0650D",
        "UAP0550D",
        "UAP0450D",
        "UAP0250D",
        "UAP0350D",
        "UAP0250U",
        "UAP0350U",
        "UAP0450U",
        "UAP0550U",
      ];

      break;

    case 80:
      ladders = [
        "UAP0850D",
        "UAP0890D",
        "UAP0750D",
        "UAP0650D",
        "UAP0550D",
        "UAP0450D",
        "UAP0250D",
        "UAP0350D",
        "UAP0250U",
        "UAP0350U",
        "UAP0450U",
      ];

      break;

    case 90:
      ladders = [
        "UAP0950D",
        "UAP0990D",
        "UAP0850D",
        "UAP0750D",
        "UAP0650D",
        "UAP0550D",
        "UAP0450D",
        "UAP0350D",
        "UAP0250D",
        "UAP0250U",
        "UAP0350U",
      ];

      break;

    case 100:
      ladders = [
        "UAP1050D",
        "UAP1090D",
        "UAP0950D",
        "UAP0850D",
        "UAP0750D",
        "UAP0650D",
        "UAP0550D",
        "UAP0450D",
        "UAP0350D",
        "UAP0250D",
        "UAP0250U",
      ];

      break;

    case 110:
      ladders = [
        "UAP1150D",
        "UAP1190D",
        "UAP0950D",
        "UAP0850D",
        "UAP0750D",
        "UAP0650D",
        "UAP0550D",
        "UAP0450D",
        "UAP0350D",
        "UAP0250D",
        "UAP1050D",
      ];

      break;

    default:
      break;
  }

  return ladders;
}

function MPASSW3(selectedFromMenu) {
  selectedFromMenu = selectedFromMenu || false;
  return {
    mountPoint: [
      new createjs.Point(20, 52),
      new createjs.Point(20, 52),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    connectorPoint: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    rotationOffsets: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    spriteSheet: new createjs.SpriteSheet({
      images: ["assets/spritesheets/MPASSW3.png"],

      frames: { width: 136, height: 285 },

      animations: {},
    }),
    spriteSheetObject: {
      images: ["assets/spritesheets/MPASSW3.png"],

      frames: { width: 136, height: 285 },

      animations: {},
    },
    spriteCenter: new createjs.Point(45, 143),

    altSkus: false,

    length: 20,

    width: 29,

    legsNeeded: false,

    legsLimit: 4,

    actsAsLegs: true,

    frameOffset: 0,

    childFrameOffset: 0,

    description: "2 Step Ladder",

    name: "2 Step \nLadder",

    sku: "MPASSW3",

    gsku: "MPASSW3",

    connectableParts: ["MPASP30H3", "MPASP60H3", "MPASP90H3", "MPASP120H3"],

    usesSlot: 1,

    hasMountSlot: true,

    hasLegSlot: false,

    zOrderMod: [0, 0, 0, 0],

    iZOrderMod: [0, 0, 0, 0],

    forceDrawLast: false,

    forceDrawLastFrame: 0,

    bridgeSpan: false,

    turnPiece: false,

    legs: false,

    rails: false,

    ladder: true,
  };
}

function MPASP30H3(selectedFromMenu) {
  selectedFromMenu = selectedFromMenu || false;

  return {
    //mountPoint: [new createjs.Point(-32,26), new createjs.Point(-60,-36), new createjs.Point(38,60), new createjs.Point(-10,-110)],
    mountPoint: [
      new createjs.Point(-1, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],
    //connectorPoint: [new createjs.Point(36,60), new createjs.Point(-26,28), new createjs.Point(28,-26), new createjs.Point(60,36)],
    connectorPoint: [
      new createjs.Point(90, 52),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    rotationOffsets: [
      new createjs.Point(0, 0),
      new createjs.Point(-60, 60),
      new createjs.Point(16, 42),
      new createjs.Point(0, 0),
    ],

    spriteSheet: new createjs.SpriteSheet({
      images: ["assets/spritesheets/MPASP30-3.png"],

      frames: { width: 187, height: 204 },

      animations: {},
    }),

    spriteCenter: new createjs.Point(70, 81),

    altSkus: false,

    length: 30,

    width: 30,

    legsNeeded: false,

    legsLimit: 0,

    actsAsLegs: false,

    frameOffset: 0,

    childFrameOffset: 0,

    description: '30"L Platform',

    name: '30"L Platform',

    sku: "MPASP30",

    gsku: "29RJ32",

    altSkus: false,

    connectableParts: ["MPASP30H3"],

    usesSlot: 1,

    hasMountSlot: true,

    hasLegSlot: false,

    zOrderMod: [0, 0, 0, 0],

    iZOrderMod: [0, 0, 0, 0],

    forceDrawLast: false,

    forceDrawLastFrame: 0,

    bridgeSpan: true,

    turnPiece: false,

    legs: false,

    rails: false,

    ladder: false,

    frameHighlights: [
      [
        [-17, 43],
        [74, -9],
        [94, 0],
        [0, 53],
      ],
      [
        [-20, 65],
        [0, 53],
        [92, 107],
        [69, 120],
      ],
      [
        [94, 124],
        [93, 107],
        [186, 52],
        [184, 69],
      ],
      [
        [116, -12],
        [212, 39],
        [183, 54],
        [94, 0],
      ],
    ],
    connectorSelector: 0,
    connectorModify: [
      new createjs.Point(93, 54),
      new createjs.Point(93, -54),
      new createjs.Point(-93, -54),
      new createjs.Point(-93, 54),
    ],
    usedCoordinates: [
      { current: 0, parent: 2, name: "Front" },
      { current: 1, parent: 3, name: "Left" },
      { current: 2, parent: 0, name: "Back" },
      { current: 3, parent: 1, name: "Right" },
    ],
    sideSelector: true,
    defaultName: "default",
    height: 30,
  };
}

// function MPASP60H3(selectedFromMenu) {

//   selectedFromMenu = selectedFromMenu || false;

//   return {

//     //mountPoint: [new createjs.Point(-32,26), new createjs.Point(-60,-36), new createjs.Point(38,60), new createjs.Point(-10,-110)],
//     mountPoint: [new createjs.Point(0, 0), new createjs.Point(0, 0), new createjs.Point(0, 0), new createjs.Point(0, 0)],
//     //connectorPoint: [new createjs.Point(36,60), new createjs.Point(-26,28), new createjs.Point(28,-26), new createjs.Point(60,36)],
//     connectorPoint: [new createjs.Point(179, 102), new createjs.Point(0, 0), new createjs.Point(0, 0), new createjs.Point(0, 0)],

//     rotationOffsets: [new createjs.Point(0, 0), new createjs.Point(-60, 60), new createjs.Point(16, 42), new createjs.Point(0, 0)],

//     spriteSheet: new createjs.SpriteSheet({

//       images: ["assets/spritesheets/MPASP60-3.png"],

//       frames: { width: 280, height: 258 },

//       animations: {}

//     }),

//     spriteCenter: new createjs.Point(100 - 25, 100 - 14),
//     spriteCenterButton: new createjs.Point(130, 90),

//     altSkus: false,

//     length: 60,

//     width: 62,

//     legsNeeded: false,

//     legsLimit: 0,

//     actsAsLegs: false,

//     frameOffset: 0,

//     childFrameOffset: 0,

//     description: "60\"L Platform",

//     name: "60\"L Platform",

//     sku: "MPASP60",

//     gsku: "29RJ32",

//     altSkus: false,

//     connectableParts: ["MPASP60H3"],

//     usesSlot: 1,

//     hasMountSlot: true,

//     hasLegSlot: false,

//     zOrderMod: [0, 0, 0, 0],

//     iZOrderMod: [0, 0, 0, 0],

//     forceDrawLast: false,

//     forceDrawLastFrame: 0,

//     bridgeSpan: true,

//     turnPiece: false,

//     legs: false,

//     rails: false,

//     ladder: false

//   };

// }

function MPASP60H3(selectedFromMenu, position = "default") {
  let mpasData = new defaultMpasData("60_3", position);
  selectedFromMenu = selectedFromMenu || false;
  switch (position) {
    case "c":
      return mpasData.center();
    case "r1":
      return mpasData.right();
    case "r2":
      return mpasData.right1();
    case "l1":
      return mpasData.left();
    case "l2":
      return mpasData.left1();
    case "cBack":
      return mpasData.center("back");
    case "r1Back":
      return mpasData.right("back");
    case "r2Back":
      return mpasData.right1("back");
    case "l1Back":
      return mpasData.left("back");
    case "l2Back":
      return mpasData.left1("back");
    case "defaultBack":
      return mpasData.mainBack("back");
    case "cLeft":
      return mpasData.center("left");
    case "r1Left":
      return mpasData.right("left");
    case "r2Left":
      return mpasData.right1("left");
    case "l1Left":
      return mpasData.left("left");
    case "l2Left":
      return mpasData.left1("left");
    case "cRight":
      return mpasData.center("right");
    case "r1Right":
      return mpasData.right("right");
    case "r2Right":
      return mpasData.right1("right");
    case "l1Right":
      return mpasData.left("right");
    case "l2Right":
      return mpasData.left1("right");
    case "defaultRight":
      return mpasData.mainRight("right");
    case "defaultLeft":
      return mpasData.mainLeft("left");
    default:
      return mpasData.main();
  }
}

// function MPASP90H3(selectedFromMenu) {

//   selectedFromMenu = selectedFromMenu || false;

//   return {

//     //mountPoint: [new createjs.Point(-32,26), new createjs.Point(-60,-36), new createjs.Point(38,60), new createjs.Point(-10,-110)],
//     mountPoint: [new createjs.Point(-1, 0), new createjs.Point(0, 0), new createjs.Point(0, 0), new createjs.Point(0, 0)],
//     //connectorPoint: [new createjs.Point(36,60), new createjs.Point(-26,28), new createjs.Point(28,-26), new createjs.Point(60,36)],
//     connectorPoint: [new createjs.Point(278, 159), new createjs.Point(0, 0), new createjs.Point(0, 0), new createjs.Point(0, 0)],

//     rotationOffsets: [new createjs.Point(0, 0), new createjs.Point(-60, 60), new createjs.Point(16, 42), new createjs.Point(0, 0)],

//     spriteSheet: new createjs.SpriteSheet({

//       images: ["assets/spritesheets/MPASP90-3.png"],

//       frames: { width: 373, height: 312 },

//       animations: {}

//     }),

//     spriteCenter: new createjs.Point(70, 82),
//     spriteCenterButton: new createjs.Point(180, 120),

//     altSkus: false,

//     length: 20,

//     width: 12,

//     legsNeeded: false,

//     legsLimit: 0,

//     actsAsLegs: false,

//     frameOffset: 0,

//     childFrameOffset: 0,

//     description: "30\"L Platform",

//     name: "30\"L Platform",

//     sku: "MPASP90",

//     gsku: "29RJ32",

//     altSkus: false,

//     connectableParts: ["MPASP90H3"],

//     usesSlot: 1,

//     hasMountSlot: true,

//     hasLegSlot: false,

//     zOrderMod: [0, 0, 0, 0],

//     iZOrderMod: [0, 0, 0, 0],

//     forceDrawLast: false,

//     forceDrawLastFrame: 0,

//     bridgeSpan: true,

//     turnPiece: false,

//     legs: false,

//     rails: false,

//     ladder: false

//   };

// }

// function MPASP120H3(selectedFromMenu) {

//   selectedFromMenu = selectedFromMenu || false;

//   return {

//     //mountPoint: [new createjs.Point(-32,26), new createjs.Point(-60,-36), new createjs.Point(38,60), new createjs.Point(-10,-110)],
//     mountPoint: [new createjs.Point(-1, 0), new createjs.Point(0, 0), new createjs.Point(0, 0), new createjs.Point(0, 0)],
//     //connectorPoint: [new createjs.Point(36,60), new createjs.Point(-26,28), new createjs.Point(28,-26), new createjs.Point(60,36)],
//     connectorPoint: [new createjs.Point(369, 212), new createjs.Point(0, 0), new createjs.Point(0, 0), new createjs.Point(0, 0)],

//     rotationOffsets: [new createjs.Point(0, 0), new createjs.Point(-60, 60), new createjs.Point(16, 42), new createjs.Point(0, 0)],

//     spriteSheet: new createjs.SpriteSheet({

//       images: ["assets/spritesheets/MPASP120-3.png"],

//       frames: { width: 466, height: 366 },

//       animations: {}

//     }),

//     spriteCenter: new createjs.Point(70, 81),
//     spriteCenterButton: new createjs.Point(236, 140),

//     altSkus: false,

//     length: 120,

//     width: 48,

//     legsNeeded: false,

//     legsLimit: 0,

//     actsAsLegs: false,

//     frameOffset: 0,

//     childFrameOffset: 0,

//     description: "120\"L Platform",

//     name: "120\"L Platform",

//     sku: "MPASP120",

//     gsku: "29RJ32",

//     altSkus: false,

//     connectableParts: ["MPASP120H3"],

//     usesSlot: 1,

//     hasMountSlot: true,

//     hasLegSlot: false,

//     zOrderMod: [0, 0, 0, 0],

//     iZOrderMod: [0, 0, 0, 0],

//     forceDrawLast: false,

//     forceDrawLastFrame: 0,

//     bridgeSpan: true,

//     turnPiece: false,

//     legs: false,

//     rails: false,

//     ladder: false

//   };

// }

function MPASP90H3(selectedFromMenu, position) {
  let mpasData = new defaultMpasData("90_3", position);
  selectedFromMenu = selectedFromMenu || false;
  switch (position) {
    case "c":
      return mpasData.center();
    case "r1":
      return mpasData.right();
    case "r2":
      return mpasData.right1();
    case "l1":
      return mpasData.left();
    case "l2":
      return mpasData.left1();
    case "cBack":
      return mpasData.center("back");
    case "r1Back":
      return mpasData.right("back");
    case "r2Back":
      return mpasData.right1("back");
    case "l1Back":
      return mpasData.left("back");
    case "l2Back":
      return mpasData.left1("back");
    case "defaultBack":
      return mpasData.mainBack("back");
    case "cLeft":
      return mpasData.center("left");
    case "r1Left":
      return mpasData.right("left");
    case "r2Left":
      return mpasData.right1("left");
    case "l1Left":
      return mpasData.left("left");
    case "l2Left":
      return mpasData.left1("left");
    case "cRight":
      return mpasData.center("right");
    case "r1Right":
      return mpasData.right("right");
    case "r2Right":
      return mpasData.right1("right");
    case "l1Right":
      return mpasData.left("right");
    case "l2Right":
      return mpasData.left1("right");
    case "defaultRight":
      return mpasData.mainRight("right");
    case "defaultLeft":
      return mpasData.mainLeft("left");
    default:
      return mpasData.main();
  }
}

function MPASP120H3(selectedFromMenu, position = "default") {
  let mpasData = new defaultMpasData("120_3", position);
  selectedFromMenu = selectedFromMenu || false;
  switch (position) {
    case "c":
      return mpasData.center();

    case "r1":
      return mpasData.right();
    case "r2":
      return mpasData.right1();
    case "l1":
      return mpasData.left();
    case "l2":
      return mpasData.left1();
    case "cLeft":
      return mpasData.center("left");
    case "r1Left":
      return mpasData.right("left");
    case "r2Left":
      return mpasData.right1("left");
    case "l1Left":
      return mpasData.left("left");
    case "l2Left":
      return mpasData.left1("left");
    case "cRight":
      return mpasData.center("right");
    case "r1Right":
      return mpasData.right("right");
    case "r2Right":
      return mpasData.right1("right");
    case "l1Right":
      return mpasData.left("right");
    case "l2Right":
      return mpasData.left1("right");
    case "defaultRight":
      return mpasData.mainRight("right");
    case "defaultLeft":
      return mpasData.mainLeft("left");
    case "cBack":
      return mpasData.center("back");
    case "r1Back":
      return mpasData.right("back");
    case "r2Back":
      return mpasData.right1("back");
    case "l1Back":
      return mpasData.left("back");
    case "l2Back":
      return mpasData.left1("back");
    case "defaultBack":
      return mpasData.mainBack("back");
    default:
      return mpasData.main();
  }
}

function MPASSW2(selectedFromMenu) {
  selectedFromMenu = selectedFromMenu || false;
  return {
    mountPoint: [
      new createjs.Point(20, 52),
      new createjs.Point(20, 52),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],
    //mountPoint: [new createjs.Point(0,0), new createjs.Point(0,0), new createjs.Point(0,0), new createjs.Point(0,0)],

    connectorPoint: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    rotationOffsets: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    spriteSheet: new createjs.SpriteSheet({
      images: ["assets/spritesheets/MPASSW2.png"],

      frames: { width: 110, height: 240 },

      animations: {},
    }),
    spriteSheetObject: {
      images: ["assets/spritesheets/MPASSW2.png"],

      frames: { width: 110, height: 240 },

      animations: {},
    },
    spriteCenter: new createjs.Point(-26, 64),

    altSkus: false,

    length: 10,

    width: 29,

    legsNeeded: false,

    legsLimit: 4,

    actsAsLegs: true,

    frameOffset: 0,

    childFrameOffset: 0,

    description: "1 Step Ladder",

    name: "1 Step \nLadder",

    sku: "MPASSW2",

    gsku: "MPASSW2",

    connectableParts: ["MPASP30H2", "MPASP60H2", "MPASP90H2", "MPASP120H2"],

    usesSlot: 1,

    hasMountSlot: true,

    hasLegSlot: false,

    zOrderMod: [0, 0, 0, 0],

    iZOrderMod: [0, 0, 0, 0],

    forceDrawLast: false,

    forceDrawLastFrame: 0,

    bridgeSpan: false,

    turnPiece: false,

    legs: false,

    rails: false,

    ladder: true,
  };
}

function MPASP30H2(selectedFromMenu) {
  selectedFromMenu = selectedFromMenu || false;

  return {
    //mountPoint: [new createjs.Point(-32,26), new createjs.Point(-60,-36), new createjs.Point(38,60), new createjs.Point(-10,-110)],
    mountPoint: [
      new createjs.Point(-1, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],
    //connectorPoint: [new createjs.Point(36,60), new createjs.Point(-26,28), new createjs.Point(28,-26), new createjs.Point(60,36)],
    connectorPoint: [
      new createjs.Point(90, 52),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    rotationOffsets: [
      new createjs.Point(0, 0),
      new createjs.Point(-60, 60),
      new createjs.Point(16, 42),
      new createjs.Point(0, 0),
    ],

    spriteSheet: new createjs.SpriteSheet({
      images: ["assets/spritesheets/MPASP30-2.png"],

      frames: { width: 188, height: 172 },

      animations: {},
    }),

    spriteCenter: new createjs.Point(0, 6),

    altSkus: false,

    length: 30,

    width: 30,

    legsNeeded: false,

    legsLimit: 0,

    actsAsLegs: false,

    frameOffset: 0,

    childFrameOffset: 0,

    description: '30"L Platform',

    name: '30"L Platform',

    sku: "MPASP30",

    gsku: "29RJ32",

    altSkus: false,

    connectableParts: ["MPASP30H2"],

    usesSlot: 1,

    hasMountSlot: true,

    hasLegSlot: false,

    zOrderMod: [0, 0, 0, 0],

    iZOrderMod: [0, 0, 0, 0],

    forceDrawLast: false,

    forceDrawLastFrame: 0,

    bridgeSpan: true,

    turnPiece: false,

    legs: false,

    rails: false,

    ladder: false,

    frameHighlights: [
      [
        [-17, 43],
        [74, -9],
        [94, 0],
        [0, 53],
      ],
      [
        [-20, 65],
        [0, 53],
        [92, 107],
        [69, 120],
      ],
      [
        [94, 124],
        [93, 107],
        [186, 52],
        [184, 69],
      ],
      [
        [116, -12],
        [212, 39],
        [183, 54],
        [94, 0],
      ],
    ],
    connectorSelector: 0,
    connectorModify: [
      new createjs.Point(93, 54),
      new createjs.Point(93, -54),
      new createjs.Point(-93, -54),
      new createjs.Point(-93, 54),
    ],
    usedCoordinates: [
      { current: 0, parent: 2, name: "Front" },
      { current: 1, parent: 3, name: "Left" },
      { current: 2, parent: 0, name: "Back" },
      { current: 3, parent: 1, name: "Right" },
    ],
    sideSelector: true,
    defaultName: "default",
    height: 30,
  };
}

// function MPASP60H2(selectedFromMenu) {

//   selectedFromMenu = selectedFromMenu || false;

//   return {

//     //mountPoint: [new createjs.Point(-32,26), new createjs.Point(-60,-36), new createjs.Point(38,60), new createjs.Point(-10,-110)],
//     mountPoint: [new createjs.Point(0, 0), new createjs.Point(0, 0), new createjs.Point(0, 0), new createjs.Point(0, 0)],
//     //connectorPoint: [new createjs.Point(179,102), new createjs.Point(-26,28), new createjs.Point(28,-26), new createjs.Point(60,36)],
//     connectorPoint: [new createjs.Point(186, 108), new createjs.Point(0, 0), new createjs.Point(0, 0), new createjs.Point(0, 0)],

//     rotationOffsets: [new createjs.Point(0, 0), new createjs.Point(-60, 60), new createjs.Point(16, 42), new createjs.Point(0, 0)],

//     spriteSheet: new createjs.SpriteSheet({

//       images: ["assets/spritesheets/MPASP60-2.png"],

//       frames: { width: 280, height: 226 },

//       animations: {}

//     }),

//     spriteCenter: new createjs.Point(-3, 5),
//     spriteCenterButton: new createjs.Point(130, 90),

//     altSkus: false,

//     length: 60,

//     width: 62,

//     legsNeeded: false,

//     legsLimit: 0,

//     actsAsLegs: false,

//     frameOffset: 0,

//     childFrameOffset: 0,

//     description: "60\"L Platform",

//     name: "60\"L Platform",

//     sku: "MPASP60",

//     gsku: "29RJ32",

//     altSkus: false,

//     connectableParts: ["MPASP60H2"],

//     usesSlot: 1,

//     hasMountSlot: true,

//     hasLegSlot: false,

//     zOrderMod: [0, 0, 0, 0],

//     iZOrderMod: [0, 0, 0, 0],

//     forceDrawLast: false,

//     forceDrawLastFrame: 0,

//     bridgeSpan: true,

//     turnPiece: false,

//     legs: false,

//     rails: false,

//     ladder: false

//   };

// }

function MPASP60H2(selectedFromMenu, position = "default") {
  let mpasData = new defaultMpasData("60_2", position);
  selectedFromMenu = selectedFromMenu || false;
  switch (position) {
    case "c":
      return mpasData.center();
    case "r1":
      return mpasData.right();
    case "r2":
      return mpasData.right1();
    case "l1":
      return mpasData.left();
    case "l2":
      return mpasData.left1();
    case "cBack":
      return mpasData.center("back");
    case "r1Back":
      return mpasData.right("back");
    case "r2Back":
      return mpasData.right1("back");
    case "l1Back":
      return mpasData.left("back");
    case "l2Back":
      return mpasData.left1("back");
    case "defaultBack":
      return mpasData.mainBack("back");
    case "cLeft":
      return mpasData.center("left");
    case "r1Left":
      return mpasData.right("left");
    case "r2Left":
      return mpasData.right1("left");
    case "l1Left":
      return mpasData.left("left");
    case "l2Left":
      return mpasData.left1("left");
    case "cRight":
      return mpasData.center("right");
    case "r1Right":
      return mpasData.right("right");
    case "r2Right":
      return mpasData.right1("right");
    case "l1Right":
      return mpasData.left("right");
    case "l2Right":
      return mpasData.left1("right");
    case "defaultRight":
      return mpasData.mainRight("right");
    case "defaultLeft":
      return mpasData.mainLeft("left");
    default:
      return mpasData.main();
  }
}

// function MPASP90H2(selectedFromMenu) {

//   selectedFromMenu = selectedFromMenu || false;

//   return {

//     //mountPoint: [new createjs.Point(-32,26), new createjs.Point(-60,-36), new createjs.Point(38,60), new createjs.Point(-10,-110)],
//     mountPoint: [new createjs.Point(-1, 0), new createjs.Point(0, 0), new createjs.Point(0, 0), new createjs.Point(0, 0)],
//     //connectorPoint: [new createjs.Point(36,60), new createjs.Point(-26,28), new createjs.Point(28,-26), new createjs.Point(60,36)],
//     connectorPoint: [new createjs.Point(278, 159), new createjs.Point(0, 0), new createjs.Point(0, 0), new createjs.Point(0, 0)],

//     rotationOffsets: [new createjs.Point(0, 0), new createjs.Point(-60, 60), new createjs.Point(16, 42), new createjs.Point(0, 0)],

//     spriteSheet: new createjs.SpriteSheet({

//       images: ["assets/spritesheets/MPASP90-2.png"],

//       frames: { width: 373, height: 280 },

//       animations: {}

//     }),

//     spriteCenter: new createjs.Point(-3, 8),
//     spriteCenterButton: new createjs.Point(180, 120),

//     altSkus: false,

//     length: 20,

//     width: 12,

//     legsNeeded: false,

//     legsLimit: 0,

//     actsAsLegs: false,

//     frameOffset: 0,

//     childFrameOffset: 0,

//     description: "90\"L Platform",

//     name: "90\"L Platform",

//     sku: "MPASP90",

//     gsku: "29RJ32",

//     altSkus: false,

//     connectableParts: ["MPASP90H2"],

//     usesSlot: 1,

//     hasMountSlot: true,

//     hasLegSlot: false,

//     zOrderMod: [0, 0, 0, 0],

//     iZOrderMod: [0, 0, 0, 0],

//     forceDrawLast: false,

//     forceDrawLastFrame: 0,

//     bridgeSpan: true,

//     turnPiece: false,

//     legs: false,

//     rails: false,

//     ladder: false

//   };

// }

// function MPASP120H2(selectedFromMenu) {

//   selectedFromMenu = selectedFromMenu || false;

//   return {

//     //mountPoint: [new createjs.Point(-32,26), new createjs.Point(-60,-36), new createjs.Point(38,60), new createjs.Point(-10,-110)],
//     mountPoint: [new createjs.Point(-1, 0), new createjs.Point(0, 0), new createjs.Point(0, 0), new createjs.Point(0, 0)],
//     //connectorPoint: [new createjs.Point(36,60), new createjs.Point(-26,28), new createjs.Point(28,-26), new createjs.Point(60,36)],
//     connectorPoint: [new createjs.Point(372, 215), new createjs.Point(0, 0), new createjs.Point(0, 0), new createjs.Point(0, 0)],

//     rotationOffsets: [new createjs.Point(0, 0), new createjs.Point(-60, 60), new createjs.Point(16, 42), new createjs.Point(0, 0)],

//     spriteSheet: new createjs.SpriteSheet({

//       images: ["assets/spritesheets/MPASP120-2.png"],

//       frames: { width: 466, height: 333 },

//       animations: {}

//     }),

//     spriteCenter: new createjs.Point(-3, 5),
//     spriteCenterButton: new createjs.Point(236, 140),

//     altSkus: false,

//     length: 120,

//     width: 48,

//     legsNeeded: false,

//     legsLimit: 0,

//     actsAsLegs: false,

//     frameOffset: 0,

//     childFrameOffset: 0,

//     description: "120\"L Platform",

//     name: "120\"L Platform",

//     sku: "MPASP120",

//     gsku: "29RJ32",

//     altSkus: false,

//     connectableParts: ["MPASP120H2"],

//     usesSlot: 1,

//     hasMountSlot: true,

//     hasLegSlot: false,

//     zOrderMod: [0, 0, 0, 0],

//     iZOrderMod: [0, 0, 0, 0],

//     forceDrawLast: false,

//     forceDrawLastFrame: 0,

//     bridgeSpan: true,

//     turnPiece: false,

//     legs: false,

//     rails: false,

//     ladder: false

//   };

// }

function MPASP90H2(selectedFromMenu, position) {
  let mpasData = new defaultMpasData("90_2", position);
  selectedFromMenu = selectedFromMenu || false;
  switch (position) {
    case "c":
      return mpasData.center();
    case "r1":
      return mpasData.right();
    case "r2":
      return mpasData.right1();
    case "l1":
      return mpasData.left();
    case "l2":
      return mpasData.left1();
    case "cBack":
      return mpasData.center("back");
    case "r1Back":
      return mpasData.right("back");
    case "r2Back":
      return mpasData.right1("back");
    case "l1Back":
      return mpasData.left("back");
    case "l2Back":
      return mpasData.left1("back");
    case "defaultBack":
      return mpasData.mainBack("back");
    case "cLeft":
      return mpasData.center("left");
    case "r1Left":
      return mpasData.right("left");
    case "r2Left":
      return mpasData.right1("left");
    case "l1Left":
      return mpasData.left("left");
    case "l2Left":
      return mpasData.left1("left");
    case "cRight":
      return mpasData.center("right");
    case "r1Right":
      return mpasData.right("right");
    case "r2Right":
      return mpasData.right1("right");
    case "l1Right":
      return mpasData.left("right");
    case "l2Right":
      return mpasData.left1("right");
    case "defaultRight":
      return mpasData.mainRight("right");
    case "defaultLeft":
      return mpasData.mainLeft("left");
    default:
      return mpasData.main();
  }
}

function MPASP120H2(selectedFromMenu, position = "default") {
  let mpasData = new defaultMpasData("120_2", position);
  selectedFromMenu = selectedFromMenu || false;
  switch (position) {
    case "c":
      return mpasData.center();

    case "r1":
      return mpasData.right();
    case "r2":
      return mpasData.right1();
    case "l1":
      return mpasData.left();
    case "l2":
      return mpasData.left1();
    case "cLeft":
      return mpasData.center("left");
    case "r1Left":
      return mpasData.right("left");
    case "r2Left":
      return mpasData.right1("left");
    case "l1Left":
      return mpasData.left("left");
    case "l2Left":
      return mpasData.left1("left");
    case "cRight":
      return mpasData.center("right");
    case "r1Right":
      return mpasData.right("right");
    case "r2Right":
      return mpasData.right1("right");
    case "l1Right":
      return mpasData.left("right");
    case "l2Right":
      return mpasData.left1("right");
    case "defaultRight":
      return mpasData.mainRight("right");
    case "defaultLeft":
      return mpasData.mainLeft("left");
    case "cBack":
      return mpasData.center("back");
    case "r1Back":
      return mpasData.right("back");
    case "r2Back":
      return mpasData.right1("back");
    case "l1Back":
      return mpasData.left("back");
    case "l2Back":
      return mpasData.left1("back");
    case "defaultBack":
      return mpasData.mainBack("back");
    default:
      return mpasData.main();
  }
}

function MPASSW4(selectedFromMenu) {
  selectedFromMenu = selectedFromMenu || false;
  return {
    mountPoint: [
      new createjs.Point(20, 52),
      new createjs.Point(20, 52),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],
    //mountPoint: [new createjs.Point(0,0), new createjs.Point(0,0), new createjs.Point(0,0), new createjs.Point(0,0)],

    connectorPoint: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    rotationOffsets: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    spriteSheet: new createjs.SpriteSheet({
      images: ["assets/spritesheets/MPASSW4.png"],

      frames: { width: 161, height: 329 },

      animations: {},
    }),
    spriteSheetObject: {
      images: ["assets/spritesheets/MPASSW4.png"],

      frames: { width: 161, height: 329 },

      animations: {},
    },
    spriteCenter: new createjs.Point(-23, 59),

    altSkus: false,

    length: 30,

    width: 29,

    legsNeeded: false,

    legsLimit: 4,

    actsAsLegs: true,

    frameOffset: 0,

    childFrameOffset: 0,

    description: "3 Step Ladder",

    name: "3 Step Ladder",

    sku: "MPASSW4",

    gsku: "MPASSW4",

    connectableParts: ["MPASP30H4", "MPASP60H4", "MPASP90H4", "MPASP120H4"],

    usesSlot: 1,

    hasMountSlot: true,

    hasLegSlot: false,

    zOrderMod: [0, 0, 0, 0],

    iZOrderMod: [0, 0, 0, 0],

    forceDrawLast: false,

    forceDrawLastFrame: 0,

    bridgeSpan: false,

    turnPiece: false,

    legs: false,

    rails: false,

    ladder: true,
  };
}

function MPASP30H4(selectedFromMenu) {
  selectedFromMenu = selectedFromMenu || false;

  return {
    //mountPoint: [new createjs.Point(-32,26), new createjs.Point(-60,-36), new createjs.Point(38,60), new createjs.Point(-10,-110)],
    mountPoint: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],
    //connectorPoint: [new createjs.Point(36,60), new createjs.Point(-26,28), new createjs.Point(28,-26), new createjs.Point(60,36)],
    connectorPoint: [
      new createjs.Point(93, 54),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    rotationOffsets: [
      new createjs.Point(0, 0),
      new createjs.Point(-60, 60),
      new createjs.Point(16, 42),
      new createjs.Point(0, 0),
    ],

    spriteSheet: new createjs.SpriteSheet({
      images: ["assets/spritesheets/MPASP30-4.png"],

      frames: { width: 187, height: 237 },

      animations: {},
    }),

    spriteCenter: new createjs.Point(0, 0),
    spriteCenterButton: new createjs.Point(90, 90),

    altSkus: false,

    length: 30,

    width: 30,

    legsNeeded: false,

    legsLimit: 0,

    actsAsLegs: false,

    frameOffset: 0,

    childFrameOffset: 0,

    description: '30"L Platform',

    name: '30"L Platform',

    sku: "MPASP30",

    gsku: "29RJ32",

    altSkus: false,

    connectableParts: ["MPASP30H4"],

    usesSlot: 1,

    hasMountSlot: true,

    hasLegSlot: false,

    zOrderMod: [0, 0, 0, 0],

    iZOrderMod: [0, 0, 0, 0],

    forceDrawLast: false,

    forceDrawLastFrame: 0,

    bridgeSpan: true,

    turnPiece: false,

    legs: false,

    rails: false,

    ladder: false,

    frameHighlights: [
      [
        [-17, 43],
        [74, -9],
        [94, 0],
        [0, 53],
      ],
      [
        [-20, 65],
        [0, 53],
        [92, 107],
        [69, 120],
      ],
      [
        [94, 124],
        [93, 107],
        [186, 52],
        [184, 69],
      ],
      [
        [116, -12],
        [212, 39],
        [183, 54],
        [94, 0],
      ],
    ],
    connectorSelector: 0,
    connectorModify: [
      new createjs.Point(93, 54),
      new createjs.Point(93, -54),
      new createjs.Point(-93, -54),
      new createjs.Point(-93, 54),
    ],
    usedCoordinates: [
      { current: 0, parent: 2, name: "Front" },
      { current: 1, parent: 3, name: "Left" },
      { current: 2, parent: 0, name: "Back" },
      { current: 3, parent: 1, name: "Right" },
    ],
    sideSelector: true,
    defaultName: "default",
    height: 30,
  };
}

// function MPASP60H4(selectedFromMenu) {

//   selectedFromMenu = selectedFromMenu || false;

//   return {

//     //mountPoint: [new createjs.Point(-32,26), new createjs.Point(-60,-36), new createjs.Point(38,60), new createjs.Point(-10,-110)],
//     mountPoint: [new createjs.Point(0, 0), new createjs.Point(0, 0), new createjs.Point(0, 0), new createjs.Point(0, 0)],
//     //connectorPoint: [new createjs.Point(186,107), new createjs.Point(-26,28), new createjs.Point(28,-26), new createjs.Point(60,36)],
//     connectorPoint: [new createjs.Point(186, 107), new createjs.Point(0, 0), new createjs.Point(0, 0), new createjs.Point(0, 0)],

//     rotationOffsets: [new createjs.Point(0, 0), new createjs.Point(-60, 60), new createjs.Point(16, 42), new createjs.Point(0, 0)],

//     spriteSheet: new createjs.SpriteSheet({

//       images: ["assets/spritesheets/MPASP60-4.png"],

//       frames: { width: 280, height: 290 },

//       animations: {}

//     }),

//     spriteCenter: new createjs.Point(0, 0),
//     spriteCenterButton: new createjs.Point(130, 90),

//     altSkus: false,

//     length: 60,

//     width: 62,

//     legsNeeded: false,

//     legsLimit: 0,

//     actsAsLegs: false,

//     frameOffset: 0,

//     childFrameOffset: 0,

//     description: "60\"L Platform",

//     name: "60\"L Platform",

//     sku: "MPASP60",

//     gsku: "29RJ32",

//     altSkus: false,

//     connectableParts: ["MPASP60H4"],

//     usesSlot: 1,

//     hasMountSlot: true,

//     hasLegSlot: false,

//     zOrderMod: [0, 0, 0, 0],

//     iZOrderMod: [0, 0, 0, 0],

//     forceDrawLast: false,

//     forceDrawLastFrame: 0,

//     bridgeSpan: true,

//     turnPiece: false,

//     legs: false,

//     rails: false,

//     ladder: false

//   };

// }

function MPASP60H4(selectedFromMenu, position = "default") {
  let mpasData = new defaultMpasData("60_4", position);
  selectedFromMenu = selectedFromMenu || false;
  switch (position) {
    case "c":
      return mpasData.center();
    case "r1":
      return mpasData.right();
    case "r2":
      return mpasData.right1();
    case "l1":
      return mpasData.left();
    case "l2":
      return mpasData.left1();
    case "cBack":
      return mpasData.center("back");
    case "r1Back":
      return mpasData.right("back");
    case "r2Back":
      return mpasData.right1("back");
    case "l1Back":
      return mpasData.left("back");
    case "l2Back":
      return mpasData.left1("back");
    case "defaultBack":
      return mpasData.mainBack("back");
    case "cLeft":
      return mpasData.center("left");
    case "r1Left":
      return mpasData.right("left");
    case "r2Left":
      return mpasData.right1("left");
    case "l1Left":
      return mpasData.left("left");
    case "l2Left":
      return mpasData.left1("left");
    case "cRight":
      return mpasData.center("right");
    case "r1Right":
      return mpasData.right("right");
    case "r2Right":
      return mpasData.right1("right");
    case "l1Right":
      return mpasData.left("right");
    case "l2Right":
      return mpasData.left1("right");
    case "defaultRight":
      return mpasData.mainRight("right");
    case "defaultLeft":
      return mpasData.mainLeft("left");
    default:
      return mpasData.main();
  }
}

// function MPASP90H4(selectedFromMenu) {

//   selectedFromMenu = selectedFromMenu || false;

//   return {

//     //mountPoint: [new createjs.Point(-32,26), new createjs.Point(-60,-36), new createjs.Point(38,60), new createjs.Point(-10,-110)],
//     mountPoint: [new createjs.Point(0, 0), new createjs.Point(0, 0), new createjs.Point(0, 0), new createjs.Point(0, 0)],
//     //connectorPoint: [new createjs.Point(36,60), new createjs.Point(-26,28), new createjs.Point(28,-26), new createjs.Point(60,36)],
//     connectorPoint: [new createjs.Point(278, 161), new createjs.Point(0, 0), new createjs.Point(0, 0), new createjs.Point(0, 0)],

//     rotationOffsets: [new createjs.Point(0, 0), new createjs.Point(-60, 60), new createjs.Point(16, 42), new createjs.Point(0, 0)],

//     spriteSheet: new createjs.SpriteSheet({

//       images: ["assets/spritesheets/MPASP90-4.png"],

//       frames: { width: 373, height: 344 },

//       animations: {}

//     }),

//     spriteCenter: new createjs.Point(0, 0),
//     spriteCenterButton: new createjs.Point(180, 120),

//     altSkus: false,

//     length: 20,

//     width: 12,

//     legsNeeded: false,

//     legsLimit: 0,

//     actsAsLegs: false,

//     frameOffset: 0,

//     childFrameOffset: 0,

//     description: "90\"L Platform",

//     name: "90\"L Platform",

//     sku: "MPASP90",

//     gsku: "29RJ32",

//     altSkus: false,

//     connectableParts: ["MPASP90H4"],

//     usesSlot: 1,

//     hasMountSlot: true,

//     hasLegSlot: false,

//     zOrderMod: [0, 0, 0, 0],

//     iZOrderMod: [0, 0, 0, 0],

//     forceDrawLast: false,

//     forceDrawLastFrame: 0,

//     bridgeSpan: true,

//     turnPiece: false,

//     legs: false,

//     rails: false,

//     ladder: false

//   };

// }

// function MPASP120H4(selectedFromMenu) {

//   selectedFromMenu = selectedFromMenu || false;

//   return {

//     //mountPoint: [new createjs.Point(-32,26), new createjs.Point(-60,-36), new createjs.Point(38,60), new createjs.Point(-10,-110)],
//     mountPoint: [new createjs.Point(-1, 0), new createjs.Point(0, 0), new createjs.Point(0, 0), new createjs.Point(0, 0)],
//     //connectorPoint: [new createjs.Point(36,60), new createjs.Point(-26,28), new createjs.Point(28,-26), new createjs.Point(60,36)],
//     connectorPoint: [new createjs.Point(370, 214), new createjs.Point(0, 0), new createjs.Point(0, 0), new createjs.Point(0, 0)],

//     rotationOffsets: [new createjs.Point(0, 0), new createjs.Point(-60, 60), new createjs.Point(16, 42), new createjs.Point(0, 0)],

//     spriteSheet: new createjs.SpriteSheet({

//       images: ["assets/spritesheets/MPASP120-4.png"],

//       frames: { width: 466, height: 398 },

//       animations: {}

//     }),

//     spriteCenter: new createjs.Point(-1, 2),
//     spriteCenterButton: new createjs.Point(236, 140),

//     altSkus: false,

//     length: 120,

//     width: 48,

//     legsNeeded: false,

//     legsLimit: 0,

//     actsAsLegs: false,

//     frameOffset: 0,

//     childFrameOffset: 0,

//     description: "120\"L Platform",

//     name: "120\"L Platform",

//     sku: "MPASP120",

//     gsku: "29RJ32",

//     altSkus: false,

//     connectableParts: ["MPASP120H4"],

//     usesSlot: 1,

//     hasMountSlot: true,

//     hasLegSlot: false,

//     zOrderMod: [0, 0, 0, 0],

//     iZOrderMod: [0, 0, 0, 0],

//     forceDrawLast: false,

//     forceDrawLastFrame: 0,

//     bridgeSpan: true,

//     turnPiece: false,

//     legs: false,

//     rails: false,

//     ladder: false

//   };

// }

function MPASP90H4(selectedFromMenu, position) {
  let mpasData = new defaultMpasData("90_4", position);
  selectedFromMenu = selectedFromMenu || false;
  switch (position) {
    case "c":
      return mpasData.center();
    case "r1":
      return mpasData.right();
    case "r2":
      return mpasData.right1();
    case "l1":
      return mpasData.left();
    case "l2":
      return mpasData.left1();
    case "cBack":
      return mpasData.center("back");
    case "r1Back":
      return mpasData.right("back");
    case "r2Back":
      return mpasData.right1("back");
    case "l1Back":
      return mpasData.left("back");
    case "l2Back":
      return mpasData.left1("back");
    case "defaultBack":
      return mpasData.mainBack("back");
    case "cLeft":
      return mpasData.center("left");
    case "r1Left":
      return mpasData.right("left");
    case "r2Left":
      return mpasData.right1("left");
    case "l1Left":
      return mpasData.left("left");
    case "l2Left":
      return mpasData.left1("left");
    case "cRight":
      return mpasData.center("right");
    case "r1Right":
      return mpasData.right("right");
    case "r2Right":
      return mpasData.right1("right");
    case "l1Right":
      return mpasData.left("right");
    case "l2Right":
      return mpasData.left1("right");
    case "defaultRight":
      return mpasData.mainRight("right");
    case "defaultLeft":
      return mpasData.mainLeft("left");
    default:
      return mpasData.main();
  }
}

function MPASP120H4(selectedFromMenu, position = "default") {
  let mpasData = new defaultMpasData("120_4", position);
  selectedFromMenu = selectedFromMenu || false;
  switch (position) {
    case "c":
      return mpasData.center();

    case "r1":
      return mpasData.right();
    case "r2":
      return mpasData.right1();
    case "l1":
      return mpasData.left();
    case "l2":
      return mpasData.left1();
    case "cLeft":
      return mpasData.center("left");
    case "r1Left":
      return mpasData.right("left");
    case "r2Left":
      return mpasData.right1("left");
    case "l1Left":
      return mpasData.left("left");
    case "l2Left":
      return mpasData.left1("left");
    case "cRight":
      return mpasData.center("right");
    case "r1Right":
      return mpasData.right("right");
    case "r2Right":
      return mpasData.right1("right");
    case "l1Right":
      return mpasData.left("right");
    case "l2Right":
      return mpasData.left1("right");
    case "defaultRight":
      return mpasData.mainRight("right");
    case "defaultLeft":
      return mpasData.mainLeft("left");
    case "cBack":
      return mpasData.center("back");
    case "r1Back":
      return mpasData.right("back");
    case "r2Back":
      return mpasData.right1("back");
    case "l1Back":
      return mpasData.left("back");
    case "l2Back":
      return mpasData.left1("back");
    case "defaultBack":
      return mpasData.mainBack("back");
    default:
      return mpasData.main();
  }
}

function MPASSW5(selectedFromMenu) {
  selectedFromMenu = selectedFromMenu || false;
  return {
    mountPoint: [
      new createjs.Point(20, 52),
      new createjs.Point(20, 52),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],
    //mountPoint: [new createjs.Point(0,0), new createjs.Point(0,0), new createjs.Point(0,0), new createjs.Point(0,0)],

    connectorPoint: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    rotationOffsets: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    spriteSheet: new createjs.SpriteSheet({
      images: ["assets/spritesheets/MPASSW5.png"],

      frames: { width: 187, height: 374 },

      animations: {},
    }),
    spriteSheetObject: {
      images: ["assets/spritesheets/MPASSW5.png"],

      frames: { width: 187, height: 374 },

      animations: {},
    },
    spriteCenter: new createjs.Point(-23, 59),

    altSkus: false,

    length: 40,

    width: 29,

    legsNeeded: false,

    legsLimit: 4,

    actsAsLegs: true,

    frameOffset: 0,

    childFrameOffset: 0,

    description: "4 Step Ladder",

    name: "4 Step \nLadder",

    sku: "MPASSW5",

    gsku: "MPASSW5",

    connectableParts: ["MPASP30H5", "MPASP60H5", "MPASP90H5", "MPASP120H5"],

    usesSlot: 1,

    hasMountSlot: true,

    hasLegSlot: false,

    zOrderMod: [0, 0, 0, 0],

    iZOrderMod: [0, 0, 0, 0],

    forceDrawLast: false,

    forceDrawLastFrame: 0,

    bridgeSpan: false,

    turnPiece: false,

    legs: false,

    rails: false,

    ladder: true,
  };
}

function MPASP30H5(selectedFromMenu) {
  selectedFromMenu = selectedFromMenu || false;

  return {
    //mountPoint: [new createjs.Point(-32,26), new createjs.Point(-60,-36), new createjs.Point(38,60), new createjs.Point(-10,-110)],
    mountPoint: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],
    //connectorPoint: [new createjs.Point(36,60), new createjs.Point(-26,28), new createjs.Point(28,-26), new createjs.Point(60,36)],
    connectorPoint: [
      new createjs.Point(93, 54),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    rotationOffsets: [
      new createjs.Point(0, 0),
      new createjs.Point(-60, 60),
      new createjs.Point(16, 42),
      new createjs.Point(0, 0),
    ],

    spriteSheet: new createjs.SpriteSheet({
      images: ["assets/spritesheets/MPASP30-5.png"],

      frames: { width: 187, height: 269 },

      animations: {},
    }),

    spriteCenter: new createjs.Point(0, 0),
    spriteCenterButton: new createjs.Point(90, 90),

    altSkus: false,

    length: 30,

    width: 30,

    legsNeeded: false,

    legsLimit: 0,

    actsAsLegs: false,

    frameOffset: 0,

    childFrameOffset: 0,

    description: '30"L Platform',

    name: '30"L Platform',

    sku: "MPASP30",

    gsku: "29RJ32",

    altSkus: false,

    connectableParts: ["MPASP30H5"],

    usesSlot: 1,

    hasMountSlot: true,

    hasLegSlot: false,

    zOrderMod: [0, 0, 0, 0],

    iZOrderMod: [0, 0, 0, 0],

    forceDrawLast: false,

    forceDrawLastFrame: 0,

    bridgeSpan: true,

    turnPiece: false,

    legs: false,

    rails: false,

    ladder: false,

    frameHighlights: [
      [
        [-17, 43],
        [74, -9],
        [94, 0],
        [0, 53],
      ],
      [
        [-20, 65],
        [0, 53],
        [92, 107],
        [69, 120],
      ],
      [
        [94, 124],
        [93, 107],
        [186, 52],
        [184, 69],
      ],
      [
        [116, -12],
        [212, 39],
        [183, 54],
        [94, 0],
      ],
    ],
    connectorSelector: 0,
    connectorModify: [
      new createjs.Point(93, 54),
      new createjs.Point(93, -54),
      new createjs.Point(-93, -54),
      new createjs.Point(-93, 54),
    ],
    usedCoordinates: [
      { current: 0, parent: 2, name: "Front" },
      { current: 1, parent: 3, name: "Left" },
      { current: 2, parent: 0, name: "Back" },
      { current: 3, parent: 1, name: "Right" },
    ],
    sideSelector: true,
    defaultName: "default",
    height: 30,
  };
}

// function MPASP60H5(selectedFromMenu) {

//   selectedFromMenu = selectedFromMenu || false;

//   return {

//     //mountPoint: [new createjs.Point(-32,26), new createjs.Point(-60,-36), new createjs.Point(38,60), new createjs.Point(-10,-110)],
//     mountPoint: [new createjs.Point(0, 0), new createjs.Point(0, 0), new createjs.Point(0, 0), new createjs.Point(0, 0)],
//     //connectorPoint: [new createjs.Point(186,107), new createjs.Point(-26,28), new createjs.Point(28,-26), new createjs.Point(60,36)],
//     connectorPoint: [new createjs.Point(186, 107), new createjs.Point(0, 0), new createjs.Point(0, 0), new createjs.Point(0, 0)],

//     rotationOffsets: [new createjs.Point(0, 0), new createjs.Point(-60, 60), new createjs.Point(16, 42), new createjs.Point(0, 0)],

//     spriteSheet: new createjs.SpriteSheet({

//       images: ["assets/spritesheets/MPASP60-5.png"],

//       frames: { width: 281, height: 323 },

//       animations: {}

//     }),

//     spriteCenter: new createjs.Point(0, 0),
//     spriteCenterButton: new createjs.Point(130, 90),

//     altSkus: false,

//     length: 60,

//     width: 62,

//     legsNeeded: false,

//     legsLimit: 0,

//     actsAsLegs: false,

//     frameOffset: 0,

//     childFrameOffset: 0,

//     description: "60\"L Platform",

//     name: "60\"L Platform",

//     sku: "MPASP60",

//     gsku: "29RJ32",

//     altSkus: false,

//     connectableParts: ["MPASP60H5"],

//     usesSlot: 1,

//     hasMountSlot: true,

//     hasLegSlot: false,

//     zOrderMod: [0, 0, 0, 0],

//     iZOrderMod: [0, 0, 0, 0],

//     forceDrawLast: false,

//     forceDrawLastFrame: 0,

//     bridgeSpan: true,

//     turnPiece: false,

//     legs: false,

//     rails: false,

//     ladder: false

//   };

// }

function MPASP60H5(selectedFromMenu, position = "default") {
  let mpasData = new defaultMpasData("60_5", position);
  selectedFromMenu = selectedFromMenu || false;
  switch (position) {
    case "c":
      return mpasData.center();
    case "r1":
      return mpasData.right();
    case "r2":
      return mpasData.right1();
    case "l1":
      return mpasData.left();
    case "l2":
      return mpasData.left1();
    case "cBack":
      return mpasData.center("back");
    case "r1Back":
      return mpasData.right("back");
    case "r2Back":
      return mpasData.right1("back");
    case "l1Back":
      return mpasData.left("back");
    case "l2Back":
      return mpasData.left1("back");
    case "defaultBack":
      return mpasData.mainBack("back");
    case "cLeft":
      return mpasData.center("left");
    case "r1Left":
      return mpasData.right("left");
    case "r2Left":
      return mpasData.right1("left");
    case "l1Left":
      return mpasData.left("left");
    case "l2Left":
      return mpasData.left1("left");
    case "cRight":
      return mpasData.center("right");
    case "r1Right":
      return mpasData.right("right");
    case "r2Right":
      return mpasData.right1("right");
    case "l1Right":
      return mpasData.left("right");
    case "l2Right":
      return mpasData.left1("right");
    case "defaultRight":
      return mpasData.mainRight("right");
    case "defaultLeft":
      return mpasData.mainLeft("left");
    default:
      return mpasData.main();
  }
}

function MPASP90H5(selectedFromMenu, position = "default") {
  let mpasData = new defaultMpasData("90_5", position);
  selectedFromMenu = selectedFromMenu || false;
  switch (position) {
    case "c":
      return mpasData.center();
    case "r1":
      return mpasData.right();
    case "r2":
      return mpasData.right1();
    case "l1":
      return mpasData.left();
    case "l2":
      return mpasData.left1();
    case "cBack":
      return mpasData.center("back");
    case "r1Back":
      return mpasData.right("back");
    case "r2Back":
      return mpasData.right1("back");
    case "l1Back":
      return mpasData.left("back");
    case "l2Back":
      return mpasData.left1("back");
    case "defaultBack":
      return mpasData.mainBack("back");
    case "cLeft":
      return mpasData.center("left");
    case "r1Left":
      return mpasData.right("left");
    case "r2Left":
      return mpasData.right1("left");
    case "l1Left":
      return mpasData.left("left");
    case "l2Left":
      return mpasData.left1("left");
    case "cRight":
      return mpasData.center("right");
    case "r1Right":
      return mpasData.right("right");
    case "r2Right":
      return mpasData.right1("right");
    case "l1Right":
      return mpasData.left("right");
    case "l2Right":
      return mpasData.left1("right");
    case "defaultRight":
      return mpasData.mainRight("right");
    case "defaultLeft":
      return mpasData.mainLeft("left");
    default:
      return mpasData.main();
  }
}

// function MPASP120H5(selectedFromMenu) {

//   selectedFromMenu = selectedFromMenu || false;

//   return {

//     //mountPoint: [new createjs.Point(-32,26), new createjs.Point(-60,-36), new createjs.Point(38,60), new createjs.Point(-10,-110)],
//     mountPoint: [new createjs.Point(0, 0), new createjs.Point(0, 0), new createjs.Point(0, 0), new createjs.Point(0, 0)],
//     //connectorPoint: [new createjs.Point(36,60), new createjs.Point(-26,28), new createjs.Point(28,-26), new createjs.Point(60,36)],
//     connectorPoint: [new createjs.Point(372, 215), new createjs.Point(0, 0), new createjs.Point(0, 0), new createjs.Point(0, 0)],

//     rotationOffsets: [new createjs.Point(0, 0), new createjs.Point(-60, 60), new createjs.Point(16, 42), new createjs.Point(0, 0)],

//     spriteSheet: new createjs.SpriteSheet({

//       images: ["assets/spritesheets/MPASP120-5.png"],

//       frames: { width: 465, height: 430 },

//       animations: {}

//     }),

//     spriteCenter: new createjs.Point(0, 0),
//     spriteCenterButton: new createjs.Point(236, 140),

//     altSkus: false,

//     length: 120,

//     width: 48,

//     legsNeeded: false,

//     legsLimit: 0,

//     actsAsLegs: false,

//     frameOffset: 0,

//     childFrameOffset: 0,

//     description: "120\"L Platform",

//     name: "120\"L Platform",

//     sku: "MPASP120",

//     gsku: "29RJ32",

//     altSkus: false,

//     connectableParts: ["MPASP120H5"],

//     usesSlot: 1,

//     hasMountSlot: true,

//     hasLegSlot: false,

//     zOrderMod: [0, 0, 0, 0],

//     iZOrderMod: [0, 0, 0, 0],

//     forceDrawLast: false,

//     forceDrawLastFrame: 0,

//     bridgeSpan: true,

//     turnPiece: false,

//     legs: false,

//     rails: false,

//     ladder: false

//   };

// }

// function MPASP90H5(selectedFromMenu, position) {

//   let mpasData = new defaultMpasData("120_9");
//   selectedFromMenu = selectedFromMenu || false;
//   switch (position) {
//     case "c":
//       return mpasData.center();
//     case "r1":
//       return mpasData.right();
//     case "r2":
//       return mpasData.right1();
//     case "l1":
//       return mpasData.left();
//     case "l2":
//       return mpasData.left1();
//     case "cBack":
//       return mpasData.center("back");
//     case "r1Back":
//       return mpasData.right("back");
//     case "r2Back":
//       return mpasData.right1("back");
//     case "l1Back":
//       return mpasData.left("back");
//     case "l2Back":
//       return mpasData.left1("back");
//     case "defaultBack":
//       return mpasData.mainBack("back");
//     case "cLeft":
//       return mpasData.center("left");
//     case "r1Left":
//       return mpasData.right("left");
//     case "r2Left":
//       return mpasData.right1("left");
//     case "l1Left":
//       return mpasData.left("left");
//     case "l2Left":
//       return mpasData.left1("left");
//     case "cRight":
//       return mpasData.center("right");
//     case "r1Right":
//       return mpasData.right("right");
//     case "r2Right":
//       return mpasData.right1("right");
//     case "l1Right":
//       return mpasData.left("right");
//     case "l2Right":
//       return mpasData.left1("right");
//     case "defaultRight":
//       return mpasData.mainRight("right");
//     case "defaultLeft":
//       return mpasData.mainLeft("left");
//     default:
//       return mpasData.main();
//   }

// }

function MPASP120H5(selectedFromMenu, position = "default") {
  let mpasData = new defaultMpasData("120_5", position);
  selectedFromMenu = selectedFromMenu || false;
  switch (position) {
    case "c":
      return mpasData.center();

    case "r1":
      return mpasData.right();
    case "r2":
      return mpasData.right1();
    case "l1":
      return mpasData.left();
    case "l2":
      return mpasData.left1();
    case "cLeft":
      return mpasData.center("left");
    case "r1Left":
      return mpasData.right("left");
    case "r2Left":
      return mpasData.right1("left");
    case "l1Left":
      return mpasData.left("left");
    case "l2Left":
      return mpasData.left1("left");
    case "cRight":
      return mpasData.center("right");
    case "r1Right":
      return mpasData.right("right");
    case "r2Right":
      return mpasData.right1("right");
    case "l1Right":
      return mpasData.left("right");
    case "l2Right":
      return mpasData.left1("right");
    case "defaultRight":
      return mpasData.mainRight("right");
    case "defaultLeft":
      return mpasData.mainLeft("left");
    case "cBack":
      return mpasData.center("back");
    case "r1Back":
      return mpasData.right("back");
    case "r2Back":
      return mpasData.right1("back");
    case "l1Back":
      return mpasData.left("back");
    case "l2Back":
      return mpasData.left1("back");
    case "defaultBack":
      return mpasData.mainBack("back");
    default:
      return mpasData.main();
  }
}

function MPASSW6(selectedFromMenu) {
  selectedFromMenu = selectedFromMenu || false;
  return {
    mountPoint: [
      new createjs.Point(20, 52),
      new createjs.Point(20, 52),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],
    //mountPoint: [new createjs.Point(0,0), new createjs.Point(0,0), new createjs.Point(0,0), new createjs.Point(0,0)],

    connectorPoint: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    rotationOffsets: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    spriteSheet: new createjs.SpriteSheet({
      images: ["assets/spritesheets/MPASSW6.png"],

      frames: { width: 213, height: 419 },

      animations: {},
    }),
    spriteSheetObject: {
      images: ["assets/spritesheets/MPASSW6.png"],

      frames: { width: 213, height: 419 },

      animations: {},
    },

    //spriteCenter: new createjs.Point(-23, 59),
    spriteCenter: new createjs.Point(0, 59),

    altSkus: false,

    length: 50,

    width: 29,

    legsNeeded: false,

    legsLimit: 4,

    actsAsLegs: true,

    frameOffset: 0,

    childFrameOffset: 0,

    description: "5 Step Ladder",

    name: "5 Step \nLadder",

    sku: "MPASSW6",

    gsku: "MPASSW6",

    connectableParts: ["MPASP30H6", "MPASP60H6", "MPASP90H6", "MPASP120H6"],

    usesSlot: 1,

    hasMountSlot: true,

    hasLegSlot: false,

    zOrderMod: [0, 0, 0, 0],

    iZOrderMod: [0, 0, 0, 0],

    forceDrawLast: false,

    forceDrawLastFrame: 0,

    bridgeSpan: false,

    turnPiece: false,

    legs: false,

    rails: false,

    ladder: true,
  };
}

function MPASP30H6(selectedFromMenu) {
  selectedFromMenu = selectedFromMenu || false;

  return {
    //mountPoint: [new createjs.Point(-32,26), new createjs.Point(-60,-36), new createjs.Point(38,60), new createjs.Point(-10,-110)],
    mountPoint: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],
    //connectorPoint: [new createjs.Point(36,60), new createjs.Point(-26,28), new createjs.Point(28,-26), new createjs.Point(60,36)],
    connectorPoint: [
      new createjs.Point(93, 54),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    rotationOffsets: [
      new createjs.Point(0, 0),
      new createjs.Point(-60, 60),
      new createjs.Point(16, 42),
      new createjs.Point(0, 0),
    ],

    spriteSheet: new createjs.SpriteSheet({
      images: ["assets/spritesheets/MPASP30-6.png"],

      frames: { width: 187, height: 301 },

      animations: {},
    }),

    spriteCenter: new createjs.Point(23, 0),
    spriteCenterButton: new createjs.Point(90, 90),

    altSkus: false,

    length: 30,

    width: 30,

    legsNeeded: false,

    legsLimit: 0,

    actsAsLegs: false,

    frameOffset: 0,

    childFrameOffset: 0,

    description: '30"L Platform',

    name: '30"L Platform',

    sku: "MPASP30",

    gsku: "29RJ32",

    altSkus: false,

    connectableParts: ["MPASP30H6"],

    usesSlot: 1,

    hasMountSlot: true,

    hasLegSlot: false,

    zOrderMod: [0, 0, 0, 0],

    iZOrderMod: [0, 0, 0, 0],

    forceDrawLast: false,

    forceDrawLastFrame: 0,

    bridgeSpan: true,

    turnPiece: false,

    legs: false,

    rails: false,

    ladder: false,

    frameHighlights: [
      [
        [-17, 43],
        [74, -9],
        [94, 0],
        [0, 53],
      ],
      [
        [-20, 65],
        [0, 53],
        [92, 107],
        [69, 120],
      ],
      [
        [94, 124],
        [93, 107],
        [186, 52],
        [184, 69],
      ],
      [
        [116, -12],
        [212, 39],
        [183, 54],
        [94, 0],
      ],
    ],
    connectorSelector: 0,
    connectorModify: [
      new createjs.Point(93, 54),
      new createjs.Point(93, -54),
      new createjs.Point(-93, -54),
      new createjs.Point(-93, 54),
    ],
    usedCoordinates: [
      { current: 0, parent: 2, name: "Front" },
      { current: 1, parent: 3, name: "Left" },
      { current: 2, parent: 0, name: "Back" },
      { current: 3, parent: 1, name: "Right" },
    ],
    sideSelector: true,
    defaultName: "default",
    height: 30,
  };
}

// function MPASP60H6(selectedFromMenu) {

//   selectedFromMenu = selectedFromMenu || false;

//   return {

//     //mountPoint: [new createjs.Point(-32,26), new createjs.Point(-60,-36), new createjs.Point(38,60), new createjs.Point(-10,-110)],
//     mountPoint: [new createjs.Point(0, 0), new createjs.Point(0, 0), new createjs.Point(0, 0), new createjs.Point(0, 0)],
//     //connectorPoint: [new createjs.Point(186,107), new createjs.Point(-26,28), new createjs.Point(28,-26), new createjs.Point(60,36)],
//     connectorPoint: [new createjs.Point(186, 107), new createjs.Point(0, 0), new createjs.Point(0, 0), new createjs.Point(0, 0)],

//     rotationOffsets: [new createjs.Point(0, 0), new createjs.Point(-60, 60), new createjs.Point(16, 42), new createjs.Point(0, 0)],

//     spriteSheet: new createjs.SpriteSheet({

//       images: ["assets/spritesheets/MPASP60-6.png"],

//       frames: { width: 281, height: 355 },

//       animations: {}

//     }),

//     spriteCenter: new createjs.Point(23, 0),
//     spriteCenterButton: new createjs.Point(130, 90),

//     altSkus: false,

//     length: 60,

//     width: 62,

//     legsNeeded: false,

//     legsLimit: 0,

//     actsAsLegs: false,

//     frameOffset: 0,

//     childFrameOffset: 0,

//     description: "60\"L Platform",

//     name: "60\"L Platform",

//     sku: "MPASP60",

//     gsku: "29RJ32",

//     altSkus: false,

//     connectableParts: ["MPASP60H6"],

//     usesSlot: 1,

//     hasMountSlot: true,

//     hasLegSlot: false,

//     zOrderMod: [0, 0, 0, 0],

//     iZOrderMod: [0, 0, 0, 0],

//     forceDrawLast: false,

//     forceDrawLastFrame: 0,

//     bridgeSpan: true,

//     turnPiece: false,

//     legs: false,

//     rails: false,

//     ladder: false

//   };

// }

// function MPASP120H6(selectedFromMenu) {

//   selectedFromMenu = selectedFromMenu || false;

//   return {

//     //mountPoint: [new createjs.Point(-32,26), new createjs.Point(-60,-36), new createjs.Point(38,60), new createjs.Point(-10,-110)],
//     mountPoint: [new createjs.Point(0, 0), new createjs.Point(0, 0), new createjs.Point(0, 0), new createjs.Point(0, 0)],
//     //connectorPoint: [new createjs.Point(36,60), new createjs.Point(-26,28), new createjs.Point(28,-26), new createjs.Point(60,36)],
//     connectorPoint: [new createjs.Point(372, 215), new createjs.Point(0, 0), new createjs.Point(0, 0), new createjs.Point(0, 0)],

//     rotationOffsets: [new createjs.Point(0, 0), new createjs.Point(-60, 60), new createjs.Point(16, 42), new createjs.Point(0, 0)],

//     spriteSheet: new createjs.SpriteSheet({

//       images: ["assets/spritesheets/MPASP120-6.png"],

//       frames: { width: 467, height: 463 },

//       animations: {}

//     }),

//     spriteCenter: new createjs.Point(23, 0),
//     spriteCenterButton: new createjs.Point(236, 140),

//     altSkus: false,

//     length: 120,

//     width: 48,

//     legsNeeded: false,

//     legsLimit: 0,

//     actsAsLegs: false,

//     frameOffset: 0,

//     childFrameOffset: 0,

//     description: "120\"L Platform",

//     name: "120\"L Platform",

//     sku: "MPASP120",

//     gsku: "29RJ32",

//     altSkus: false,

//     connectableParts: ["MPASP120H6"],

//     usesSlot: 1,

//     hasMountSlot: true,

//     hasLegSlot: false,

//     zOrderMod: [0, 0, 0, 0],

//     iZOrderMod: [0, 0, 0, 0],

//     forceDrawLast: false,

//     forceDrawLastFrame: 0,

//     bridgeSpan: true,

//     turnPiece: false,

//     legs: false,

//     rails: false,

//     ladder: false

//   };

// }

function MPASP60H6(selectedFromMenu, position = "default") {
  let mpasData = new defaultMpasData("60_6", position);
  selectedFromMenu = selectedFromMenu || false;
  switch (position) {
    case "c":
      return mpasData.center();
    case "r1":
      return mpasData.right();
    case "r2":
      return mpasData.right1();
    case "l1":
      return mpasData.left();
    case "l2":
      return mpasData.left1();
    case "cBack":
      return mpasData.center("back");
    case "r1Back":
      return mpasData.right("back");
    case "r2Back":
      return mpasData.right1("back");
    case "l1Back":
      return mpasData.left("back");
    case "l2Back":
      return mpasData.left1("back");
    case "defaultBack":
      return mpasData.mainBack("back");
    case "cLeft":
      return mpasData.center("left");
    case "r1Left":
      return mpasData.right("left");
    case "r2Left":
      return mpasData.right1("left");
    case "l1Left":
      return mpasData.left("left");
    case "l2Left":
      return mpasData.left1("left");
    case "cRight":
      return mpasData.center("right");
    case "r1Right":
      return mpasData.right("right");
    case "r2Right":
      return mpasData.right1("right");
    case "l1Right":
      return mpasData.left("right");
    case "l2Right":
      return mpasData.left1("right");
    case "defaultRight":
      return mpasData.mainRight("right");
    case "defaultLeft":
      return mpasData.mainLeft("left");
    default:
      return mpasData.main();
  }
}

// function MPASP90H6(selectedFromMenu) {

//   selectedFromMenu = selectedFromMenu || false;

//   return {

//     //mountPoint: [new createjs.Point(-32,26), new createjs.Point(-60,-36), new createjs.Point(38,60), new createjs.Point(-10,-110)],
//     mountPoint: [new createjs.Point(0, 0), new createjs.Point(0, 0), new createjs.Point(0, 0), new createjs.Point(0, 0)],
//     //connectorPoint: [new createjs.Point(36,60), new createjs.Point(-26,28), new createjs.Point(28,-26), new createjs.Point(60,36)],
//     connectorPoint: [new createjs.Point(278, 161), new createjs.Point(0, 0), new createjs.Point(0, 0), new createjs.Point(0, 0)],

//     rotationOffsets: [new createjs.Point(0, 0), new createjs.Point(-60, 60), new createjs.Point(16, 42), new createjs.Point(0, 0)],

//     spriteSheet: new createjs.SpriteSheet({

//       images: ["assets/spritesheets/MPASP90-6.png"],

//       frames: { width: 372, height: 409 },

//       animations: {}

//     }),

//     spriteCenter: new createjs.Point(23, 0),
//     spriteCenterButton: new createjs.Point(180, 120),

//     altSkus: false,

//     length: 20,

//     width: 12,

//     legsNeeded: false,

//     legsLimit: 0,

//     actsAsLegs: false,

//     frameOffset: 0,

//     childFrameOffset: 0,

//     description: "90\"L Platform",

//     name: "90\"L Platform",

//     sku: "MPASP90",

//     gsku: "29RJ32",

//     altSkus: false,

//     connectableParts: ["MPASP90H6"],

//     usesSlot: 1,

//     hasMountSlot: true,

//     hasLegSlot: false,

//     zOrderMod: [0, 0, 0, 0],

//     iZOrderMod: [0, 0, 0, 0],

//     forceDrawLast: false,

//     forceDrawLastFrame: 0,

//     bridgeSpan: true,

//     turnPiece: false,

//     legs: false,

//     rails: false,

//     ladder: false

//   };

// }

function MPASP90H6(selectedFromMenu, position) {
  let mpasData = new defaultMpasData("90_6", position);
  selectedFromMenu = selectedFromMenu || false;
  switch (position) {
    case "c":
      return mpasData.center();
    case "r1":
      return mpasData.right();
    case "r2":
      return mpasData.right1();
    case "l1":
      return mpasData.left();
    case "l2":
      return mpasData.left1();
    case "cBack":
      return mpasData.center("back");
    case "r1Back":
      return mpasData.right("back");
    case "r2Back":
      return mpasData.right1("back");
    case "l1Back":
      return mpasData.left("back");
    case "l2Back":
      return mpasData.left1("back");
    case "defaultBack":
      return mpasData.mainBack("back");
    case "cLeft":
      return mpasData.center("left");
    case "r1Left":
      return mpasData.right("left");
    case "r2Left":
      return mpasData.right1("left");
    case "l1Left":
      return mpasData.left("left");
    case "l2Left":
      return mpasData.left1("left");
    case "cRight":
      return mpasData.center("right");
    case "r1Right":
      return mpasData.right("right");
    case "r2Right":
      return mpasData.right1("right");
    case "l1Right":
      return mpasData.left("right");
    case "l2Right":
      return mpasData.left1("right");
    case "defaultRight":
      return mpasData.mainRight("right");
    case "defaultLeft":
      return mpasData.mainLeft("left");
    default:
      return mpasData.main();
  }
}

function MPASP120H6(selectedFromMenu, position = "default") {
  let mpasData = new defaultMpasData("120_6", position);
  selectedFromMenu = selectedFromMenu || false;
  switch (position) {
    case "c":
      return mpasData.center();

    case "r1":
      return mpasData.right();
    case "r2":
      return mpasData.right1();
    case "l1":
      return mpasData.left();
    case "l2":
      return mpasData.left1();
    case "cLeft":
      return mpasData.center("left");
    case "r1Left":
      return mpasData.right("left");
    case "r2Left":
      return mpasData.right1("left");
    case "l1Left":
      return mpasData.left("left");
    case "l2Left":
      return mpasData.left1("left");
    case "cRight":
      return mpasData.center("right");
    case "r1Right":
      return mpasData.right("right");
    case "r2Right":
      return mpasData.right1("right");
    case "l1Right":
      return mpasData.left("right");
    case "l2Right":
      return mpasData.left1("right");
    case "defaultRight":
      return mpasData.mainRight("right");
    case "defaultLeft":
      return mpasData.mainLeft("left");
    case "cBack":
      return mpasData.center("back");
    case "r1Back":
      return mpasData.right("back");
    case "r2Back":
      return mpasData.right1("back");
    case "l1Back":
      return mpasData.left("back");
    case "l2Back":
      return mpasData.left1("back");
    case "defaultBack":
      return mpasData.mainBack("back");
    default:
      return mpasData.main();
  }
}

function MPASSW7(selectedFromMenu) {
  selectedFromMenu = selectedFromMenu || false;
  return {
    mountPoint: [
      new createjs.Point(20, 52),
      new createjs.Point(20, 52),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],
    //mountPoint: [new createjs.Point(0,0), new createjs.Point(0,0), new createjs.Point(0,0), new createjs.Point(0,0)],

    connectorPoint: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    rotationOffsets: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    spriteSheet: new createjs.SpriteSheet({
      images: ["assets/spritesheets/MPASSW7.png"],

      frames: { width: 239, height: 463 },

      animations: {},
    }),
    spriteSheetObject: {
      images: ["assets/spritesheets/MPASSW7.png"],

      frames: { width: 239, height: 463 },

      animations: {},
    },

    spriteCenter: new createjs.Point(30, 100),

    altSkus: false,

    length: 60,

    width: 29,

    legsNeeded: false,

    legsLimit: 4,

    actsAsLegs: true,

    frameOffset: 0,

    childFrameOffset: 0,

    description: "6 Step Ladder",

    name: "6 Step \nLadder",

    sku: "MPASSW7",

    gsku: "MPASSW7",

    connectableParts: ["MPASP30H7", "MPASP60H7", "MPASP90H7", "MPASP120H7"],

    usesSlot: 1,

    hasMountSlot: true,

    hasLegSlot: false,

    zOrderMod: [0, 0, 0, 0],

    iZOrderMod: [0, 0, 0, 0],

    forceDrawLast: false,

    forceDrawLastFrame: 0,

    bridgeSpan: false,

    turnPiece: false,

    legs: false,

    rails: false,

    ladder: true,
  };
}

function MPASP30H7(selectedFromMenu) {
  selectedFromMenu = selectedFromMenu || false;

  return {
    //mountPoint: [new createjs.Point(-32,26), new createjs.Point(-60,-36), new createjs.Point(38,60), new createjs.Point(-10,-110)],
    mountPoint: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],
    //connectorPoint: [new createjs.Point(36,60), new createjs.Point(-26,28), new createjs.Point(28,-26), new createjs.Point(60,36)],
    connectorPoint: [
      new createjs.Point(93, 54),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    rotationOffsets: [
      new createjs.Point(0, 0),
      new createjs.Point(-60, 60),
      new createjs.Point(16, 42),
      new createjs.Point(0, 0),
    ],

    spriteSheet: new createjs.SpriteSheet({
      images: ["assets/spritesheets/MPASP30-7.png"],

      frames: { width: 186, height: 334 },

      animations: {},
    }),

    spriteCenter: new createjs.Point(54, 40),
    spriteCenterButton: new createjs.Point(90, 90),

    altSkus: false,

    length: 30,

    width: 30,

    legsNeeded: false,

    legsLimit: 0,

    actsAsLegs: false,

    frameOffset: 0,

    childFrameOffset: 0,

    description: '30"L Platform',

    name: '30"L Platform',

    sku: "MPASP30",

    gsku: "29RJ32",

    altSkus: false,

    connectableParts: ["MPASP30H7"],

    usesSlot: 1,

    hasMountSlot: true,

    hasLegSlot: false,

    zOrderMod: [0, 0, 0, 0],

    iZOrderMod: [0, 0, 0, 0],

    forceDrawLast: false,

    forceDrawLastFrame: 0,

    bridgeSpan: true,

    turnPiece: false,

    legs: false,

    rails: false,

    ladder: false,

    frameHighlights: [
      [
        [-17, 43],
        [74, -9],
        [94, 0],
        [0, 53],
      ],
      [
        [-20, 65],
        [0, 53],
        [92, 107],
        [69, 120],
      ],
      [
        [94, 124],
        [93, 107],
        [186, 52],
        [184, 69],
      ],
      [
        [116, -12],
        [212, 39],
        [183, 54],
        [94, 0],
      ],
    ],
    connectorSelector: 0,
    connectorModify: [
      new createjs.Point(93, 54),
      new createjs.Point(93, -54),
      new createjs.Point(-93, -54),
      new createjs.Point(-93, 54),
    ],
    usedCoordinates: [
      { current: 0, parent: 2, name: "Front" },
      { current: 1, parent: 3, name: "Left" },
      { current: 2, parent: 0, name: "Back" },
      { current: 3, parent: 1, name: "Right" },
    ],
    sideSelector: true,
    defaultName: "default",
    height: 30,
  };
}

// function MPASP60H7(selectedFromMenu) {

//   selectedFromMenu = selectedFromMenu || false;

//   return {

//     //mountPoint: [new createjs.Point(-32,26), new createjs.Point(-60,-36), new createjs.Point(38,60), new createjs.Point(-10,-110)],
//     mountPoint: [new createjs.Point(0, 0), new createjs.Point(0, 0), new createjs.Point(0, 0), new createjs.Point(0, 0)],
//     //connectorPoint: [new createjs.Point(186,107), new createjs.Point(-26,28), new createjs.Point(28,-26), new createjs.Point(60,36)],
//     connectorPoint: [new createjs.Point(186, 107), new createjs.Point(0, 0), new createjs.Point(0, 0), new createjs.Point(0, 0)],

//     rotationOffsets: [new createjs.Point(0, 0), new createjs.Point(-60, 60), new createjs.Point(16, 42), new createjs.Point(0, 0)],

//     spriteSheet: new createjs.SpriteSheet({

//       images: ["assets/spritesheets/MPASP60-7.png"],

//       frames: { width: 280, height: 387 },

//       animations: {}

//     }),

//     spriteCenter: new createjs.Point(54, 40),
//     spriteCenterButton: new createjs.Point(130, 90),

//     altSkus: false,

//     length: 60,

//     width: 62,

//     legsNeeded: false,

//     legsLimit: 0,

//     actsAsLegs: false,

//     frameOffset: 0,

//     childFrameOffset: 0,

//     description: "60\"L Platform",

//     name: "60\"L Platform",

//     sku: "MPASP60",

//     gsku: "29RJ32",

//     altSkus: false,

//     connectableParts: ["MPASP60H7"],

//     usesSlot: 1,

//     hasMountSlot: true,

//     hasLegSlot: false,

//     zOrderMod: [0, 0, 0, 0],

//     iZOrderMod: [0, 0, 0, 0],

//     forceDrawLast: false,

//     forceDrawLastFrame: 0,

//     bridgeSpan: true,

//     turnPiece: false,

//     legs: false,

//     rails: false,

//     ladder: false

//   };

// }

function MPASP60H7(selectedFromMenu, position = "default") {
  let mpasData = new defaultMpasData("60_7", position);
  selectedFromMenu = selectedFromMenu || false;
  switch (position) {
    case "c":
      return mpasData.center();
    case "r1":
      return mpasData.right();
    case "r2":
      return mpasData.right1();
    case "l1":
      return mpasData.left();
    case "l2":
      return mpasData.left1();
    case "cBack":
      return mpasData.center("back");
    case "r1Back":
      return mpasData.right("back");
    case "r2Back":
      return mpasData.right1("back");
    case "l1Back":
      return mpasData.left("back");
    case "l2Back":
      return mpasData.left1("back");
    case "defaultBack":
      return mpasData.mainBack("back");
    case "cLeft":
      return mpasData.center("left");
    case "r1Left":
      return mpasData.right("left");
    case "r2Left":
      return mpasData.right1("left");
    case "l1Left":
      return mpasData.left("left");
    case "l2Left":
      return mpasData.left1("left");
    case "cRight":
      return mpasData.center("right");
    case "r1Right":
      return mpasData.right("right");
    case "r2Right":
      return mpasData.right1("right");
    case "l1Right":
      return mpasData.left("right");
    case "l2Right":
      return mpasData.left1("right");
    case "defaultRight":
      return mpasData.mainRight("right");
    case "defaultLeft":
      return mpasData.mainLeft("left");
    default:
      return mpasData.main();
  }
}

// function MPASP90H7(selectedFromMenu) {

//   selectedFromMenu = selectedFromMenu || false;

//   return {

//     //mountPoint: [new createjs.Point(-32,26), new createjs.Point(-60,-36), new createjs.Point(38,60), new createjs.Point(-10,-110)],
//     mountPoint: [new createjs.Point(0, 0), new createjs.Point(0, 0), new createjs.Point(0, 0), new createjs.Point(0, 0)],
//     //connectorPoint: [new createjs.Point(36,60), new createjs.Point(-26,28), new createjs.Point(28,-26), new createjs.Point(60,36)],
//     connectorPoint: [new createjs.Point(278, 161), new createjs.Point(0, 0), new createjs.Point(0, 0), new createjs.Point(0, 0)],

//     rotationOffsets: [new createjs.Point(0, 0), new createjs.Point(-60, 60), new createjs.Point(16, 42), new createjs.Point(0, 0)],

//     spriteSheet: new createjs.SpriteSheet({

//       images: ["assets/spritesheets/MPASP90-7.png"],

//       frames: { width: 373, height: 441 },

//       animations: {}

//     }),

//     spriteCenter: new createjs.Point(54, 40),
//     spriteCenterButton: new createjs.Point(180, 120),

//     altSkus: false,

//     length: 20,

//     width: 12,

//     legsNeeded: false,

//     legsLimit: 0,

//     actsAsLegs: false,

//     frameOffset: 0,

//     childFrameOffset: 0,

//     description: "90\"L Platform",

//     name: "90\"L Platform",

//     sku: "MPASP90",

//     gsku: "29RJ32",

//     altSkus: false,

//     connectableParts: ["MPASP90H7"],

//     usesSlot: 1,

//     hasMountSlot: true,

//     hasLegSlot: false,

//     zOrderMod: [0, 0, 0, 0],

//     iZOrderMod: [0, 0, 0, 0],

//     forceDrawLast: false,

//     forceDrawLastFrame: 0,

//     bridgeSpan: true,

//     turnPiece: false,

//     legs: false,

//     rails: false,

//     ladder: false

//   };

// }

function MPASP90H7(selectedFromMenu, position) {
  let mpasData = new defaultMpasData("90_7", position);
  selectedFromMenu = selectedFromMenu || false;
  switch (position) {
    case "c":
      return mpasData.center();
    case "r1":
      return mpasData.right();
    case "r2":
      return mpasData.right1();
    case "l1":
      return mpasData.left();
    case "l2":
      return mpasData.left1();
    case "cBack":
      return mpasData.center("back");
    case "r1Back":
      return mpasData.right("back");
    case "r2Back":
      return mpasData.right1("back");
    case "l1Back":
      return mpasData.left("back");
    case "l2Back":
      return mpasData.left1("back");
    case "defaultBack":
      return mpasData.mainBack("back");
    case "cLeft":
      return mpasData.center("left");
    case "r1Left":
      return mpasData.right("left");
    case "r2Left":
      return mpasData.right1("left");
    case "l1Left":
      return mpasData.left("left");
    case "l2Left":
      return mpasData.left1("left");
    case "cRight":
      return mpasData.center("right");
    case "r1Right":
      return mpasData.right("right");
    case "r2Right":
      return mpasData.right1("right");
    case "l1Right":
      return mpasData.left("right");
    case "l2Right":
      return mpasData.left1("right");
    case "defaultRight":
      return mpasData.mainRight("right");
    case "defaultLeft":
      return mpasData.mainLeft("left");
    default:
      return mpasData.main();
  }
}

// function MPASP120H7(selectedFromMenu) {

//   selectedFromMenu = selectedFromMenu || false;

//   return {

//     //mountPoint: [new createjs.Point(-32,26), new createjs.Point(-60,-36), new createjs.Point(38,60), new createjs.Point(-10,-110)],
//     mountPoint: [new createjs.Point(0, 0), new createjs.Point(0, 0), new createjs.Point(0, 0), new createjs.Point(0, 0)],
//     //connectorPoint: [new createjs.Point(36,60), new createjs.Point(-26,28), new createjs.Point(28,-26), new createjs.Point(60,36)],
//     connectorPoint: [new createjs.Point(372, 215), new createjs.Point(0, 0), new createjs.Point(0, 0), new createjs.Point(0, 0)],

//     rotationOffsets: [new createjs.Point(0, 0), new createjs.Point(-60, 60), new createjs.Point(16, 42), new createjs.Point(0, 0)],

//     spriteSheet: new createjs.SpriteSheet({

//       images: ["assets/spritesheets/MPASP120-7.png"],

//       frames: { width: 467, height: 495 },

//       animations: {}

//     }),

//     spriteCenter: new createjs.Point(54, 40),
//     spriteCenterButton: new createjs.Point(236, 140),

//     altSkus: false,

//     length: 120,

//     width: 48,

//     legsNeeded: false,

//     legsLimit: 0,

//     actsAsLegs: false,

//     frameOffset: 0,

//     childFrameOffset: 0,

//     description: "120\"L Platform",

//     name: "120\"L Platform",

//     sku: "MPASP120",

//     gsku: "29RJ32",

//     altSkus: false,

//     connectableParts: ["MPASP120H7"],

//     usesSlot: 1,

//     hasMountSlot: true,

//     hasLegSlot: false,

//     zOrderMod: [0, 0, 0, 0],

//     iZOrderMod: [0, 0, 0, 0],

//     forceDrawLast: false,

//     forceDrawLastFrame: 0,

//     bridgeSpan: true,

//     turnPiece: false,

//     legs: false,

//     rails: false,

//     ladder: false

//   };

// }

function MPASP120H7(selectedFromMenu, position = "default") {
  let mpasData = new defaultMpasData("120_7", position);
  selectedFromMenu = selectedFromMenu || false;
  switch (position) {
    case "c":
      return mpasData.center();

    case "r1":
      return mpasData.right();
    case "r2":
      return mpasData.right1();
    case "l1":
      return mpasData.left();
    case "l2":
      return mpasData.left1();
    case "cLeft":
      return mpasData.center("left");
    case "r1Left":
      return mpasData.right("left");
    case "r2Left":
      return mpasData.right1("left");
    case "l1Left":
      return mpasData.left("left");
    case "l2Left":
      return mpasData.left1("left");
    case "cRight":
      return mpasData.center("right");
    case "r1Right":
      return mpasData.right("right");
    case "r2Right":
      return mpasData.right1("right");
    case "l1Right":
      return mpasData.left("right");
    case "l2Right":
      return mpasData.left1("right");
    case "defaultRight":
      return mpasData.mainRight("right");
    case "defaultLeft":
      return mpasData.mainLeft("left");
    case "cBack":
      return mpasData.center("back");
    case "r1Back":
      return mpasData.right("back");
    case "r2Back":
      return mpasData.right1("back");
    case "l1Back":
      return mpasData.left("back");
    case "l2Back":
      return mpasData.left1("back");
    case "defaultBack":
      return mpasData.mainBack("back");
    default:
      return mpasData.main();
  }
}

function MPASSW8(selectedFromMenu) {
  selectedFromMenu = selectedFromMenu || false;
  return {
    mountPoint: [
      new createjs.Point(20, 52),
      new createjs.Point(20, 52),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],
    //mountPoint: [new createjs.Point(0,0), new createjs.Point(0,0), new createjs.Point(0,0), new createjs.Point(0,0)],

    connectorPoint: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    rotationOffsets: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    spriteSheet: new createjs.SpriteSheet({
      images: ["assets/spritesheets/MPASSW8.png"],

      frames: { width: 264, height: 508 },

      animations: {},
    }),
    spriteSheetObject: {
      images: ["assets/spritesheets/MPASSW8.png"],

      frames: { width: 264, height: 508 },

      animations: {},
    },

    // spriteCenter: new createjs.Point(30, 100),
    spriteCenter: new createjs.Point(80, 140),

    altSkus: false,

    length: 70,

    width: 29,

    legsNeeded: false,

    legsLimit: 4,

    actsAsLegs: true,

    frameOffset: 0,

    childFrameOffset: 0,

    description: "7 Step Ladder",

    name: "7 Step \nLadder",

    sku: "MPASSW8",

    gsku: "MPASSW8",

    connectableParts: ["MPASP30H8", "MPASP60H8", "MPASP90H8", "MPASP120H8"],

    usesSlot: 1,

    hasMountSlot: true,

    hasLegSlot: false,

    zOrderMod: [0, 0, 0, 0],

    iZOrderMod: [0, 0, 0, 0],

    forceDrawLast: false,

    forceDrawLastFrame: 0,

    bridgeSpan: false,

    turnPiece: false,

    legs: false,

    rails: false,

    ladder: true,
  };
}

function MPASP30H8(selectedFromMenu) {
  selectedFromMenu = selectedFromMenu || false;

  return {
    //mountPoint: [new createjs.Point(-32,26), new createjs.Point(-60,-36), new createjs.Point(38,60), new createjs.Point(-10,-110)],
    mountPoint: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],
    //connectorPoint: [new createjs.Point(36,60), new createjs.Point(-26,28), new createjs.Point(28,-26), new createjs.Point(60,36)],
    connectorPoint: [
      new createjs.Point(93, 54),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    rotationOffsets: [
      new createjs.Point(0, 0),
      new createjs.Point(-60, 60),
      new createjs.Point(16, 42),
      new createjs.Point(0, 0),
    ],

    spriteSheet: new createjs.SpriteSheet({
      images: ["assets/spritesheets/MPASP30-8.png"],

      frames: { width: 188, height: 366 },

      animations: {},
    }),

    spriteCenter: new createjs.Point(104, 80),
    spriteCenterButton: new createjs.Point(90, 90),

    altSkus: false,

    length: 30,

    width: 30,

    legsNeeded: false,

    legsLimit: 0,

    actsAsLegs: false,

    frameOffset: 0,

    childFrameOffset: 0,

    description: '30"L Platform',

    name: '30"L Platform',

    sku: "MPASP30",

    gsku: "29RJ32",

    altSkus: false,

    connectableParts: ["MPASP30H8"],

    usesSlot: 1,

    hasMountSlot: true,

    hasLegSlot: false,

    zOrderMod: [0, 0, 0, 0],

    iZOrderMod: [0, 0, 0, 0],

    forceDrawLast: false,

    forceDrawLastFrame: 0,

    bridgeSpan: true,

    turnPiece: false,

    legs: false,

    rails: false,

    ladder: false,

    frameHighlights: [
      [
        [-17, 43],
        [74, -9],
        [94, 0],
        [0, 53],
      ],
      [
        [-20, 65],
        [0, 53],
        [92, 107],
        [69, 120],
      ],
      [
        [94, 124],
        [93, 107],
        [186, 52],
        [184, 69],
      ],
      [
        [116, -12],
        [212, 39],
        [183, 54],
        [94, 0],
      ],
    ],
    connectorSelector: 0,
    connectorModify: [
      new createjs.Point(93, 54),
      new createjs.Point(93, -54),
      new createjs.Point(-93, -54),
      new createjs.Point(-93, 54),
    ],
    usedCoordinates: [
      { current: 0, parent: 2, name: "Front" },
      { current: 1, parent: 3, name: "Left" },
      { current: 2, parent: 0, name: "Back" },
      { current: 3, parent: 1, name: "Right" },
    ],
    sideSelector: true,
    defaultName: "default",
    height: 30,
  };
}

// function MPASP60H8(selectedFromMenu) {

//   selectedFromMenu = selectedFromMenu || false;

//   return {

//     //mountPoint: [new createjs.Point(-32,26), new createjs.Point(-60,-36), new createjs.Point(38,60), new createjs.Point(-10,-110)],
//     mountPoint: [new createjs.Point(0, 0), new createjs.Point(0, 0), new createjs.Point(0, 0), new createjs.Point(0, 0)],
//     //connectorPoint: [new createjs.Point(186,107), new createjs.Point(-26,28), new createjs.Point(28,-26), new createjs.Point(60,36)],
//     connectorPoint: [new createjs.Point(186, 107), new createjs.Point(0, 0), new createjs.Point(0, 0), new createjs.Point(0, 0)],

//     rotationOffsets: [new createjs.Point(0, 0), new createjs.Point(-60, 60), new createjs.Point(16, 42), new createjs.Point(0, 0)],

//     spriteSheet: new createjs.SpriteSheet({

//       images: ["assets/spritesheets/MPASP60-8.png"],

//       frames: { width: 281, height: 420 },

//       animations: {}

//     }),

//     spriteCenter: new createjs.Point(104, 80),
//     spriteCenterButton: new createjs.Point(130, 90),

//     altSkus: false,

//     length: 60,

//     width: 62,

//     legsNeeded: false,

//     legsLimit: 0,

//     actsAsLegs: false,

//     frameOffset: 0,

//     childFrameOffset: 0,

//     description: "60\"L Platform",

//     name: "60\"L Platform",

//     sku: "MPASP60",

//     gsku: "29RJ32",

//     altSkus: false,

//     connectableParts: ["MPASP60H8"],

//     usesSlot: 1,

//     hasMountSlot: true,

//     hasLegSlot: false,

//     zOrderMod: [0, 0, 0, 0],

//     iZOrderMod: [0, 0, 0, 0],

//     forceDrawLast: false,

//     forceDrawLastFrame: 0,

//     bridgeSpan: true,

//     turnPiece: false,

//     legs: false,

//     rails: false,

//     ladder: false

//   };

// }

function MPASP60H8(selectedFromMenu, position = "default") {
  let mpasData = new defaultMpasData("60_8", position);
  selectedFromMenu = selectedFromMenu || false;
  switch (position) {
    case "c":
      return mpasData.center();
    case "r1":
      return mpasData.right();
    case "r2":
      return mpasData.right1();
    case "l1":
      return mpasData.left();
    case "l2":
      return mpasData.left1();
    case "cBack":
      return mpasData.center("back");
    case "r1Back":
      return mpasData.right("back");
    case "r2Back":
      return mpasData.right1("back");
    case "l1Back":
      return mpasData.left("back");
    case "l2Back":
      return mpasData.left1("back");
    case "defaultBack":
      return mpasData.mainBack("back");
    case "cLeft":
      return mpasData.center("left");
    case "r1Left":
      return mpasData.right("left");
    case "r2Left":
      return mpasData.right1("left");
    case "l1Left":
      return mpasData.left("left");
    case "l2Left":
      return mpasData.left1("left");
    case "cRight":
      return mpasData.center("right");
    case "r1Right":
      return mpasData.right("right");
    case "r2Right":
      return mpasData.right1("right");
    case "l1Right":
      return mpasData.left("right");
    case "l2Right":
      return mpasData.left1("right");
    case "defaultRight":
      return mpasData.mainRight("right");
    case "defaultLeft":
      return mpasData.mainLeft("left");
    default:
      return mpasData.main();
  }
}

// function MPASP90H8(selectedFromMenu) {

//   selectedFromMenu = selectedFromMenu || false;

//   return {

//     //mountPoint: [new createjs.Point(-32,26), new createjs.Point(-60,-36), new createjs.Point(38,60), new createjs.Point(-10,-110)],
//     mountPoint: [new createjs.Point(0, 0), new createjs.Point(0, 0), new createjs.Point(0, 0), new createjs.Point(0, 0)],
//     //connectorPoint: [new createjs.Point(36,60), new createjs.Point(-26,28), new createjs.Point(28,-26), new createjs.Point(60,36)],
//     connectorPoint: [new createjs.Point(278, 161), new createjs.Point(0, 0), new createjs.Point(0, 0), new createjs.Point(0, 0)],

//     rotationOffsets: [new createjs.Point(0, 0), new createjs.Point(-60, 60), new createjs.Point(16, 42), new createjs.Point(0, 0)],

//     spriteSheet: new createjs.SpriteSheet({

//       images: ["assets/spritesheets/MPASP90-8.png"],

//       frames: { width: 373, height: 473 },

//       animations: {}

//     }),

//     spriteCenter: new createjs.Point(104, 80),
//     spriteCenterButton: new createjs.Point(180, 120),

//     altSkus: false,

//     length: 20,

//     width: 12,

//     legsNeeded: false,

//     legsLimit: 0,

//     actsAsLegs: false,

//     frameOffset: 0,

//     childFrameOffset: 0,

//     description: "90\"L Platform",

//     name: "90\"L Platform",

//     sku: "MPASP90",

//     gsku: "29RJ32",

//     altSkus: false,

//     connectableParts: ["MPASP90H8"],

//     usesSlot: 1,

//     hasMountSlot: true,

//     hasLegSlot: false,

//     zOrderMod: [0, 0, 0, 0],

//     iZOrderMod: [0, 0, 0, 0],

//     forceDrawLast: false,

//     forceDrawLastFrame: 0,

//     bridgeSpan: true,

//     turnPiece: false,

//     legs: false,

//     rails: false,

//     ladder: false

//   };

// }

// function MPASP120H8(selectedFromMenu) {

//   selectedFromMenu = selectedFromMenu || false;

//   return {

//     //mountPoint: [new createjs.Point(-32,26), new createjs.Point(-60,-36), new createjs.Point(38,60), new createjs.Point(-10,-110)],
//     mountPoint: [new createjs.Point(0, 0), new createjs.Point(0, 0), new createjs.Point(0, 0), new createjs.Point(0, 0)],
//     //connectorPoint: [new createjs.Point(36,60), new createjs.Point(-26,28), new createjs.Point(28,-26), new createjs.Point(60,36)],
//     connectorPoint: [new createjs.Point(372, 215), new createjs.Point(0, 0), new createjs.Point(0, 0), new createjs.Point(0, 0)],

//     rotationOffsets: [new createjs.Point(0, 0), new createjs.Point(-60, 60), new createjs.Point(16, 42), new createjs.Point(0, 0)],

//     spriteSheet: new createjs.SpriteSheet({

//       images: ["assets/spritesheets/MPASP120-8.png"],

//       frames: { width: 466, height: 527 },

//       animations: {}

//     }),

//     spriteCenter: new createjs.Point(104, 80),
//     spriteCenterButton: new createjs.Point(236, 140),

//     altSkus: false,

//     length: 120,

//     width: 48,

//     legsNeeded: false,

//     legsLimit: 0,

//     actsAsLegs: false,

//     frameOffset: 0,

//     childFrameOffset: 0,

//     description: "120\"L Platform",

//     name: "120\"L Platform",

//     sku: "MPASP120",

//     gsku: "29RJ32",

//     altSkus: false,

//     connectableParts: ["MPASP120H8"],

//     usesSlot: 1,

//     hasMountSlot: true,

//     hasLegSlot: false,

//     zOrderMod: [0, 0, 0, 0],

//     iZOrderMod: [0, 0, 0, 0],

//     forceDrawLast: false,

//     forceDrawLastFrame: 0,

//     bridgeSpan: true,

//     turnPiece: false,

//     legs: false,

//     rails: false,

//     ladder: false

//   };

// }

function MPASP90H8(selectedFromMenu, position) {
  let mpasData = new defaultMpasData("90_8", position);
  selectedFromMenu = selectedFromMenu || false;
  switch (position) {
    case "c":
      return mpasData.center();
    case "r1":
      return mpasData.right();
    case "r2":
      return mpasData.right1();
    case "l1":
      return mpasData.left();
    case "l2":
      return mpasData.left1();
    case "cBack":
      return mpasData.center("back");
    case "r1Back":
      return mpasData.right("back");
    case "r2Back":
      return mpasData.right1("back");
    case "l1Back":
      return mpasData.left("back");
    case "l2Back":
      return mpasData.left1("back");
    case "defaultBack":
      return mpasData.mainBack("back");
    case "cLeft":
      return mpasData.center("left");
    case "r1Left":
      return mpasData.right("left");
    case "r2Left":
      return mpasData.right1("left");
    case "l1Left":
      return mpasData.left("left");
    case "l2Left":
      return mpasData.left1("left");
    case "cRight":
      return mpasData.center("right");
    case "r1Right":
      return mpasData.right("right");
    case "r2Right":
      return mpasData.right1("right");
    case "l1Right":
      return mpasData.left("right");
    case "l2Right":
      return mpasData.left1("right");
    case "defaultRight":
      return mpasData.mainRight("right");
    case "defaultLeft":
      return mpasData.mainLeft("left");
    default:
      return mpasData.main();
  }
}

function MPASP120H8(selectedFromMenu, position = "default") {
  let mpasData = new defaultMpasData("120_8", position);
  selectedFromMenu = selectedFromMenu || false;
  switch (position) {
    case "c":
      return mpasData.center();

    case "r1":
      return mpasData.right();
    case "r2":
      return mpasData.right1();
    case "l1":
      return mpasData.left();
    case "l2":
      return mpasData.left1();
    case "cLeft":
      return mpasData.center("left");
    case "r1Left":
      return mpasData.right("left");
    case "r2Left":
      return mpasData.right1("left");
    case "l1Left":
      return mpasData.left("left");
    case "l2Left":
      return mpasData.left1("left");
    case "cRight":
      return mpasData.center("right");
    case "r1Right":
      return mpasData.right("right");
    case "r2Right":
      return mpasData.right1("right");
    case "l1Right":
      return mpasData.left("right");
    case "l2Right":
      return mpasData.left1("right");
    case "defaultRight":
      return mpasData.mainRight("right");
    case "defaultLeft":
      return mpasData.mainLeft("left");
    case "cBack":
      return mpasData.center("back");
    case "r1Back":
      return mpasData.right("back");
    case "r2Back":
      return mpasData.right1("back");
    case "l1Back":
      return mpasData.left("back");
    case "l2Back":
      return mpasData.left1("back");
    case "defaultBack":
      return mpasData.mainBack("back");
    default:
      return mpasData.main();
  }
}

function MPASSW9(selectedFromMenu) {
  selectedFromMenu = selectedFromMenu || false;
  return {
    mountPoint: [
      new createjs.Point(20, 52),
      new createjs.Point(20, 52),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],
    //mountPoint: [new createjs.Point(0,0), new createjs.Point(0,0), new createjs.Point(0,0), new createjs.Point(0,0)],

    connectorPoint: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    rotationOffsets: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    spriteSheet: new createjs.SpriteSheet({
      images: ["assets/spritesheets/MPASSW9.png"],

      frames: { width: 290, height: 552 },

      animations: {},
    }),
    spriteSheetObject: {
      images: ["assets/spritesheets/MPASSW9.png"],

      frames: { width: 290, height: 552 },

      animations: {},
    },

    // spriteCenter: new createjs.Point(80, 140),
    spriteCenter: new createjs.Point(80, 190),

    altSkus: false,

    length: 80,

    width: 29,

    legsNeeded: false,

    legsLimit: 4,

    actsAsLegs: true,

    frameOffset: 0,

    childFrameOffset: 0,

    description: "8 Step Ladder",

    name: "8 Step \nLadder",

    sku: "MPASSW9",

    gsku: "MPASSW9",

    connectableParts: ["MPASP30H9", "MPASP60H9", "MPASP90H9", "MPASP120H9"],

    usesSlot: 1,

    hasMountSlot: true,

    hasLegSlot: false,

    zOrderMod: [0, 0, 0, 0],

    iZOrderMod: [0, 0, 0, 0],

    forceDrawLast: false,

    forceDrawLastFrame: 0,

    bridgeSpan: false,

    turnPiece: false,

    legs: false,

    rails: false,

    ladder: true,
  };
}

function MPASP30H9(selectedFromMenu) {
  selectedFromMenu = selectedFromMenu || false;
  return {
    //mountPoint: [new createjs.Point(-32,26), new createjs.Point(-60,-36), new createjs.Point(38,60), new createjs.Point(-10,-110)],
    mountPoint: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],
    //connectorPoint: [new createjs.Point(36,60), new createjs.Point(-26,28), new createjs.Point(28,-26), new createjs.Point(60,36)],
    connectorPoint: [
      new createjs.Point(93, 54),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    rotationOffsets: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(16, 42),
      new createjs.Point(0, 0),
    ],

    spriteSheet: new createjs.SpriteSheet({
      images: ["assets/spritesheets/MPASP30-9.png"],

      frames: { width: 187, height: 398 },

      animations: {},
    }),

    spriteCenter: new createjs.Point(104, 130),
    spriteCenterButton: new createjs.Point(90, 90),

    altSkus: false,

    length: 30,

    width: 30,

    legsNeeded: false,

    legsLimit: 0,

    actsAsLegs: false,

    frameOffset: 0,

    childFrameOffset: 0,

    description: '30"L Platform',

    name: '30"L Platform',

    sku: "MPASP30",

    gsku: "29RJ32",

    altSkus: false,

    connectableParts: ["MPASP30H9"],

    usesSlot: 1,

    hasMountSlot: true,

    hasLegSlot: false,

    zOrderMod: [0, 0, 0, 0],

    iZOrderMod: [0, 0, 0, 0],

    forceDrawLast: false,

    forceDrawLastFrame: 0,

    bridgeSpan: true,

    turnPiece: false,

    legs: false,

    rails: false,

    ladder: false,

    frameHighlights: [
      [
        [-17, 43],
        [74, -9],
        [94, 0],
        [0, 53],
      ],
      [
        [-20, 65],
        [0, 53],
        [92, 107],
        [69, 120],
      ],
      [
        [94, 124],
        [93, 107],
        [186, 52],
        [184, 69],
      ],
      [
        [116, -12],
        [212, 39],
        [183, 54],
        [94, 0],
      ],
    ],
    connectorSelector: 0,
    connectorModify: [
      new createjs.Point(93, 54),
      new createjs.Point(93, -54),
      new createjs.Point(-93, -54),
      new createjs.Point(-93, 54),
    ],
    usedCoordinates: [
      { current: 0, parent: 2, name: "Front" },
      { current: 1, parent: 3, name: "Left" },
      { current: 2, parent: 0, name: "Back" },
      { current: 3, parent: 1, name: "Right" },
    ],
    sideSelector: true,
    defaultName: "default",
    height: 30,
  };
}

function MPASP60H9(selectedFromMenu, position = "default") {
  let mpasData = new defaultMpasData("60_9", position);
  selectedFromMenu = selectedFromMenu || false;
  switch (position) {
    case "c":
      return mpasData.center();
    case "r1":
      return mpasData.right();
    case "r2":
      return mpasData.right1();
    case "l1":
      return mpasData.left();
    case "l2":
      return mpasData.left1();
    case "cBack":
      return mpasData.center("back");
    case "r1Back":
      return mpasData.right("back");
    case "r2Back":
      return mpasData.right1("back");
    case "l1Back":
      return mpasData.left("back");
    case "l2Back":
      return mpasData.left1("back");
    case "defaultBack":
      return mpasData.mainBack("back");
    case "cLeft":
      return mpasData.center("left");
    case "r1Left":
      return mpasData.right("left");
    case "r2Left":
      return mpasData.right1("left");
    case "l1Left":
      return mpasData.left("left");
    case "l2Left":
      return mpasData.left1("left");
    case "cRight":
      return mpasData.center("right");
    case "r1Right":
      return mpasData.right("right");
    case "r2Right":
      return mpasData.right1("right");
    case "l1Right":
      return mpasData.left("right");
    case "l2Right":
      return mpasData.left1("right");
    case "defaultRight":
      return mpasData.mainRight("right");
    case "defaultLeft":
      return mpasData.mainLeft("left");
    default:
      return mpasData.main();
  }
}

function MPASP90H9(selectedFromMenu, position) {
  let mpasData = new defaultMpasData("90_9", position);
  selectedFromMenu = selectedFromMenu || false;
  switch (position) {
    case "c":
      return mpasData.center();
    case "r1":
      return mpasData.right();
    case "r2":
      return mpasData.right1();
    case "l1":
      return mpasData.left();
    case "l2":
      return mpasData.left1();
    case "cBack":
      return mpasData.center("back");
    case "r1Back":
      return mpasData.right("back");
    case "r2Back":
      return mpasData.right1("back");
    case "l1Back":
      return mpasData.left("back");
    case "l2Back":
      return mpasData.left1("back");
    case "defaultBack":
      return mpasData.mainBack("back");
    case "cLeft":
      return mpasData.center("left");
    case "r1Left":
      return mpasData.right("left");
    case "r2Left":
      return mpasData.right1("left");
    case "l1Left":
      return mpasData.left("left");
    case "l2Left":
      return mpasData.left1("left");
    case "cRight":
      return mpasData.center("right");
    case "r1Right":
      return mpasData.right("right");
    case "r2Right":
      return mpasData.right1("right");
    case "l1Right":
      return mpasData.left("right");
    case "l2Right":
      return mpasData.left1("right");
    case "defaultRight":
      return mpasData.mainRight("right");
    case "defaultLeft":
      return mpasData.mainLeft("left");
    default:
      return mpasData.main();
  }
}

function MPASP120H9(selectedFromMenu, position = "default") {
  let mpasData = new defaultMpasData("120_9", position);
  selectedFromMenu = selectedFromMenu || false;
  switch (position) {
    case "c":
      return mpasData.center();

    case "r1":
      return mpasData.right();
    case "r2":
      return mpasData.right1();
    case "l1":
      return mpasData.left();
    case "l2":
      return mpasData.left1();
    case "cLeft":
      return mpasData.center("left");
    case "r1Left":
      return mpasData.right("left");
    case "r2Left":
      return mpasData.right1("left");
    case "l1Left":
      return mpasData.left("left");
    case "l2Left":
      return mpasData.left1("left");
    case "cRight":
      return mpasData.center("right");
    case "r1Right":
      return mpasData.right("right");
    case "r2Right":
      return mpasData.right1("right");
    case "l1Right":
      return mpasData.left("right");
    case "l2Right":
      return mpasData.left1("right");
    case "defaultRight":
      return mpasData.mainRight("right");
    case "defaultLeft":
      return mpasData.mainLeft("left");
    case "cBack":
      return mpasData.center("back");
    case "r1Back":
      return mpasData.right("back");
    case "r2Back":
      return mpasData.right1("back");
    case "l1Back":
      return mpasData.left("back");
    case "l2Back":
      return mpasData.left1("back");
    case "defaultBack":
      return mpasData.mainBack("back");
    default:
      return mpasData.main();
  }
}

function stairConfig(data) {
  let parentData = getParentData(data.part);
  parentData.spriteSheet = new createjs.SpriteSheet(
    getSprite(parentData.spriteSheetObject, data.side, data.isDown)
  );
  //parentData.mountPoint = [new createjs.Point(parentData.mountPoint[0].x+5,  parentData.mountPoint[0].y+237), new createjs.Point(0, 0), new createjs.Point(0, 0), new createjs.Point(0, 0)];
  //parentData.mountPoint = [new createjs.Point(-7, 151), new createjs.Point(0, 0), new createjs.Point(0, 0), new createjs.Point(0, 0)];
  parentData.connectorPoint = [
    new createjs.Point(202, 233),
    new createjs.Point(0, 0),
    new createjs.Point(0, 0),
    new createjs.Point(0, 0),
  ];
  parentData.mountPoint[0] = getMountCoordinates(
    parentData.configLength,
    data.side,
    data?.isDown ? "down" : "up",
    parentData.mountPoint[0]
  );
  parentData.spriteCenter = new createjs.Point(0, 0);
  if (data.isDown) {
    parentData.length = -parentData.length;
  }
  parentData.isDown = data.isDown;
  parentData.side = data.side;
  parentData.name += data.isDown ? " down" : " up";
  let parentRotationType = [0, 1, 2, 3];
  parentData.connectorSelector = parentRotationType[data.side];
  return parentData;
}
function getSprite(spriteSheet, side, isDown) {
  switch (side) {
    case 0:
      if (isDown) {
        spriteSheet.frames = [
          [
            spriteSheet.frames.width * 2,
            0,
            spriteSheet.frames.width,
            spriteSheet.frames.height,
          ],
        ];
      }
      return spriteSheet;
    case 1:
      if (isDown) {
        spriteSheet.frames = [
          [
            spriteSheet.frames.width * 3,
            0,
            spriteSheet.frames.width,
            spriteSheet.frames.height,
          ],
        ];
      } else {
        spriteSheet.frames = [
          [
            spriteSheet.frames.width,
            0,
            spriteSheet.frames.width,
            spriteSheet.frames.height,
          ],
        ];
      }
      return spriteSheet;
    case 3:
      if (isDown) {
        spriteSheet.frames = [
          [
            spriteSheet.frames.width,
            0,
            spriteSheet.frames.width,
            spriteSheet.frames.height,
          ],
        ];
      } else {
        spriteSheet.frames = [
          [
            spriteSheet.frames.width * 3,
            0,
            spriteSheet.frames.width,
            spriteSheet.frames.height,
          ],
        ];
      }
      return spriteSheet;
    default:
      if (!isDown) {
        spriteSheet.frames = [
          [
            spriteSheet.frames.width * 2,
            0,
            spriteSheet.frames.width,
            spriteSheet.frames.height,
          ],
        ];
      }
      return spriteSheet;
  }

  // "MPASSW9FD": stairConfig({ part: "MPASSW9", isDown: true, side: 2 }),
  // "MPASSW9LD": stairConfig({ part: "MPASSW9", isDown: true, side: 1 }),
  // "MPASSW9BD": stairConfig({ part: "MPASSW9", isDown: true, side: 0 }),
  // "MPASSW9RD": stairConfig({ part: "MPASSW9", isDown: true, side: 3 })
}
function getParentData(name) {
  let data = {};
  switch (name) {
    case "MPASSW9":
      data = MPASSW9(true);
      data.configLength = 9;
      data.spriteCenterButton = new createjs.Point(120, 250);
      break;
    case "MPASSW8":
      data = MPASSW8(true);
      data.configLength = 8;
      data.spriteCenterButton = new createjs.Point(90, 200);
      break;
    case "MPASSW7":
      data = MPASSW7(true);
      data.configLength = 7;
      data.spriteCenterButton = new createjs.Point(70, 190);
      break;
    case "MPASSW6":
      data = MPASSW6(true);
      data.configLength = 6;
      data.spriteCenterButton = new createjs.Point(50, 160);
      break;
    case "MPASSW5":
      data = MPASSW5(true);
      data.configLength = 5;
      data.spriteCenterButton = new createjs.Point(50, 120);
      break;
    case "MPASSW4":
      data = MPASSW4(true);
      data.configLength = 4;
      data.spriteCenterButton = new createjs.Point(50, 90);
      break;
    case "MPASSW3":
      data = MPASSW3(true);
      data.configLength = 3;
      data.spriteCenterButton = new createjs.Point(30, 70);
      break;
    case "MPASSW2":
      data = MPASSW2(true);
      data.configLength = 2;
      data.spriteCenterButton = new createjs.Point(20, 70);
      break;
  }
  return data;
}

function getMountCoordinates(length, side, type, mountPoint) {
  let x = 0,
    y = 0;
  switch (true) {
    case side == 1 && type == "down":
      x = -7;
      //x=-94
      y = 60 + 45 * (length - 1);
      break;
    case side == 3 && type == "down":
      x = 100;
      y = 30;
      switch (length) {
        case 3:
          x += 40;
          y += 25;
          break;
        case 4:
          x += 60;
          y += 48;
          break;
        case 5:
          x += 100;
          y += 85;
          break;
        case 6:
          x += 110;
          y += 100;
          break;
        case 7:
          x += 140;
          y += 165;
          break;
        case 8:
          x += 175;
          y += 170;
          break;
      }
      break;
    case side == 2 && type == "down":
      //alert("sfafaff")
      x = 140;
      y = 260;
      switch (length) {
        case 2:
          x -= 28;
          y -= 43;
          break;
        case 4:
          x += 35;
          y += 35;
          break;
        case 5:
          x += 60;
          y += 80;
          break;
        case 6:
          x += 80;
          y += 130;
          break;
        case 7:
          x += 110;
          y += 175;
          break;
        case 8:
          x += 140;
          y += 215;
          break;
      }

      break;
    case side == 0 && type == "up":
      x = -189;
      y = 3;
      break;

    case side == 3 && type == "up":
      x = 112;
      y = 3;
      switch (length) {
        case 3:
          x += 26;
          break;
        case 4:
          x += 52;
          break;
        case 5:
          x += 78;
          break;

        case 6:
          x += 104;
          break;
        case 7:
          x += 130;
          break;
        case 8:
          x += 156;
          break;
        case 9:
          x += 182;
          break;
      }
      break;
    case side == 1 && type == "up":
      x = 0;
      y = 75;
      switch (length) {
        case 4:
          y += 20;
          break;
        case 5:
          y += 35;
          break;
        case 6:
          y += 40;
          break;
        case 7:
          y += 90;
          break;
        case 8:
          y += 75;
          break;
      }
      break;

    case side == 0 && type == "down":
      x = -183;
      y = 30;
      switch (length) {
        case 3:
          y += 20;
          break;
        case 4:
          y += 50;
          break;
        case 5:
          y += 75;
          break;
        case 6:
          y += 98;
          break;
        case 7:
          y += 162;
          break;
        case 8:
          y += 160;
          break;
        case 9:
          y += 140;
          break;
      }
      break;
    case side == 2 && type == "up":
      //alert("sfafaff")
      x = 140 - 25;
      y = 260 - 78;
      switch (length) {
        case 3:
          x += 35;
          break;
        case 4:
          x += 70;
          break;
        case 5:
          x += 85;
          y += 30;
          break;
        case 6:
          x += 120;
          y -= 70;
          break;
        case 7:
          x += 140;
          y += 80;
          break;
        case 8:
          x += 160;
          y += 70;
          break;
      }
      break;
  }
  return new createjs.Point(x, y);
}

//rails for MPAS
function rails(data) {
  return {
    mountPoint: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    connectorPoint: [
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
      new createjs.Point(0, 0),
    ],

    spriteSheet: new createjs.SpriteSheet({
      images: [data.imagePath],

      frames: data.spritFrame,

      animations: {},
    }),

    spriteCenter: new createjs.Point(0, 0),

    altSkus: false,

    length: data.length,

    width: 42,

    legsNeeded: true,

    legsLimit: 0,

    actsAsLegs: false,

    frameOffset: 0,

    childFrameOffset: 0,

    description: data.length + "' Rail Kit",

    name: data.length + "' Rail Kit",

    sku: data.sku,

    gsku: data?.gsku ?? data.sku,

    connectableParts: [],

    usesSlot: 1,

    hasMountSlot: false,

    hasLegSlot: false,

    zOrderMod: [0, 0, 0, 0],

    iZOrderMod: [0, 0, 0, 0],

    forceDrawLast: false,

    forceDrawLastFrame: 0,

    bridgeSpan: false,

    turnPiece: false,

    legs: false,

    rails: true,

    ladder: false,
    ...data,
  };
}
function MPASGR(selectedFromMenu, length) {
  selectedFromMenu = selectedFromMenu || false;
  data = {
    spritFrame:
      length == 30 ? { width: 94, height: 222 } : { width: 186, height: 266 },
    imagePath: `assets/spritesheets/MPASGR${length}.png`,
    sku: `MPASGR${length}`,
    gsku: `MPASGR${length}-ss`,
    length: length,
  };
  return rails(data);
}