[
  {
    "id": "A1",
    "instruction": "hazlos a la mitad",
    "fixture": {
      "selected": [
        "obj_1786345460449_1d8ap5",
        "obj_1786345460449_gp7up7",
        "obj_1786345460449_j7r268"
      ],
      "all": [
        "obj_1786345460449_1d8ap5",
        "obj_1786345460449_gp7up7",
        "obj_1786345460449_j7r268",
        "obj_1786345460449_tjz7wa"
      ]
    },
    "payload": {
      "cAction": "commandsExperimental",
      "cModelKey": "gpt-oss-20b",
      "cInstruction": "hazlos a la mitad",
      "aSelectedObjects": [
        {
          "cId": "obj_1786345460449_1d8ap5",
          "cType": "TText",
          "cName": "Texto 1"
        },
        {
          "cId": "obj_1786345460449_gp7up7",
          "cType": "TText",
          "cName": "Texto 2"
        },
        {
          "cId": "obj_1786345460449_j7r268",
          "cType": "TText",
          "cName": "Texto 3"
        }
      ],
      "aPropertyMetadata": [
        {
          "property": "cText",
          "label": "Contenido",
          "group": "Texto",
          "editor": "text"
        },
        {
          "property": "cFontFamily",
          "label": "Fuente",
          "group": "Texto",
          "editor": "select"
        },
        {
          "property": "nFontSize",
          "label": "Tamaño",
          "group": "Texto",
          "editor": "number"
        },
        {
          "property": "lFontBold",
          "label": "Negrita",
          "group": "Texto",
          "editor": "checkbox"
        },
        {
          "property": "lFontItalic",
          "label": "Cursiva",
          "group": "Texto",
          "editor": "checkbox"
        },
        {
          "property": "lFontUnderline",
          "label": "Subrayado",
          "group": "Texto",
          "editor": "checkbox"
        },
        {
          "property": "lFontStrikeout",
          "label": "Tachado",
          "group": "Texto",
          "editor": "checkbox"
        },
        {
          "property": "lTextWrap",
          "label": "Partir si no cabe",
          "group": "Texto",
          "editor": "checkbox"
        },
        {
          "property": "lAllowPageBreak",
          "label": "Continuar entre páginas",
          "group": "Texto",
          "editor": "checkbox"
        },
        {
          "property": "nLineSpacing",
          "label": "Interlineado adicional",
          "group": "Texto",
          "editor": "number"
        },
        {
          "property": "nParagraphSpacing",
          "label": "Espacio entre párrafos",
          "group": "Texto",
          "editor": "number"
        },
        {
          "property": "lKeepEmptyParagraphs",
          "label": "Conservar párrafos vacíos",
          "group": "Texto",
          "editor": "checkbox"
        },
        {
          "property": "lTextAdjusted",
          "label": "Justificación forzada",
          "group": "Texto",
          "editor": "checkbox"
        },
        {
          "property": "lTrimSpaces",
          "label": "Recortar espacios exteriores",
          "group": "Texto",
          "editor": "checkbox"
        },
        {
          "property": "cTextColor",
          "label": "Color",
          "group": "Texto",
          "editor": "color"
        },
        {
          "property": "nTextOpacity",
          "label": "Opacidad texto",
          "group": "Texto",
          "editor": "number"
        },
        {
          "property": "cTextAlign",
          "label": "Alineación",
          "group": "Texto",
          "editor": "select"
        },
        {
          "property": "nTextDecimalPosition",
          "label": "Posición decimal",
          "group": "Texto",
          "editor": "number"
        },
        {
          "property": "cTextVerticalAlign",
          "label": "Alineación vertical",
          "group": "Texto",
          "editor": "select"
        },
        {
          "property": "cName",
          "label": "Nombre",
          "group": "Texto",
          "editor": "text"
        },
        {
          "property": "cType",
          "label": "Tipo de objeto",
          "group": "Texto",
          "editor": "text"
        },
        {
          "property": "nLayerId",
          "label": "Capa",
          "group": "Ejecución",
          "editor": "select"
        },
        {
          "property": "cCondition",
          "label": "Condición de aparición",
          "group": "Ejecución",
          "editor": "text"
        },
        {
          "property": "lVisible",
          "label": "Visible",
          "group": "Ejecución",
          "editor": "checkbox"
        },
        {
          "property": "lLocked",
          "label": "Bloqueado",
          "group": "Ejecución",
          "editor": "checkbox"
        },
        {
          "property": "nLeft",
          "label": "Izquierda",
          "group": "Dimensiones y Color",
          "editor": "number"
        },
        {
          "property": "nTop",
          "label": "Superior",
          "group": "Dimensiones y Color",
          "editor": "number"
        },
        {
          "property": "nRight",
          "label": "Derecha",
          "group": "Dimensiones y Color",
          "editor": "number"
        },
        {
          "property": "nBottom",
          "label": "Inferior",
          "group": "Dimensiones y Color",
          "editor": "number"
        },
        {
          "property": "nWidth",
          "label": "Ancho",
          "group": "Dimensiones y Color",
          "editor": "number"
        },
        {
          "property": "nHeight",
          "label": "Alto",
          "group": "Dimensiones y Color",
          "editor": "number"
        },
        {
          "property": "cBackgroundColor",
          "label": "Color de fondo",
          "group": "Dimensiones y Color",
          "editor": "color"
        },
        {
          "property": "cFillStyle",
          "label": "Tipo de relleno",
          "group": "Dimensiones y Color",
          "editor": "select"
        },
        {
          "property": "cFillColor2",
          "label": "Color final",
          "group": "Dimensiones y Color",
          "editor": "color"
        },
        {
          "property": "cFillColor3",
          "label": "Color intermedio",
          "group": "Dimensiones y Color",
          "editor": "color"
        },
        {
          "property": "nFillOpacity",
          "label": "Opacidad del relleno",
          "group": "Dimensiones y Color",
          "editor": "number"
        },
        {
          "property": "nRotation",
          "label": "Rotación",
          "group": "Transformación",
          "editor": "number"
        },
        {
          "property": "nOpacity",
          "label": "Opacidad",
          "group": "Transformación",
          "editor": "number"
        },
        {
          "property": "cBorderColor",
          "label": "Color",
          "group": "Borde",
          "editor": "color"
        },
        {
          "property": "nBorderWidth",
          "label": "Grosor",
          "group": "Borde",
          "editor": "number"
        },
        {
          "property": "borderVisibility",
          "label": "Visibilidad",
          "group": "Borde",
          "editor": "border-visibility"
        },
        {
          "property": "nRounded",
          "label": "Redondeo",
          "group": "Borde",
          "editor": "number"
        },
        {
          "property": "nShadowSize",
          "label": "Grosor",
          "group": "Sombra",
          "editor": "number"
        },
        {
          "property": "nShadowTransparency",
          "label": "Transparencia",
          "group": "Sombra",
          "editor": "number"
        },
        {
          "property": "cShadowColor",
          "label": "Color",
          "group": "Sombra",
          "editor": "color"
        },
        {
          "property": "cText",
          "label": "Contenido",
          "group": "Texto",
          "editor": "text",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "cFontFamily",
          "label": "Fuente",
          "group": "Texto",
          "editor": "select",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nFontSize",
          "label": "Tamaño",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "lFontBold",
          "label": "Negrita",
          "group": "Texto",
          "editor": "checkbox",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "lFontItalic",
          "label": "Cursiva",
          "group": "Texto",
          "editor": "checkbox",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "lFontUnderline",
          "label": "Subrayado",
          "group": "Texto",
          "editor": "checkbox",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "lFontStrikeout",
          "label": "Tachado",
          "group": "Texto",
          "editor": "checkbox",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "lTextWrap",
          "label": "Partir si no cabe",
          "group": "Texto",
          "editor": "checkbox",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "lAllowPageBreak",
          "label": "Continuar entre páginas",
          "group": "Texto",
          "editor": "checkbox",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nLineSpacing",
          "label": "Interlineado adicional",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nParagraphSpacing",
          "label": "Espacio entre párrafos",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "lKeepEmptyParagraphs",
          "label": "Conservar párrafos vacíos",
          "group": "Texto",
          "editor": "checkbox",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "lTextAdjusted",
          "label": "Justificación forzada",
          "group": "Texto",
          "editor": "checkbox",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "lTrimSpaces",
          "label": "Recortar espacios exteriores",
          "group": "Texto",
          "editor": "checkbox",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "cTextColor",
          "label": "Color",
          "group": "Texto",
          "editor": "color",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nTextOpacity",
          "label": "Opacidad texto",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "cTextAlign",
          "label": "Alineación",
          "group": "Texto",
          "editor": "select",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nTextDecimalPosition",
          "label": "Posición decimal",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "cTextVerticalAlign",
          "label": "Alineación vertical",
          "group": "Texto",
          "editor": "select",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "cName",
          "label": "Nombre",
          "group": "Texto",
          "editor": "text",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "cType",
          "label": "Tipo de objeto",
          "group": "Texto",
          "editor": "text",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nLayerId",
          "label": "Capa",
          "group": "Texto",
          "editor": "select",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "cCondition",
          "label": "Condición de aparición",
          "group": "Texto",
          "editor": "text",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "lVisible",
          "label": "Visible",
          "group": "Texto",
          "editor": "checkbox",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "lLocked",
          "label": "Bloqueado",
          "group": "Texto",
          "editor": "checkbox",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nLeft",
          "label": "Izquierda",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nTop",
          "label": "Superior",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nRight",
          "label": "Derecha",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nBottom",
          "label": "Inferior",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nWidth",
          "label": "Ancho",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nHeight",
          "label": "Alto",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "cBackgroundColor",
          "label": "Color de fondo",
          "group": "Texto",
          "editor": "color",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "cFillStyle",
          "label": "Tipo de relleno",
          "group": "Texto",
          "editor": "select",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "cFillColor2",
          "label": "Color final",
          "group": "Texto",
          "editor": "color",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "cFillColor3",
          "label": "Color intermedio",
          "group": "Texto",
          "editor": "color",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nFillOpacity",
          "label": "Opacidad del relleno",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nRotation",
          "label": "Rotación",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nOpacity",
          "label": "Opacidad",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "cBorderColor",
          "label": "Color",
          "group": "Texto",
          "editor": "color",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nBorderWidth",
          "label": "Grosor",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "borderVisibility",
          "label": "Visibilidad",
          "group": "Texto",
          "editor": "border-visibility",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nRounded",
          "label": "Redondeo",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nShadowSize",
          "label": "Grosor",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nShadowTransparency",
          "label": "Transparencia",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "cShadowColor",
          "label": "Color",
          "group": "Texto",
          "editor": "color",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "cName",
          "label": "Nombre",
          "group": "Rectángulo",
          "editor": "text",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "cType",
          "label": "Tipo de objeto",
          "group": "Rectángulo",
          "editor": "text",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "nLayerId",
          "label": "Capa",
          "group": "Rectángulo",
          "editor": "select",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "cCondition",
          "label": "Condición de aparición",
          "group": "Rectángulo",
          "editor": "text",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "lVisible",
          "label": "Visible",
          "group": "Rectángulo",
          "editor": "checkbox",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "lLocked",
          "label": "Bloqueado",
          "group": "Rectángulo",
          "editor": "checkbox",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "nLeft",
          "label": "Izquierda",
          "group": "Rectángulo",
          "editor": "number",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "nTop",
          "label": "Superior",
          "group": "Rectángulo",
          "editor": "number",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "nRight",
          "label": "Derecha",
          "group": "Rectángulo",
          "editor": "number",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "nBottom",
          "label": "Inferior",
          "group": "Rectángulo",
          "editor": "number",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "nWidth",
          "label": "Ancho",
          "group": "Rectángulo",
          "editor": "number",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "nHeight",
          "label": "Alto",
          "group": "Rectángulo",
          "editor": "number",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "cBackgroundColor",
          "label": "Color de fondo",
          "group": "Rectángulo",
          "editor": "color",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "cFillStyle",
          "label": "Tipo de relleno",
          "group": "Rectángulo",
          "editor": "select",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "cFillColor2",
          "label": "Color final",
          "group": "Rectángulo",
          "editor": "color",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "cFillColor3",
          "label": "Color intermedio",
          "group": "Rectángulo",
          "editor": "color",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "nFillOpacity",
          "label": "Opacidad del relleno",
          "group": "Rectángulo",
          "editor": "number",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "nRotation",
          "label": "Rotación",
          "group": "Rectángulo",
          "editor": "number",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "nOpacity",
          "label": "Opacidad",
          "group": "Rectángulo",
          "editor": "number",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "cBorderColor",
          "label": "Color",
          "group": "Rectángulo",
          "editor": "color",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "nBorderWidth",
          "label": "Grosor",
          "group": "Rectángulo",
          "editor": "number",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "borderVisibility",
          "label": "Visibilidad",
          "group": "Rectángulo",
          "editor": "border-visibility",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "nRounded",
          "label": "Redondeo",
          "group": "Rectángulo",
          "editor": "number",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "nShadowSize",
          "label": "Grosor",
          "group": "Rectángulo",
          "editor": "number",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "nShadowTransparency",
          "label": "Transparencia",
          "group": "Rectángulo",
          "editor": "number",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "cShadowColor",
          "label": "Color",
          "group": "Rectángulo",
          "editor": "color",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "cName",
          "label": "Nombre",
          "group": "Elipse",
          "editor": "text",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "cType",
          "label": "Tipo de objeto",
          "group": "Elipse",
          "editor": "text",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "nLayerId",
          "label": "Capa",
          "group": "Elipse",
          "editor": "select",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "cCondition",
          "label": "Condición de aparición",
          "group": "Elipse",
          "editor": "text",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "lVisible",
          "label": "Visible",
          "group": "Elipse",
          "editor": "checkbox",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "lLocked",
          "label": "Bloqueado",
          "group": "Elipse",
          "editor": "checkbox",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "nLeft",
          "label": "Izquierda",
          "group": "Elipse",
          "editor": "number",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "nTop",
          "label": "Superior",
          "group": "Elipse",
          "editor": "number",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "nRight",
          "label": "Derecha",
          "group": "Elipse",
          "editor": "number",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "nBottom",
          "label": "Inferior",
          "group": "Elipse",
          "editor": "number",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "nWidth",
          "label": "Ancho",
          "group": "Elipse",
          "editor": "number",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "nHeight",
          "label": "Alto",
          "group": "Elipse",
          "editor": "number",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "cBackgroundColor",
          "label": "Color de fondo",
          "group": "Elipse",
          "editor": "color",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "cFillStyle",
          "label": "Tipo de relleno",
          "group": "Elipse",
          "editor": "select",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "cFillColor2",
          "label": "Color final",
          "group": "Elipse",
          "editor": "color",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "cFillColor3",
          "label": "Color intermedio",
          "group": "Elipse",
          "editor": "color",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "nFillOpacity",
          "label": "Opacidad del relleno",
          "group": "Elipse",
          "editor": "number",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "nRotation",
          "label": "Rotación",
          "group": "Elipse",
          "editor": "number",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "nOpacity",
          "label": "Opacidad",
          "group": "Elipse",
          "editor": "number",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "cBorderColor",
          "label": "Color",
          "group": "Elipse",
          "editor": "color",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "nBorderWidth",
          "label": "Grosor",
          "group": "Elipse",
          "editor": "number",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "borderVisibility",
          "label": "Visibilidad",
          "group": "Elipse",
          "editor": "border-visibility",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "nRounded",
          "label": "Redondeo",
          "group": "Elipse",
          "editor": "number",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "nShadowSize",
          "label": "Grosor",
          "group": "Elipse",
          "editor": "number",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "nShadowTransparency",
          "label": "Transparencia",
          "group": "Elipse",
          "editor": "number",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "cShadowColor",
          "label": "Color",
          "group": "Elipse",
          "editor": "color",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "cName",
          "label": "Nombre",
          "group": "Imagen",
          "editor": "text",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "cType",
          "label": "Tipo de objeto",
          "group": "Imagen",
          "editor": "text",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "nLayerId",
          "label": "Capa",
          "group": "Imagen",
          "editor": "select",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "cCondition",
          "label": "Condición de aparición",
          "group": "Imagen",
          "editor": "text",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "lVisible",
          "label": "Visible",
          "group": "Imagen",
          "editor": "checkbox",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "lLocked",
          "label": "Bloqueado",
          "group": "Imagen",
          "editor": "checkbox",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "cSource",
          "label": "Origen / contenido",
          "group": "Imagen",
          "editor": "text",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "cSourceType",
          "label": "Tipo de origen",
          "group": "Imagen",
          "editor": "select",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "lKeepRatio",
          "label": "Mantener proporción",
          "group": "Imagen",
          "editor": "checkbox",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "cFit",
          "label": "Ajuste",
          "group": "Imagen",
          "editor": "select",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "nLeft",
          "label": "Izquierda",
          "group": "Imagen",
          "editor": "number",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "nTop",
          "label": "Superior",
          "group": "Imagen",
          "editor": "number",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "nRight",
          "label": "Derecha",
          "group": "Imagen",
          "editor": "number",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "nBottom",
          "label": "Inferior",
          "group": "Imagen",
          "editor": "number",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "nWidth",
          "label": "Ancho",
          "group": "Imagen",
          "editor": "number",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "nHeight",
          "label": "Alto",
          "group": "Imagen",
          "editor": "number",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "cBackgroundColor",
          "label": "Color de fondo",
          "group": "Imagen",
          "editor": "color",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "cFillStyle",
          "label": "Tipo de relleno",
          "group": "Imagen",
          "editor": "select",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "cFillColor2",
          "label": "Color final",
          "group": "Imagen",
          "editor": "color",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "cFillColor3",
          "label": "Color intermedio",
          "group": "Imagen",
          "editor": "color",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "nFillOpacity",
          "label": "Opacidad del relleno",
          "group": "Imagen",
          "editor": "number",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "nRotation",
          "label": "Rotación",
          "group": "Imagen",
          "editor": "number",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "nOpacity",
          "label": "Opacidad",
          "group": "Imagen",
          "editor": "number",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "cBorderColor",
          "label": "Color",
          "group": "Imagen",
          "editor": "color",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "nBorderWidth",
          "label": "Grosor",
          "group": "Imagen",
          "editor": "number",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "borderVisibility",
          "label": "Visibilidad",
          "group": "Imagen",
          "editor": "border-visibility",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "nRounded",
          "label": "Redondeo",
          "group": "Imagen",
          "editor": "number",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "nShadowSize",
          "label": "Grosor",
          "group": "Imagen",
          "editor": "number",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "nShadowTransparency",
          "label": "Transparencia",
          "group": "Imagen",
          "editor": "number",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "cShadowColor",
          "label": "Color",
          "group": "Imagen",
          "editor": "color",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "cName",
          "label": "Nombre",
          "group": "Línea",
          "editor": "text",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "cType",
          "label": "Tipo de objeto",
          "group": "Línea",
          "editor": "text",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "nLayerId",
          "label": "Capa",
          "group": "Línea",
          "editor": "select",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "cCondition",
          "label": "Condición de aparición",
          "group": "Línea",
          "editor": "text",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "lVisible",
          "label": "Visible",
          "group": "Línea",
          "editor": "checkbox",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "lLocked",
          "label": "Bloqueado",
          "group": "Línea",
          "editor": "checkbox",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "cOrientation",
          "label": "Orientación",
          "group": "Línea",
          "editor": "select",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "cBorderColor",
          "label": "Color",
          "group": "Línea",
          "editor": "color",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "nBorderWidth",
          "label": "Grosor",
          "group": "Línea",
          "editor": "number",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "cLineStyle",
          "label": "Estilo",
          "group": "Línea",
          "editor": "select",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "nLeft",
          "label": "Izquierda",
          "group": "Línea",
          "editor": "number",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "nTop",
          "label": "Superior",
          "group": "Línea",
          "editor": "number",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "nRight",
          "label": "Derecha",
          "group": "Línea",
          "editor": "number",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "nBottom",
          "label": "Inferior",
          "group": "Línea",
          "editor": "number",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "nWidth",
          "label": "Ancho",
          "group": "Línea",
          "editor": "number",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "nHeight",
          "label": "Alto",
          "group": "Línea",
          "editor": "number",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "cFillStyle",
          "label": "Tipo de relleno",
          "group": "Línea",
          "editor": "select",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "cFillColor2",
          "label": "Color final",
          "group": "Línea",
          "editor": "color",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "cFillColor3",
          "label": "Color intermedio",
          "group": "Línea",
          "editor": "color",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "nFillOpacity",
          "label": "Opacidad del relleno",
          "group": "Línea",
          "editor": "number",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "nRotation",
          "label": "Rotación",
          "group": "Línea",
          "editor": "number",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "nOpacity",
          "label": "Opacidad",
          "group": "Línea",
          "editor": "number",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "nShadowSize",
          "label": "Grosor",
          "group": "Línea",
          "editor": "number",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "nShadowTransparency",
          "label": "Transparencia",
          "group": "Línea",
          "editor": "number",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "cShadowColor",
          "label": "Color",
          "group": "Línea",
          "editor": "color",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "cName",
          "label": "Nombre",
          "group": "Código de barras",
          "editor": "text",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "cType",
          "label": "Tipo de objeto",
          "group": "Código de barras",
          "editor": "text",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "nLayerId",
          "label": "Capa",
          "group": "Código de barras",
          "editor": "select",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "cCondition",
          "label": "Condición de aparición",
          "group": "Código de barras",
          "editor": "text",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "lVisible",
          "label": "Visible",
          "group": "Código de barras",
          "editor": "checkbox",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "lLocked",
          "label": "Bloqueado",
          "group": "Código de barras",
          "editor": "checkbox",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "cContent",
          "label": "Contenido",
          "group": "Código de barras",
          "editor": "text",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "cBarcodeType",
          "label": "Tipo",
          "group": "Código de barras",
          "editor": "select",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "lShowText",
          "label": "Mostrar texto",
          "group": "Código de barras",
          "editor": "checkbox",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "lTrimSpaces",
          "label": "Recortar espacios exteriores",
          "group": "Código de barras",
          "editor": "checkbox",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "cFontFamily",
          "label": "Fuente",
          "group": "Código de barras",
          "editor": "select",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "nFontSize",
          "label": "Tamaño",
          "group": "Código de barras",
          "editor": "number",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "lFontBold",
          "label": "Negrita",
          "group": "Código de barras",
          "editor": "checkbox",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "lFontItalic",
          "label": "Cursiva",
          "group": "Código de barras",
          "editor": "checkbox",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "lFontUnderline",
          "label": "Subrayado",
          "group": "Código de barras",
          "editor": "checkbox",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "lFontStrikeout",
          "label": "Tachado",
          "group": "Código de barras",
          "editor": "checkbox",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "cColor",
          "label": "Color",
          "group": "Código de barras",
          "editor": "color",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "cBackgroundColor",
          "label": "Color de fondo",
          "group": "Código de barras",
          "editor": "color",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "nLeft",
          "label": "Izquierda",
          "group": "Código de barras",
          "editor": "number",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "nTop",
          "label": "Superior",
          "group": "Código de barras",
          "editor": "number",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "nRight",
          "label": "Derecha",
          "group": "Código de barras",
          "editor": "number",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "nBottom",
          "label": "Inferior",
          "group": "Código de barras",
          "editor": "number",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "nWidth",
          "label": "Ancho",
          "group": "Código de barras",
          "editor": "number",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "nHeight",
          "label": "Alto",
          "group": "Código de barras",
          "editor": "number",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "cFillStyle",
          "label": "Tipo de relleno",
          "group": "Código de barras",
          "editor": "select",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "cFillColor2",
          "label": "Color final",
          "group": "Código de barras",
          "editor": "color",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "cFillColor3",
          "label": "Color intermedio",
          "group": "Código de barras",
          "editor": "color",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "nFillOpacity",
          "label": "Opacidad del relleno",
          "group": "Código de barras",
          "editor": "number",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "nRotation",
          "label": "Rotación",
          "group": "Código de barras",
          "editor": "number",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "nOpacity",
          "label": "Opacidad",
          "group": "Código de barras",
          "editor": "number",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "cBorderColor",
          "label": "Color",
          "group": "Código de barras",
          "editor": "color",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "nBorderWidth",
          "label": "Grosor",
          "group": "Código de barras",
          "editor": "number",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "borderVisibility",
          "label": "Visibilidad",
          "group": "Código de barras",
          "editor": "border-visibility",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "nRounded",
          "label": "Redondeo",
          "group": "Código de barras",
          "editor": "number",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "nShadowSize",
          "label": "Grosor",
          "group": "Código de barras",
          "editor": "number",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "nShadowTransparency",
          "label": "Transparencia",
          "group": "Código de barras",
          "editor": "number",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "cShadowColor",
          "label": "Color",
          "group": "Código de barras",
          "editor": "color",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "cContent",
          "label": "Contenido",
          "group": "Texto enriquecido",
          "editor": "text",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "cVerticalAlign",
          "label": "Alineación vertical",
          "group": "Texto enriquecido",
          "editor": "select",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "cOverflow",
          "label": "Desbordamiento",
          "group": "Texto enriquecido",
          "editor": "select",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "cName",
          "label": "Nombre",
          "group": "Texto enriquecido",
          "editor": "text",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "cType",
          "label": "Tipo de objeto",
          "group": "Texto enriquecido",
          "editor": "text",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "nLayerId",
          "label": "Capa",
          "group": "Texto enriquecido",
          "editor": "select",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "cCondition",
          "label": "Condición de aparición",
          "group": "Texto enriquecido",
          "editor": "text",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "lVisible",
          "label": "Visible",
          "group": "Texto enriquecido",
          "editor": "checkbox",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "lLocked",
          "label": "Bloqueado",
          "group": "Texto enriquecido",
          "editor": "checkbox",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "nLeft",
          "label": "Izquierda",
          "group": "Texto enriquecido",
          "editor": "number",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "nTop",
          "label": "Superior",
          "group": "Texto enriquecido",
          "editor": "number",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "nRight",
          "label": "Derecha",
          "group": "Texto enriquecido",
          "editor": "number",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "nBottom",
          "label": "Inferior",
          "group": "Texto enriquecido",
          "editor": "number",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "nWidth",
          "label": "Ancho",
          "group": "Texto enriquecido",
          "editor": "number",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "nHeight",
          "label": "Alto",
          "group": "Texto enriquecido",
          "editor": "number",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "cBackgroundColor",
          "label": "Color de fondo",
          "group": "Texto enriquecido",
          "editor": "color",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "cFillStyle",
          "label": "Tipo de relleno",
          "group": "Texto enriquecido",
          "editor": "select",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "cFillColor2",
          "label": "Color final",
          "group": "Texto enriquecido",
          "editor": "color",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "cFillColor3",
          "label": "Color intermedio",
          "group": "Texto enriquecido",
          "editor": "color",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "nFillOpacity",
          "label": "Opacidad del relleno",
          "group": "Texto enriquecido",
          "editor": "number",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "nRotation",
          "label": "Rotación",
          "group": "Texto enriquecido",
          "editor": "number",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "nOpacity",
          "label": "Opacidad",
          "group": "Texto enriquecido",
          "editor": "number",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "cBorderColor",
          "label": "Color",
          "group": "Texto enriquecido",
          "editor": "color",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "nBorderWidth",
          "label": "Grosor",
          "group": "Texto enriquecido",
          "editor": "number",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "borderVisibility",
          "label": "Visibilidad",
          "group": "Texto enriquecido",
          "editor": "border-visibility",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "nRounded",
          "label": "Redondeo",
          "group": "Texto enriquecido",
          "editor": "number",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "nShadowSize",
          "label": "Grosor",
          "group": "Texto enriquecido",
          "editor": "number",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "nShadowTransparency",
          "label": "Transparencia",
          "group": "Texto enriquecido",
          "editor": "number",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "cShadowColor",
          "label": "Color",
          "group": "Texto enriquecido",
          "editor": "color",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "cText",
          "label": "Contenido",
          "group": "Texto formateado",
          "editor": "text",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "cFontFamily",
          "label": "Fuente",
          "group": "Texto formateado",
          "editor": "select",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nFontSize",
          "label": "Tamaño",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "lFontBold",
          "label": "Negrita",
          "group": "Texto formateado",
          "editor": "checkbox",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "lFontItalic",
          "label": "Cursiva",
          "group": "Texto formateado",
          "editor": "checkbox",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "lFontUnderline",
          "label": "Subrayado",
          "group": "Texto formateado",
          "editor": "checkbox",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "lFontStrikeout",
          "label": "Tachado",
          "group": "Texto formateado",
          "editor": "checkbox",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "lTextWrap",
          "label": "Partir si no cabe",
          "group": "Texto formateado",
          "editor": "checkbox",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "lAllowPageBreak",
          "label": "Continuar entre páginas",
          "group": "Texto formateado",
          "editor": "checkbox",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nLineSpacing",
          "label": "Interlineado adicional",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nParagraphSpacing",
          "label": "Espacio entre párrafos",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "lKeepEmptyParagraphs",
          "label": "Conservar párrafos vacíos",
          "group": "Texto formateado",
          "editor": "checkbox",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "lTextAdjusted",
          "label": "Justificación forzada",
          "group": "Texto formateado",
          "editor": "checkbox",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "lTrimSpaces",
          "label": "Recortar espacios exteriores",
          "group": "Texto formateado",
          "editor": "checkbox",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "cTextColor",
          "label": "Color",
          "group": "Texto formateado",
          "editor": "color",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nTextOpacity",
          "label": "Opacidad texto",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "cTextAlign",
          "label": "Alineación",
          "group": "Texto formateado",
          "editor": "select",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nTextDecimalPosition",
          "label": "Posición decimal",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "cTextVerticalAlign",
          "label": "Alineación vertical",
          "group": "Texto formateado",
          "editor": "select",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "cName",
          "label": "Nombre",
          "group": "Texto formateado",
          "editor": "text",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "cType",
          "label": "Tipo de objeto",
          "group": "Texto formateado",
          "editor": "text",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nLayerId",
          "label": "Capa",
          "group": "Texto formateado",
          "editor": "select",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "cCondition",
          "label": "Condición de aparición",
          "group": "Texto formateado",
          "editor": "text",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "lVisible",
          "label": "Visible",
          "group": "Texto formateado",
          "editor": "checkbox",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "lLocked",
          "label": "Bloqueado",
          "group": "Texto formateado",
          "editor": "checkbox",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nLeft",
          "label": "Izquierda",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nTop",
          "label": "Superior",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nRight",
          "label": "Derecha",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nBottom",
          "label": "Inferior",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nWidth",
          "label": "Ancho",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nHeight",
          "label": "Alto",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "cBackgroundColor",
          "label": "Color de fondo",
          "group": "Texto formateado",
          "editor": "color",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "cFillStyle",
          "label": "Tipo de relleno",
          "group": "Texto formateado",
          "editor": "select",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "cFillColor2",
          "label": "Color final",
          "group": "Texto formateado",
          "editor": "color",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "cFillColor3",
          "label": "Color intermedio",
          "group": "Texto formateado",
          "editor": "color",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nFillOpacity",
          "label": "Opacidad del relleno",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nRotation",
          "label": "Rotación",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nOpacity",
          "label": "Opacidad",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "cBorderColor",
          "label": "Color",
          "group": "Texto formateado",
          "editor": "color",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nBorderWidth",
          "label": "Grosor",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "borderVisibility",
          "label": "Visibilidad",
          "group": "Texto formateado",
          "editor": "border-visibility",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nRounded",
          "label": "Redondeo",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nShadowSize",
          "label": "Grosor",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nShadowTransparency",
          "label": "Transparencia",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "cShadowColor",
          "label": "Color",
          "group": "Texto formateado",
          "editor": "color",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        }
      ],
      "aAvailableFields": [
        {
          "cName": "DATOS_EMPRESA.empresa",
          "cType": "texto",
          "cOrigin": "DataVar",
          "cGroup": "DATOS_EMPRESA"
        },
        {
          "cName": "DATOS_EMPRESA.fecha",
          "cType": "fecha",
          "cOrigin": "DataVar",
          "cGroup": "DATOS_EMPRESA"
        },
        {
          "cName": "DATOS_EMPRESA.logo_empresa",
          "cType": "imagen",
          "cOrigin": "DataVar",
          "cGroup": "DATOS_EMPRESA"
        },
        {
          "cName": "DATOS_EMPRESA.ruta_logo",
          "cType": "texto",
          "cOrigin": "DataVar",
          "cGroup": "DATOS_EMPRESA"
        },
        {
          "cName": "DATOS_EMPRESA.usuario",
          "cType": "texto",
          "cOrigin": "DataVar",
          "cGroup": "DATOS_EMPRESA"
        },
        {
          "cName": "FACLI.cliente",
          "cType": "texto",
          "cOrigin": "DataVar",
          "cGroup": "FACLI"
        },
        {
          "cName": "FACLI.codigoc",
          "cType": "texto",
          "cOrigin": "DataVar",
          "cGroup": "FACLI"
        },
        {
          "cName": "FACLI.nifc",
          "cType": "texto",
          "cOrigin": "DataVar",
          "cGroup": "FACLI"
        },
        {
          "cName": "FACLI.total",
          "cType": "numerico",
          "cOrigin": "DataVar",
          "cGroup": "FACLI"
        },
        {
          "cName": "LINEAS_FACTURA.cantidad",
          "cType": "numerico",
          "cOrigin": "DetalleVar",
          "cGroup": "LINEAS_FACTURA"
        },
        {
          "cName": "LINEAS_FACTURA.codigo_articulo",
          "cType": "texto",
          "cOrigin": "DetalleVar",
          "cGroup": "LINEAS_FACTURA"
        },
        {
          "cName": "LINEAS_FACTURA.descripcion",
          "cType": "texto",
          "cOrigin": "DetalleVar",
          "cGroup": "LINEAS_FACTURA"
        },
        {
          "cName": "LINEAS_FACTURA.logo_linea",
          "cType": "imagen",
          "cOrigin": "DetalleVar",
          "cGroup": "LINEAS_FACTURA"
        },
        {
          "cName": "LINEAS_FACTURA.precio",
          "cType": "numerico",
          "cOrigin": "DetalleVar",
          "cGroup": "LINEAS_FACTURA"
        },
        {
          "cName": "LINEAS_FACTURA.total_linea",
          "cType": "numerico",
          "cOrigin": "DetalleVar",
          "cGroup": "LINEAS_FACTURA"
        },
        {
          "cName": "VENDE.codvende",
          "cType": "texto",
          "cOrigin": "DataVar",
          "cGroup": "VENDE"
        },
        {
          "cName": "VENDE.nombre",
          "cType": "texto",
          "cOrigin": "DataVar",
          "cGroup": "VENDE"
        }
      ],
      "hTemplate": {
        "cType": "TDocument",
        "cFormatVersion": "1.0",
        "cTemplateId": "",
        "cTemplateName": "Documento",
        "cDocumentKind": "report",
        "cPaperFormat": "a4",
        "cPaperOrientation": "portrait",
        "tModifiedAt": "2026-08-10T07:04:20.412Z",
        "cFileName": "",
        "nPaperWidth": 210,
        "nPaperHeight": 297,
        "cPaperHeightMode": "fixed",
        "nDesignHeight": 250,
        "nContinuousBottomMargin": 5,
        "lShowGrid": true,
        "hUserVars": {},
        "hAcumVars": {},
        "hImportMetadata": {},
        "hLabelLayout": {
          "nLabelWidth": 70,
          "nLabelHeight": 37,
          "nColumns": 3,
          "nRows": 8,
          "nMarginLeft": 0,
          "nMarginTop": 0,
          "nGapHorizontal": 0,
          "nGapVertical": 0,
          "cFlow": "row",
          "cLabelFormat": "manual",
          "nPrintOffsetX": 0,
          "nPrintOffsetY": 0
        },
        "hLayers": {
          "0": {
            "nId": 0,
            "cName": "Capa 1",
            "cCondition": "",
            "lDesignerVisible": true,
            "cColor": "#000000"
          }
        },
        "aObjects": [
          {
            "cId": "obj_1786345460449_1d8ap5",
            "cName": "Texto 1",
            "cType": "TText",
            "nLeft": 10,
            "nTop": 10,
            "nWidth": 20,
            "nHeight": 8,
            "lVisible": true,
            "lLocked": false,
            "lSelected": true,
            "nLayerId": 0,
            "nZIndex": 1,
            "cBorderColor": "#000000",
            "cBorderColorFormula": "",
            "nBorderWidth": 0.1,
            "lBorderTop": false,
            "lBorderRight": false,
            "lBorderBottom": false,
            "lBorderLeft": false,
            "cBackgroundColor": "#ffffff",
            "cBackgroundColorFormula": "",
            "cFillStyle": "solid",
            "cFillColor2": "#ffffff",
            "cFillColor2Formula": "",
            "cFillColor3": "#ffffff",
            "cFillColor3Formula": "",
            "nFillOpacity": 1,
            "nRounded": 0,
            "nShadowSize": 0,
            "nShadowTransparency": 50,
            "cShadowColor": "#000000",
            "cShadowColorFormula": "",
            "nRotation": 0,
            "nOpacity": 1,
            "cCondition": "",
            "nPaddingTop": 0,
            "nPaddingRight": 0,
            "nPaddingBottom": 0,
            "nPaddingLeft": 0,
            "nLl12LinkID": 0,
            "nLl12LinkToID": 0,
            "nLl12LinkMode": 0,
            "nLl12GroupId": 0,
            "lLl12WrapBefore": false,
            "cTableId": "",
            "cTableSectionKey": "",
            "cText": "\"TEXTO 1\"",
            "cFontFamily": "Arial",
            "nFontSize": 12,
            "nFontOutPrecision": 0,
            "nFontPitchAndFamily": 0,
            "lFontBold": false,
            "cFontBoldFormula": "",
            "lFontItalic": false,
            "cFontItalicFormula": "",
            "lFontUnderline": false,
            "cFontUnderlineFormula": "",
            "lFontStrikeout": false,
            "cFontStrikeoutFormula": "",
            "lTextWrap": true,
            "lAllowPageBreak": false,
            "nLineSpacing": 0,
            "nParagraphSpacing": 0,
            "lKeepEmptyParagraphs": true,
            "lTextAdjusted": false,
            "lTrimSpaces": false,
            "cTextFlowGroup": "",
            "nTextFlowOrder": 0,
            "nTextFlowLineHeight": 0,
            "cTextColor": "#000000",
            "cTextColorFormula": "",
            "nTextOpacity": 1,
            "cTextAlign": "left",
            "nTextDecimalPosition": -10,
            "cTextVerticalAlign": "top",
            "cLl12SourceType": "",
            "cLl12SourceJson": ""
          },
          {
            "cId": "obj_1786345460449_gp7up7",
            "cName": "Texto 2",
            "cType": "TText",
            "nLeft": 40,
            "nTop": 10,
            "nWidth": 20,
            "nHeight": 8,
            "lVisible": true,
            "lLocked": false,
            "lSelected": true,
            "nLayerId": 0,
            "nZIndex": 1,
            "cBorderColor": "#000000",
            "cBorderColorFormula": "",
            "nBorderWidth": 0.1,
            "lBorderTop": false,
            "lBorderRight": false,
            "lBorderBottom": false,
            "lBorderLeft": false,
            "cBackgroundColor": "#ffffff",
            "cBackgroundColorFormula": "",
            "cFillStyle": "solid",
            "cFillColor2": "#ffffff",
            "cFillColor2Formula": "",
            "cFillColor3": "#ffffff",
            "cFillColor3Formula": "",
            "nFillOpacity": 1,
            "nRounded": 0,
            "nShadowSize": 0,
            "nShadowTransparency": 50,
            "cShadowColor": "#000000",
            "cShadowColorFormula": "",
            "nRotation": 0,
            "nOpacity": 1,
            "cCondition": "",
            "nPaddingTop": 0,
            "nPaddingRight": 0,
            "nPaddingBottom": 0,
            "nPaddingLeft": 0,
            "nLl12LinkID": 0,
            "nLl12LinkToID": 0,
            "nLl12LinkMode": 0,
            "nLl12GroupId": 0,
            "lLl12WrapBefore": false,
            "cTableId": "",
            "cTableSectionKey": "",
            "cText": "\"TEXTO 2\"",
            "cFontFamily": "Arial",
            "nFontSize": 12,
            "nFontOutPrecision": 0,
            "nFontPitchAndFamily": 0,
            "lFontBold": false,
            "cFontBoldFormula": "",
            "lFontItalic": false,
            "cFontItalicFormula": "",
            "lFontUnderline": false,
            "cFontUnderlineFormula": "",
            "lFontStrikeout": false,
            "cFontStrikeoutFormula": "",
            "lTextWrap": true,
            "lAllowPageBreak": false,
            "nLineSpacing": 0,
            "nParagraphSpacing": 0,
            "lKeepEmptyParagraphs": true,
            "lTextAdjusted": false,
            "lTrimSpaces": false,
            "cTextFlowGroup": "",
            "nTextFlowOrder": 0,
            "nTextFlowLineHeight": 0,
            "cTextColor": "#000000",
            "cTextColorFormula": "",
            "nTextOpacity": 1,
            "cTextAlign": "left",
            "nTextDecimalPosition": -10,
            "cTextVerticalAlign": "top",
            "cLl12SourceType": "",
            "cLl12SourceJson": ""
          },
          {
            "cId": "obj_1786345460449_j7r268",
            "cName": "Texto 3",
            "cType": "TText",
            "nLeft": 70,
            "nTop": 10,
            "nWidth": 20,
            "nHeight": 8,
            "lVisible": true,
            "lLocked": false,
            "lSelected": true,
            "nLayerId": 0,
            "nZIndex": 1,
            "cBorderColor": "#000000",
            "cBorderColorFormula": "",
            "nBorderWidth": 0.1,
            "lBorderTop": false,
            "lBorderRight": false,
            "lBorderBottom": false,
            "lBorderLeft": false,
            "cBackgroundColor": "#ffffff",
            "cBackgroundColorFormula": "",
            "cFillStyle": "solid",
            "cFillColor2": "#ffffff",
            "cFillColor2Formula": "",
            "cFillColor3": "#ffffff",
            "cFillColor3Formula": "",
            "nFillOpacity": 1,
            "nRounded": 0,
            "nShadowSize": 0,
            "nShadowTransparency": 50,
            "cShadowColor": "#000000",
            "cShadowColorFormula": "",
            "nRotation": 0,
            "nOpacity": 1,
            "cCondition": "",
            "nPaddingTop": 0,
            "nPaddingRight": 0,
            "nPaddingBottom": 0,
            "nPaddingLeft": 0,
            "nLl12LinkID": 0,
            "nLl12LinkToID": 0,
            "nLl12LinkMode": 0,
            "nLl12GroupId": 0,
            "lLl12WrapBefore": false,
            "cTableId": "",
            "cTableSectionKey": "",
            "cText": "\"TEXTO 3\"",
            "cFontFamily": "Arial",
            "nFontSize": 12,
            "nFontOutPrecision": 0,
            "nFontPitchAndFamily": 0,
            "lFontBold": false,
            "cFontBoldFormula": "",
            "lFontItalic": false,
            "cFontItalicFormula": "",
            "lFontUnderline": false,
            "cFontUnderlineFormula": "",
            "lFontStrikeout": false,
            "cFontStrikeoutFormula": "",
            "lTextWrap": true,
            "lAllowPageBreak": false,
            "nLineSpacing": 0,
            "nParagraphSpacing": 0,
            "lKeepEmptyParagraphs": true,
            "lTextAdjusted": false,
            "lTrimSpaces": false,
            "cTextFlowGroup": "",
            "nTextFlowOrder": 0,
            "nTextFlowLineHeight": 0,
            "cTextColor": "#000000",
            "cTextColorFormula": "",
            "nTextOpacity": 1,
            "cTextAlign": "left",
            "nTextDecimalPosition": -10,
            "cTextVerticalAlign": "top",
            "cLl12SourceType": "",
            "cLl12SourceJson": ""
          },
          {
            "cId": "obj_1786345460449_tjz7wa",
            "cName": "Rectángulo",
            "cType": "TRectangle",
            "nLeft": 10,
            "nTop": 30,
            "nWidth": 40,
            "nHeight": 20,
            "lVisible": true,
            "lLocked": false,
            "lSelected": false,
            "nLayerId": 0,
            "nZIndex": 1,
            "cBorderColor": "#000000",
            "cBorderColorFormula": "",
            "nBorderWidth": 0.1,
            "lBorderTop": true,
            "lBorderRight": true,
            "lBorderBottom": true,
            "lBorderLeft": true,
            "cBackgroundColor": "#000000",
            "cBackgroundColorFormula": "",
            "cFillStyle": "solid",
            "cFillColor2": "#ffffff",
            "cFillColor2Formula": "",
            "cFillColor3": "#ffffff",
            "cFillColor3Formula": "",
            "nFillOpacity": 1,
            "nRounded": 0,
            "nShadowSize": 0,
            "nShadowTransparency": 50,
            "cShadowColor": "#000000",
            "cShadowColorFormula": "",
            "nRotation": 0,
            "nOpacity": 1,
            "cCondition": "",
            "nPaddingTop": 0,
            "nPaddingRight": 0,
            "nPaddingBottom": 0,
            "nPaddingLeft": 0,
            "nLl12LinkID": 0,
            "nLl12LinkToID": 0,
            "nLl12LinkMode": 0,
            "nLl12GroupId": 0,
            "lLl12WrapBefore": false,
            "cTableId": "",
            "cTableSectionKey": ""
          }
        ]
      }
    },
    "response": {
      "lOk": true,
      "hInspection": {
        "cInstruction": "hazlos a la mitad",
        "cProvider": "Ollama",
        "cModelSelection": "Ollama — GPT-OSS 20B",
        "cModel": "gpt-oss:20b",
        "cRepresentation": "COMMANDS",
        "cRawResponse": "{\"commands\":[{\"command\":\"resize\",\"target\":\"selection\",\"scaleX\":0.5,\"scaleY\":0.5}]}",
        "cThinking": "Need to set property? \"hazlos a la mitad\" unclear. Probably resize to half size. So use resize command for selection.",
        "cOllamaRequest": "{\"model\":\"gpt-oss:20b\",\"messages\":[{\"role\":\"system\",\"content\":\"Interpreta la instrucciÃ³n y devuelve Ãºnicamente JSON vÃ¡lido con la forma {\\\"commands\\\":[{\\\"command\\\":\\\"setProperty\\\",\\\"target\\\":\\\"selection\\\",\\\"property\\\":\\\"propiedad_real\\\",\\\"value\\\":valor}]}. Cada comando DEBE usar la clave command (nunca type) y target. Comandos permitidos: setProperty, move, resize, delete, align, distribute, reorder, duplicate, tableMoveColumn, tableSetColumnWidth, tableInsertColumn, tableDeleteColumn, tableInsertLine, tableDeleteLine, tableMoveLine, tableSetLineHeight, tableSetLineBackground, tableSetLineBorderColor, tableSetLineBorderWidth, tableSetLinePadding, tableSetLineBorderRadius, tableSetLineBorderSide, tableSetLineVerticalSeparators, tableSetLineZebraEnabled, tableSetLineZebraColor, tableSetLineCondition, tableSetLineSuppressCondition, tableSetLineBackgroundColorFormula, tableSetLineBorderColorFormula. Prioridad: propiedad o estilo â†’ setProperty; desplazamiento relativo â†’ move; tamaÃ±o relativo â†’ resize; alineaciÃ³n de varios objetos â†’ align; eliminar objetos â†’ delete. Para eliminar usa exactamente {\\\"command\\\":\\\"delete\\\",\\\"target\\\":\\\"selection\\\"}. Si se pide duplicar, reducir o cambiar el tamaÃ±o, devuelve Ãºnicamente resize y no uses setProperty para propiedades numÃ©ricas. Para setProperty usa exactamente property y value, nunca name ni valores como *2. Para move usa {\\\"command\\\":\\\"move\\\",\\\"target\\\":\\\"selection\\\",\\\"dx\\\":10,\\\"dy\\\":0}; para resize usa {\\\"command\\\":\\\"resize\\\",\\\"target\\\":\\\"selection\\\",\\\"scaleX\\\":0.5,\\\"scaleY\\\":0.5}. Para alinear usa exactamente {\\\"command\\\":\\\"align\\\",\\\"target\\\":\\\"selection\\\",\\\"mode\\\":\\\"left\\\"}; modos vÃ¡lidos: left|right|top|bottom|horizontalCenter|verticalCenter. Si la orden se refiere a los objetos seleccionados, usa target:\\\"selection\\\". No enumeres IDs ni calcules coordenadas o dimensiones finales. El contexto distingue SELECCION_ACTUAL_SCOPE=selection y RESTO_DEL_DOCUMENTO_SCOPE=global. Usa target:\\\"selection\\\" para referencias a la selecciÃ³n actual. Para instrucciones globales como todos, cada o todo el documento, usa la forma ya soportada target:{\\\"ids\\\":[...]} con los cId existentes de la selecciÃ³n y del resto del documento que correspondan; no inventes IDs y no uses target:\\\"selection\\\" para una orden global. Para distribuir usa exactamente {\\\"command\\\":\\\"distribute\\\",\\\"target\\\":\\\"selection\\\",\\\"mode\\\":\\\"horizontal\\\"}; modos vÃƒÂ¡lidos: horizontal|vertical. Para reordenar usa exactamente {\\\"command\\\":\\\"reorder\\\",\\\"target\\\":\\\"selection\\\",\\\"mode\\\":\\\"bringToFront\\\"}; modos vÃƒÂ¡lidos: bringToFront=traer al frente, sendToBack=enviar al fondo, bringForward=subir un nivel, sendBackward=bajar un nivel. Para duplicar usa exactamente {\\\"command\\\":\\\"duplicate\\\",\\\"target\\\":\\\"selection\\\"}. Para tablas usa Ãºnicamente estas formas: {\\\"command\\\":\\\"tableMoveColumn\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"header\\\",\\\"lineIndex\\\":0,\\\"fromIndex\\\":2,\\\"toIndex\\\":0}, {\\\"command\\\":\\\"tableSetColumnWidth\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"header\\\",\\\"lineIndex\\\":0,\\\"columnIndex\\\":0,\\\"width\\\":30}, {\\\"command\\\":\\\"tableInsertColumn\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"columnIndex\\\":2}, {\\\"command\\\":\\\"tableDeleteColumn\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"columnIndex\\\":2}, {\\\"command\\\":\\\"tableInsertLine\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":1}, {\\\"command\\\":\\\"tableDeleteLine\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":1}, {\\\"command\\\":\\\"tableMoveLine\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"fromIndex\\\":1,\\\"toIndex\\\":0}, {\\\"command\\\":\\\"tableSetLineHeight\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"height\\\":12}, {\\\"command\\\":\\\"tableSetLineBackground\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"color\\\":\\\"#d3d3d3\\\"}; section: header|groupHeader|detail|groupFooter|footer. Los Ã­ndices son enteros cero-basados y no negativos. tableSetLineHeight usa altura fija en milÃ­metros >=1. tableSetLineBackground usa Ãºnicamente color HEX fijo; no usa fÃ³rmulas ni paths privados. Insertar columna usa columnIndex como posiciÃ³n antes de la columna existente; si coincide con el nÃºmero actual de columnas, aÃ±ade al final. Insertar lÃ­nea usa lineIndex como posiciÃ³n antes de la lÃ­nea existente; si coincide con el nÃºmero actual de lÃ­neas, aÃ±ade al final. No uses hSections, aLines ni aCells. SemÃ¡ntica de lÃ­neas OBLIGATORIA: si una secciÃ³n tiene una sola lÃ­nea, basta mencionar la secciÃ³n y usa lineIndex 0. Si tiene varias lÃ­neas, una operaciÃ³n estructural debe indicar la lÃ­nea; si no la indica y no dice todas, devuelve EXACTAMENTE {\\\"commands\\\":[]}. Solo si dice todas las lÃ­neas genera una operaciÃ³n por cada lÃ­nea existente. Esta regla no afecta a objetos visuales de celda, que siguen usando commands normales. Para cambiar altura o fondo fijo de una lÃ­nea de TTable usa obligatoriamente tableSetLineHeight o tableSetLineBackground con section y lineIndex; no uses setProperty para esas operaciones. Shapes adicionales de lÃ­nea: {\\\"command\\\":\\\"tableSetLineBorderColor\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"color\\\":\\\"#0000ff\\\"}, {\\\"command\\\":\\\"tableSetLineBorderWidth\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"width\\\":1}, {\\\"command\\\":\\\"tableSetLinePadding\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"side\\\":\\\"nTop\\\",\\\"value\\\":2}, {\\\"command\\\":\\\"tableSetLineBorderRadius\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"radius\\\":2}, {\\\"command\\\":\\\"tableSetLineBorderSide\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"side\\\":\\\"top\\\",\\\"visible\\\":true}, {\\\"command\\\":\\\"tableSetLineVerticalSeparators\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"visible\\\":true}, {\\\"command\\\":\\\"tableSetLineCondition\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"formula\\\":\\\"DETAIL.cantidad > 0\\\"}, {\\\"command\\\":\\\"tableSetLineSuppressCondition\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"formula\\\":\\\"DETAIL.importe == 0\\\"}, {\\\"command\\\":\\\"tableSetLineBackgroundColorFormula\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"formula\\\":\\\"IF(...)\\\"}, {\\\"command\\\":\\\"tableSetLineBorderColorFormula\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"formula\\\":\\\"IF(...)\\\"}. Las cuatro primitivas de fórmula reciben formula como string literal y aceptan string vacío para borrar; no evalúes ni cambies la sintaxis. Usa la primitiva específica según sea condición, supresión o fórmula de color; no uses paths hBorder, hBackground ni setProperty. Si la instrucciÃ³n menciona una lÃ­nea, cabecera, detalle o pie, el color de borde de esa lÃ­nea usa tableSetLineBorderColor y nunca setProperty. Zebra solo existe en lÃ­neas detail. Shapes exactas: {\\\"command\\\":\\\"tableSetLineZebraEnabled\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"enabled\\\":true} y {\\\"command\\\":\\\"tableSetLineZebraColor\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"role\\\":\\\"odd\\\",\\\"color\\\":\\\"#d3d3d3\\\"}. Usa enabled booleano para activar o desactivar y role odd/even para filas impares/pares. No uses hZebraPattern ni paths privados. TambiÃƒÂ©n se permite create: {\\\"command\\\":\\\"create\\\",\\\"type\\\":\\\"TText\\\",\\\"properties\\\":{\\\"cText\\\":\\\"\\\\\\\\\\\"texto\\\\\\\\\\\"\\\"}}. En create describe ÃƒÂºnicamente lo solicitado: incluye solo el tipo, contenido, posiciÃƒÂ³n y propiedades que la instrucciÃƒÂ³n pida explÃƒÂ­citamente; el diseÃƒÂ±ador completa los defaults reales. Tipos reales: TText,TRectangle,TEllipse,TImage,TLine,TBarcode,richText,TFormattedText. Properties solo editables, nunca cId, defaults, estructura interna ni geometrÃƒÂ­a. position usa {\\\"x\\\":20,\\\"y\\\":30}. Una ref es temporal dentro de esta respuesta: el create declara ref:\\\"new1\\\" y un comando posterior apunta al mismo objeto con target:{\\\"ref\\\":\\\"new1\\\"}. Ejemplo: {\\\"commands\\\":[{\\\"command\\\":\\\"create\\\",\\\"ref\\\":\\\"new1\\\",\\\"type\\\":\\\"TText\\\",\\\"properties\\\":{\\\"cText\\\":\\\"\\\\\\\\\\\"TOTAL\\\\\\\\\\\"\\\"}},{\\\"command\\\":\\\"resize\\\",\\\"target\\\":{\\\"ref\\\":\\\"new1\\\"},\\\"scaleX\\\":2,\\\"scaleY\\\":2}]}. TIPOS:TBarcode=Código de barras,TEllipse=Elipse,TFormattedText=Texto formateado,TImage=Imagen,TLine=Línea,TRectangle=Rectángulo,TText=Texto,richText=Texto enriquecido. PROPS_TBarcode:cBackgroundColor:string=Código de barras / Color de fondo,cBarcodeType:string=Código de barras / Tipo,cBorderColor:string=Código de barras / Color,cColor:string=Código de barras / Color,cCondition:string=Código de barras / Condición de aparición,cContent:string=Código de barras / Contenido,cFillColor2:string=Código de barras / Color final,cFillColor3:string=Código de barras / Color intermedio,cFillStyle:string=Código de barras / Tipo de relleno,cFontFamily:string=Código de barras / Fuente,cShadowColor:string=Código de barras / Color,lFontBold:boolean=Código de barras / Negrita,lFontItalic:boolean=Código de barras / Cursiva,lFontStrikeout:boolean=Código de barras / Tachado,lFontUnderline:boolean=Código de barras / Subrayado,lLocked:boolean=Código de barras / Bloqueado,lShowText:boolean=Código de barras / Mostrar texto,lTrimSpaces:boolean=Código de barras / Recortar espacios exteriores,lVisible:boolean=Código de barras / Visible,nBorderWidth:number=Código de barras / Grosor,nFillOpacity:number=Código de barras / Opacidad del relleno,nFontSize:number=Código de barras / Tamaño,nLayerId:number=Código de barras / Capa,nOpacity:number=Código de barras / Opacidad,nRotation:number=Código de barras / Rotación,nRounded:number=Código de barras / Redondeo,nShadowSize:number=Código de barras / Grosor,nShadowTransparency:number=Código de barras / Transparencia. PROPS_TEllipse:cBackgroundColor:string=Elipse / Color de fondo,cBorderColor:string=Elipse / Color,cCondition:string=Elipse / Condición de aparición,cFillColor2:string=Elipse / Color final,cFillColor3:string=Elipse / Color intermedio,cFillStyle:string=Elipse / Tipo de relleno,cShadowColor:string=Elipse / Color,lLocked:boolean=Elipse / Bloqueado,lVisible:boolean=Elipse / Visible,nBorderWidth:number=Elipse / Grosor,nFillOpacity:number=Elipse / Opacidad del relleno,nLayerId:number=Elipse / Capa,nOpacity:number=Elipse / Opacidad,nRotation:number=Elipse / Rotación,nRounded:number=Elipse / Redondeo,nShadowSize:number=Elipse / Grosor,nShadowTransparency:number=Elipse / Transparencia. PROPS_TFormattedText:cBackgroundColor:string=Texto formateado / Color de fondo,cBorderColor:string=Texto formateado / Color,cCondition:string=Texto formateado / Condición de aparición,cFillColor2:string=Texto formateado / Color final,cFillColor3:string=Texto formateado / Color intermedio,cFillStyle:string=Texto formateado / Tipo de relleno,cFontFamily:string=Texto formateado / Fuente,cShadowColor:string=Texto formateado / Color,cText:string=Texto formateado / Contenido,cTextAlign:string=Texto formateado / Alineación,cTextColor:string=Texto formateado / Color,cTextVerticalAlign:string=Texto formateado / Alineación vertical,lAllowPageBreak:boolean=Texto formateado / Continuar entre páginas,lFontBold:boolean=Texto formateado / Negrita,lFontItalic:boolean=Texto formateado / Cursiva,lFontStrikeout:boolean=Texto formateado / Tachado,lFontUnderline:boolean=Texto formateado / Subrayado,lKeepEmptyParagraphs:boolean=Texto formateado / Conservar párrafos vacíos,lLocked:boolean=Texto formateado / Bloqueado,lTextAdjusted:boolean=Texto formateado / Justificación forzada,lTextWrap:boolean=Texto formateado / Partir si no cabe,lTrimSpaces:boolean=Texto formateado / Recortar espacios exteriores,lVisible:boolean=Texto formateado / Visible,nBorderWidth:number=Texto formateado / Grosor,nFillOpacity:number=Texto formateado / Opacidad del relleno,nFontSize:number=Texto formateado / Tamaño,nLayerId:number=Texto formateado / Capa,nLineSpacing:number=Texto formateado / Interlineado adicional,nOpacity:number=Texto formateado / Opacidad,nParagraphSpacing:number=Texto formateado / Espacio entre párrafos,nRotation:number=Texto formateado / Rotación,nRounded:number=Texto formateado / Redondeo,nShadowSize:number=Texto formateado / Grosor,nShadowTransparency:number=Texto formateado / Transparencia,nTextDecimalPosition:number=Texto formateado / Posición decimal,nTextOpacity:number=Texto formateado / Opacidad texto. PROPS_TImage:cBackgroundColor:string=Imagen / Color de fondo,cBorderColor:string=Imagen / Color,cCondition:string=Imagen / Condición de aparición,cFillColor2:string=Imagen / Color final,cFillColor3:string=Imagen / Color intermedio,cFillStyle:string=Imagen / Tipo de relleno,cFit:string=Imagen / Ajuste,cShadowColor:string=Imagen / Color,cSource:string=Imagen / Origen / contenido,cSourceType:string=Imagen / Tipo de origen,lKeepRatio:boolean=Imagen / Mantener proporción,lLocked:boolean=Imagen / Bloqueado,lVisible:boolean=Imagen / Visible,nBorderWidth:number=Imagen / Grosor,nFillOpacity:number=Imagen / Opacidad del relleno,nLayerId:number=Imagen / Capa,nOpacity:number=Imagen / Opacidad,nRotation:number=Imagen / Rotación,nRounded:number=Imagen / Redondeo,nShadowSize:number=Imagen / Grosor,nShadowTransparency:number=Imagen / Transparencia. PROPS_TLine:cBorderColor:string=Línea / Color,cCondition:string=Línea / Condición de aparición,cFillColor2:string=Línea / Color final,cFillColor3:string=Línea / Color intermedio,cFillStyle:string=Línea / Tipo de relleno,cLineStyle:string=Línea / Estilo,cOrientation:string=Línea / Orientación,cShadowColor:string=Línea / Color,lLocked:boolean=Línea / Bloqueado,lVisible:boolean=Línea / Visible,nBorderWidth:number=Línea / Grosor,nFillOpacity:number=Línea / Opacidad del relleno,nLayerId:number=Línea / Capa,nOpacity:number=Línea / Opacidad,nRotation:number=Línea / Rotación,nShadowSize:number=Línea / Grosor,nShadowTransparency:number=Línea / Transparencia. PROPS_TRectangle:cBackgroundColor:string=Rectángulo / Color de fondo,cBorderColor:string=Rectángulo / Color,cCondition:string=Rectángulo / Condición de aparición,cFillColor2:string=Rectángulo / Color final,cFillColor3:string=Rectángulo / Color intermedio,cFillStyle:string=Rectángulo / Tipo de relleno,cShadowColor:string=Rectángulo / Color,lLocked:boolean=Rectángulo / Bloqueado,lVisible:boolean=Rectángulo / Visible,nBorderWidth:number=Rectángulo / Grosor,nFillOpacity:number=Rectángulo / Opacidad del relleno,nLayerId:number=Rectángulo / Capa,nOpacity:number=Rectángulo / Opacidad,nRotation:number=Rectángulo / Rotación,nRounded:number=Rectángulo / Redondeo,nShadowSize:number=Rectángulo / Grosor,nShadowTransparency:number=Rectángulo / Transparencia. PROPS_TText:cBackgroundColor:string=Texto / Color de fondo,cBorderColor:string=Texto / Color,cCondition:string=Texto / Condición de aparición,cFillColor2:string=Texto / Color final,cFillColor3:string=Texto / Color intermedio,cFillStyle:string=Texto / Tipo de relleno,cFontFamily:string=Texto / Fuente,cShadowColor:string=Texto / Color,cText:string=Texto / Contenido,cTextAlign:string=Texto / Alineación,cTextColor:string=Texto / Color,cTextVerticalAlign:string=Texto / Alineación vertical,lAllowPageBreak:boolean=Texto / Continuar entre páginas,lFontBold:boolean=Texto / Negrita,lFontItalic:boolean=Texto / Cursiva,lFontStrikeout:boolean=Texto / Tachado,lFontUnderline:boolean=Texto / Subrayado,lKeepEmptyParagraphs:boolean=Texto / Conservar párrafos vacíos,lLocked:boolean=Texto / Bloqueado,lTextAdjusted:boolean=Texto / Justificación forzada,lTextWrap:boolean=Texto / Partir si no cabe,lTrimSpaces:boolean=Texto / Recortar espacios exteriores,lVisible:boolean=Texto / Visible,nBorderWidth:number=Texto / Grosor,nFillOpacity:number=Texto / Opacidad del relleno,nFontSize:number=Texto / Tamaño,nLayerId:number=Texto / Capa,nLineSpacing:number=Texto / Interlineado adicional,nOpacity:number=Texto / Opacidad,nParagraphSpacing:number=Texto / Espacio entre párrafos,nRotation:number=Texto / Rotación,nRounded:number=Texto / Redondeo,nShadowSize:number=Texto / Grosor,nShadowTransparency:number=Texto / Transparencia,nTextDecimalPosition:number=Texto / Posición decimal,nTextOpacity:number=Texto / Opacidad texto. PROPS_richText:cBackgroundColor:string=Texto enriquecido / Color de fondo,cBorderColor:string=Texto enriquecido / Color,cCondition:string=Texto enriquecido / Condición de aparición,cContent:string=Texto enriquecido / Contenido,cFillColor2:string=Texto enriquecido / Color final,cFillColor3:string=Texto enriquecido / Color intermedio,cFillStyle:string=Texto enriquecido / Tipo de relleno,cOverflow:string=Texto enriquecido / Desbordamiento,cShadowColor:string=Texto enriquecido / Color,cVerticalAlign:string=Texto enriquecido / Alineación vertical,lLocked:boolean=Texto enriquecido / Bloqueado,lVisible:boolean=Texto enriquecido / Visible,nBorderWidth:number=Texto enriquecido / Grosor,nFillOpacity:number=Texto enriquecido / Opacidad del relleno,nLayerId:number=Texto enriquecido / Capa,nOpacity:number=Texto enriquecido / Opacidad,nRotation:number=Texto enriquecido / Rotación,nRounded:number=Texto enriquecido / Redondeo,nShadowSize:number=Texto enriquecido / Grosor,nShadowTransparency:number=Texto enriquecido / Transparencia.\"},{\"role\":\"user\",\"content\":\"SELECCION_ACTUAL_SCOPE=selection:\\n[{\\\"cId\\\":\\\"obj_1786345460449_1d8ap5\\\",\\\"cType\\\":\\\"TText\\\",\\\"cName\\\":\\\"Texto 1\\\"},{\\\"cId\\\":\\\"obj_1786345460449_gp7up7\\\",\\\"cType\\\":\\\"TText\\\",\\\"cName\\\":\\\"Texto 2\\\"},{\\\"cId\\\":\\\"obj_1786345460449_j7r268\\\",\\\"cType\\\":\\\"TText\\\",\\\"cName\\\":\\\"Texto 3\\\"}]\\nRESTO_DEL_DOCUMENTO_SCOPE=global:\\n[{\\\"cId\\\":\\\"obj_1786345460449_tjz7wa\\\",\\\"cType\\\":\\\"TRectangle\\\",\\\"cName\\\":\\\"Rectángulo\\\"}]\\nSELECCIÃ“N REAL:\\n[{\\\"cId\\\":\\\"obj_1786345460449_1d8ap5\\\",\\\"cType\\\":\\\"TText\\\",\\\"cName\\\":\\\"Texto 1\\\"},{\\\"cId\\\":\\\"obj_1786345460449_gp7up7\\\",\\\"cType\\\":\\\"TText\\\",\\\"cName\\\":\\\"Texto 2\\\"},{\\\"cId\\\":\\\"obj_1786345460449_j7r268\\\",\\\"cType\\\":\\\"TText\\\",\\\"cName\\\":\\\"Texto 3\\\"}]\\nPROPIEDADES COMUNES EDITABLES: cBackgroundColor:string=Texto formateado / Color de fondo,cBorderColor:string=Texto formateado / Color,cCondition:string=Texto formateado / Condición de aparición,cFillColor2:string=Texto formateado / Color final,cFillColor3:string=Texto formateado / Color intermedio,cFillStyle:string=Texto formateado / Tipo de relleno,cFontFamily:string=Texto formateado / Fuente,cShadowColor:string=Texto formateado / Color,cText:string=Texto formateado / Contenido,cTextAlign:string=Texto formateado / Alineación,cTextColor:string=Texto formateado / Color,cTextVerticalAlign:string=Texto formateado / Alineación vertical,lAllowPageBreak:boolean=Texto formateado / Continuar entre páginas,lBorderBottom:boolean,lBorderLeft:boolean,lBorderRight:boolean,lBorderTop:boolean,lFontBold:boolean=Texto formateado / Negrita,lFontItalic:boolean=Texto formateado / Cursiva,lFontStrikeout:boolean=Texto formateado / Tachado,lFontUnderline:boolean=Texto formateado / Subrayado,lKeepEmptyParagraphs:boolean=Texto formateado / Conservar párrafos vacíos,lLocked:boolean=Texto formateado / Bloqueado,lTextAdjusted:boolean=Texto formateado / Justificación forzada,lTextWrap:boolean=Texto formateado / Partir si no cabe,lTrimSpaces:boolean=Texto formateado / Recortar espacios exteriores,lVisible:boolean=Texto formateado / Visible,nBorderWidth:number=Texto formateado / Grosor,nFillOpacity:number=Texto formateado / Opacidad del relleno,nFontSize:number=Texto formateado / Tamaño,nLayerId:number=Texto formateado / Capa,nLineSpacing:number=Texto formateado / Interlineado adicional,nOpacity:number=Texto formateado / Opacidad,nPaddingBottom:number,nPaddingLeft:number,nPaddingRight:number,nPaddingTop:number,nParagraphSpacing:number=Texto formateado / Espacio entre párrafos,nRotation:number=Texto formateado / Rotación,nRounded:number=Texto formateado / Redondeo,nShadowSize:number=Texto formateado / Grosor,nShadowTransparency:number=Texto formateado / Transparencia,nTextDecimalPosition:number=Texto formateado / Posición decimal,nTextOpacity:number=Texto formateado / Opacidad texto,nZIndex:number\\nCOLORES CANÃ“NICOS: rojo:#ff0000 Â· verde:#008000 Â· verde oscuro:#006400 Â· azul:#0000ff Â· azul oscuro:#00008b Â· amarillo:#ffff00 Â· gris claro:#d3d3d3\\n\\nINSTRUCCIÃ“N:\\nhazlos a la mitad\"}],\"stream\":false,\"format\":\"json\",\"keep_alive\":-1,\"options\":{\"temperature\":0,\"top_p\":1,\"top_k\":0,\"repeat_penalty\":1.1,\"frequency_penalty\":0,\"presence_penalty\":0,\"num_ctx\":65536,\"num_batch\":4096,\"num_thread\":10,\"num_gpu\":99,\"num_predict\":4096},\"think\":\"low\"}",
        "cHttpBody": "{\"model\":\"gpt-oss:20b\",\"created_at\":\"2026-08-10T07:04:23.4640929Z\",\"message\":{\"role\":\"assistant\",\"content\":\"{\\\"commands\\\":[{\\\"command\\\":\\\"resize\\\",\\\"target\\\":\\\"selection\\\",\\\"scaleX\\\":0.5,\\\"scaleY\\\":0.5}]}\",\"thinking\":\"Need to set property? \\\"hazlos a la mitad\\\" unclear. Probably resize to half size. So use resize command for selection.\"},\"done\":true,\"done_reason\":\"stop\",\"total_duration\":1552156200,\"load_duration\":196258100,\"prompt_eval_count\":5057,\"prompt_eval_duration\":15319000,\"eval_count\":28,\"eval_duration\":355192000}",
        "hMetrics": {
          "total_duration": 1552156200,
          "load_duration": 196258100,
          "prompt_eval_count": 5057,
          "prompt_eval_duration": 15319000,
          "eval_count": 28,
          "eval_duration": 355192000,
          "unattributed_duration": 985387100
        },
        "hCommands": {
          "commands": [
            {
              "command": "resize",
              "target": "selection",
              "scaleX": 0.5,
              "scaleY": 0.5
            }
          ]
        },
        "lValid": true,
        "nCreates": 0,
        "nChanges": 0,
        "nDeletes": 0,
        "nStructures": 0,
        "nGeneratedIds": 0,
        "nOperations": 1,
        "nFinalOperations": 1,
        "cValidation": "Shape commands vÃ¡lida; validaciÃ³n de ejecuciÃ³n pendiente",
        "nResponseMilliseconds": 1564.359,
        "tRequestStartedAt": "2026-08-10T09:04:21.901131+02:00",
        "tResponseFinishedAt": "2026-08-10T09:04:23.465506+02:00",
        "hPromptDiagnostics": {
          "nSystemCharacters": 16569,
          "nUserCharacters": 2872,
          "nPromptCharacters": 19442,
          "nPromptTokensAfterEstimated": 4861,
          "nContextTokens": 65536,
          "lPromptFitsContext": true
        }
      }
    },
    "state": {
      "selected": [
        "obj_1786345460449_1d8ap5",
        "obj_1786345460449_gp7up7",
        "obj_1786345460449_j7r268"
      ],
      "objects": [
        {
          "cId": "obj_1786345460449_1d8ap5",
          "cType": "TText",
          "nLeft": 10,
          "nTop": 10,
          "nWidth": 10,
          "nHeight": 4,
          "cTextColor": "#000000"
        },
        {
          "cId": "obj_1786345460449_gp7up7",
          "cType": "TText",
          "nLeft": 25,
          "nTop": 10,
          "nWidth": 10,
          "nHeight": 4,
          "cTextColor": "#000000"
        },
        {
          "cId": "obj_1786345460449_j7r268",
          "cType": "TText",
          "nLeft": 40,
          "nTop": 10,
          "nWidth": 10,
          "nHeight": 4,
          "cTextColor": "#000000"
        },
        {
          "cId": "obj_1786345460449_tjz7wa",
          "cType": "TRectangle",
          "nLeft": 10,
          "nTop": 30,
          "nWidth": 40,
          "nHeight": 20
        }
      ]
    }
  },
  {
    "id": "A2",
    "instruction": "muévelos 10 mm a la derecha",
    "fixture": {
      "selected": [
        "obj_1786345463679_h15ltp",
        "obj_1786345463679_nqs2ph",
        "obj_1786345463679_7u6ol2"
      ],
      "all": [
        "obj_1786345463679_h15ltp",
        "obj_1786345463679_nqs2ph",
        "obj_1786345463679_7u6ol2",
        "obj_1786345463679_d2mx9p"
      ]
    },
    "payload": {
      "cAction": "commandsExperimental",
      "cModelKey": "gpt-oss-20b",
      "cInstruction": "muévelos 10 mm a la derecha",
      "aSelectedObjects": [
        {
          "cId": "obj_1786345463679_h15ltp",
          "cType": "TText",
          "cName": "Texto 1"
        },
        {
          "cId": "obj_1786345463679_nqs2ph",
          "cType": "TText",
          "cName": "Texto 2"
        },
        {
          "cId": "obj_1786345463679_7u6ol2",
          "cType": "TText",
          "cName": "Texto 3"
        }
      ],
      "aPropertyMetadata": [
        {
          "property": "cText",
          "label": "Contenido",
          "group": "Texto",
          "editor": "text"
        },
        {
          "property": "cFontFamily",
          "label": "Fuente",
          "group": "Texto",
          "editor": "select"
        },
        {
          "property": "nFontSize",
          "label": "Tamaño",
          "group": "Texto",
          "editor": "number"
        },
        {
          "property": "lFontBold",
          "label": "Negrita",
          "group": "Texto",
          "editor": "checkbox"
        },
        {
          "property": "lFontItalic",
          "label": "Cursiva",
          "group": "Texto",
          "editor": "checkbox"
        },
        {
          "property": "lFontUnderline",
          "label": "Subrayado",
          "group": "Texto",
          "editor": "checkbox"
        },
        {
          "property": "lFontStrikeout",
          "label": "Tachado",
          "group": "Texto",
          "editor": "checkbox"
        },
        {
          "property": "lTextWrap",
          "label": "Partir si no cabe",
          "group": "Texto",
          "editor": "checkbox"
        },
        {
          "property": "lAllowPageBreak",
          "label": "Continuar entre páginas",
          "group": "Texto",
          "editor": "checkbox"
        },
        {
          "property": "nLineSpacing",
          "label": "Interlineado adicional",
          "group": "Texto",
          "editor": "number"
        },
        {
          "property": "nParagraphSpacing",
          "label": "Espacio entre párrafos",
          "group": "Texto",
          "editor": "number"
        },
        {
          "property": "lKeepEmptyParagraphs",
          "label": "Conservar párrafos vacíos",
          "group": "Texto",
          "editor": "checkbox"
        },
        {
          "property": "lTextAdjusted",
          "label": "Justificación forzada",
          "group": "Texto",
          "editor": "checkbox"
        },
        {
          "property": "lTrimSpaces",
          "label": "Recortar espacios exteriores",
          "group": "Texto",
          "editor": "checkbox"
        },
        {
          "property": "cTextColor",
          "label": "Color",
          "group": "Texto",
          "editor": "color"
        },
        {
          "property": "nTextOpacity",
          "label": "Opacidad texto",
          "group": "Texto",
          "editor": "number"
        },
        {
          "property": "cTextAlign",
          "label": "Alineación",
          "group": "Texto",
          "editor": "select"
        },
        {
          "property": "nTextDecimalPosition",
          "label": "Posición decimal",
          "group": "Texto",
          "editor": "number"
        },
        {
          "property": "cTextVerticalAlign",
          "label": "Alineación vertical",
          "group": "Texto",
          "editor": "select"
        },
        {
          "property": "cName",
          "label": "Nombre",
          "group": "Texto",
          "editor": "text"
        },
        {
          "property": "cType",
          "label": "Tipo de objeto",
          "group": "Texto",
          "editor": "text"
        },
        {
          "property": "nLayerId",
          "label": "Capa",
          "group": "Ejecución",
          "editor": "select"
        },
        {
          "property": "cCondition",
          "label": "Condición de aparición",
          "group": "Ejecución",
          "editor": "text"
        },
        {
          "property": "lVisible",
          "label": "Visible",
          "group": "Ejecución",
          "editor": "checkbox"
        },
        {
          "property": "lLocked",
          "label": "Bloqueado",
          "group": "Ejecución",
          "editor": "checkbox"
        },
        {
          "property": "nLeft",
          "label": "Izquierda",
          "group": "Dimensiones y Color",
          "editor": "number"
        },
        {
          "property": "nTop",
          "label": "Superior",
          "group": "Dimensiones y Color",
          "editor": "number"
        },
        {
          "property": "nRight",
          "label": "Derecha",
          "group": "Dimensiones y Color",
          "editor": "number"
        },
        {
          "property": "nBottom",
          "label": "Inferior",
          "group": "Dimensiones y Color",
          "editor": "number"
        },
        {
          "property": "nWidth",
          "label": "Ancho",
          "group": "Dimensiones y Color",
          "editor": "number"
        },
        {
          "property": "nHeight",
          "label": "Alto",
          "group": "Dimensiones y Color",
          "editor": "number"
        },
        {
          "property": "cBackgroundColor",
          "label": "Color de fondo",
          "group": "Dimensiones y Color",
          "editor": "color"
        },
        {
          "property": "cFillStyle",
          "label": "Tipo de relleno",
          "group": "Dimensiones y Color",
          "editor": "select"
        },
        {
          "property": "cFillColor2",
          "label": "Color final",
          "group": "Dimensiones y Color",
          "editor": "color"
        },
        {
          "property": "cFillColor3",
          "label": "Color intermedio",
          "group": "Dimensiones y Color",
          "editor": "color"
        },
        {
          "property": "nFillOpacity",
          "label": "Opacidad del relleno",
          "group": "Dimensiones y Color",
          "editor": "number"
        },
        {
          "property": "nRotation",
          "label": "Rotación",
          "group": "Transformación",
          "editor": "number"
        },
        {
          "property": "nOpacity",
          "label": "Opacidad",
          "group": "Transformación",
          "editor": "number"
        },
        {
          "property": "cBorderColor",
          "label": "Color",
          "group": "Borde",
          "editor": "color"
        },
        {
          "property": "nBorderWidth",
          "label": "Grosor",
          "group": "Borde",
          "editor": "number"
        },
        {
          "property": "borderVisibility",
          "label": "Visibilidad",
          "group": "Borde",
          "editor": "border-visibility"
        },
        {
          "property": "nRounded",
          "label": "Redondeo",
          "group": "Borde",
          "editor": "number"
        },
        {
          "property": "nShadowSize",
          "label": "Grosor",
          "group": "Sombra",
          "editor": "number"
        },
        {
          "property": "nShadowTransparency",
          "label": "Transparencia",
          "group": "Sombra",
          "editor": "number"
        },
        {
          "property": "cShadowColor",
          "label": "Color",
          "group": "Sombra",
          "editor": "color"
        },
        {
          "property": "cText",
          "label": "Contenido",
          "group": "Texto",
          "editor": "text",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "cFontFamily",
          "label": "Fuente",
          "group": "Texto",
          "editor": "select",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nFontSize",
          "label": "Tamaño",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "lFontBold",
          "label": "Negrita",
          "group": "Texto",
          "editor": "checkbox",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "lFontItalic",
          "label": "Cursiva",
          "group": "Texto",
          "editor": "checkbox",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "lFontUnderline",
          "label": "Subrayado",
          "group": "Texto",
          "editor": "checkbox",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "lFontStrikeout",
          "label": "Tachado",
          "group": "Texto",
          "editor": "checkbox",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "lTextWrap",
          "label": "Partir si no cabe",
          "group": "Texto",
          "editor": "checkbox",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "lAllowPageBreak",
          "label": "Continuar entre páginas",
          "group": "Texto",
          "editor": "checkbox",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nLineSpacing",
          "label": "Interlineado adicional",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nParagraphSpacing",
          "label": "Espacio entre párrafos",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "lKeepEmptyParagraphs",
          "label": "Conservar párrafos vacíos",
          "group": "Texto",
          "editor": "checkbox",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "lTextAdjusted",
          "label": "Justificación forzada",
          "group": "Texto",
          "editor": "checkbox",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "lTrimSpaces",
          "label": "Recortar espacios exteriores",
          "group": "Texto",
          "editor": "checkbox",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "cTextColor",
          "label": "Color",
          "group": "Texto",
          "editor": "color",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nTextOpacity",
          "label": "Opacidad texto",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "cTextAlign",
          "label": "Alineación",
          "group": "Texto",
          "editor": "select",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nTextDecimalPosition",
          "label": "Posición decimal",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "cTextVerticalAlign",
          "label": "Alineación vertical",
          "group": "Texto",
          "editor": "select",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "cName",
          "label": "Nombre",
          "group": "Texto",
          "editor": "text",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "cType",
          "label": "Tipo de objeto",
          "group": "Texto",
          "editor": "text",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nLayerId",
          "label": "Capa",
          "group": "Texto",
          "editor": "select",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "cCondition",
          "label": "Condición de aparición",
          "group": "Texto",
          "editor": "text",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "lVisible",
          "label": "Visible",
          "group": "Texto",
          "editor": "checkbox",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "lLocked",
          "label": "Bloqueado",
          "group": "Texto",
          "editor": "checkbox",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nLeft",
          "label": "Izquierda",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nTop",
          "label": "Superior",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nRight",
          "label": "Derecha",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nBottom",
          "label": "Inferior",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nWidth",
          "label": "Ancho",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nHeight",
          "label": "Alto",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "cBackgroundColor",
          "label": "Color de fondo",
          "group": "Texto",
          "editor": "color",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "cFillStyle",
          "label": "Tipo de relleno",
          "group": "Texto",
          "editor": "select",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "cFillColor2",
          "label": "Color final",
          "group": "Texto",
          "editor": "color",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "cFillColor3",
          "label": "Color intermedio",
          "group": "Texto",
          "editor": "color",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nFillOpacity",
          "label": "Opacidad del relleno",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nRotation",
          "label": "Rotación",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nOpacity",
          "label": "Opacidad",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "cBorderColor",
          "label": "Color",
          "group": "Texto",
          "editor": "color",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nBorderWidth",
          "label": "Grosor",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "borderVisibility",
          "label": "Visibilidad",
          "group": "Texto",
          "editor": "border-visibility",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nRounded",
          "label": "Redondeo",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nShadowSize",
          "label": "Grosor",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nShadowTransparency",
          "label": "Transparencia",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "cShadowColor",
          "label": "Color",
          "group": "Texto",
          "editor": "color",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "cName",
          "label": "Nombre",
          "group": "Rectángulo",
          "editor": "text",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "cType",
          "label": "Tipo de objeto",
          "group": "Rectángulo",
          "editor": "text",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "nLayerId",
          "label": "Capa",
          "group": "Rectángulo",
          "editor": "select",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "cCondition",
          "label": "Condición de aparición",
          "group": "Rectángulo",
          "editor": "text",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "lVisible",
          "label": "Visible",
          "group": "Rectángulo",
          "editor": "checkbox",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "lLocked",
          "label": "Bloqueado",
          "group": "Rectángulo",
          "editor": "checkbox",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "nLeft",
          "label": "Izquierda",
          "group": "Rectángulo",
          "editor": "number",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "nTop",
          "label": "Superior",
          "group": "Rectángulo",
          "editor": "number",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "nRight",
          "label": "Derecha",
          "group": "Rectángulo",
          "editor": "number",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "nBottom",
          "label": "Inferior",
          "group": "Rectángulo",
          "editor": "number",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "nWidth",
          "label": "Ancho",
          "group": "Rectángulo",
          "editor": "number",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "nHeight",
          "label": "Alto",
          "group": "Rectángulo",
          "editor": "number",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "cBackgroundColor",
          "label": "Color de fondo",
          "group": "Rectángulo",
          "editor": "color",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "cFillStyle",
          "label": "Tipo de relleno",
          "group": "Rectángulo",
          "editor": "select",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "cFillColor2",
          "label": "Color final",
          "group": "Rectángulo",
          "editor": "color",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "cFillColor3",
          "label": "Color intermedio",
          "group": "Rectángulo",
          "editor": "color",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "nFillOpacity",
          "label": "Opacidad del relleno",
          "group": "Rectángulo",
          "editor": "number",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "nRotation",
          "label": "Rotación",
          "group": "Rectángulo",
          "editor": "number",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "nOpacity",
          "label": "Opacidad",
          "group": "Rectángulo",
          "editor": "number",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "cBorderColor",
          "label": "Color",
          "group": "Rectángulo",
          "editor": "color",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "nBorderWidth",
          "label": "Grosor",
          "group": "Rectángulo",
          "editor": "number",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "borderVisibility",
          "label": "Visibilidad",
          "group": "Rectángulo",
          "editor": "border-visibility",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "nRounded",
          "label": "Redondeo",
          "group": "Rectángulo",
          "editor": "number",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "nShadowSize",
          "label": "Grosor",
          "group": "Rectángulo",
          "editor": "number",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "nShadowTransparency",
          "label": "Transparencia",
          "group": "Rectángulo",
          "editor": "number",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "cShadowColor",
          "label": "Color",
          "group": "Rectángulo",
          "editor": "color",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "cName",
          "label": "Nombre",
          "group": "Elipse",
          "editor": "text",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "cType",
          "label": "Tipo de objeto",
          "group": "Elipse",
          "editor": "text",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "nLayerId",
          "label": "Capa",
          "group": "Elipse",
          "editor": "select",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "cCondition",
          "label": "Condición de aparición",
          "group": "Elipse",
          "editor": "text",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "lVisible",
          "label": "Visible",
          "group": "Elipse",
          "editor": "checkbox",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "lLocked",
          "label": "Bloqueado",
          "group": "Elipse",
          "editor": "checkbox",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "nLeft",
          "label": "Izquierda",
          "group": "Elipse",
          "editor": "number",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "nTop",
          "label": "Superior",
          "group": "Elipse",
          "editor": "number",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "nRight",
          "label": "Derecha",
          "group": "Elipse",
          "editor": "number",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "nBottom",
          "label": "Inferior",
          "group": "Elipse",
          "editor": "number",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "nWidth",
          "label": "Ancho",
          "group": "Elipse",
          "editor": "number",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "nHeight",
          "label": "Alto",
          "group": "Elipse",
          "editor": "number",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "cBackgroundColor",
          "label": "Color de fondo",
          "group": "Elipse",
          "editor": "color",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "cFillStyle",
          "label": "Tipo de relleno",
          "group": "Elipse",
          "editor": "select",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "cFillColor2",
          "label": "Color final",
          "group": "Elipse",
          "editor": "color",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "cFillColor3",
          "label": "Color intermedio",
          "group": "Elipse",
          "editor": "color",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "nFillOpacity",
          "label": "Opacidad del relleno",
          "group": "Elipse",
          "editor": "number",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "nRotation",
          "label": "Rotación",
          "group": "Elipse",
          "editor": "number",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "nOpacity",
          "label": "Opacidad",
          "group": "Elipse",
          "editor": "number",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "cBorderColor",
          "label": "Color",
          "group": "Elipse",
          "editor": "color",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "nBorderWidth",
          "label": "Grosor",
          "group": "Elipse",
          "editor": "number",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "borderVisibility",
          "label": "Visibilidad",
          "group": "Elipse",
          "editor": "border-visibility",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "nRounded",
          "label": "Redondeo",
          "group": "Elipse",
          "editor": "number",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "nShadowSize",
          "label": "Grosor",
          "group": "Elipse",
          "editor": "number",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "nShadowTransparency",
          "label": "Transparencia",
          "group": "Elipse",
          "editor": "number",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "cShadowColor",
          "label": "Color",
          "group": "Elipse",
          "editor": "color",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "cName",
          "label": "Nombre",
          "group": "Imagen",
          "editor": "text",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "cType",
          "label": "Tipo de objeto",
          "group": "Imagen",
          "editor": "text",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "nLayerId",
          "label": "Capa",
          "group": "Imagen",
          "editor": "select",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "cCondition",
          "label": "Condición de aparición",
          "group": "Imagen",
          "editor": "text",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "lVisible",
          "label": "Visible",
          "group": "Imagen",
          "editor": "checkbox",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "lLocked",
          "label": "Bloqueado",
          "group": "Imagen",
          "editor": "checkbox",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "cSource",
          "label": "Origen / contenido",
          "group": "Imagen",
          "editor": "text",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "cSourceType",
          "label": "Tipo de origen",
          "group": "Imagen",
          "editor": "select",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "lKeepRatio",
          "label": "Mantener proporción",
          "group": "Imagen",
          "editor": "checkbox",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "cFit",
          "label": "Ajuste",
          "group": "Imagen",
          "editor": "select",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "nLeft",
          "label": "Izquierda",
          "group": "Imagen",
          "editor": "number",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "nTop",
          "label": "Superior",
          "group": "Imagen",
          "editor": "number",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "nRight",
          "label": "Derecha",
          "group": "Imagen",
          "editor": "number",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "nBottom",
          "label": "Inferior",
          "group": "Imagen",
          "editor": "number",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "nWidth",
          "label": "Ancho",
          "group": "Imagen",
          "editor": "number",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "nHeight",
          "label": "Alto",
          "group": "Imagen",
          "editor": "number",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "cBackgroundColor",
          "label": "Color de fondo",
          "group": "Imagen",
          "editor": "color",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "cFillStyle",
          "label": "Tipo de relleno",
          "group": "Imagen",
          "editor": "select",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "cFillColor2",
          "label": "Color final",
          "group": "Imagen",
          "editor": "color",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "cFillColor3",
          "label": "Color intermedio",
          "group": "Imagen",
          "editor": "color",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "nFillOpacity",
          "label": "Opacidad del relleno",
          "group": "Imagen",
          "editor": "number",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "nRotation",
          "label": "Rotación",
          "group": "Imagen",
          "editor": "number",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "nOpacity",
          "label": "Opacidad",
          "group": "Imagen",
          "editor": "number",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "cBorderColor",
          "label": "Color",
          "group": "Imagen",
          "editor": "color",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "nBorderWidth",
          "label": "Grosor",
          "group": "Imagen",
          "editor": "number",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "borderVisibility",
          "label": "Visibilidad",
          "group": "Imagen",
          "editor": "border-visibility",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "nRounded",
          "label": "Redondeo",
          "group": "Imagen",
          "editor": "number",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "nShadowSize",
          "label": "Grosor",
          "group": "Imagen",
          "editor": "number",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "nShadowTransparency",
          "label": "Transparencia",
          "group": "Imagen",
          "editor": "number",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "cShadowColor",
          "label": "Color",
          "group": "Imagen",
          "editor": "color",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "cName",
          "label": "Nombre",
          "group": "Línea",
          "editor": "text",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "cType",
          "label": "Tipo de objeto",
          "group": "Línea",
          "editor": "text",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "nLayerId",
          "label": "Capa",
          "group": "Línea",
          "editor": "select",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "cCondition",
          "label": "Condición de aparición",
          "group": "Línea",
          "editor": "text",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "lVisible",
          "label": "Visible",
          "group": "Línea",
          "editor": "checkbox",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "lLocked",
          "label": "Bloqueado",
          "group": "Línea",
          "editor": "checkbox",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "cOrientation",
          "label": "Orientación",
          "group": "Línea",
          "editor": "select",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "cBorderColor",
          "label": "Color",
          "group": "Línea",
          "editor": "color",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "nBorderWidth",
          "label": "Grosor",
          "group": "Línea",
          "editor": "number",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "cLineStyle",
          "label": "Estilo",
          "group": "Línea",
          "editor": "select",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "nLeft",
          "label": "Izquierda",
          "group": "Línea",
          "editor": "number",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "nTop",
          "label": "Superior",
          "group": "Línea",
          "editor": "number",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "nRight",
          "label": "Derecha",
          "group": "Línea",
          "editor": "number",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "nBottom",
          "label": "Inferior",
          "group": "Línea",
          "editor": "number",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "nWidth",
          "label": "Ancho",
          "group": "Línea",
          "editor": "number",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "nHeight",
          "label": "Alto",
          "group": "Línea",
          "editor": "number",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "cFillStyle",
          "label": "Tipo de relleno",
          "group": "Línea",
          "editor": "select",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "cFillColor2",
          "label": "Color final",
          "group": "Línea",
          "editor": "color",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "cFillColor3",
          "label": "Color intermedio",
          "group": "Línea",
          "editor": "color",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "nFillOpacity",
          "label": "Opacidad del relleno",
          "group": "Línea",
          "editor": "number",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "nRotation",
          "label": "Rotación",
          "group": "Línea",
          "editor": "number",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "nOpacity",
          "label": "Opacidad",
          "group": "Línea",
          "editor": "number",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "nShadowSize",
          "label": "Grosor",
          "group": "Línea",
          "editor": "number",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "nShadowTransparency",
          "label": "Transparencia",
          "group": "Línea",
          "editor": "number",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "cShadowColor",
          "label": "Color",
          "group": "Línea",
          "editor": "color",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "cName",
          "label": "Nombre",
          "group": "Código de barras",
          "editor": "text",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "cType",
          "label": "Tipo de objeto",
          "group": "Código de barras",
          "editor": "text",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "nLayerId",
          "label": "Capa",
          "group": "Código de barras",
          "editor": "select",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "cCondition",
          "label": "Condición de aparición",
          "group": "Código de barras",
          "editor": "text",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "lVisible",
          "label": "Visible",
          "group": "Código de barras",
          "editor": "checkbox",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "lLocked",
          "label": "Bloqueado",
          "group": "Código de barras",
          "editor": "checkbox",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "cContent",
          "label": "Contenido",
          "group": "Código de barras",
          "editor": "text",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "cBarcodeType",
          "label": "Tipo",
          "group": "Código de barras",
          "editor": "select",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "lShowText",
          "label": "Mostrar texto",
          "group": "Código de barras",
          "editor": "checkbox",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "lTrimSpaces",
          "label": "Recortar espacios exteriores",
          "group": "Código de barras",
          "editor": "checkbox",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "cFontFamily",
          "label": "Fuente",
          "group": "Código de barras",
          "editor": "select",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "nFontSize",
          "label": "Tamaño",
          "group": "Código de barras",
          "editor": "number",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "lFontBold",
          "label": "Negrita",
          "group": "Código de barras",
          "editor": "checkbox",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "lFontItalic",
          "label": "Cursiva",
          "group": "Código de barras",
          "editor": "checkbox",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "lFontUnderline",
          "label": "Subrayado",
          "group": "Código de barras",
          "editor": "checkbox",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "lFontStrikeout",
          "label": "Tachado",
          "group": "Código de barras",
          "editor": "checkbox",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "cColor",
          "label": "Color",
          "group": "Código de barras",
          "editor": "color",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "cBackgroundColor",
          "label": "Color de fondo",
          "group": "Código de barras",
          "editor": "color",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "nLeft",
          "label": "Izquierda",
          "group": "Código de barras",
          "editor": "number",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "nTop",
          "label": "Superior",
          "group": "Código de barras",
          "editor": "number",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "nRight",
          "label": "Derecha",
          "group": "Código de barras",
          "editor": "number",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "nBottom",
          "label": "Inferior",
          "group": "Código de barras",
          "editor": "number",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "nWidth",
          "label": "Ancho",
          "group": "Código de barras",
          "editor": "number",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "nHeight",
          "label": "Alto",
          "group": "Código de barras",
          "editor": "number",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "cFillStyle",
          "label": "Tipo de relleno",
          "group": "Código de barras",
          "editor": "select",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "cFillColor2",
          "label": "Color final",
          "group": "Código de barras",
          "editor": "color",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "cFillColor3",
          "label": "Color intermedio",
          "group": "Código de barras",
          "editor": "color",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "nFillOpacity",
          "label": "Opacidad del relleno",
          "group": "Código de barras",
          "editor": "number",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "nRotation",
          "label": "Rotación",
          "group": "Código de barras",
          "editor": "number",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "nOpacity",
          "label": "Opacidad",
          "group": "Código de barras",
          "editor": "number",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "cBorderColor",
          "label": "Color",
          "group": "Código de barras",
          "editor": "color",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "nBorderWidth",
          "label": "Grosor",
          "group": "Código de barras",
          "editor": "number",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "borderVisibility",
          "label": "Visibilidad",
          "group": "Código de barras",
          "editor": "border-visibility",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "nRounded",
          "label": "Redondeo",
          "group": "Código de barras",
          "editor": "number",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "nShadowSize",
          "label": "Grosor",
          "group": "Código de barras",
          "editor": "number",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "nShadowTransparency",
          "label": "Transparencia",
          "group": "Código de barras",
          "editor": "number",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "cShadowColor",
          "label": "Color",
          "group": "Código de barras",
          "editor": "color",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "cContent",
          "label": "Contenido",
          "group": "Texto enriquecido",
          "editor": "text",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "cVerticalAlign",
          "label": "Alineación vertical",
          "group": "Texto enriquecido",
          "editor": "select",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "cOverflow",
          "label": "Desbordamiento",
          "group": "Texto enriquecido",
          "editor": "select",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "cName",
          "label": "Nombre",
          "group": "Texto enriquecido",
          "editor": "text",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "cType",
          "label": "Tipo de objeto",
          "group": "Texto enriquecido",
          "editor": "text",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "nLayerId",
          "label": "Capa",
          "group": "Texto enriquecido",
          "editor": "select",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "cCondition",
          "label": "Condición de aparición",
          "group": "Texto enriquecido",
          "editor": "text",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "lVisible",
          "label": "Visible",
          "group": "Texto enriquecido",
          "editor": "checkbox",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "lLocked",
          "label": "Bloqueado",
          "group": "Texto enriquecido",
          "editor": "checkbox",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "nLeft",
          "label": "Izquierda",
          "group": "Texto enriquecido",
          "editor": "number",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "nTop",
          "label": "Superior",
          "group": "Texto enriquecido",
          "editor": "number",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "nRight",
          "label": "Derecha",
          "group": "Texto enriquecido",
          "editor": "number",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "nBottom",
          "label": "Inferior",
          "group": "Texto enriquecido",
          "editor": "number",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "nWidth",
          "label": "Ancho",
          "group": "Texto enriquecido",
          "editor": "number",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "nHeight",
          "label": "Alto",
          "group": "Texto enriquecido",
          "editor": "number",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "cBackgroundColor",
          "label": "Color de fondo",
          "group": "Texto enriquecido",
          "editor": "color",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "cFillStyle",
          "label": "Tipo de relleno",
          "group": "Texto enriquecido",
          "editor": "select",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "cFillColor2",
          "label": "Color final",
          "group": "Texto enriquecido",
          "editor": "color",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "cFillColor3",
          "label": "Color intermedio",
          "group": "Texto enriquecido",
          "editor": "color",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "nFillOpacity",
          "label": "Opacidad del relleno",
          "group": "Texto enriquecido",
          "editor": "number",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "nRotation",
          "label": "Rotación",
          "group": "Texto enriquecido",
          "editor": "number",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "nOpacity",
          "label": "Opacidad",
          "group": "Texto enriquecido",
          "editor": "number",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "cBorderColor",
          "label": "Color",
          "group": "Texto enriquecido",
          "editor": "color",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "nBorderWidth",
          "label": "Grosor",
          "group": "Texto enriquecido",
          "editor": "number",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "borderVisibility",
          "label": "Visibilidad",
          "group": "Texto enriquecido",
          "editor": "border-visibility",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "nRounded",
          "label": "Redondeo",
          "group": "Texto enriquecido",
          "editor": "number",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "nShadowSize",
          "label": "Grosor",
          "group": "Texto enriquecido",
          "editor": "number",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "nShadowTransparency",
          "label": "Transparencia",
          "group": "Texto enriquecido",
          "editor": "number",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "cShadowColor",
          "label": "Color",
          "group": "Texto enriquecido",
          "editor": "color",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "cText",
          "label": "Contenido",
          "group": "Texto formateado",
          "editor": "text",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "cFontFamily",
          "label": "Fuente",
          "group": "Texto formateado",
          "editor": "select",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nFontSize",
          "label": "Tamaño",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "lFontBold",
          "label": "Negrita",
          "group": "Texto formateado",
          "editor": "checkbox",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "lFontItalic",
          "label": "Cursiva",
          "group": "Texto formateado",
          "editor": "checkbox",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "lFontUnderline",
          "label": "Subrayado",
          "group": "Texto formateado",
          "editor": "checkbox",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "lFontStrikeout",
          "label": "Tachado",
          "group": "Texto formateado",
          "editor": "checkbox",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "lTextWrap",
          "label": "Partir si no cabe",
          "group": "Texto formateado",
          "editor": "checkbox",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "lAllowPageBreak",
          "label": "Continuar entre páginas",
          "group": "Texto formateado",
          "editor": "checkbox",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nLineSpacing",
          "label": "Interlineado adicional",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nParagraphSpacing",
          "label": "Espacio entre párrafos",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "lKeepEmptyParagraphs",
          "label": "Conservar párrafos vacíos",
          "group": "Texto formateado",
          "editor": "checkbox",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "lTextAdjusted",
          "label": "Justificación forzada",
          "group": "Texto formateado",
          "editor": "checkbox",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "lTrimSpaces",
          "label": "Recortar espacios exteriores",
          "group": "Texto formateado",
          "editor": "checkbox",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "cTextColor",
          "label": "Color",
          "group": "Texto formateado",
          "editor": "color",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nTextOpacity",
          "label": "Opacidad texto",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "cTextAlign",
          "label": "Alineación",
          "group": "Texto formateado",
          "editor": "select",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nTextDecimalPosition",
          "label": "Posición decimal",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "cTextVerticalAlign",
          "label": "Alineación vertical",
          "group": "Texto formateado",
          "editor": "select",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "cName",
          "label": "Nombre",
          "group": "Texto formateado",
          "editor": "text",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "cType",
          "label": "Tipo de objeto",
          "group": "Texto formateado",
          "editor": "text",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nLayerId",
          "label": "Capa",
          "group": "Texto formateado",
          "editor": "select",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "cCondition",
          "label": "Condición de aparición",
          "group": "Texto formateado",
          "editor": "text",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "lVisible",
          "label": "Visible",
          "group": "Texto formateado",
          "editor": "checkbox",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "lLocked",
          "label": "Bloqueado",
          "group": "Texto formateado",
          "editor": "checkbox",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nLeft",
          "label": "Izquierda",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nTop",
          "label": "Superior",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nRight",
          "label": "Derecha",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nBottom",
          "label": "Inferior",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nWidth",
          "label": "Ancho",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nHeight",
          "label": "Alto",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "cBackgroundColor",
          "label": "Color de fondo",
          "group": "Texto formateado",
          "editor": "color",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "cFillStyle",
          "label": "Tipo de relleno",
          "group": "Texto formateado",
          "editor": "select",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "cFillColor2",
          "label": "Color final",
          "group": "Texto formateado",
          "editor": "color",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "cFillColor3",
          "label": "Color intermedio",
          "group": "Texto formateado",
          "editor": "color",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nFillOpacity",
          "label": "Opacidad del relleno",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nRotation",
          "label": "Rotación",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nOpacity",
          "label": "Opacidad",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "cBorderColor",
          "label": "Color",
          "group": "Texto formateado",
          "editor": "color",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nBorderWidth",
          "label": "Grosor",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "borderVisibility",
          "label": "Visibilidad",
          "group": "Texto formateado",
          "editor": "border-visibility",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nRounded",
          "label": "Redondeo",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nShadowSize",
          "label": "Grosor",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nShadowTransparency",
          "label": "Transparencia",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "cShadowColor",
          "label": "Color",
          "group": "Texto formateado",
          "editor": "color",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        }
      ],
      "aAvailableFields": [
        {
          "cName": "DATOS_EMPRESA.empresa",
          "cType": "texto",
          "cOrigin": "DataVar",
          "cGroup": "DATOS_EMPRESA"
        },
        {
          "cName": "DATOS_EMPRESA.fecha",
          "cType": "fecha",
          "cOrigin": "DataVar",
          "cGroup": "DATOS_EMPRESA"
        },
        {
          "cName": "DATOS_EMPRESA.logo_empresa",
          "cType": "imagen",
          "cOrigin": "DataVar",
          "cGroup": "DATOS_EMPRESA"
        },
        {
          "cName": "DATOS_EMPRESA.ruta_logo",
          "cType": "texto",
          "cOrigin": "DataVar",
          "cGroup": "DATOS_EMPRESA"
        },
        {
          "cName": "DATOS_EMPRESA.usuario",
          "cType": "texto",
          "cOrigin": "DataVar",
          "cGroup": "DATOS_EMPRESA"
        },
        {
          "cName": "FACLI.cliente",
          "cType": "texto",
          "cOrigin": "DataVar",
          "cGroup": "FACLI"
        },
        {
          "cName": "FACLI.codigoc",
          "cType": "texto",
          "cOrigin": "DataVar",
          "cGroup": "FACLI"
        },
        {
          "cName": "FACLI.nifc",
          "cType": "texto",
          "cOrigin": "DataVar",
          "cGroup": "FACLI"
        },
        {
          "cName": "FACLI.total",
          "cType": "numerico",
          "cOrigin": "DataVar",
          "cGroup": "FACLI"
        },
        {
          "cName": "LINEAS_FACTURA.cantidad",
          "cType": "numerico",
          "cOrigin": "DetalleVar",
          "cGroup": "LINEAS_FACTURA"
        },
        {
          "cName": "LINEAS_FACTURA.codigo_articulo",
          "cType": "texto",
          "cOrigin": "DetalleVar",
          "cGroup": "LINEAS_FACTURA"
        },
        {
          "cName": "LINEAS_FACTURA.descripcion",
          "cType": "texto",
          "cOrigin": "DetalleVar",
          "cGroup": "LINEAS_FACTURA"
        },
        {
          "cName": "LINEAS_FACTURA.logo_linea",
          "cType": "imagen",
          "cOrigin": "DetalleVar",
          "cGroup": "LINEAS_FACTURA"
        },
        {
          "cName": "LINEAS_FACTURA.precio",
          "cType": "numerico",
          "cOrigin": "DetalleVar",
          "cGroup": "LINEAS_FACTURA"
        },
        {
          "cName": "LINEAS_FACTURA.total_linea",
          "cType": "numerico",
          "cOrigin": "DetalleVar",
          "cGroup": "LINEAS_FACTURA"
        },
        {
          "cName": "VENDE.codvende",
          "cType": "texto",
          "cOrigin": "DataVar",
          "cGroup": "VENDE"
        },
        {
          "cName": "VENDE.nombre",
          "cType": "texto",
          "cOrigin": "DataVar",
          "cGroup": "VENDE"
        }
      ],
      "hTemplate": {
        "cType": "TDocument",
        "cFormatVersion": "1.0",
        "cTemplateId": "",
        "cTemplateName": "Documento",
        "cDocumentKind": "report",
        "cPaperFormat": "a4",
        "cPaperOrientation": "portrait",
        "tModifiedAt": "2026-08-10T07:04:23.658Z",
        "cFileName": "",
        "nPaperWidth": 210,
        "nPaperHeight": 297,
        "cPaperHeightMode": "fixed",
        "nDesignHeight": 250,
        "nContinuousBottomMargin": 5,
        "lShowGrid": true,
        "hUserVars": {},
        "hAcumVars": {},
        "hImportMetadata": {},
        "hLabelLayout": {
          "nLabelWidth": 70,
          "nLabelHeight": 37,
          "nColumns": 3,
          "nRows": 8,
          "nMarginLeft": 0,
          "nMarginTop": 0,
          "nGapHorizontal": 0,
          "nGapVertical": 0,
          "cFlow": "row",
          "cLabelFormat": "manual",
          "nPrintOffsetX": 0,
          "nPrintOffsetY": 0
        },
        "hLayers": {
          "0": {
            "nId": 0,
            "cName": "Capa 1",
            "cCondition": "",
            "lDesignerVisible": true,
            "cColor": "#000000"
          }
        },
        "aObjects": [
          {
            "cId": "obj_1786345463679_h15ltp",
            "cName": "Texto 1",
            "cType": "TText",
            "nLeft": 10,
            "nTop": 10,
            "nWidth": 20,
            "nHeight": 8,
            "lVisible": true,
            "lLocked": false,
            "lSelected": true,
            "nLayerId": 0,
            "nZIndex": 1,
            "cBorderColor": "#000000",
            "cBorderColorFormula": "",
            "nBorderWidth": 0.1,
            "lBorderTop": false,
            "lBorderRight": false,
            "lBorderBottom": false,
            "lBorderLeft": false,
            "cBackgroundColor": "#ffffff",
            "cBackgroundColorFormula": "",
            "cFillStyle": "solid",
            "cFillColor2": "#ffffff",
            "cFillColor2Formula": "",
            "cFillColor3": "#ffffff",
            "cFillColor3Formula": "",
            "nFillOpacity": 1,
            "nRounded": 0,
            "nShadowSize": 0,
            "nShadowTransparency": 50,
            "cShadowColor": "#000000",
            "cShadowColorFormula": "",
            "nRotation": 0,
            "nOpacity": 1,
            "cCondition": "",
            "nPaddingTop": 0,
            "nPaddingRight": 0,
            "nPaddingBottom": 0,
            "nPaddingLeft": 0,
            "nLl12LinkID": 0,
            "nLl12LinkToID": 0,
            "nLl12LinkMode": 0,
            "nLl12GroupId": 0,
            "lLl12WrapBefore": false,
            "cTableId": "",
            "cTableSectionKey": "",
            "cText": "\"TEXTO 1\"",
            "cFontFamily": "Arial",
            "nFontSize": 12,
            "nFontOutPrecision": 0,
            "nFontPitchAndFamily": 0,
            "lFontBold": false,
            "cFontBoldFormula": "",
            "lFontItalic": false,
            "cFontItalicFormula": "",
            "lFontUnderline": false,
            "cFontUnderlineFormula": "",
            "lFontStrikeout": false,
            "cFontStrikeoutFormula": "",
            "lTextWrap": true,
            "lAllowPageBreak": false,
            "nLineSpacing": 0,
            "nParagraphSpacing": 0,
            "lKeepEmptyParagraphs": true,
            "lTextAdjusted": false,
            "lTrimSpaces": false,
            "cTextFlowGroup": "",
            "nTextFlowOrder": 0,
            "nTextFlowLineHeight": 0,
            "cTextColor": "#000000",
            "cTextColorFormula": "",
            "nTextOpacity": 1,
            "cTextAlign": "left",
            "nTextDecimalPosition": -10,
            "cTextVerticalAlign": "top",
            "cLl12SourceType": "",
            "cLl12SourceJson": ""
          },
          {
            "cId": "obj_1786345463679_nqs2ph",
            "cName": "Texto 2",
            "cType": "TText",
            "nLeft": 40,
            "nTop": 10,
            "nWidth": 20,
            "nHeight": 8,
            "lVisible": true,
            "lLocked": false,
            "lSelected": true,
            "nLayerId": 0,
            "nZIndex": 1,
            "cBorderColor": "#000000",
            "cBorderColorFormula": "",
            "nBorderWidth": 0.1,
            "lBorderTop": false,
            "lBorderRight": false,
            "lBorderBottom": false,
            "lBorderLeft": false,
            "cBackgroundColor": "#ffffff",
            "cBackgroundColorFormula": "",
            "cFillStyle": "solid",
            "cFillColor2": "#ffffff",
            "cFillColor2Formula": "",
            "cFillColor3": "#ffffff",
            "cFillColor3Formula": "",
            "nFillOpacity": 1,
            "nRounded": 0,
            "nShadowSize": 0,
            "nShadowTransparency": 50,
            "cShadowColor": "#000000",
            "cShadowColorFormula": "",
            "nRotation": 0,
            "nOpacity": 1,
            "cCondition": "",
            "nPaddingTop": 0,
            "nPaddingRight": 0,
            "nPaddingBottom": 0,
            "nPaddingLeft": 0,
            "nLl12LinkID": 0,
            "nLl12LinkToID": 0,
            "nLl12LinkMode": 0,
            "nLl12GroupId": 0,
            "lLl12WrapBefore": false,
            "cTableId": "",
            "cTableSectionKey": "",
            "cText": "\"TEXTO 2\"",
            "cFontFamily": "Arial",
            "nFontSize": 12,
            "nFontOutPrecision": 0,
            "nFontPitchAndFamily": 0,
            "lFontBold": false,
            "cFontBoldFormula": "",
            "lFontItalic": false,
            "cFontItalicFormula": "",
            "lFontUnderline": false,
            "cFontUnderlineFormula": "",
            "lFontStrikeout": false,
            "cFontStrikeoutFormula": "",
            "lTextWrap": true,
            "lAllowPageBreak": false,
            "nLineSpacing": 0,
            "nParagraphSpacing": 0,
            "lKeepEmptyParagraphs": true,
            "lTextAdjusted": false,
            "lTrimSpaces": false,
            "cTextFlowGroup": "",
            "nTextFlowOrder": 0,
            "nTextFlowLineHeight": 0,
            "cTextColor": "#000000",
            "cTextColorFormula": "",
            "nTextOpacity": 1,
            "cTextAlign": "left",
            "nTextDecimalPosition": -10,
            "cTextVerticalAlign": "top",
            "cLl12SourceType": "",
            "cLl12SourceJson": ""
          },
          {
            "cId": "obj_1786345463679_7u6ol2",
            "cName": "Texto 3",
            "cType": "TText",
            "nLeft": 70,
            "nTop": 10,
            "nWidth": 20,
            "nHeight": 8,
            "lVisible": true,
            "lLocked": false,
            "lSelected": true,
            "nLayerId": 0,
            "nZIndex": 1,
            "cBorderColor": "#000000",
            "cBorderColorFormula": "",
            "nBorderWidth": 0.1,
            "lBorderTop": false,
            "lBorderRight": false,
            "lBorderBottom": false,
            "lBorderLeft": false,
            "cBackgroundColor": "#ffffff",
            "cBackgroundColorFormula": "",
            "cFillStyle": "solid",
            "cFillColor2": "#ffffff",
            "cFillColor2Formula": "",
            "cFillColor3": "#ffffff",
            "cFillColor3Formula": "",
            "nFillOpacity": 1,
            "nRounded": 0,
            "nShadowSize": 0,
            "nShadowTransparency": 50,
            "cShadowColor": "#000000",
            "cShadowColorFormula": "",
            "nRotation": 0,
            "nOpacity": 1,
            "cCondition": "",
            "nPaddingTop": 0,
            "nPaddingRight": 0,
            "nPaddingBottom": 0,
            "nPaddingLeft": 0,
            "nLl12LinkID": 0,
            "nLl12LinkToID": 0,
            "nLl12LinkMode": 0,
            "nLl12GroupId": 0,
            "lLl12WrapBefore": false,
            "cTableId": "",
            "cTableSectionKey": "",
            "cText": "\"TEXTO 3\"",
            "cFontFamily": "Arial",
            "nFontSize": 12,
            "nFontOutPrecision": 0,
            "nFontPitchAndFamily": 0,
            "lFontBold": false,
            "cFontBoldFormula": "",
            "lFontItalic": false,
            "cFontItalicFormula": "",
            "lFontUnderline": false,
            "cFontUnderlineFormula": "",
            "lFontStrikeout": false,
            "cFontStrikeoutFormula": "",
            "lTextWrap": true,
            "lAllowPageBreak": false,
            "nLineSpacing": 0,
            "nParagraphSpacing": 0,
            "lKeepEmptyParagraphs": true,
            "lTextAdjusted": false,
            "lTrimSpaces": false,
            "cTextFlowGroup": "",
            "nTextFlowOrder": 0,
            "nTextFlowLineHeight": 0,
            "cTextColor": "#000000",
            "cTextColorFormula": "",
            "nTextOpacity": 1,
            "cTextAlign": "left",
            "nTextDecimalPosition": -10,
            "cTextVerticalAlign": "top",
            "cLl12SourceType": "",
            "cLl12SourceJson": ""
          },
          {
            "cId": "obj_1786345463679_d2mx9p",
            "cName": "Rectángulo",
            "cType": "TRectangle",
            "nLeft": 10,
            "nTop": 30,
            "nWidth": 40,
            "nHeight": 20,
            "lVisible": true,
            "lLocked": false,
            "lSelected": false,
            "nLayerId": 0,
            "nZIndex": 1,
            "cBorderColor": "#000000",
            "cBorderColorFormula": "",
            "nBorderWidth": 0.1,
            "lBorderTop": true,
            "lBorderRight": true,
            "lBorderBottom": true,
            "lBorderLeft": true,
            "cBackgroundColor": "#000000",
            "cBackgroundColorFormula": "",
            "cFillStyle": "solid",
            "cFillColor2": "#ffffff",
            "cFillColor2Formula": "",
            "cFillColor3": "#ffffff",
            "cFillColor3Formula": "",
            "nFillOpacity": 1,
            "nRounded": 0,
            "nShadowSize": 0,
            "nShadowTransparency": 50,
            "cShadowColor": "#000000",
            "cShadowColorFormula": "",
            "nRotation": 0,
            "nOpacity": 1,
            "cCondition": "",
            "nPaddingTop": 0,
            "nPaddingRight": 0,
            "nPaddingBottom": 0,
            "nPaddingLeft": 0,
            "nLl12LinkID": 0,
            "nLl12LinkToID": 0,
            "nLl12LinkMode": 0,
            "nLl12GroupId": 0,
            "lLl12WrapBefore": false,
            "cTableId": "",
            "cTableSectionKey": ""
          }
        ]
      }
    },
    "response": {
      "lOk": true,
      "hInspection": {
        "cInstruction": "muévelos 10 mm a la derecha",
        "cProvider": "Ollama",
        "cModelSelection": "Ollama — GPT-OSS 20B",
        "cModel": "gpt-oss:20b",
        "cRepresentation": "COMMANDS",
        "cRawResponse": "{\"commands\":[{\"command\":\"move\",\"target\":\"selection\",\"dx\":10,\"dy\":0}]}",
        "cThinking": "Need move command.",
        "cOllamaRequest": "{\"model\":\"gpt-oss:20b\",\"messages\":[{\"role\":\"system\",\"content\":\"Interpreta la instrucciÃ³n y devuelve Ãºnicamente JSON vÃ¡lido con la forma {\\\"commands\\\":[{\\\"command\\\":\\\"setProperty\\\",\\\"target\\\":\\\"selection\\\",\\\"property\\\":\\\"propiedad_real\\\",\\\"value\\\":valor}]}. Cada comando DEBE usar la clave command (nunca type) y target. Comandos permitidos: setProperty, move, resize, delete, align, distribute, reorder, duplicate, tableMoveColumn, tableSetColumnWidth, tableInsertColumn, tableDeleteColumn, tableInsertLine, tableDeleteLine, tableMoveLine, tableSetLineHeight, tableSetLineBackground, tableSetLineBorderColor, tableSetLineBorderWidth, tableSetLinePadding, tableSetLineBorderRadius, tableSetLineBorderSide, tableSetLineVerticalSeparators, tableSetLineZebraEnabled, tableSetLineZebraColor, tableSetLineCondition, tableSetLineSuppressCondition, tableSetLineBackgroundColorFormula, tableSetLineBorderColorFormula. Prioridad: propiedad o estilo â†’ setProperty; desplazamiento relativo â†’ move; tamaÃ±o relativo â†’ resize; alineaciÃ³n de varios objetos â†’ align; eliminar objetos â†’ delete. Para eliminar usa exactamente {\\\"command\\\":\\\"delete\\\",\\\"target\\\":\\\"selection\\\"}. Si se pide duplicar, reducir o cambiar el tamaÃ±o, devuelve Ãºnicamente resize y no uses setProperty para propiedades numÃ©ricas. Para setProperty usa exactamente property y value, nunca name ni valores como *2. Para move usa {\\\"command\\\":\\\"move\\\",\\\"target\\\":\\\"selection\\\",\\\"dx\\\":10,\\\"dy\\\":0}; para resize usa {\\\"command\\\":\\\"resize\\\",\\\"target\\\":\\\"selection\\\",\\\"scaleX\\\":0.5,\\\"scaleY\\\":0.5}. Para alinear usa exactamente {\\\"command\\\":\\\"align\\\",\\\"target\\\":\\\"selection\\\",\\\"mode\\\":\\\"left\\\"}; modos vÃ¡lidos: left|right|top|bottom|horizontalCenter|verticalCenter. Si la orden se refiere a los objetos seleccionados, usa target:\\\"selection\\\". No enumeres IDs ni calcules coordenadas o dimensiones finales. El contexto distingue SELECCION_ACTUAL_SCOPE=selection y RESTO_DEL_DOCUMENTO_SCOPE=global. Usa target:\\\"selection\\\" para referencias a la selecciÃ³n actual. Para instrucciones globales como todos, cada o todo el documento, usa la forma ya soportada target:{\\\"ids\\\":[...]} con los cId existentes de la selecciÃ³n y del resto del documento que correspondan; no inventes IDs y no uses target:\\\"selection\\\" para una orden global. Para distribuir usa exactamente {\\\"command\\\":\\\"distribute\\\",\\\"target\\\":\\\"selection\\\",\\\"mode\\\":\\\"horizontal\\\"}; modos vÃƒÂ¡lidos: horizontal|vertical. Para reordenar usa exactamente {\\\"command\\\":\\\"reorder\\\",\\\"target\\\":\\\"selection\\\",\\\"mode\\\":\\\"bringToFront\\\"}; modos vÃƒÂ¡lidos: bringToFront=traer al frente, sendToBack=enviar al fondo, bringForward=subir un nivel, sendBackward=bajar un nivel. Para duplicar usa exactamente {\\\"command\\\":\\\"duplicate\\\",\\\"target\\\":\\\"selection\\\"}. Para tablas usa Ãºnicamente estas formas: {\\\"command\\\":\\\"tableMoveColumn\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"header\\\",\\\"lineIndex\\\":0,\\\"fromIndex\\\":2,\\\"toIndex\\\":0}, {\\\"command\\\":\\\"tableSetColumnWidth\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"header\\\",\\\"lineIndex\\\":0,\\\"columnIndex\\\":0,\\\"width\\\":30}, {\\\"command\\\":\\\"tableInsertColumn\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"columnIndex\\\":2}, {\\\"command\\\":\\\"tableDeleteColumn\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"columnIndex\\\":2}, {\\\"command\\\":\\\"tableInsertLine\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":1}, {\\\"command\\\":\\\"tableDeleteLine\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":1}, {\\\"command\\\":\\\"tableMoveLine\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"fromIndex\\\":1,\\\"toIndex\\\":0}, {\\\"command\\\":\\\"tableSetLineHeight\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"height\\\":12}, {\\\"command\\\":\\\"tableSetLineBackground\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"color\\\":\\\"#d3d3d3\\\"}; section: header|groupHeader|detail|groupFooter|footer. Los Ã­ndices son enteros cero-basados y no negativos. tableSetLineHeight usa altura fija en milÃ­metros >=1. tableSetLineBackground usa Ãºnicamente color HEX fijo; no usa fÃ³rmulas ni paths privados. Insertar columna usa columnIndex como posiciÃ³n antes de la columna existente; si coincide con el nÃºmero actual de columnas, aÃ±ade al final. Insertar lÃ­nea usa lineIndex como posiciÃ³n antes de la lÃ­nea existente; si coincide con el nÃºmero actual de lÃ­neas, aÃ±ade al final. No uses hSections, aLines ni aCells. SemÃ¡ntica de lÃ­neas OBLIGATORIA: si una secciÃ³n tiene una sola lÃ­nea, basta mencionar la secciÃ³n y usa lineIndex 0. Si tiene varias lÃ­neas, una operaciÃ³n estructural debe indicar la lÃ­nea; si no la indica y no dice todas, devuelve EXACTAMENTE {\\\"commands\\\":[]}. Solo si dice todas las lÃ­neas genera una operaciÃ³n por cada lÃ­nea existente. Esta regla no afecta a objetos visuales de celda, que siguen usando commands normales. Para cambiar altura o fondo fijo de una lÃ­nea de TTable usa obligatoriamente tableSetLineHeight o tableSetLineBackground con section y lineIndex; no uses setProperty para esas operaciones. Shapes adicionales de lÃ­nea: {\\\"command\\\":\\\"tableSetLineBorderColor\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"color\\\":\\\"#0000ff\\\"}, {\\\"command\\\":\\\"tableSetLineBorderWidth\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"width\\\":1}, {\\\"command\\\":\\\"tableSetLinePadding\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"side\\\":\\\"nTop\\\",\\\"value\\\":2}, {\\\"command\\\":\\\"tableSetLineBorderRadius\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"radius\\\":2}, {\\\"command\\\":\\\"tableSetLineBorderSide\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"side\\\":\\\"top\\\",\\\"visible\\\":true}, {\\\"command\\\":\\\"tableSetLineVerticalSeparators\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"visible\\\":true}, {\\\"command\\\":\\\"tableSetLineCondition\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"formula\\\":\\\"DETAIL.cantidad > 0\\\"}, {\\\"command\\\":\\\"tableSetLineSuppressCondition\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"formula\\\":\\\"DETAIL.importe == 0\\\"}, {\\\"command\\\":\\\"tableSetLineBackgroundColorFormula\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"formula\\\":\\\"IF(...)\\\"}, {\\\"command\\\":\\\"tableSetLineBorderColorFormula\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"formula\\\":\\\"IF(...)\\\"}. Las cuatro primitivas de fórmula reciben formula como string literal y aceptan string vacío para borrar; no evalúes ni cambies la sintaxis. Usa la primitiva específica según sea condición, supresión o fórmula de color; no uses paths hBorder, hBackground ni setProperty. Si la instrucciÃ³n menciona una lÃ­nea, cabecera, detalle o pie, el color de borde de esa lÃ­nea usa tableSetLineBorderColor y nunca setProperty. Zebra solo existe en lÃ­neas detail. Shapes exactas: {\\\"command\\\":\\\"tableSetLineZebraEnabled\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"enabled\\\":true} y {\\\"command\\\":\\\"tableSetLineZebraColor\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"role\\\":\\\"odd\\\",\\\"color\\\":\\\"#d3d3d3\\\"}. Usa enabled booleano para activar o desactivar y role odd/even para filas impares/pares. No uses hZebraPattern ni paths privados. TambiÃƒÂ©n se permite create: {\\\"command\\\":\\\"create\\\",\\\"type\\\":\\\"TText\\\",\\\"properties\\\":{\\\"cText\\\":\\\"\\\\\\\\\\\"texto\\\\\\\\\\\"\\\"}}. En create describe ÃƒÂºnicamente lo solicitado: incluye solo el tipo, contenido, posiciÃƒÂ³n y propiedades que la instrucciÃƒÂ³n pida explÃƒÂ­citamente; el diseÃƒÂ±ador completa los defaults reales. Tipos reales: TText,TRectangle,TEllipse,TImage,TLine,TBarcode,richText,TFormattedText. Properties solo editables, nunca cId, defaults, estructura interna ni geometrÃƒÂ­a. position usa {\\\"x\\\":20,\\\"y\\\":30}. Una ref es temporal dentro de esta respuesta: el create declara ref:\\\"new1\\\" y un comando posterior apunta al mismo objeto con target:{\\\"ref\\\":\\\"new1\\\"}. Ejemplo: {\\\"commands\\\":[{\\\"command\\\":\\\"create\\\",\\\"ref\\\":\\\"new1\\\",\\\"type\\\":\\\"TText\\\",\\\"properties\\\":{\\\"cText\\\":\\\"\\\\\\\\\\\"TOTAL\\\\\\\\\\\"\\\"}},{\\\"command\\\":\\\"resize\\\",\\\"target\\\":{\\\"ref\\\":\\\"new1\\\"},\\\"scaleX\\\":2,\\\"scaleY\\\":2}]}. TIPOS:TBarcode=Código de barras,TEllipse=Elipse,TFormattedText=Texto formateado,TImage=Imagen,TLine=Línea,TRectangle=Rectángulo,TText=Texto,richText=Texto enriquecido. PROPS_TBarcode:cBackgroundColor:string=Código de barras / Color de fondo,cBarcodeType:string=Código de barras / Tipo,cBorderColor:string=Código de barras / Color,cColor:string=Código de barras / Color,cCondition:string=Código de barras / Condición de aparición,cContent:string=Código de barras / Contenido,cFillColor2:string=Código de barras / Color final,cFillColor3:string=Código de barras / Color intermedio,cFillStyle:string=Código de barras / Tipo de relleno,cFontFamily:string=Código de barras / Fuente,cShadowColor:string=Código de barras / Color,lFontBold:boolean=Código de barras / Negrita,lFontItalic:boolean=Código de barras / Cursiva,lFontStrikeout:boolean=Código de barras / Tachado,lFontUnderline:boolean=Código de barras / Subrayado,lLocked:boolean=Código de barras / Bloqueado,lShowText:boolean=Código de barras / Mostrar texto,lTrimSpaces:boolean=Código de barras / Recortar espacios exteriores,lVisible:boolean=Código de barras / Visible,nBorderWidth:number=Código de barras / Grosor,nFillOpacity:number=Código de barras / Opacidad del relleno,nFontSize:number=Código de barras / Tamaño,nLayerId:number=Código de barras / Capa,nOpacity:number=Código de barras / Opacidad,nRotation:number=Código de barras / Rotación,nRounded:number=Código de barras / Redondeo,nShadowSize:number=Código de barras / Grosor,nShadowTransparency:number=Código de barras / Transparencia. PROPS_TEllipse:cBackgroundColor:string=Elipse / Color de fondo,cBorderColor:string=Elipse / Color,cCondition:string=Elipse / Condición de aparición,cFillColor2:string=Elipse / Color final,cFillColor3:string=Elipse / Color intermedio,cFillStyle:string=Elipse / Tipo de relleno,cShadowColor:string=Elipse / Color,lLocked:boolean=Elipse / Bloqueado,lVisible:boolean=Elipse / Visible,nBorderWidth:number=Elipse / Grosor,nFillOpacity:number=Elipse / Opacidad del relleno,nLayerId:number=Elipse / Capa,nOpacity:number=Elipse / Opacidad,nRotation:number=Elipse / Rotación,nRounded:number=Elipse / Redondeo,nShadowSize:number=Elipse / Grosor,nShadowTransparency:number=Elipse / Transparencia. PROPS_TFormattedText:cBackgroundColor:string=Texto formateado / Color de fondo,cBorderColor:string=Texto formateado / Color,cCondition:string=Texto formateado / Condición de aparición,cFillColor2:string=Texto formateado / Color final,cFillColor3:string=Texto formateado / Color intermedio,cFillStyle:string=Texto formateado / Tipo de relleno,cFontFamily:string=Texto formateado / Fuente,cShadowColor:string=Texto formateado / Color,cText:string=Texto formateado / Contenido,cTextAlign:string=Texto formateado / Alineación,cTextColor:string=Texto formateado / Color,cTextVerticalAlign:string=Texto formateado / Alineación vertical,lAllowPageBreak:boolean=Texto formateado / Continuar entre páginas,lFontBold:boolean=Texto formateado / Negrita,lFontItalic:boolean=Texto formateado / Cursiva,lFontStrikeout:boolean=Texto formateado / Tachado,lFontUnderline:boolean=Texto formateado / Subrayado,lKeepEmptyParagraphs:boolean=Texto formateado / Conservar párrafos vacíos,lLocked:boolean=Texto formateado / Bloqueado,lTextAdjusted:boolean=Texto formateado / Justificación forzada,lTextWrap:boolean=Texto formateado / Partir si no cabe,lTrimSpaces:boolean=Texto formateado / Recortar espacios exteriores,lVisible:boolean=Texto formateado / Visible,nBorderWidth:number=Texto formateado / Grosor,nFillOpacity:number=Texto formateado / Opacidad del relleno,nFontSize:number=Texto formateado / Tamaño,nLayerId:number=Texto formateado / Capa,nLineSpacing:number=Texto formateado / Interlineado adicional,nOpacity:number=Texto formateado / Opacidad,nParagraphSpacing:number=Texto formateado / Espacio entre párrafos,nRotation:number=Texto formateado / Rotación,nRounded:number=Texto formateado / Redondeo,nShadowSize:number=Texto formateado / Grosor,nShadowTransparency:number=Texto formateado / Transparencia,nTextDecimalPosition:number=Texto formateado / Posición decimal,nTextOpacity:number=Texto formateado / Opacidad texto. PROPS_TImage:cBackgroundColor:string=Imagen / Color de fondo,cBorderColor:string=Imagen / Color,cCondition:string=Imagen / Condición de aparición,cFillColor2:string=Imagen / Color final,cFillColor3:string=Imagen / Color intermedio,cFillStyle:string=Imagen / Tipo de relleno,cFit:string=Imagen / Ajuste,cShadowColor:string=Imagen / Color,cSource:string=Imagen / Origen / contenido,cSourceType:string=Imagen / Tipo de origen,lKeepRatio:boolean=Imagen / Mantener proporción,lLocked:boolean=Imagen / Bloqueado,lVisible:boolean=Imagen / Visible,nBorderWidth:number=Imagen / Grosor,nFillOpacity:number=Imagen / Opacidad del relleno,nLayerId:number=Imagen / Capa,nOpacity:number=Imagen / Opacidad,nRotation:number=Imagen / Rotación,nRounded:number=Imagen / Redondeo,nShadowSize:number=Imagen / Grosor,nShadowTransparency:number=Imagen / Transparencia. PROPS_TLine:cBorderColor:string=Línea / Color,cCondition:string=Línea / Condición de aparición,cFillColor2:string=Línea / Color final,cFillColor3:string=Línea / Color intermedio,cFillStyle:string=Línea / Tipo de relleno,cLineStyle:string=Línea / Estilo,cOrientation:string=Línea / Orientación,cShadowColor:string=Línea / Color,lLocked:boolean=Línea / Bloqueado,lVisible:boolean=Línea / Visible,nBorderWidth:number=Línea / Grosor,nFillOpacity:number=Línea / Opacidad del relleno,nLayerId:number=Línea / Capa,nOpacity:number=Línea / Opacidad,nRotation:number=Línea / Rotación,nShadowSize:number=Línea / Grosor,nShadowTransparency:number=Línea / Transparencia. PROPS_TRectangle:cBackgroundColor:string=Rectángulo / Color de fondo,cBorderColor:string=Rectángulo / Color,cCondition:string=Rectángulo / Condición de aparición,cFillColor2:string=Rectángulo / Color final,cFillColor3:string=Rectángulo / Color intermedio,cFillStyle:string=Rectángulo / Tipo de relleno,cShadowColor:string=Rectángulo / Color,lLocked:boolean=Rectángulo / Bloqueado,lVisible:boolean=Rectángulo / Visible,nBorderWidth:number=Rectángulo / Grosor,nFillOpacity:number=Rectángulo / Opacidad del relleno,nLayerId:number=Rectángulo / Capa,nOpacity:number=Rectángulo / Opacidad,nRotation:number=Rectángulo / Rotación,nRounded:number=Rectángulo / Redondeo,nShadowSize:number=Rectángulo / Grosor,nShadowTransparency:number=Rectángulo / Transparencia. PROPS_TText:cBackgroundColor:string=Texto / Color de fondo,cBorderColor:string=Texto / Color,cCondition:string=Texto / Condición de aparición,cFillColor2:string=Texto / Color final,cFillColor3:string=Texto / Color intermedio,cFillStyle:string=Texto / Tipo de relleno,cFontFamily:string=Texto / Fuente,cShadowColor:string=Texto / Color,cText:string=Texto / Contenido,cTextAlign:string=Texto / Alineación,cTextColor:string=Texto / Color,cTextVerticalAlign:string=Texto / Alineación vertical,lAllowPageBreak:boolean=Texto / Continuar entre páginas,lFontBold:boolean=Texto / Negrita,lFontItalic:boolean=Texto / Cursiva,lFontStrikeout:boolean=Texto / Tachado,lFontUnderline:boolean=Texto / Subrayado,lKeepEmptyParagraphs:boolean=Texto / Conservar párrafos vacíos,lLocked:boolean=Texto / Bloqueado,lTextAdjusted:boolean=Texto / Justificación forzada,lTextWrap:boolean=Texto / Partir si no cabe,lTrimSpaces:boolean=Texto / Recortar espacios exteriores,lVisible:boolean=Texto / Visible,nBorderWidth:number=Texto / Grosor,nFillOpacity:number=Texto / Opacidad del relleno,nFontSize:number=Texto / Tamaño,nLayerId:number=Texto / Capa,nLineSpacing:number=Texto / Interlineado adicional,nOpacity:number=Texto / Opacidad,nParagraphSpacing:number=Texto / Espacio entre párrafos,nRotation:number=Texto / Rotación,nRounded:number=Texto / Redondeo,nShadowSize:number=Texto / Grosor,nShadowTransparency:number=Texto / Transparencia,nTextDecimalPosition:number=Texto / Posición decimal,nTextOpacity:number=Texto / Opacidad texto. PROPS_richText:cBackgroundColor:string=Texto enriquecido / Color de fondo,cBorderColor:string=Texto enriquecido / Color,cCondition:string=Texto enriquecido / Condición de aparición,cContent:string=Texto enriquecido / Contenido,cFillColor2:string=Texto enriquecido / Color final,cFillColor3:string=Texto enriquecido / Color intermedio,cFillStyle:string=Texto enriquecido / Tipo de relleno,cOverflow:string=Texto enriquecido / Desbordamiento,cShadowColor:string=Texto enriquecido / Color,cVerticalAlign:string=Texto enriquecido / Alineación vertical,lLocked:boolean=Texto enriquecido / Bloqueado,lVisible:boolean=Texto enriquecido / Visible,nBorderWidth:number=Texto enriquecido / Grosor,nFillOpacity:number=Texto enriquecido / Opacidad del relleno,nLayerId:number=Texto enriquecido / Capa,nOpacity:number=Texto enriquecido / Opacidad,nRotation:number=Texto enriquecido / Rotación,nRounded:number=Texto enriquecido / Redondeo,nShadowSize:number=Texto enriquecido / Grosor,nShadowTransparency:number=Texto enriquecido / Transparencia.\"},{\"role\":\"user\",\"content\":\"SELECCION_ACTUAL_SCOPE=selection:\\n[{\\\"cId\\\":\\\"obj_1786345463679_h15ltp\\\",\\\"cType\\\":\\\"TText\\\",\\\"cName\\\":\\\"Texto 1\\\"},{\\\"cId\\\":\\\"obj_1786345463679_nqs2ph\\\",\\\"cType\\\":\\\"TText\\\",\\\"cName\\\":\\\"Texto 2\\\"},{\\\"cId\\\":\\\"obj_1786345463679_7u6ol2\\\",\\\"cType\\\":\\\"TText\\\",\\\"cName\\\":\\\"Texto 3\\\"}]\\nRESTO_DEL_DOCUMENTO_SCOPE=global:\\n[{\\\"cId\\\":\\\"obj_1786345463679_d2mx9p\\\",\\\"cType\\\":\\\"TRectangle\\\",\\\"cName\\\":\\\"Rectángulo\\\"}]\\nSELECCIÃ“N REAL:\\n[{\\\"cId\\\":\\\"obj_1786345463679_h15ltp\\\",\\\"cType\\\":\\\"TText\\\",\\\"cName\\\":\\\"Texto 1\\\"},{\\\"cId\\\":\\\"obj_1786345463679_nqs2ph\\\",\\\"cType\\\":\\\"TText\\\",\\\"cName\\\":\\\"Texto 2\\\"},{\\\"cId\\\":\\\"obj_1786345463679_7u6ol2\\\",\\\"cType\\\":\\\"TText\\\",\\\"cName\\\":\\\"Texto 3\\\"}]\\nPROPIEDADES COMUNES EDITABLES: cBackgroundColor:string=Texto formateado / Color de fondo,cBorderColor:string=Texto formateado / Color,cCondition:string=Texto formateado / Condición de aparición,cFillColor2:string=Texto formateado / Color final,cFillColor3:string=Texto formateado / Color intermedio,cFillStyle:string=Texto formateado / Tipo de relleno,cFontFamily:string=Texto formateado / Fuente,cShadowColor:string=Texto formateado / Color,cText:string=Texto formateado / Contenido,cTextAlign:string=Texto formateado / Alineación,cTextColor:string=Texto formateado / Color,cTextVerticalAlign:string=Texto formateado / Alineación vertical,lAllowPageBreak:boolean=Texto formateado / Continuar entre páginas,lBorderBottom:boolean,lBorderLeft:boolean,lBorderRight:boolean,lBorderTop:boolean,lFontBold:boolean=Texto formateado / Negrita,lFontItalic:boolean=Texto formateado / Cursiva,lFontStrikeout:boolean=Texto formateado / Tachado,lFontUnderline:boolean=Texto formateado / Subrayado,lKeepEmptyParagraphs:boolean=Texto formateado / Conservar párrafos vacíos,lLocked:boolean=Texto formateado / Bloqueado,lTextAdjusted:boolean=Texto formateado / Justificación forzada,lTextWrap:boolean=Texto formateado / Partir si no cabe,lTrimSpaces:boolean=Texto formateado / Recortar espacios exteriores,lVisible:boolean=Texto formateado / Visible,nBorderWidth:number=Texto formateado / Grosor,nFillOpacity:number=Texto formateado / Opacidad del relleno,nFontSize:number=Texto formateado / Tamaño,nLayerId:number=Texto formateado / Capa,nLineSpacing:number=Texto formateado / Interlineado adicional,nOpacity:number=Texto formateado / Opacidad,nPaddingBottom:number,nPaddingLeft:number,nPaddingRight:number,nPaddingTop:number,nParagraphSpacing:number=Texto formateado / Espacio entre párrafos,nRotation:number=Texto formateado / Rotación,nRounded:number=Texto formateado / Redondeo,nShadowSize:number=Texto formateado / Grosor,nShadowTransparency:number=Texto formateado / Transparencia,nTextDecimalPosition:number=Texto formateado / Posición decimal,nTextOpacity:number=Texto formateado / Opacidad texto,nZIndex:number\\nCOLORES CANÃ“NICOS: rojo:#ff0000 Â· verde:#008000 Â· verde oscuro:#006400 Â· azul:#0000ff Â· azul oscuro:#00008b Â· amarillo:#ffff00 Â· gris claro:#d3d3d3\\n\\nINSTRUCCIÃ“N:\\nmuévelos 10 mm a la derecha\"}],\"stream\":false,\"format\":\"json\",\"keep_alive\":-1,\"options\":{\"temperature\":0,\"top_p\":1,\"top_k\":0,\"repeat_penalty\":1.1,\"frequency_penalty\":0,\"presence_penalty\":0,\"num_ctx\":65536,\"num_batch\":4096,\"num_thread\":10,\"num_gpu\":99,\"num_predict\":4096},\"think\":\"low\"}",
        "cHttpBody": "{\"model\":\"gpt-oss:20b\",\"created_at\":\"2026-08-10T07:04:26.097602Z\",\"message\":{\"role\":\"assistant\",\"content\":\"{\\\"commands\\\":[{\\\"command\\\":\\\"move\\\",\\\"target\\\":\\\"selection\\\",\\\"dx\\\":10,\\\"dy\\\":0}]}\",\"thinking\":\"Need move command.\"},\"done\":true,\"done_reason\":\"stop\",\"total_duration\":973177800,\"load_duration\":197881900,\"prompt_eval_count\":5038,\"prompt_eval_duration\":14904000,\"eval_count\":22,\"eval_duration\":276590000}",
        "hMetrics": {
          "total_duration": 973177800,
          "load_duration": 197881900,
          "prompt_eval_count": 5038,
          "prompt_eval_duration": 14904000,
          "eval_count": 22,
          "eval_duration": 276590000,
          "unattributed_duration": 483801900
        },
        "hCommands": {
          "commands": [
            {
              "command": "move",
              "target": "selection",
              "dx": 10,
              "dy": 0
            }
          ]
        },
        "lValid": true,
        "nCreates": 0,
        "nChanges": 0,
        "nDeletes": 0,
        "nStructures": 0,
        "nGeneratedIds": 0,
        "nOperations": 1,
        "nFinalOperations": 1,
        "cValidation": "Shape commands vÃ¡lida; validaciÃ³n de ejecuciÃ³n pendiente",
        "nResponseMilliseconds": 985.602,
        "tRequestStartedAt": "2026-08-10T09:04:25.113590+02:00",
        "tResponseFinishedAt": "2026-08-10T09:04:26.099209+02:00",
        "hPromptDiagnostics": {
          "nSystemCharacters": 16569,
          "nUserCharacters": 2882,
          "nPromptCharacters": 19452,
          "nPromptTokensAfterEstimated": 4863,
          "nContextTokens": 65536,
          "lPromptFitsContext": true
        }
      }
    },
    "state": {
      "selected": [
        "obj_1786345463679_h15ltp",
        "obj_1786345463679_nqs2ph",
        "obj_1786345463679_7u6ol2"
      ],
      "objects": [
        {
          "cId": "obj_1786345463679_h15ltp",
          "cType": "TText",
          "nLeft": 20,
          "nTop": 10,
          "nWidth": 20,
          "nHeight": 8,
          "cTextColor": "#000000"
        },
        {
          "cId": "obj_1786345463679_nqs2ph",
          "cType": "TText",
          "nLeft": 50,
          "nTop": 10,
          "nWidth": 20,
          "nHeight": 8,
          "cTextColor": "#000000"
        },
        {
          "cId": "obj_1786345463679_7u6ol2",
          "cType": "TText",
          "nLeft": 80,
          "nTop": 10,
          "nWidth": 20,
          "nHeight": 8,
          "cTextColor": "#000000"
        },
        {
          "cId": "obj_1786345463679_d2mx9p",
          "cType": "TRectangle",
          "nLeft": 10,
          "nTop": 30,
          "nWidth": 40,
          "nHeight": 20
        }
      ]
    }
  },
  {
    "id": "A3",
    "instruction": "alínealos arriba y distribúyelos horizontalmente",
    "fixture": {
      "selected": [
        "obj_1786345466292_l2ymna",
        "obj_1786345466292_mlgie0",
        "obj_1786345466292_vi9ncv"
      ],
      "all": [
        "obj_1786345466292_l2ymna",
        "obj_1786345466292_mlgie0",
        "obj_1786345466292_vi9ncv",
        "obj_1786345466292_a4x59a"
      ]
    },
    "payload": {
      "cAction": "commandsExperimental",
      "cModelKey": "gpt-oss-20b",
      "cInstruction": "alínealos arriba y distribúyelos horizontalmente",
      "aSelectedObjects": [
        {
          "cId": "obj_1786345466292_l2ymna",
          "cType": "TText",
          "cName": "Texto 1"
        },
        {
          "cId": "obj_1786345466292_mlgie0",
          "cType": "TText",
          "cName": "Texto 2"
        },
        {
          "cId": "obj_1786345466292_vi9ncv",
          "cType": "TText",
          "cName": "Texto 3"
        }
      ],
      "aPropertyMetadata": [
        {
          "property": "cText",
          "label": "Contenido",
          "group": "Texto",
          "editor": "text"
        },
        {
          "property": "cFontFamily",
          "label": "Fuente",
          "group": "Texto",
          "editor": "select"
        },
        {
          "property": "nFontSize",
          "label": "Tamaño",
          "group": "Texto",
          "editor": "number"
        },
        {
          "property": "lFontBold",
          "label": "Negrita",
          "group": "Texto",
          "editor": "checkbox"
        },
        {
          "property": "lFontItalic",
          "label": "Cursiva",
          "group": "Texto",
          "editor": "checkbox"
        },
        {
          "property": "lFontUnderline",
          "label": "Subrayado",
          "group": "Texto",
          "editor": "checkbox"
        },
        {
          "property": "lFontStrikeout",
          "label": "Tachado",
          "group": "Texto",
          "editor": "checkbox"
        },
        {
          "property": "lTextWrap",
          "label": "Partir si no cabe",
          "group": "Texto",
          "editor": "checkbox"
        },
        {
          "property": "lAllowPageBreak",
          "label": "Continuar entre páginas",
          "group": "Texto",
          "editor": "checkbox"
        },
        {
          "property": "nLineSpacing",
          "label": "Interlineado adicional",
          "group": "Texto",
          "editor": "number"
        },
        {
          "property": "nParagraphSpacing",
          "label": "Espacio entre párrafos",
          "group": "Texto",
          "editor": "number"
        },
        {
          "property": "lKeepEmptyParagraphs",
          "label": "Conservar párrafos vacíos",
          "group": "Texto",
          "editor": "checkbox"
        },
        {
          "property": "lTextAdjusted",
          "label": "Justificación forzada",
          "group": "Texto",
          "editor": "checkbox"
        },
        {
          "property": "lTrimSpaces",
          "label": "Recortar espacios exteriores",
          "group": "Texto",
          "editor": "checkbox"
        },
        {
          "property": "cTextColor",
          "label": "Color",
          "group": "Texto",
          "editor": "color"
        },
        {
          "property": "nTextOpacity",
          "label": "Opacidad texto",
          "group": "Texto",
          "editor": "number"
        },
        {
          "property": "cTextAlign",
          "label": "Alineación",
          "group": "Texto",
          "editor": "select"
        },
        {
          "property": "nTextDecimalPosition",
          "label": "Posición decimal",
          "group": "Texto",
          "editor": "number"
        },
        {
          "property": "cTextVerticalAlign",
          "label": "Alineación vertical",
          "group": "Texto",
          "editor": "select"
        },
        {
          "property": "cName",
          "label": "Nombre",
          "group": "Texto",
          "editor": "text"
        },
        {
          "property": "cType",
          "label": "Tipo de objeto",
          "group": "Texto",
          "editor": "text"
        },
        {
          "property": "nLayerId",
          "label": "Capa",
          "group": "Ejecución",
          "editor": "select"
        },
        {
          "property": "cCondition",
          "label": "Condición de aparición",
          "group": "Ejecución",
          "editor": "text"
        },
        {
          "property": "lVisible",
          "label": "Visible",
          "group": "Ejecución",
          "editor": "checkbox"
        },
        {
          "property": "lLocked",
          "label": "Bloqueado",
          "group": "Ejecución",
          "editor": "checkbox"
        },
        {
          "property": "nLeft",
          "label": "Izquierda",
          "group": "Dimensiones y Color",
          "editor": "number"
        },
        {
          "property": "nTop",
          "label": "Superior",
          "group": "Dimensiones y Color",
          "editor": "number"
        },
        {
          "property": "nRight",
          "label": "Derecha",
          "group": "Dimensiones y Color",
          "editor": "number"
        },
        {
          "property": "nBottom",
          "label": "Inferior",
          "group": "Dimensiones y Color",
          "editor": "number"
        },
        {
          "property": "nWidth",
          "label": "Ancho",
          "group": "Dimensiones y Color",
          "editor": "number"
        },
        {
          "property": "nHeight",
          "label": "Alto",
          "group": "Dimensiones y Color",
          "editor": "number"
        },
        {
          "property": "cBackgroundColor",
          "label": "Color de fondo",
          "group": "Dimensiones y Color",
          "editor": "color"
        },
        {
          "property": "cFillStyle",
          "label": "Tipo de relleno",
          "group": "Dimensiones y Color",
          "editor": "select"
        },
        {
          "property": "cFillColor2",
          "label": "Color final",
          "group": "Dimensiones y Color",
          "editor": "color"
        },
        {
          "property": "cFillColor3",
          "label": "Color intermedio",
          "group": "Dimensiones y Color",
          "editor": "color"
        },
        {
          "property": "nFillOpacity",
          "label": "Opacidad del relleno",
          "group": "Dimensiones y Color",
          "editor": "number"
        },
        {
          "property": "nRotation",
          "label": "Rotación",
          "group": "Transformación",
          "editor": "number"
        },
        {
          "property": "nOpacity",
          "label": "Opacidad",
          "group": "Transformación",
          "editor": "number"
        },
        {
          "property": "cBorderColor",
          "label": "Color",
          "group": "Borde",
          "editor": "color"
        },
        {
          "property": "nBorderWidth",
          "label": "Grosor",
          "group": "Borde",
          "editor": "number"
        },
        {
          "property": "borderVisibility",
          "label": "Visibilidad",
          "group": "Borde",
          "editor": "border-visibility"
        },
        {
          "property": "nRounded",
          "label": "Redondeo",
          "group": "Borde",
          "editor": "number"
        },
        {
          "property": "nShadowSize",
          "label": "Grosor",
          "group": "Sombra",
          "editor": "number"
        },
        {
          "property": "nShadowTransparency",
          "label": "Transparencia",
          "group": "Sombra",
          "editor": "number"
        },
        {
          "property": "cShadowColor",
          "label": "Color",
          "group": "Sombra",
          "editor": "color"
        },
        {
          "property": "cText",
          "label": "Contenido",
          "group": "Texto",
          "editor": "text",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "cFontFamily",
          "label": "Fuente",
          "group": "Texto",
          "editor": "select",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nFontSize",
          "label": "Tamaño",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "lFontBold",
          "label": "Negrita",
          "group": "Texto",
          "editor": "checkbox",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "lFontItalic",
          "label": "Cursiva",
          "group": "Texto",
          "editor": "checkbox",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "lFontUnderline",
          "label": "Subrayado",
          "group": "Texto",
          "editor": "checkbox",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "lFontStrikeout",
          "label": "Tachado",
          "group": "Texto",
          "editor": "checkbox",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "lTextWrap",
          "label": "Partir si no cabe",
          "group": "Texto",
          "editor": "checkbox",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "lAllowPageBreak",
          "label": "Continuar entre páginas",
          "group": "Texto",
          "editor": "checkbox",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nLineSpacing",
          "label": "Interlineado adicional",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nParagraphSpacing",
          "label": "Espacio entre párrafos",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "lKeepEmptyParagraphs",
          "label": "Conservar párrafos vacíos",
          "group": "Texto",
          "editor": "checkbox",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "lTextAdjusted",
          "label": "Justificación forzada",
          "group": "Texto",
          "editor": "checkbox",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "lTrimSpaces",
          "label": "Recortar espacios exteriores",
          "group": "Texto",
          "editor": "checkbox",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "cTextColor",
          "label": "Color",
          "group": "Texto",
          "editor": "color",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nTextOpacity",
          "label": "Opacidad texto",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "cTextAlign",
          "label": "Alineación",
          "group": "Texto",
          "editor": "select",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nTextDecimalPosition",
          "label": "Posición decimal",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "cTextVerticalAlign",
          "label": "Alineación vertical",
          "group": "Texto",
          "editor": "select",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "cName",
          "label": "Nombre",
          "group": "Texto",
          "editor": "text",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "cType",
          "label": "Tipo de objeto",
          "group": "Texto",
          "editor": "text",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nLayerId",
          "label": "Capa",
          "group": "Texto",
          "editor": "select",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "cCondition",
          "label": "Condición de aparición",
          "group": "Texto",
          "editor": "text",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "lVisible",
          "label": "Visible",
          "group": "Texto",
          "editor": "checkbox",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "lLocked",
          "label": "Bloqueado",
          "group": "Texto",
          "editor": "checkbox",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nLeft",
          "label": "Izquierda",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nTop",
          "label": "Superior",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nRight",
          "label": "Derecha",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nBottom",
          "label": "Inferior",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nWidth",
          "label": "Ancho",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nHeight",
          "label": "Alto",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "cBackgroundColor",
          "label": "Color de fondo",
          "group": "Texto",
          "editor": "color",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "cFillStyle",
          "label": "Tipo de relleno",
          "group": "Texto",
          "editor": "select",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "cFillColor2",
          "label": "Color final",
          "group": "Texto",
          "editor": "color",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "cFillColor3",
          "label": "Color intermedio",
          "group": "Texto",
          "editor": "color",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nFillOpacity",
          "label": "Opacidad del relleno",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nRotation",
          "label": "Rotación",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nOpacity",
          "label": "Opacidad",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "cBorderColor",
          "label": "Color",
          "group": "Texto",
          "editor": "color",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nBorderWidth",
          "label": "Grosor",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "borderVisibility",
          "label": "Visibilidad",
          "group": "Texto",
          "editor": "border-visibility",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nRounded",
          "label": "Redondeo",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nShadowSize",
          "label": "Grosor",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nShadowTransparency",
          "label": "Transparencia",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "cShadowColor",
          "label": "Color",
          "group": "Texto",
          "editor": "color",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "cName",
          "label": "Nombre",
          "group": "Rectángulo",
          "editor": "text",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "cType",
          "label": "Tipo de objeto",
          "group": "Rectángulo",
          "editor": "text",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "nLayerId",
          "label": "Capa",
          "group": "Rectángulo",
          "editor": "select",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "cCondition",
          "label": "Condición de aparición",
          "group": "Rectángulo",
          "editor": "text",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "lVisible",
          "label": "Visible",
          "group": "Rectángulo",
          "editor": "checkbox",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "lLocked",
          "label": "Bloqueado",
          "group": "Rectángulo",
          "editor": "checkbox",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "nLeft",
          "label": "Izquierda",
          "group": "Rectángulo",
          "editor": "number",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "nTop",
          "label": "Superior",
          "group": "Rectángulo",
          "editor": "number",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "nRight",
          "label": "Derecha",
          "group": "Rectángulo",
          "editor": "number",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "nBottom",
          "label": "Inferior",
          "group": "Rectángulo",
          "editor": "number",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "nWidth",
          "label": "Ancho",
          "group": "Rectángulo",
          "editor": "number",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "nHeight",
          "label": "Alto",
          "group": "Rectángulo",
          "editor": "number",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "cBackgroundColor",
          "label": "Color de fondo",
          "group": "Rectángulo",
          "editor": "color",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "cFillStyle",
          "label": "Tipo de relleno",
          "group": "Rectángulo",
          "editor": "select",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "cFillColor2",
          "label": "Color final",
          "group": "Rectángulo",
          "editor": "color",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "cFillColor3",
          "label": "Color intermedio",
          "group": "Rectángulo",
          "editor": "color",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "nFillOpacity",
          "label": "Opacidad del relleno",
          "group": "Rectángulo",
          "editor": "number",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "nRotation",
          "label": "Rotación",
          "group": "Rectángulo",
          "editor": "number",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "nOpacity",
          "label": "Opacidad",
          "group": "Rectángulo",
          "editor": "number",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "cBorderColor",
          "label": "Color",
          "group": "Rectángulo",
          "editor": "color",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "nBorderWidth",
          "label": "Grosor",
          "group": "Rectángulo",
          "editor": "number",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "borderVisibility",
          "label": "Visibilidad",
          "group": "Rectángulo",
          "editor": "border-visibility",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "nRounded",
          "label": "Redondeo",
          "group": "Rectángulo",
          "editor": "number",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "nShadowSize",
          "label": "Grosor",
          "group": "Rectángulo",
          "editor": "number",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "nShadowTransparency",
          "label": "Transparencia",
          "group": "Rectángulo",
          "editor": "number",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "cShadowColor",
          "label": "Color",
          "group": "Rectángulo",
          "editor": "color",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "cName",
          "label": "Nombre",
          "group": "Elipse",
          "editor": "text",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "cType",
          "label": "Tipo de objeto",
          "group": "Elipse",
          "editor": "text",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "nLayerId",
          "label": "Capa",
          "group": "Elipse",
          "editor": "select",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "cCondition",
          "label": "Condición de aparición",
          "group": "Elipse",
          "editor": "text",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "lVisible",
          "label": "Visible",
          "group": "Elipse",
          "editor": "checkbox",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "lLocked",
          "label": "Bloqueado",
          "group": "Elipse",
          "editor": "checkbox",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "nLeft",
          "label": "Izquierda",
          "group": "Elipse",
          "editor": "number",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "nTop",
          "label": "Superior",
          "group": "Elipse",
          "editor": "number",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "nRight",
          "label": "Derecha",
          "group": "Elipse",
          "editor": "number",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "nBottom",
          "label": "Inferior",
          "group": "Elipse",
          "editor": "number",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "nWidth",
          "label": "Ancho",
          "group": "Elipse",
          "editor": "number",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "nHeight",
          "label": "Alto",
          "group": "Elipse",
          "editor": "number",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "cBackgroundColor",
          "label": "Color de fondo",
          "group": "Elipse",
          "editor": "color",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "cFillStyle",
          "label": "Tipo de relleno",
          "group": "Elipse",
          "editor": "select",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "cFillColor2",
          "label": "Color final",
          "group": "Elipse",
          "editor": "color",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "cFillColor3",
          "label": "Color intermedio",
          "group": "Elipse",
          "editor": "color",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "nFillOpacity",
          "label": "Opacidad del relleno",
          "group": "Elipse",
          "editor": "number",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "nRotation",
          "label": "Rotación",
          "group": "Elipse",
          "editor": "number",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "nOpacity",
          "label": "Opacidad",
          "group": "Elipse",
          "editor": "number",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "cBorderColor",
          "label": "Color",
          "group": "Elipse",
          "editor": "color",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "nBorderWidth",
          "label": "Grosor",
          "group": "Elipse",
          "editor": "number",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "borderVisibility",
          "label": "Visibilidad",
          "group": "Elipse",
          "editor": "border-visibility",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "nRounded",
          "label": "Redondeo",
          "group": "Elipse",
          "editor": "number",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "nShadowSize",
          "label": "Grosor",
          "group": "Elipse",
          "editor": "number",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "nShadowTransparency",
          "label": "Transparencia",
          "group": "Elipse",
          "editor": "number",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "cShadowColor",
          "label": "Color",
          "group": "Elipse",
          "editor": "color",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "cName",
          "label": "Nombre",
          "group": "Imagen",
          "editor": "text",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "cType",
          "label": "Tipo de objeto",
          "group": "Imagen",
          "editor": "text",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "nLayerId",
          "label": "Capa",
          "group": "Imagen",
          "editor": "select",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "cCondition",
          "label": "Condición de aparición",
          "group": "Imagen",
          "editor": "text",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "lVisible",
          "label": "Visible",
          "group": "Imagen",
          "editor": "checkbox",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "lLocked",
          "label": "Bloqueado",
          "group": "Imagen",
          "editor": "checkbox",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "cSource",
          "label": "Origen / contenido",
          "group": "Imagen",
          "editor": "text",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "cSourceType",
          "label": "Tipo de origen",
          "group": "Imagen",
          "editor": "select",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "lKeepRatio",
          "label": "Mantener proporción",
          "group": "Imagen",
          "editor": "checkbox",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "cFit",
          "label": "Ajuste",
          "group": "Imagen",
          "editor": "select",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "nLeft",
          "label": "Izquierda",
          "group": "Imagen",
          "editor": "number",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "nTop",
          "label": "Superior",
          "group": "Imagen",
          "editor": "number",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "nRight",
          "label": "Derecha",
          "group": "Imagen",
          "editor": "number",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "nBottom",
          "label": "Inferior",
          "group": "Imagen",
          "editor": "number",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "nWidth",
          "label": "Ancho",
          "group": "Imagen",
          "editor": "number",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "nHeight",
          "label": "Alto",
          "group": "Imagen",
          "editor": "number",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "cBackgroundColor",
          "label": "Color de fondo",
          "group": "Imagen",
          "editor": "color",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "cFillStyle",
          "label": "Tipo de relleno",
          "group": "Imagen",
          "editor": "select",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "cFillColor2",
          "label": "Color final",
          "group": "Imagen",
          "editor": "color",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "cFillColor3",
          "label": "Color intermedio",
          "group": "Imagen",
          "editor": "color",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "nFillOpacity",
          "label": "Opacidad del relleno",
          "group": "Imagen",
          "editor": "number",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "nRotation",
          "label": "Rotación",
          "group": "Imagen",
          "editor": "number",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "nOpacity",
          "label": "Opacidad",
          "group": "Imagen",
          "editor": "number",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "cBorderColor",
          "label": "Color",
          "group": "Imagen",
          "editor": "color",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "nBorderWidth",
          "label": "Grosor",
          "group": "Imagen",
          "editor": "number",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "borderVisibility",
          "label": "Visibilidad",
          "group": "Imagen",
          "editor": "border-visibility",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "nRounded",
          "label": "Redondeo",
          "group": "Imagen",
          "editor": "number",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "nShadowSize",
          "label": "Grosor",
          "group": "Imagen",
          "editor": "number",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "nShadowTransparency",
          "label": "Transparencia",
          "group": "Imagen",
          "editor": "number",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "cShadowColor",
          "label": "Color",
          "group": "Imagen",
          "editor": "color",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "cName",
          "label": "Nombre",
          "group": "Línea",
          "editor": "text",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "cType",
          "label": "Tipo de objeto",
          "group": "Línea",
          "editor": "text",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "nLayerId",
          "label": "Capa",
          "group": "Línea",
          "editor": "select",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "cCondition",
          "label": "Condición de aparición",
          "group": "Línea",
          "editor": "text",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "lVisible",
          "label": "Visible",
          "group": "Línea",
          "editor": "checkbox",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "lLocked",
          "label": "Bloqueado",
          "group": "Línea",
          "editor": "checkbox",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "cOrientation",
          "label": "Orientación",
          "group": "Línea",
          "editor": "select",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "cBorderColor",
          "label": "Color",
          "group": "Línea",
          "editor": "color",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "nBorderWidth",
          "label": "Grosor",
          "group": "Línea",
          "editor": "number",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "cLineStyle",
          "label": "Estilo",
          "group": "Línea",
          "editor": "select",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "nLeft",
          "label": "Izquierda",
          "group": "Línea",
          "editor": "number",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "nTop",
          "label": "Superior",
          "group": "Línea",
          "editor": "number",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "nRight",
          "label": "Derecha",
          "group": "Línea",
          "editor": "number",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "nBottom",
          "label": "Inferior",
          "group": "Línea",
          "editor": "number",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "nWidth",
          "label": "Ancho",
          "group": "Línea",
          "editor": "number",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "nHeight",
          "label": "Alto",
          "group": "Línea",
          "editor": "number",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "cFillStyle",
          "label": "Tipo de relleno",
          "group": "Línea",
          "editor": "select",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "cFillColor2",
          "label": "Color final",
          "group": "Línea",
          "editor": "color",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "cFillColor3",
          "label": "Color intermedio",
          "group": "Línea",
          "editor": "color",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "nFillOpacity",
          "label": "Opacidad del relleno",
          "group": "Línea",
          "editor": "number",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "nRotation",
          "label": "Rotación",
          "group": "Línea",
          "editor": "number",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "nOpacity",
          "label": "Opacidad",
          "group": "Línea",
          "editor": "number",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "nShadowSize",
          "label": "Grosor",
          "group": "Línea",
          "editor": "number",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "nShadowTransparency",
          "label": "Transparencia",
          "group": "Línea",
          "editor": "number",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "cShadowColor",
          "label": "Color",
          "group": "Línea",
          "editor": "color",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "cName",
          "label": "Nombre",
          "group": "Código de barras",
          "editor": "text",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "cType",
          "label": "Tipo de objeto",
          "group": "Código de barras",
          "editor": "text",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "nLayerId",
          "label": "Capa",
          "group": "Código de barras",
          "editor": "select",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "cCondition",
          "label": "Condición de aparición",
          "group": "Código de barras",
          "editor": "text",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "lVisible",
          "label": "Visible",
          "group": "Código de barras",
          "editor": "checkbox",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "lLocked",
          "label": "Bloqueado",
          "group": "Código de barras",
          "editor": "checkbox",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "cContent",
          "label": "Contenido",
          "group": "Código de barras",
          "editor": "text",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "cBarcodeType",
          "label": "Tipo",
          "group": "Código de barras",
          "editor": "select",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "lShowText",
          "label": "Mostrar texto",
          "group": "Código de barras",
          "editor": "checkbox",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "lTrimSpaces",
          "label": "Recortar espacios exteriores",
          "group": "Código de barras",
          "editor": "checkbox",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "cFontFamily",
          "label": "Fuente",
          "group": "Código de barras",
          "editor": "select",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "nFontSize",
          "label": "Tamaño",
          "group": "Código de barras",
          "editor": "number",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "lFontBold",
          "label": "Negrita",
          "group": "Código de barras",
          "editor": "checkbox",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "lFontItalic",
          "label": "Cursiva",
          "group": "Código de barras",
          "editor": "checkbox",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "lFontUnderline",
          "label": "Subrayado",
          "group": "Código de barras",
          "editor": "checkbox",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "lFontStrikeout",
          "label": "Tachado",
          "group": "Código de barras",
          "editor": "checkbox",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "cColor",
          "label": "Color",
          "group": "Código de barras",
          "editor": "color",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "cBackgroundColor",
          "label": "Color de fondo",
          "group": "Código de barras",
          "editor": "color",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "nLeft",
          "label": "Izquierda",
          "group": "Código de barras",
          "editor": "number",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "nTop",
          "label": "Superior",
          "group": "Código de barras",
          "editor": "number",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "nRight",
          "label": "Derecha",
          "group": "Código de barras",
          "editor": "number",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "nBottom",
          "label": "Inferior",
          "group": "Código de barras",
          "editor": "number",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "nWidth",
          "label": "Ancho",
          "group": "Código de barras",
          "editor": "number",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "nHeight",
          "label": "Alto",
          "group": "Código de barras",
          "editor": "number",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "cFillStyle",
          "label": "Tipo de relleno",
          "group": "Código de barras",
          "editor": "select",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "cFillColor2",
          "label": "Color final",
          "group": "Código de barras",
          "editor": "color",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "cFillColor3",
          "label": "Color intermedio",
          "group": "Código de barras",
          "editor": "color",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "nFillOpacity",
          "label": "Opacidad del relleno",
          "group": "Código de barras",
          "editor": "number",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "nRotation",
          "label": "Rotación",
          "group": "Código de barras",
          "editor": "number",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "nOpacity",
          "label": "Opacidad",
          "group": "Código de barras",
          "editor": "number",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "cBorderColor",
          "label": "Color",
          "group": "Código de barras",
          "editor": "color",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "nBorderWidth",
          "label": "Grosor",
          "group": "Código de barras",
          "editor": "number",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "borderVisibility",
          "label": "Visibilidad",
          "group": "Código de barras",
          "editor": "border-visibility",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "nRounded",
          "label": "Redondeo",
          "group": "Código de barras",
          "editor": "number",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "nShadowSize",
          "label": "Grosor",
          "group": "Código de barras",
          "editor": "number",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "nShadowTransparency",
          "label": "Transparencia",
          "group": "Código de barras",
          "editor": "number",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "cShadowColor",
          "label": "Color",
          "group": "Código de barras",
          "editor": "color",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "cContent",
          "label": "Contenido",
          "group": "Texto enriquecido",
          "editor": "text",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "cVerticalAlign",
          "label": "Alineación vertical",
          "group": "Texto enriquecido",
          "editor": "select",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "cOverflow",
          "label": "Desbordamiento",
          "group": "Texto enriquecido",
          "editor": "select",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "cName",
          "label": "Nombre",
          "group": "Texto enriquecido",
          "editor": "text",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "cType",
          "label": "Tipo de objeto",
          "group": "Texto enriquecido",
          "editor": "text",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "nLayerId",
          "label": "Capa",
          "group": "Texto enriquecido",
          "editor": "select",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "cCondition",
          "label": "Condición de aparición",
          "group": "Texto enriquecido",
          "editor": "text",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "lVisible",
          "label": "Visible",
          "group": "Texto enriquecido",
          "editor": "checkbox",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "lLocked",
          "label": "Bloqueado",
          "group": "Texto enriquecido",
          "editor": "checkbox",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "nLeft",
          "label": "Izquierda",
          "group": "Texto enriquecido",
          "editor": "number",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "nTop",
          "label": "Superior",
          "group": "Texto enriquecido",
          "editor": "number",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "nRight",
          "label": "Derecha",
          "group": "Texto enriquecido",
          "editor": "number",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "nBottom",
          "label": "Inferior",
          "group": "Texto enriquecido",
          "editor": "number",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "nWidth",
          "label": "Ancho",
          "group": "Texto enriquecido",
          "editor": "number",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "nHeight",
          "label": "Alto",
          "group": "Texto enriquecido",
          "editor": "number",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "cBackgroundColor",
          "label": "Color de fondo",
          "group": "Texto enriquecido",
          "editor": "color",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "cFillStyle",
          "label": "Tipo de relleno",
          "group": "Texto enriquecido",
          "editor": "select",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "cFillColor2",
          "label": "Color final",
          "group": "Texto enriquecido",
          "editor": "color",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "cFillColor3",
          "label": "Color intermedio",
          "group": "Texto enriquecido",
          "editor": "color",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "nFillOpacity",
          "label": "Opacidad del relleno",
          "group": "Texto enriquecido",
          "editor": "number",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "nRotation",
          "label": "Rotación",
          "group": "Texto enriquecido",
          "editor": "number",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "nOpacity",
          "label": "Opacidad",
          "group": "Texto enriquecido",
          "editor": "number",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "cBorderColor",
          "label": "Color",
          "group": "Texto enriquecido",
          "editor": "color",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "nBorderWidth",
          "label": "Grosor",
          "group": "Texto enriquecido",
          "editor": "number",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "borderVisibility",
          "label": "Visibilidad",
          "group": "Texto enriquecido",
          "editor": "border-visibility",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "nRounded",
          "label": "Redondeo",
          "group": "Texto enriquecido",
          "editor": "number",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "nShadowSize",
          "label": "Grosor",
          "group": "Texto enriquecido",
          "editor": "number",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "nShadowTransparency",
          "label": "Transparencia",
          "group": "Texto enriquecido",
          "editor": "number",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "cShadowColor",
          "label": "Color",
          "group": "Texto enriquecido",
          "editor": "color",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "cText",
          "label": "Contenido",
          "group": "Texto formateado",
          "editor": "text",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "cFontFamily",
          "label": "Fuente",
          "group": "Texto formateado",
          "editor": "select",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nFontSize",
          "label": "Tamaño",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "lFontBold",
          "label": "Negrita",
          "group": "Texto formateado",
          "editor": "checkbox",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "lFontItalic",
          "label": "Cursiva",
          "group": "Texto formateado",
          "editor": "checkbox",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "lFontUnderline",
          "label": "Subrayado",
          "group": "Texto formateado",
          "editor": "checkbox",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "lFontStrikeout",
          "label": "Tachado",
          "group": "Texto formateado",
          "editor": "checkbox",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "lTextWrap",
          "label": "Partir si no cabe",
          "group": "Texto formateado",
          "editor": "checkbox",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "lAllowPageBreak",
          "label": "Continuar entre páginas",
          "group": "Texto formateado",
          "editor": "checkbox",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nLineSpacing",
          "label": "Interlineado adicional",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nParagraphSpacing",
          "label": "Espacio entre párrafos",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "lKeepEmptyParagraphs",
          "label": "Conservar párrafos vacíos",
          "group": "Texto formateado",
          "editor": "checkbox",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "lTextAdjusted",
          "label": "Justificación forzada",
          "group": "Texto formateado",
          "editor": "checkbox",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "lTrimSpaces",
          "label": "Recortar espacios exteriores",
          "group": "Texto formateado",
          "editor": "checkbox",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "cTextColor",
          "label": "Color",
          "group": "Texto formateado",
          "editor": "color",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nTextOpacity",
          "label": "Opacidad texto",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "cTextAlign",
          "label": "Alineación",
          "group": "Texto formateado",
          "editor": "select",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nTextDecimalPosition",
          "label": "Posición decimal",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "cTextVerticalAlign",
          "label": "Alineación vertical",
          "group": "Texto formateado",
          "editor": "select",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "cName",
          "label": "Nombre",
          "group": "Texto formateado",
          "editor": "text",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "cType",
          "label": "Tipo de objeto",
          "group": "Texto formateado",
          "editor": "text",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nLayerId",
          "label": "Capa",
          "group": "Texto formateado",
          "editor": "select",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "cCondition",
          "label": "Condición de aparición",
          "group": "Texto formateado",
          "editor": "text",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "lVisible",
          "label": "Visible",
          "group": "Texto formateado",
          "editor": "checkbox",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "lLocked",
          "label": "Bloqueado",
          "group": "Texto formateado",
          "editor": "checkbox",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nLeft",
          "label": "Izquierda",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nTop",
          "label": "Superior",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nRight",
          "label": "Derecha",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nBottom",
          "label": "Inferior",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nWidth",
          "label": "Ancho",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nHeight",
          "label": "Alto",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "cBackgroundColor",
          "label": "Color de fondo",
          "group": "Texto formateado",
          "editor": "color",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "cFillStyle",
          "label": "Tipo de relleno",
          "group": "Texto formateado",
          "editor": "select",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "cFillColor2",
          "label": "Color final",
          "group": "Texto formateado",
          "editor": "color",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "cFillColor3",
          "label": "Color intermedio",
          "group": "Texto formateado",
          "editor": "color",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nFillOpacity",
          "label": "Opacidad del relleno",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nRotation",
          "label": "Rotación",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nOpacity",
          "label": "Opacidad",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "cBorderColor",
          "label": "Color",
          "group": "Texto formateado",
          "editor": "color",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nBorderWidth",
          "label": "Grosor",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "borderVisibility",
          "label": "Visibilidad",
          "group": "Texto formateado",
          "editor": "border-visibility",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nRounded",
          "label": "Redondeo",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nShadowSize",
          "label": "Grosor",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nShadowTransparency",
          "label": "Transparencia",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "cShadowColor",
          "label": "Color",
          "group": "Texto formateado",
          "editor": "color",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        }
      ],
      "aAvailableFields": [
        {
          "cName": "DATOS_EMPRESA.empresa",
          "cType": "texto",
          "cOrigin": "DataVar",
          "cGroup": "DATOS_EMPRESA"
        },
        {
          "cName": "DATOS_EMPRESA.fecha",
          "cType": "fecha",
          "cOrigin": "DataVar",
          "cGroup": "DATOS_EMPRESA"
        },
        {
          "cName": "DATOS_EMPRESA.logo_empresa",
          "cType": "imagen",
          "cOrigin": "DataVar",
          "cGroup": "DATOS_EMPRESA"
        },
        {
          "cName": "DATOS_EMPRESA.ruta_logo",
          "cType": "texto",
          "cOrigin": "DataVar",
          "cGroup": "DATOS_EMPRESA"
        },
        {
          "cName": "DATOS_EMPRESA.usuario",
          "cType": "texto",
          "cOrigin": "DataVar",
          "cGroup": "DATOS_EMPRESA"
        },
        {
          "cName": "FACLI.cliente",
          "cType": "texto",
          "cOrigin": "DataVar",
          "cGroup": "FACLI"
        },
        {
          "cName": "FACLI.codigoc",
          "cType": "texto",
          "cOrigin": "DataVar",
          "cGroup": "FACLI"
        },
        {
          "cName": "FACLI.nifc",
          "cType": "texto",
          "cOrigin": "DataVar",
          "cGroup": "FACLI"
        },
        {
          "cName": "FACLI.total",
          "cType": "numerico",
          "cOrigin": "DataVar",
          "cGroup": "FACLI"
        },
        {
          "cName": "LINEAS_FACTURA.cantidad",
          "cType": "numerico",
          "cOrigin": "DetalleVar",
          "cGroup": "LINEAS_FACTURA"
        },
        {
          "cName": "LINEAS_FACTURA.codigo_articulo",
          "cType": "texto",
          "cOrigin": "DetalleVar",
          "cGroup": "LINEAS_FACTURA"
        },
        {
          "cName": "LINEAS_FACTURA.descripcion",
          "cType": "texto",
          "cOrigin": "DetalleVar",
          "cGroup": "LINEAS_FACTURA"
        },
        {
          "cName": "LINEAS_FACTURA.logo_linea",
          "cType": "imagen",
          "cOrigin": "DetalleVar",
          "cGroup": "LINEAS_FACTURA"
        },
        {
          "cName": "LINEAS_FACTURA.precio",
          "cType": "numerico",
          "cOrigin": "DetalleVar",
          "cGroup": "LINEAS_FACTURA"
        },
        {
          "cName": "LINEAS_FACTURA.total_linea",
          "cType": "numerico",
          "cOrigin": "DetalleVar",
          "cGroup": "LINEAS_FACTURA"
        },
        {
          "cName": "VENDE.codvende",
          "cType": "texto",
          "cOrigin": "DataVar",
          "cGroup": "VENDE"
        },
        {
          "cName": "VENDE.nombre",
          "cType": "texto",
          "cOrigin": "DataVar",
          "cGroup": "VENDE"
        }
      ],
      "hTemplate": {
        "cType": "TDocument",
        "cFormatVersion": "1.0",
        "cTemplateId": "",
        "cTemplateName": "Documento",
        "cDocumentKind": "report",
        "cPaperFormat": "a4",
        "cPaperOrientation": "portrait",
        "tModifiedAt": "2026-08-10T07:04:26.278Z",
        "cFileName": "",
        "nPaperWidth": 210,
        "nPaperHeight": 297,
        "cPaperHeightMode": "fixed",
        "nDesignHeight": 250,
        "nContinuousBottomMargin": 5,
        "lShowGrid": true,
        "hUserVars": {},
        "hAcumVars": {},
        "hImportMetadata": {},
        "hLabelLayout": {
          "nLabelWidth": 70,
          "nLabelHeight": 37,
          "nColumns": 3,
          "nRows": 8,
          "nMarginLeft": 0,
          "nMarginTop": 0,
          "nGapHorizontal": 0,
          "nGapVertical": 0,
          "cFlow": "row",
          "cLabelFormat": "manual",
          "nPrintOffsetX": 0,
          "nPrintOffsetY": 0
        },
        "hLayers": {
          "0": {
            "nId": 0,
            "cName": "Capa 1",
            "cCondition": "",
            "lDesignerVisible": true,
            "cColor": "#000000"
          }
        },
        "aObjects": [
          {
            "cId": "obj_1786345466292_l2ymna",
            "cName": "Texto 1",
            "cType": "TText",
            "nLeft": 10,
            "nTop": 10,
            "nWidth": 20,
            "nHeight": 8,
            "lVisible": true,
            "lLocked": false,
            "lSelected": true,
            "nLayerId": 0,
            "nZIndex": 1,
            "cBorderColor": "#000000",
            "cBorderColorFormula": "",
            "nBorderWidth": 0.1,
            "lBorderTop": false,
            "lBorderRight": false,
            "lBorderBottom": false,
            "lBorderLeft": false,
            "cBackgroundColor": "#ffffff",
            "cBackgroundColorFormula": "",
            "cFillStyle": "solid",
            "cFillColor2": "#ffffff",
            "cFillColor2Formula": "",
            "cFillColor3": "#ffffff",
            "cFillColor3Formula": "",
            "nFillOpacity": 1,
            "nRounded": 0,
            "nShadowSize": 0,
            "nShadowTransparency": 50,
            "cShadowColor": "#000000",
            "cShadowColorFormula": "",
            "nRotation": 0,
            "nOpacity": 1,
            "cCondition": "",
            "nPaddingTop": 0,
            "nPaddingRight": 0,
            "nPaddingBottom": 0,
            "nPaddingLeft": 0,
            "nLl12LinkID": 0,
            "nLl12LinkToID": 0,
            "nLl12LinkMode": 0,
            "nLl12GroupId": 0,
            "lLl12WrapBefore": false,
            "cTableId": "",
            "cTableSectionKey": "",
            "cText": "\"TEXTO 1\"",
            "cFontFamily": "Arial",
            "nFontSize": 12,
            "nFontOutPrecision": 0,
            "nFontPitchAndFamily": 0,
            "lFontBold": false,
            "cFontBoldFormula": "",
            "lFontItalic": false,
            "cFontItalicFormula": "",
            "lFontUnderline": false,
            "cFontUnderlineFormula": "",
            "lFontStrikeout": false,
            "cFontStrikeoutFormula": "",
            "lTextWrap": true,
            "lAllowPageBreak": false,
            "nLineSpacing": 0,
            "nParagraphSpacing": 0,
            "lKeepEmptyParagraphs": true,
            "lTextAdjusted": false,
            "lTrimSpaces": false,
            "cTextFlowGroup": "",
            "nTextFlowOrder": 0,
            "nTextFlowLineHeight": 0,
            "cTextColor": "#000000",
            "cTextColorFormula": "",
            "nTextOpacity": 1,
            "cTextAlign": "left",
            "nTextDecimalPosition": -10,
            "cTextVerticalAlign": "top",
            "cLl12SourceType": "",
            "cLl12SourceJson": ""
          },
          {
            "cId": "obj_1786345466292_mlgie0",
            "cName": "Texto 2",
            "cType": "TText",
            "nLeft": 40,
            "nTop": 10,
            "nWidth": 20,
            "nHeight": 8,
            "lVisible": true,
            "lLocked": false,
            "lSelected": true,
            "nLayerId": 0,
            "nZIndex": 1,
            "cBorderColor": "#000000",
            "cBorderColorFormula": "",
            "nBorderWidth": 0.1,
            "lBorderTop": false,
            "lBorderRight": false,
            "lBorderBottom": false,
            "lBorderLeft": false,
            "cBackgroundColor": "#ffffff",
            "cBackgroundColorFormula": "",
            "cFillStyle": "solid",
            "cFillColor2": "#ffffff",
            "cFillColor2Formula": "",
            "cFillColor3": "#ffffff",
            "cFillColor3Formula": "",
            "nFillOpacity": 1,
            "nRounded": 0,
            "nShadowSize": 0,
            "nShadowTransparency": 50,
            "cShadowColor": "#000000",
            "cShadowColorFormula": "",
            "nRotation": 0,
            "nOpacity": 1,
            "cCondition": "",
            "nPaddingTop": 0,
            "nPaddingRight": 0,
            "nPaddingBottom": 0,
            "nPaddingLeft": 0,
            "nLl12LinkID": 0,
            "nLl12LinkToID": 0,
            "nLl12LinkMode": 0,
            "nLl12GroupId": 0,
            "lLl12WrapBefore": false,
            "cTableId": "",
            "cTableSectionKey": "",
            "cText": "\"TEXTO 2\"",
            "cFontFamily": "Arial",
            "nFontSize": 12,
            "nFontOutPrecision": 0,
            "nFontPitchAndFamily": 0,
            "lFontBold": false,
            "cFontBoldFormula": "",
            "lFontItalic": false,
            "cFontItalicFormula": "",
            "lFontUnderline": false,
            "cFontUnderlineFormula": "",
            "lFontStrikeout": false,
            "cFontStrikeoutFormula": "",
            "lTextWrap": true,
            "lAllowPageBreak": false,
            "nLineSpacing": 0,
            "nParagraphSpacing": 0,
            "lKeepEmptyParagraphs": true,
            "lTextAdjusted": false,
            "lTrimSpaces": false,
            "cTextFlowGroup": "",
            "nTextFlowOrder": 0,
            "nTextFlowLineHeight": 0,
            "cTextColor": "#000000",
            "cTextColorFormula": "",
            "nTextOpacity": 1,
            "cTextAlign": "left",
            "nTextDecimalPosition": -10,
            "cTextVerticalAlign": "top",
            "cLl12SourceType": "",
            "cLl12SourceJson": ""
          },
          {
            "cId": "obj_1786345466292_vi9ncv",
            "cName": "Texto 3",
            "cType": "TText",
            "nLeft": 70,
            "nTop": 10,
            "nWidth": 20,
            "nHeight": 8,
            "lVisible": true,
            "lLocked": false,
            "lSelected": true,
            "nLayerId": 0,
            "nZIndex": 1,
            "cBorderColor": "#000000",
            "cBorderColorFormula": "",
            "nBorderWidth": 0.1,
            "lBorderTop": false,
            "lBorderRight": false,
            "lBorderBottom": false,
            "lBorderLeft": false,
            "cBackgroundColor": "#ffffff",
            "cBackgroundColorFormula": "",
            "cFillStyle": "solid",
            "cFillColor2": "#ffffff",
            "cFillColor2Formula": "",
            "cFillColor3": "#ffffff",
            "cFillColor3Formula": "",
            "nFillOpacity": 1,
            "nRounded": 0,
            "nShadowSize": 0,
            "nShadowTransparency": 50,
            "cShadowColor": "#000000",
            "cShadowColorFormula": "",
            "nRotation": 0,
            "nOpacity": 1,
            "cCondition": "",
            "nPaddingTop": 0,
            "nPaddingRight": 0,
            "nPaddingBottom": 0,
            "nPaddingLeft": 0,
            "nLl12LinkID": 0,
            "nLl12LinkToID": 0,
            "nLl12LinkMode": 0,
            "nLl12GroupId": 0,
            "lLl12WrapBefore": false,
            "cTableId": "",
            "cTableSectionKey": "",
            "cText": "\"TEXTO 3\"",
            "cFontFamily": "Arial",
            "nFontSize": 12,
            "nFontOutPrecision": 0,
            "nFontPitchAndFamily": 0,
            "lFontBold": false,
            "cFontBoldFormula": "",
            "lFontItalic": false,
            "cFontItalicFormula": "",
            "lFontUnderline": false,
            "cFontUnderlineFormula": "",
            "lFontStrikeout": false,
            "cFontStrikeoutFormula": "",
            "lTextWrap": true,
            "lAllowPageBreak": false,
            "nLineSpacing": 0,
            "nParagraphSpacing": 0,
            "lKeepEmptyParagraphs": true,
            "lTextAdjusted": false,
            "lTrimSpaces": false,
            "cTextFlowGroup": "",
            "nTextFlowOrder": 0,
            "nTextFlowLineHeight": 0,
            "cTextColor": "#000000",
            "cTextColorFormula": "",
            "nTextOpacity": 1,
            "cTextAlign": "left",
            "nTextDecimalPosition": -10,
            "cTextVerticalAlign": "top",
            "cLl12SourceType": "",
            "cLl12SourceJson": ""
          },
          {
            "cId": "obj_1786345466292_a4x59a",
            "cName": "Rectángulo",
            "cType": "TRectangle",
            "nLeft": 10,
            "nTop": 30,
            "nWidth": 40,
            "nHeight": 20,
            "lVisible": true,
            "lLocked": false,
            "lSelected": false,
            "nLayerId": 0,
            "nZIndex": 1,
            "cBorderColor": "#000000",
            "cBorderColorFormula": "",
            "nBorderWidth": 0.1,
            "lBorderTop": true,
            "lBorderRight": true,
            "lBorderBottom": true,
            "lBorderLeft": true,
            "cBackgroundColor": "#000000",
            "cBackgroundColorFormula": "",
            "cFillStyle": "solid",
            "cFillColor2": "#ffffff",
            "cFillColor2Formula": "",
            "cFillColor3": "#ffffff",
            "cFillColor3Formula": "",
            "nFillOpacity": 1,
            "nRounded": 0,
            "nShadowSize": 0,
            "nShadowTransparency": 50,
            "cShadowColor": "#000000",
            "cShadowColorFormula": "",
            "nRotation": 0,
            "nOpacity": 1,
            "cCondition": "",
            "nPaddingTop": 0,
            "nPaddingRight": 0,
            "nPaddingBottom": 0,
            "nPaddingLeft": 0,
            "nLl12LinkID": 0,
            "nLl12LinkToID": 0,
            "nLl12LinkMode": 0,
            "nLl12GroupId": 0,
            "lLl12WrapBefore": false,
            "cTableId": "",
            "cTableSectionKey": ""
          }
        ]
      }
    },
    "response": {
      "lOk": true,
      "hInspection": {
        "cInstruction": "alínealos arriba y distribúyelos horizontalmente",
        "cProvider": "Ollama",
        "cModelSelection": "Ollama — GPT-OSS 20B",
        "cModel": "gpt-oss:20b",
        "cRepresentation": "COMMANDS",
        "cRawResponse": "{\"commands\":[{\"command\":\"align\",\"target\":\"selection\",\"mode\":\"top\"},{\"command\":\"distribute\",\"target\":\"selection\",\"mode\":\"horizontal\"}]}",
        "cThinking": "Need align top and distribute horizontally. So two commands: align left? Actually align top => mode:\"top\". distribute horizontal => mode:\"horizontal\". Output JSON.",
        "cOllamaRequest": "{\"model\":\"gpt-oss:20b\",\"messages\":[{\"role\":\"system\",\"content\":\"Interpreta la instrucciÃ³n y devuelve Ãºnicamente JSON vÃ¡lido con la forma {\\\"commands\\\":[{\\\"command\\\":\\\"setProperty\\\",\\\"target\\\":\\\"selection\\\",\\\"property\\\":\\\"propiedad_real\\\",\\\"value\\\":valor}]}. Cada comando DEBE usar la clave command (nunca type) y target. Comandos permitidos: setProperty, move, resize, delete, align, distribute, reorder, duplicate, tableMoveColumn, tableSetColumnWidth, tableInsertColumn, tableDeleteColumn, tableInsertLine, tableDeleteLine, tableMoveLine, tableSetLineHeight, tableSetLineBackground, tableSetLineBorderColor, tableSetLineBorderWidth, tableSetLinePadding, tableSetLineBorderRadius, tableSetLineBorderSide, tableSetLineVerticalSeparators, tableSetLineZebraEnabled, tableSetLineZebraColor, tableSetLineCondition, tableSetLineSuppressCondition, tableSetLineBackgroundColorFormula, tableSetLineBorderColorFormula. Prioridad: propiedad o estilo â†’ setProperty; desplazamiento relativo â†’ move; tamaÃ±o relativo â†’ resize; alineaciÃ³n de varios objetos â†’ align; eliminar objetos â†’ delete. Para eliminar usa exactamente {\\\"command\\\":\\\"delete\\\",\\\"target\\\":\\\"selection\\\"}. Si se pide duplicar, reducir o cambiar el tamaÃ±o, devuelve Ãºnicamente resize y no uses setProperty para propiedades numÃ©ricas. Para setProperty usa exactamente property y value, nunca name ni valores como *2. Para move usa {\\\"command\\\":\\\"move\\\",\\\"target\\\":\\\"selection\\\",\\\"dx\\\":10,\\\"dy\\\":0}; para resize usa {\\\"command\\\":\\\"resize\\\",\\\"target\\\":\\\"selection\\\",\\\"scaleX\\\":0.5,\\\"scaleY\\\":0.5}. Para alinear usa exactamente {\\\"command\\\":\\\"align\\\",\\\"target\\\":\\\"selection\\\",\\\"mode\\\":\\\"left\\\"}; modos vÃ¡lidos: left|right|top|bottom|horizontalCenter|verticalCenter. Si la orden se refiere a los objetos seleccionados, usa target:\\\"selection\\\". No enumeres IDs ni calcules coordenadas o dimensiones finales. El contexto distingue SELECCION_ACTUAL_SCOPE=selection y RESTO_DEL_DOCUMENTO_SCOPE=global. Usa target:\\\"selection\\\" para referencias a la selecciÃ³n actual. Para instrucciones globales como todos, cada o todo el documento, usa la forma ya soportada target:{\\\"ids\\\":[...]} con los cId existentes de la selecciÃ³n y del resto del documento que correspondan; no inventes IDs y no uses target:\\\"selection\\\" para una orden global. Para distribuir usa exactamente {\\\"command\\\":\\\"distribute\\\",\\\"target\\\":\\\"selection\\\",\\\"mode\\\":\\\"horizontal\\\"}; modos vÃƒÂ¡lidos: horizontal|vertical. Para reordenar usa exactamente {\\\"command\\\":\\\"reorder\\\",\\\"target\\\":\\\"selection\\\",\\\"mode\\\":\\\"bringToFront\\\"}; modos vÃƒÂ¡lidos: bringToFront=traer al frente, sendToBack=enviar al fondo, bringForward=subir un nivel, sendBackward=bajar un nivel. Para duplicar usa exactamente {\\\"command\\\":\\\"duplicate\\\",\\\"target\\\":\\\"selection\\\"}. Para tablas usa Ãºnicamente estas formas: {\\\"command\\\":\\\"tableMoveColumn\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"header\\\",\\\"lineIndex\\\":0,\\\"fromIndex\\\":2,\\\"toIndex\\\":0}, {\\\"command\\\":\\\"tableSetColumnWidth\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"header\\\",\\\"lineIndex\\\":0,\\\"columnIndex\\\":0,\\\"width\\\":30}, {\\\"command\\\":\\\"tableInsertColumn\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"columnIndex\\\":2}, {\\\"command\\\":\\\"tableDeleteColumn\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"columnIndex\\\":2}, {\\\"command\\\":\\\"tableInsertLine\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":1}, {\\\"command\\\":\\\"tableDeleteLine\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":1}, {\\\"command\\\":\\\"tableMoveLine\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"fromIndex\\\":1,\\\"toIndex\\\":0}, {\\\"command\\\":\\\"tableSetLineHeight\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"height\\\":12}, {\\\"command\\\":\\\"tableSetLineBackground\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"color\\\":\\\"#d3d3d3\\\"}; section: header|groupHeader|detail|groupFooter|footer. Los Ã­ndices son enteros cero-basados y no negativos. tableSetLineHeight usa altura fija en milÃ­metros >=1. tableSetLineBackground usa Ãºnicamente color HEX fijo; no usa fÃ³rmulas ni paths privados. Insertar columna usa columnIndex como posiciÃ³n antes de la columna existente; si coincide con el nÃºmero actual de columnas, aÃ±ade al final. Insertar lÃ­nea usa lineIndex como posiciÃ³n antes de la lÃ­nea existente; si coincide con el nÃºmero actual de lÃ­neas, aÃ±ade al final. No uses hSections, aLines ni aCells. SemÃ¡ntica de lÃ­neas OBLIGATORIA: si una secciÃ³n tiene una sola lÃ­nea, basta mencionar la secciÃ³n y usa lineIndex 0. Si tiene varias lÃ­neas, una operaciÃ³n estructural debe indicar la lÃ­nea; si no la indica y no dice todas, devuelve EXACTAMENTE {\\\"commands\\\":[]}. Solo si dice todas las lÃ­neas genera una operaciÃ³n por cada lÃ­nea existente. Esta regla no afecta a objetos visuales de celda, que siguen usando commands normales. Para cambiar altura o fondo fijo de una lÃ­nea de TTable usa obligatoriamente tableSetLineHeight o tableSetLineBackground con section y lineIndex; no uses setProperty para esas operaciones. Shapes adicionales de lÃ­nea: {\\\"command\\\":\\\"tableSetLineBorderColor\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"color\\\":\\\"#0000ff\\\"}, {\\\"command\\\":\\\"tableSetLineBorderWidth\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"width\\\":1}, {\\\"command\\\":\\\"tableSetLinePadding\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"side\\\":\\\"nTop\\\",\\\"value\\\":2}, {\\\"command\\\":\\\"tableSetLineBorderRadius\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"radius\\\":2}, {\\\"command\\\":\\\"tableSetLineBorderSide\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"side\\\":\\\"top\\\",\\\"visible\\\":true}, {\\\"command\\\":\\\"tableSetLineVerticalSeparators\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"visible\\\":true}, {\\\"command\\\":\\\"tableSetLineCondition\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"formula\\\":\\\"DETAIL.cantidad > 0\\\"}, {\\\"command\\\":\\\"tableSetLineSuppressCondition\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"formula\\\":\\\"DETAIL.importe == 0\\\"}, {\\\"command\\\":\\\"tableSetLineBackgroundColorFormula\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"formula\\\":\\\"IF(...)\\\"}, {\\\"command\\\":\\\"tableSetLineBorderColorFormula\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"formula\\\":\\\"IF(...)\\\"}. Las cuatro primitivas de fórmula reciben formula como string literal y aceptan string vacío para borrar; no evalúes ni cambies la sintaxis. Usa la primitiva específica según sea condición, supresión o fórmula de color; no uses paths hBorder, hBackground ni setProperty. Si la instrucciÃ³n menciona una lÃ­nea, cabecera, detalle o pie, el color de borde de esa lÃ­nea usa tableSetLineBorderColor y nunca setProperty. Zebra solo existe en lÃ­neas detail. Shapes exactas: {\\\"command\\\":\\\"tableSetLineZebraEnabled\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"enabled\\\":true} y {\\\"command\\\":\\\"tableSetLineZebraColor\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"role\\\":\\\"odd\\\",\\\"color\\\":\\\"#d3d3d3\\\"}. Usa enabled booleano para activar o desactivar y role odd/even para filas impares/pares. No uses hZebraPattern ni paths privados. TambiÃƒÂ©n se permite create: {\\\"command\\\":\\\"create\\\",\\\"type\\\":\\\"TText\\\",\\\"properties\\\":{\\\"cText\\\":\\\"\\\\\\\\\\\"texto\\\\\\\\\\\"\\\"}}. En create describe ÃƒÂºnicamente lo solicitado: incluye solo el tipo, contenido, posiciÃƒÂ³n y propiedades que la instrucciÃƒÂ³n pida explÃƒÂ­citamente; el diseÃƒÂ±ador completa los defaults reales. Tipos reales: TText,TRectangle,TEllipse,TImage,TLine,TBarcode,richText,TFormattedText. Properties solo editables, nunca cId, defaults, estructura interna ni geometrÃƒÂ­a. position usa {\\\"x\\\":20,\\\"y\\\":30}. Una ref es temporal dentro de esta respuesta: el create declara ref:\\\"new1\\\" y un comando posterior apunta al mismo objeto con target:{\\\"ref\\\":\\\"new1\\\"}. Ejemplo: {\\\"commands\\\":[{\\\"command\\\":\\\"create\\\",\\\"ref\\\":\\\"new1\\\",\\\"type\\\":\\\"TText\\\",\\\"properties\\\":{\\\"cText\\\":\\\"\\\\\\\\\\\"TOTAL\\\\\\\\\\\"\\\"}},{\\\"command\\\":\\\"resize\\\",\\\"target\\\":{\\\"ref\\\":\\\"new1\\\"},\\\"scaleX\\\":2,\\\"scaleY\\\":2}]}. TIPOS:TBarcode=Código de barras,TEllipse=Elipse,TFormattedText=Texto formateado,TImage=Imagen,TLine=Línea,TRectangle=Rectángulo,TText=Texto,richText=Texto enriquecido. PROPS_TBarcode:cBackgroundColor:string=Código de barras / Color de fondo,cBarcodeType:string=Código de barras / Tipo,cBorderColor:string=Código de barras / Color,cColor:string=Código de barras / Color,cCondition:string=Código de barras / Condición de aparición,cContent:string=Código de barras / Contenido,cFillColor2:string=Código de barras / Color final,cFillColor3:string=Código de barras / Color intermedio,cFillStyle:string=Código de barras / Tipo de relleno,cFontFamily:string=Código de barras / Fuente,cShadowColor:string=Código de barras / Color,lFontBold:boolean=Código de barras / Negrita,lFontItalic:boolean=Código de barras / Cursiva,lFontStrikeout:boolean=Código de barras / Tachado,lFontUnderline:boolean=Código de barras / Subrayado,lLocked:boolean=Código de barras / Bloqueado,lShowText:boolean=Código de barras / Mostrar texto,lTrimSpaces:boolean=Código de barras / Recortar espacios exteriores,lVisible:boolean=Código de barras / Visible,nBorderWidth:number=Código de barras / Grosor,nFillOpacity:number=Código de barras / Opacidad del relleno,nFontSize:number=Código de barras / Tamaño,nLayerId:number=Código de barras / Capa,nOpacity:number=Código de barras / Opacidad,nRotation:number=Código de barras / Rotación,nRounded:number=Código de barras / Redondeo,nShadowSize:number=Código de barras / Grosor,nShadowTransparency:number=Código de barras / Transparencia. PROPS_TEllipse:cBackgroundColor:string=Elipse / Color de fondo,cBorderColor:string=Elipse / Color,cCondition:string=Elipse / Condición de aparición,cFillColor2:string=Elipse / Color final,cFillColor3:string=Elipse / Color intermedio,cFillStyle:string=Elipse / Tipo de relleno,cShadowColor:string=Elipse / Color,lLocked:boolean=Elipse / Bloqueado,lVisible:boolean=Elipse / Visible,nBorderWidth:number=Elipse / Grosor,nFillOpacity:number=Elipse / Opacidad del relleno,nLayerId:number=Elipse / Capa,nOpacity:number=Elipse / Opacidad,nRotation:number=Elipse / Rotación,nRounded:number=Elipse / Redondeo,nShadowSize:number=Elipse / Grosor,nShadowTransparency:number=Elipse / Transparencia. PROPS_TFormattedText:cBackgroundColor:string=Texto formateado / Color de fondo,cBorderColor:string=Texto formateado / Color,cCondition:string=Texto formateado / Condición de aparición,cFillColor2:string=Texto formateado / Color final,cFillColor3:string=Texto formateado / Color intermedio,cFillStyle:string=Texto formateado / Tipo de relleno,cFontFamily:string=Texto formateado / Fuente,cShadowColor:string=Texto formateado / Color,cText:string=Texto formateado / Contenido,cTextAlign:string=Texto formateado / Alineación,cTextColor:string=Texto formateado / Color,cTextVerticalAlign:string=Texto formateado / Alineación vertical,lAllowPageBreak:boolean=Texto formateado / Continuar entre páginas,lFontBold:boolean=Texto formateado / Negrita,lFontItalic:boolean=Texto formateado / Cursiva,lFontStrikeout:boolean=Texto formateado / Tachado,lFontUnderline:boolean=Texto formateado / Subrayado,lKeepEmptyParagraphs:boolean=Texto formateado / Conservar párrafos vacíos,lLocked:boolean=Texto formateado / Bloqueado,lTextAdjusted:boolean=Texto formateado / Justificación forzada,lTextWrap:boolean=Texto formateado / Partir si no cabe,lTrimSpaces:boolean=Texto formateado / Recortar espacios exteriores,lVisible:boolean=Texto formateado / Visible,nBorderWidth:number=Texto formateado / Grosor,nFillOpacity:number=Texto formateado / Opacidad del relleno,nFontSize:number=Texto formateado / Tamaño,nLayerId:number=Texto formateado / Capa,nLineSpacing:number=Texto formateado / Interlineado adicional,nOpacity:number=Texto formateado / Opacidad,nParagraphSpacing:number=Texto formateado / Espacio entre párrafos,nRotation:number=Texto formateado / Rotación,nRounded:number=Texto formateado / Redondeo,nShadowSize:number=Texto formateado / Grosor,nShadowTransparency:number=Texto formateado / Transparencia,nTextDecimalPosition:number=Texto formateado / Posición decimal,nTextOpacity:number=Texto formateado / Opacidad texto. PROPS_TImage:cBackgroundColor:string=Imagen / Color de fondo,cBorderColor:string=Imagen / Color,cCondition:string=Imagen / Condición de aparición,cFillColor2:string=Imagen / Color final,cFillColor3:string=Imagen / Color intermedio,cFillStyle:string=Imagen / Tipo de relleno,cFit:string=Imagen / Ajuste,cShadowColor:string=Imagen / Color,cSource:string=Imagen / Origen / contenido,cSourceType:string=Imagen / Tipo de origen,lKeepRatio:boolean=Imagen / Mantener proporción,lLocked:boolean=Imagen / Bloqueado,lVisible:boolean=Imagen / Visible,nBorderWidth:number=Imagen / Grosor,nFillOpacity:number=Imagen / Opacidad del relleno,nLayerId:number=Imagen / Capa,nOpacity:number=Imagen / Opacidad,nRotation:number=Imagen / Rotación,nRounded:number=Imagen / Redondeo,nShadowSize:number=Imagen / Grosor,nShadowTransparency:number=Imagen / Transparencia. PROPS_TLine:cBorderColor:string=Línea / Color,cCondition:string=Línea / Condición de aparición,cFillColor2:string=Línea / Color final,cFillColor3:string=Línea / Color intermedio,cFillStyle:string=Línea / Tipo de relleno,cLineStyle:string=Línea / Estilo,cOrientation:string=Línea / Orientación,cShadowColor:string=Línea / Color,lLocked:boolean=Línea / Bloqueado,lVisible:boolean=Línea / Visible,nBorderWidth:number=Línea / Grosor,nFillOpacity:number=Línea / Opacidad del relleno,nLayerId:number=Línea / Capa,nOpacity:number=Línea / Opacidad,nRotation:number=Línea / Rotación,nShadowSize:number=Línea / Grosor,nShadowTransparency:number=Línea / Transparencia. PROPS_TRectangle:cBackgroundColor:string=Rectángulo / Color de fondo,cBorderColor:string=Rectángulo / Color,cCondition:string=Rectángulo / Condición de aparición,cFillColor2:string=Rectángulo / Color final,cFillColor3:string=Rectángulo / Color intermedio,cFillStyle:string=Rectángulo / Tipo de relleno,cShadowColor:string=Rectángulo / Color,lLocked:boolean=Rectángulo / Bloqueado,lVisible:boolean=Rectángulo / Visible,nBorderWidth:number=Rectángulo / Grosor,nFillOpacity:number=Rectángulo / Opacidad del relleno,nLayerId:number=Rectángulo / Capa,nOpacity:number=Rectángulo / Opacidad,nRotation:number=Rectángulo / Rotación,nRounded:number=Rectángulo / Redondeo,nShadowSize:number=Rectángulo / Grosor,nShadowTransparency:number=Rectángulo / Transparencia. PROPS_TText:cBackgroundColor:string=Texto / Color de fondo,cBorderColor:string=Texto / Color,cCondition:string=Texto / Condición de aparición,cFillColor2:string=Texto / Color final,cFillColor3:string=Texto / Color intermedio,cFillStyle:string=Texto / Tipo de relleno,cFontFamily:string=Texto / Fuente,cShadowColor:string=Texto / Color,cText:string=Texto / Contenido,cTextAlign:string=Texto / Alineación,cTextColor:string=Texto / Color,cTextVerticalAlign:string=Texto / Alineación vertical,lAllowPageBreak:boolean=Texto / Continuar entre páginas,lFontBold:boolean=Texto / Negrita,lFontItalic:boolean=Texto / Cursiva,lFontStrikeout:boolean=Texto / Tachado,lFontUnderline:boolean=Texto / Subrayado,lKeepEmptyParagraphs:boolean=Texto / Conservar párrafos vacíos,lLocked:boolean=Texto / Bloqueado,lTextAdjusted:boolean=Texto / Justificación forzada,lTextWrap:boolean=Texto / Partir si no cabe,lTrimSpaces:boolean=Texto / Recortar espacios exteriores,lVisible:boolean=Texto / Visible,nBorderWidth:number=Texto / Grosor,nFillOpacity:number=Texto / Opacidad del relleno,nFontSize:number=Texto / Tamaño,nLayerId:number=Texto / Capa,nLineSpacing:number=Texto / Interlineado adicional,nOpacity:number=Texto / Opacidad,nParagraphSpacing:number=Texto / Espacio entre párrafos,nRotation:number=Texto / Rotación,nRounded:number=Texto / Redondeo,nShadowSize:number=Texto / Grosor,nShadowTransparency:number=Texto / Transparencia,nTextDecimalPosition:number=Texto / Posición decimal,nTextOpacity:number=Texto / Opacidad texto. PROPS_richText:cBackgroundColor:string=Texto enriquecido / Color de fondo,cBorderColor:string=Texto enriquecido / Color,cCondition:string=Texto enriquecido / Condición de aparición,cContent:string=Texto enriquecido / Contenido,cFillColor2:string=Texto enriquecido / Color final,cFillColor3:string=Texto enriquecido / Color intermedio,cFillStyle:string=Texto enriquecido / Tipo de relleno,cOverflow:string=Texto enriquecido / Desbordamiento,cShadowColor:string=Texto enriquecido / Color,cVerticalAlign:string=Texto enriquecido / Alineación vertical,lLocked:boolean=Texto enriquecido / Bloqueado,lVisible:boolean=Texto enriquecido / Visible,nBorderWidth:number=Texto enriquecido / Grosor,nFillOpacity:number=Texto enriquecido / Opacidad del relleno,nLayerId:number=Texto enriquecido / Capa,nOpacity:number=Texto enriquecido / Opacidad,nRotation:number=Texto enriquecido / Rotación,nRounded:number=Texto enriquecido / Redondeo,nShadowSize:number=Texto enriquecido / Grosor,nShadowTransparency:number=Texto enriquecido / Transparencia.\"},{\"role\":\"user\",\"content\":\"SELECCION_ACTUAL_SCOPE=selection:\\n[{\\\"cId\\\":\\\"obj_1786345466292_l2ymna\\\",\\\"cType\\\":\\\"TText\\\",\\\"cName\\\":\\\"Texto 1\\\"},{\\\"cId\\\":\\\"obj_1786345466292_mlgie0\\\",\\\"cType\\\":\\\"TText\\\",\\\"cName\\\":\\\"Texto 2\\\"},{\\\"cId\\\":\\\"obj_1786345466292_vi9ncv\\\",\\\"cType\\\":\\\"TText\\\",\\\"cName\\\":\\\"Texto 3\\\"}]\\nRESTO_DEL_DOCUMENTO_SCOPE=global:\\n[{\\\"cId\\\":\\\"obj_1786345466292_a4x59a\\\",\\\"cType\\\":\\\"TRectangle\\\",\\\"cName\\\":\\\"Rectángulo\\\"}]\\nSELECCIÃ“N REAL:\\n[{\\\"cId\\\":\\\"obj_1786345466292_l2ymna\\\",\\\"cType\\\":\\\"TText\\\",\\\"cName\\\":\\\"Texto 1\\\"},{\\\"cId\\\":\\\"obj_1786345466292_mlgie0\\\",\\\"cType\\\":\\\"TText\\\",\\\"cName\\\":\\\"Texto 2\\\"},{\\\"cId\\\":\\\"obj_1786345466292_vi9ncv\\\",\\\"cType\\\":\\\"TText\\\",\\\"cName\\\":\\\"Texto 3\\\"}]\\nPROPIEDADES COMUNES EDITABLES: cBackgroundColor:string=Texto formateado / Color de fondo,cBorderColor:string=Texto formateado / Color,cCondition:string=Texto formateado / Condición de aparición,cFillColor2:string=Texto formateado / Color final,cFillColor3:string=Texto formateado / Color intermedio,cFillStyle:string=Texto formateado / Tipo de relleno,cFontFamily:string=Texto formateado / Fuente,cShadowColor:string=Texto formateado / Color,cText:string=Texto formateado / Contenido,cTextAlign:string=Texto formateado / Alineación,cTextColor:string=Texto formateado / Color,cTextVerticalAlign:string=Texto formateado / Alineación vertical,lAllowPageBreak:boolean=Texto formateado / Continuar entre páginas,lBorderBottom:boolean,lBorderLeft:boolean,lBorderRight:boolean,lBorderTop:boolean,lFontBold:boolean=Texto formateado / Negrita,lFontItalic:boolean=Texto formateado / Cursiva,lFontStrikeout:boolean=Texto formateado / Tachado,lFontUnderline:boolean=Texto formateado / Subrayado,lKeepEmptyParagraphs:boolean=Texto formateado / Conservar párrafos vacíos,lLocked:boolean=Texto formateado / Bloqueado,lTextAdjusted:boolean=Texto formateado / Justificación forzada,lTextWrap:boolean=Texto formateado / Partir si no cabe,lTrimSpaces:boolean=Texto formateado / Recortar espacios exteriores,lVisible:boolean=Texto formateado / Visible,nBorderWidth:number=Texto formateado / Grosor,nFillOpacity:number=Texto formateado / Opacidad del relleno,nFontSize:number=Texto formateado / Tamaño,nLayerId:number=Texto formateado / Capa,nLineSpacing:number=Texto formateado / Interlineado adicional,nOpacity:number=Texto formateado / Opacidad,nPaddingBottom:number,nPaddingLeft:number,nPaddingRight:number,nPaddingTop:number,nParagraphSpacing:number=Texto formateado / Espacio entre párrafos,nRotation:number=Texto formateado / Rotación,nRounded:number=Texto formateado / Redondeo,nShadowSize:number=Texto formateado / Grosor,nShadowTransparency:number=Texto formateado / Transparencia,nTextDecimalPosition:number=Texto formateado / Posición decimal,nTextOpacity:number=Texto formateado / Opacidad texto,nZIndex:number\\nCOLORES CANÃ“NICOS: rojo:#ff0000 Â· verde:#008000 Â· verde oscuro:#006400 Â· azul:#0000ff Â· azul oscuro:#00008b Â· amarillo:#ffff00 Â· gris claro:#d3d3d3\\n\\nINSTRUCCIÃ“N:\\nalínealos arriba y distribúyelos horizontalmente\"}],\"stream\":false,\"format\":\"json\",\"keep_alive\":-1,\"options\":{\"temperature\":0,\"top_p\":1,\"top_k\":0,\"repeat_penalty\":1.1,\"frequency_penalty\":0,\"presence_penalty\":0,\"num_ctx\":65536,\"num_batch\":4096,\"num_thread\":10,\"num_gpu\":99,\"num_predict\":4096},\"think\":\"low\"}",
        "cHttpBody": "{\"model\":\"gpt-oss:20b\",\"created_at\":\"2026-08-10T07:04:29.2374039Z\",\"message\":{\"role\":\"assistant\",\"content\":\"{\\\"commands\\\":[{\\\"command\\\":\\\"align\\\",\\\"target\\\":\\\"selection\\\",\\\"mode\\\":\\\"top\\\"},{\\\"command\\\":\\\"distribute\\\",\\\"target\\\":\\\"selection\\\",\\\"mode\\\":\\\"horizontal\\\"}]}\",\"thinking\":\"Need align top and distribute horizontally. So two commands: align left? Actually align top =\\u003e mode:\\\"top\\\". distribute horizontal =\\u003e mode:\\\"horizontal\\\". Output JSON.\"},\"done\":true,\"done_reason\":\"stop\",\"total_duration\":1508964400,\"load_duration\":201612500,\"prompt_eval_count\":5064,\"prompt_eval_duration\":14414000,\"eval_count\":31,\"eval_duration\":395612000}",
        "hMetrics": {
          "total_duration": 1508964400,
          "load_duration": 201612500,
          "prompt_eval_count": 5064,
          "prompt_eval_duration": 14414000,
          "eval_count": 31,
          "eval_duration": 395612000,
          "unattributed_duration": 897325900
        },
        "hCommands": {
          "commands": [
            {
              "command": "align",
              "target": "selection",
              "mode": "top"
            },
            {
              "command": "distribute",
              "target": "selection",
              "mode": "horizontal"
            }
          ]
        },
        "lValid": true,
        "nCreates": 0,
        "nChanges": 0,
        "nDeletes": 0,
        "nStructures": 0,
        "nGeneratedIds": 0,
        "nOperations": 2,
        "nFinalOperations": 2,
        "cValidation": "Shape commands vÃ¡lida; validaciÃ³n de ejecuciÃ³n pendiente",
        "nResponseMilliseconds": 1525.389,
        "tRequestStartedAt": "2026-08-10T09:04:27.713955+02:00",
        "tResponseFinishedAt": "2026-08-10T09:04:29.239363+02:00",
        "hPromptDiagnostics": {
          "nSystemCharacters": 16569,
          "nUserCharacters": 2903,
          "nPromptCharacters": 19473,
          "nPromptTokensAfterEstimated": 4869,
          "nContextTokens": 65536,
          "lPromptFitsContext": true
        }
      }
    },
    "state": {
      "selected": [
        "obj_1786345466292_l2ymna",
        "obj_1786345466292_mlgie0",
        "obj_1786345466292_vi9ncv"
      ],
      "objects": [
        {
          "cId": "obj_1786345466292_l2ymna",
          "cType": "TText",
          "nLeft": 10,
          "nTop": 10,
          "nWidth": 20,
          "nHeight": 8,
          "cTextColor": "#000000"
        },
        {
          "cId": "obj_1786345466292_mlgie0",
          "cType": "TText",
          "nLeft": 40,
          "nTop": 10,
          "nWidth": 20,
          "nHeight": 8,
          "cTextColor": "#000000"
        },
        {
          "cId": "obj_1786345466292_vi9ncv",
          "cType": "TText",
          "nLeft": 70,
          "nTop": 10,
          "nWidth": 20,
          "nHeight": 8,
          "cTextColor": "#000000"
        },
        {
          "cId": "obj_1786345466292_a4x59a",
          "cType": "TRectangle",
          "nLeft": 10,
          "nTop": 30,
          "nWidth": 40,
          "nHeight": 20
        }
      ]
    }
  },
  {
    "id": "CTRL_GLOBAL_TEXT",
    "instruction": "pon todos los textos en rojo",
    "fixture": {
      "selected": [
        "obj_1786345469454_i0vkns",
        "obj_1786345469454_qd5wk3",
        "obj_1786345469454_0xese5"
      ],
      "all": [
        "obj_1786345469454_i0vkns",
        "obj_1786345469454_qd5wk3",
        "obj_1786345469454_0xese5",
        "obj_1786345469454_rjb0q5"
      ]
    },
    "payload": {
      "cAction": "commandsExperimental",
      "cModelKey": "gpt-oss-20b",
      "cInstruction": "pon todos los textos en rojo",
      "aSelectedObjects": [
        {
          "cId": "obj_1786345469454_i0vkns",
          "cType": "TText",
          "cName": "Texto 1"
        }
      ],
      "aPropertyMetadata": [
        {
          "property": "cText",
          "label": "Contenido",
          "group": "Texto",
          "editor": "text"
        },
        {
          "property": "cFontFamily",
          "label": "Fuente",
          "group": "Texto",
          "editor": "select"
        },
        {
          "property": "nFontSize",
          "label": "Tamaño",
          "group": "Texto",
          "editor": "number"
        },
        {
          "property": "lFontBold",
          "label": "Negrita",
          "group": "Texto",
          "editor": "checkbox"
        },
        {
          "property": "lFontItalic",
          "label": "Cursiva",
          "group": "Texto",
          "editor": "checkbox"
        },
        {
          "property": "lFontUnderline",
          "label": "Subrayado",
          "group": "Texto",
          "editor": "checkbox"
        },
        {
          "property": "lFontStrikeout",
          "label": "Tachado",
          "group": "Texto",
          "editor": "checkbox"
        },
        {
          "property": "lTextWrap",
          "label": "Partir si no cabe",
          "group": "Texto",
          "editor": "checkbox"
        },
        {
          "property": "lAllowPageBreak",
          "label": "Continuar entre páginas",
          "group": "Texto",
          "editor": "checkbox"
        },
        {
          "property": "nLineSpacing",
          "label": "Interlineado adicional",
          "group": "Texto",
          "editor": "number"
        },
        {
          "property": "nParagraphSpacing",
          "label": "Espacio entre párrafos",
          "group": "Texto",
          "editor": "number"
        },
        {
          "property": "lKeepEmptyParagraphs",
          "label": "Conservar párrafos vacíos",
          "group": "Texto",
          "editor": "checkbox"
        },
        {
          "property": "lTextAdjusted",
          "label": "Justificación forzada",
          "group": "Texto",
          "editor": "checkbox"
        },
        {
          "property": "lTrimSpaces",
          "label": "Recortar espacios exteriores",
          "group": "Texto",
          "editor": "checkbox"
        },
        {
          "property": "cTextColor",
          "label": "Color",
          "group": "Texto",
          "editor": "color"
        },
        {
          "property": "nTextOpacity",
          "label": "Opacidad texto",
          "group": "Texto",
          "editor": "number"
        },
        {
          "property": "cTextAlign",
          "label": "Alineación",
          "group": "Texto",
          "editor": "select"
        },
        {
          "property": "nTextDecimalPosition",
          "label": "Posición decimal",
          "group": "Texto",
          "editor": "number"
        },
        {
          "property": "cTextVerticalAlign",
          "label": "Alineación vertical",
          "group": "Texto",
          "editor": "select"
        },
        {
          "property": "cName",
          "label": "Nombre",
          "group": "Texto",
          "editor": "text"
        },
        {
          "property": "cType",
          "label": "Tipo de objeto",
          "group": "Texto",
          "editor": "text"
        },
        {
          "property": "nLayerId",
          "label": "Capa",
          "group": "Ejecución",
          "editor": "select"
        },
        {
          "property": "cCondition",
          "label": "Condición de aparición",
          "group": "Ejecución",
          "editor": "text"
        },
        {
          "property": "lVisible",
          "label": "Visible",
          "group": "Ejecución",
          "editor": "checkbox"
        },
        {
          "property": "lLocked",
          "label": "Bloqueado",
          "group": "Ejecución",
          "editor": "checkbox"
        },
        {
          "property": "nLeft",
          "label": "Izquierda",
          "group": "Dimensiones y Color",
          "editor": "number"
        },
        {
          "property": "nTop",
          "label": "Superior",
          "group": "Dimensiones y Color",
          "editor": "number"
        },
        {
          "property": "nRight",
          "label": "Derecha",
          "group": "Dimensiones y Color",
          "editor": "number"
        },
        {
          "property": "nBottom",
          "label": "Inferior",
          "group": "Dimensiones y Color",
          "editor": "number"
        },
        {
          "property": "nWidth",
          "label": "Ancho",
          "group": "Dimensiones y Color",
          "editor": "number"
        },
        {
          "property": "nHeight",
          "label": "Alto",
          "group": "Dimensiones y Color",
          "editor": "number"
        },
        {
          "property": "cBackgroundColor",
          "label": "Color de fondo",
          "group": "Dimensiones y Color",
          "editor": "color"
        },
        {
          "property": "cFillStyle",
          "label": "Tipo de relleno",
          "group": "Dimensiones y Color",
          "editor": "select"
        },
        {
          "property": "cFillColor2",
          "label": "Color final",
          "group": "Dimensiones y Color",
          "editor": "color"
        },
        {
          "property": "cFillColor3",
          "label": "Color intermedio",
          "group": "Dimensiones y Color",
          "editor": "color"
        },
        {
          "property": "nFillOpacity",
          "label": "Opacidad del relleno",
          "group": "Dimensiones y Color",
          "editor": "number"
        },
        {
          "property": "nRotation",
          "label": "Rotación",
          "group": "Transformación",
          "editor": "number"
        },
        {
          "property": "nOpacity",
          "label": "Opacidad",
          "group": "Transformación",
          "editor": "number"
        },
        {
          "property": "cBorderColor",
          "label": "Color",
          "group": "Borde",
          "editor": "color"
        },
        {
          "property": "nBorderWidth",
          "label": "Grosor",
          "group": "Borde",
          "editor": "number"
        },
        {
          "property": "borderVisibility",
          "label": "Visibilidad",
          "group": "Borde",
          "editor": "border-visibility"
        },
        {
          "property": "nRounded",
          "label": "Redondeo",
          "group": "Borde",
          "editor": "number"
        },
        {
          "property": "nShadowSize",
          "label": "Grosor",
          "group": "Sombra",
          "editor": "number"
        },
        {
          "property": "nShadowTransparency",
          "label": "Transparencia",
          "group": "Sombra",
          "editor": "number"
        },
        {
          "property": "cShadowColor",
          "label": "Color",
          "group": "Sombra",
          "editor": "color"
        },
        {
          "property": "cText",
          "label": "Contenido",
          "group": "Texto",
          "editor": "text",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "cFontFamily",
          "label": "Fuente",
          "group": "Texto",
          "editor": "select",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nFontSize",
          "label": "Tamaño",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "lFontBold",
          "label": "Negrita",
          "group": "Texto",
          "editor": "checkbox",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "lFontItalic",
          "label": "Cursiva",
          "group": "Texto",
          "editor": "checkbox",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "lFontUnderline",
          "label": "Subrayado",
          "group": "Texto",
          "editor": "checkbox",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "lFontStrikeout",
          "label": "Tachado",
          "group": "Texto",
          "editor": "checkbox",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "lTextWrap",
          "label": "Partir si no cabe",
          "group": "Texto",
          "editor": "checkbox",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "lAllowPageBreak",
          "label": "Continuar entre páginas",
          "group": "Texto",
          "editor": "checkbox",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nLineSpacing",
          "label": "Interlineado adicional",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nParagraphSpacing",
          "label": "Espacio entre párrafos",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "lKeepEmptyParagraphs",
          "label": "Conservar párrafos vacíos",
          "group": "Texto",
          "editor": "checkbox",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "lTextAdjusted",
          "label": "Justificación forzada",
          "group": "Texto",
          "editor": "checkbox",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "lTrimSpaces",
          "label": "Recortar espacios exteriores",
          "group": "Texto",
          "editor": "checkbox",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "cTextColor",
          "label": "Color",
          "group": "Texto",
          "editor": "color",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nTextOpacity",
          "label": "Opacidad texto",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "cTextAlign",
          "label": "Alineación",
          "group": "Texto",
          "editor": "select",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nTextDecimalPosition",
          "label": "Posición decimal",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "cTextVerticalAlign",
          "label": "Alineación vertical",
          "group": "Texto",
          "editor": "select",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "cName",
          "label": "Nombre",
          "group": "Texto",
          "editor": "text",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "cType",
          "label": "Tipo de objeto",
          "group": "Texto",
          "editor": "text",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nLayerId",
          "label": "Capa",
          "group": "Texto",
          "editor": "select",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "cCondition",
          "label": "Condición de aparición",
          "group": "Texto",
          "editor": "text",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "lVisible",
          "label": "Visible",
          "group": "Texto",
          "editor": "checkbox",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "lLocked",
          "label": "Bloqueado",
          "group": "Texto",
          "editor": "checkbox",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nLeft",
          "label": "Izquierda",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nTop",
          "label": "Superior",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nRight",
          "label": "Derecha",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nBottom",
          "label": "Inferior",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nWidth",
          "label": "Ancho",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nHeight",
          "label": "Alto",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "cBackgroundColor",
          "label": "Color de fondo",
          "group": "Texto",
          "editor": "color",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "cFillStyle",
          "label": "Tipo de relleno",
          "group": "Texto",
          "editor": "select",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "cFillColor2",
          "label": "Color final",
          "group": "Texto",
          "editor": "color",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "cFillColor3",
          "label": "Color intermedio",
          "group": "Texto",
          "editor": "color",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nFillOpacity",
          "label": "Opacidad del relleno",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nRotation",
          "label": "Rotación",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nOpacity",
          "label": "Opacidad",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "cBorderColor",
          "label": "Color",
          "group": "Texto",
          "editor": "color",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nBorderWidth",
          "label": "Grosor",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "borderVisibility",
          "label": "Visibilidad",
          "group": "Texto",
          "editor": "border-visibility",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nRounded",
          "label": "Redondeo",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nShadowSize",
          "label": "Grosor",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nShadowTransparency",
          "label": "Transparencia",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "cShadowColor",
          "label": "Color",
          "group": "Texto",
          "editor": "color",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "cName",
          "label": "Nombre",
          "group": "Rectángulo",
          "editor": "text",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "cType",
          "label": "Tipo de objeto",
          "group": "Rectángulo",
          "editor": "text",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "nLayerId",
          "label": "Capa",
          "group": "Rectángulo",
          "editor": "select",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "cCondition",
          "label": "Condición de aparición",
          "group": "Rectángulo",
          "editor": "text",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "lVisible",
          "label": "Visible",
          "group": "Rectángulo",
          "editor": "checkbox",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "lLocked",
          "label": "Bloqueado",
          "group": "Rectángulo",
          "editor": "checkbox",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "nLeft",
          "label": "Izquierda",
          "group": "Rectángulo",
          "editor": "number",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "nTop",
          "label": "Superior",
          "group": "Rectángulo",
          "editor": "number",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "nRight",
          "label": "Derecha",
          "group": "Rectángulo",
          "editor": "number",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "nBottom",
          "label": "Inferior",
          "group": "Rectángulo",
          "editor": "number",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "nWidth",
          "label": "Ancho",
          "group": "Rectángulo",
          "editor": "number",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "nHeight",
          "label": "Alto",
          "group": "Rectángulo",
          "editor": "number",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "cBackgroundColor",
          "label": "Color de fondo",
          "group": "Rectángulo",
          "editor": "color",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "cFillStyle",
          "label": "Tipo de relleno",
          "group": "Rectángulo",
          "editor": "select",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "cFillColor2",
          "label": "Color final",
          "group": "Rectángulo",
          "editor": "color",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "cFillColor3",
          "label": "Color intermedio",
          "group": "Rectángulo",
          "editor": "color",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "nFillOpacity",
          "label": "Opacidad del relleno",
          "group": "Rectángulo",
          "editor": "number",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "nRotation",
          "label": "Rotación",
          "group": "Rectángulo",
          "editor": "number",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "nOpacity",
          "label": "Opacidad",
          "group": "Rectángulo",
          "editor": "number",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "cBorderColor",
          "label": "Color",
          "group": "Rectángulo",
          "editor": "color",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "nBorderWidth",
          "label": "Grosor",
          "group": "Rectángulo",
          "editor": "number",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "borderVisibility",
          "label": "Visibilidad",
          "group": "Rectángulo",
          "editor": "border-visibility",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "nRounded",
          "label": "Redondeo",
          "group": "Rectángulo",
          "editor": "number",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "nShadowSize",
          "label": "Grosor",
          "group": "Rectángulo",
          "editor": "number",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "nShadowTransparency",
          "label": "Transparencia",
          "group": "Rectángulo",
          "editor": "number",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "cShadowColor",
          "label": "Color",
          "group": "Rectángulo",
          "editor": "color",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "cName",
          "label": "Nombre",
          "group": "Elipse",
          "editor": "text",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "cType",
          "label": "Tipo de objeto",
          "group": "Elipse",
          "editor": "text",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "nLayerId",
          "label": "Capa",
          "group": "Elipse",
          "editor": "select",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "cCondition",
          "label": "Condición de aparición",
          "group": "Elipse",
          "editor": "text",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "lVisible",
          "label": "Visible",
          "group": "Elipse",
          "editor": "checkbox",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "lLocked",
          "label": "Bloqueado",
          "group": "Elipse",
          "editor": "checkbox",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "nLeft",
          "label": "Izquierda",
          "group": "Elipse",
          "editor": "number",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "nTop",
          "label": "Superior",
          "group": "Elipse",
          "editor": "number",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "nRight",
          "label": "Derecha",
          "group": "Elipse",
          "editor": "number",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "nBottom",
          "label": "Inferior",
          "group": "Elipse",
          "editor": "number",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "nWidth",
          "label": "Ancho",
          "group": "Elipse",
          "editor": "number",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "nHeight",
          "label": "Alto",
          "group": "Elipse",
          "editor": "number",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "cBackgroundColor",
          "label": "Color de fondo",
          "group": "Elipse",
          "editor": "color",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "cFillStyle",
          "label": "Tipo de relleno",
          "group": "Elipse",
          "editor": "select",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "cFillColor2",
          "label": "Color final",
          "group": "Elipse",
          "editor": "color",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "cFillColor3",
          "label": "Color intermedio",
          "group": "Elipse",
          "editor": "color",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "nFillOpacity",
          "label": "Opacidad del relleno",
          "group": "Elipse",
          "editor": "number",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "nRotation",
          "label": "Rotación",
          "group": "Elipse",
          "editor": "number",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "nOpacity",
          "label": "Opacidad",
          "group": "Elipse",
          "editor": "number",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "cBorderColor",
          "label": "Color",
          "group": "Elipse",
          "editor": "color",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "nBorderWidth",
          "label": "Grosor",
          "group": "Elipse",
          "editor": "number",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "borderVisibility",
          "label": "Visibilidad",
          "group": "Elipse",
          "editor": "border-visibility",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "nRounded",
          "label": "Redondeo",
          "group": "Elipse",
          "editor": "number",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "nShadowSize",
          "label": "Grosor",
          "group": "Elipse",
          "editor": "number",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "nShadowTransparency",
          "label": "Transparencia",
          "group": "Elipse",
          "editor": "number",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "cShadowColor",
          "label": "Color",
          "group": "Elipse",
          "editor": "color",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "cName",
          "label": "Nombre",
          "group": "Imagen",
          "editor": "text",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "cType",
          "label": "Tipo de objeto",
          "group": "Imagen",
          "editor": "text",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "nLayerId",
          "label": "Capa",
          "group": "Imagen",
          "editor": "select",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "cCondition",
          "label": "Condición de aparición",
          "group": "Imagen",
          "editor": "text",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "lVisible",
          "label": "Visible",
          "group": "Imagen",
          "editor": "checkbox",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "lLocked",
          "label": "Bloqueado",
          "group": "Imagen",
          "editor": "checkbox",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "cSource",
          "label": "Origen / contenido",
          "group": "Imagen",
          "editor": "text",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "cSourceType",
          "label": "Tipo de origen",
          "group": "Imagen",
          "editor": "select",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "lKeepRatio",
          "label": "Mantener proporción",
          "group": "Imagen",
          "editor": "checkbox",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "cFit",
          "label": "Ajuste",
          "group": "Imagen",
          "editor": "select",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "nLeft",
          "label": "Izquierda",
          "group": "Imagen",
          "editor": "number",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "nTop",
          "label": "Superior",
          "group": "Imagen",
          "editor": "number",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "nRight",
          "label": "Derecha",
          "group": "Imagen",
          "editor": "number",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "nBottom",
          "label": "Inferior",
          "group": "Imagen",
          "editor": "number",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "nWidth",
          "label": "Ancho",
          "group": "Imagen",
          "editor": "number",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "nHeight",
          "label": "Alto",
          "group": "Imagen",
          "editor": "number",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "cBackgroundColor",
          "label": "Color de fondo",
          "group": "Imagen",
          "editor": "color",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "cFillStyle",
          "label": "Tipo de relleno",
          "group": "Imagen",
          "editor": "select",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "cFillColor2",
          "label": "Color final",
          "group": "Imagen",
          "editor": "color",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "cFillColor3",
          "label": "Color intermedio",
          "group": "Imagen",
          "editor": "color",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "nFillOpacity",
          "label": "Opacidad del relleno",
          "group": "Imagen",
          "editor": "number",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "nRotation",
          "label": "Rotación",
          "group": "Imagen",
          "editor": "number",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "nOpacity",
          "label": "Opacidad",
          "group": "Imagen",
          "editor": "number",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "cBorderColor",
          "label": "Color",
          "group": "Imagen",
          "editor": "color",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "nBorderWidth",
          "label": "Grosor",
          "group": "Imagen",
          "editor": "number",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "borderVisibility",
          "label": "Visibilidad",
          "group": "Imagen",
          "editor": "border-visibility",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "nRounded",
          "label": "Redondeo",
          "group": "Imagen",
          "editor": "number",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "nShadowSize",
          "label": "Grosor",
          "group": "Imagen",
          "editor": "number",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "nShadowTransparency",
          "label": "Transparencia",
          "group": "Imagen",
          "editor": "number",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "cShadowColor",
          "label": "Color",
          "group": "Imagen",
          "editor": "color",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "cName",
          "label": "Nombre",
          "group": "Línea",
          "editor": "text",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "cType",
          "label": "Tipo de objeto",
          "group": "Línea",
          "editor": "text",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "nLayerId",
          "label": "Capa",
          "group": "Línea",
          "editor": "select",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "cCondition",
          "label": "Condición de aparición",
          "group": "Línea",
          "editor": "text",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "lVisible",
          "label": "Visible",
          "group": "Línea",
          "editor": "checkbox",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "lLocked",
          "label": "Bloqueado",
          "group": "Línea",
          "editor": "checkbox",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "cOrientation",
          "label": "Orientación",
          "group": "Línea",
          "editor": "select",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "cBorderColor",
          "label": "Color",
          "group": "Línea",
          "editor": "color",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "nBorderWidth",
          "label": "Grosor",
          "group": "Línea",
          "editor": "number",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "cLineStyle",
          "label": "Estilo",
          "group": "Línea",
          "editor": "select",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "nLeft",
          "label": "Izquierda",
          "group": "Línea",
          "editor": "number",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "nTop",
          "label": "Superior",
          "group": "Línea",
          "editor": "number",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "nRight",
          "label": "Derecha",
          "group": "Línea",
          "editor": "number",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "nBottom",
          "label": "Inferior",
          "group": "Línea",
          "editor": "number",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "nWidth",
          "label": "Ancho",
          "group": "Línea",
          "editor": "number",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "nHeight",
          "label": "Alto",
          "group": "Línea",
          "editor": "number",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "cFillStyle",
          "label": "Tipo de relleno",
          "group": "Línea",
          "editor": "select",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "cFillColor2",
          "label": "Color final",
          "group": "Línea",
          "editor": "color",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "cFillColor3",
          "label": "Color intermedio",
          "group": "Línea",
          "editor": "color",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "nFillOpacity",
          "label": "Opacidad del relleno",
          "group": "Línea",
          "editor": "number",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "nRotation",
          "label": "Rotación",
          "group": "Línea",
          "editor": "number",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "nOpacity",
          "label": "Opacidad",
          "group": "Línea",
          "editor": "number",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "nShadowSize",
          "label": "Grosor",
          "group": "Línea",
          "editor": "number",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "nShadowTransparency",
          "label": "Transparencia",
          "group": "Línea",
          "editor": "number",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "cShadowColor",
          "label": "Color",
          "group": "Línea",
          "editor": "color",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "cName",
          "label": "Nombre",
          "group": "Código de barras",
          "editor": "text",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "cType",
          "label": "Tipo de objeto",
          "group": "Código de barras",
          "editor": "text",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "nLayerId",
          "label": "Capa",
          "group": "Código de barras",
          "editor": "select",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "cCondition",
          "label": "Condición de aparición",
          "group": "Código de barras",
          "editor": "text",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "lVisible",
          "label": "Visible",
          "group": "Código de barras",
          "editor": "checkbox",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "lLocked",
          "label": "Bloqueado",
          "group": "Código de barras",
          "editor": "checkbox",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "cContent",
          "label": "Contenido",
          "group": "Código de barras",
          "editor": "text",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "cBarcodeType",
          "label": "Tipo",
          "group": "Código de barras",
          "editor": "select",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "lShowText",
          "label": "Mostrar texto",
          "group": "Código de barras",
          "editor": "checkbox",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "lTrimSpaces",
          "label": "Recortar espacios exteriores",
          "group": "Código de barras",
          "editor": "checkbox",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "cFontFamily",
          "label": "Fuente",
          "group": "Código de barras",
          "editor": "select",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "nFontSize",
          "label": "Tamaño",
          "group": "Código de barras",
          "editor": "number",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "lFontBold",
          "label": "Negrita",
          "group": "Código de barras",
          "editor": "checkbox",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "lFontItalic",
          "label": "Cursiva",
          "group": "Código de barras",
          "editor": "checkbox",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "lFontUnderline",
          "label": "Subrayado",
          "group": "Código de barras",
          "editor": "checkbox",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "lFontStrikeout",
          "label": "Tachado",
          "group": "Código de barras",
          "editor": "checkbox",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "cColor",
          "label": "Color",
          "group": "Código de barras",
          "editor": "color",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "cBackgroundColor",
          "label": "Color de fondo",
          "group": "Código de barras",
          "editor": "color",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "nLeft",
          "label": "Izquierda",
          "group": "Código de barras",
          "editor": "number",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "nTop",
          "label": "Superior",
          "group": "Código de barras",
          "editor": "number",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "nRight",
          "label": "Derecha",
          "group": "Código de barras",
          "editor": "number",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "nBottom",
          "label": "Inferior",
          "group": "Código de barras",
          "editor": "number",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "nWidth",
          "label": "Ancho",
          "group": "Código de barras",
          "editor": "number",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "nHeight",
          "label": "Alto",
          "group": "Código de barras",
          "editor": "number",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "cFillStyle",
          "label": "Tipo de relleno",
          "group": "Código de barras",
          "editor": "select",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "cFillColor2",
          "label": "Color final",
          "group": "Código de barras",
          "editor": "color",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "cFillColor3",
          "label": "Color intermedio",
          "group": "Código de barras",
          "editor": "color",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "nFillOpacity",
          "label": "Opacidad del relleno",
          "group": "Código de barras",
          "editor": "number",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "nRotation",
          "label": "Rotación",
          "group": "Código de barras",
          "editor": "number",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "nOpacity",
          "label": "Opacidad",
          "group": "Código de barras",
          "editor": "number",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "cBorderColor",
          "label": "Color",
          "group": "Código de barras",
          "editor": "color",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "nBorderWidth",
          "label": "Grosor",
          "group": "Código de barras",
          "editor": "number",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "borderVisibility",
          "label": "Visibilidad",
          "group": "Código de barras",
          "editor": "border-visibility",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "nRounded",
          "label": "Redondeo",
          "group": "Código de barras",
          "editor": "number",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "nShadowSize",
          "label": "Grosor",
          "group": "Código de barras",
          "editor": "number",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "nShadowTransparency",
          "label": "Transparencia",
          "group": "Código de barras",
          "editor": "number",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "cShadowColor",
          "label": "Color",
          "group": "Código de barras",
          "editor": "color",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "cContent",
          "label": "Contenido",
          "group": "Texto enriquecido",
          "editor": "text",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "cVerticalAlign",
          "label": "Alineación vertical",
          "group": "Texto enriquecido",
          "editor": "select",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "cOverflow",
          "label": "Desbordamiento",
          "group": "Texto enriquecido",
          "editor": "select",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "cName",
          "label": "Nombre",
          "group": "Texto enriquecido",
          "editor": "text",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "cType",
          "label": "Tipo de objeto",
          "group": "Texto enriquecido",
          "editor": "text",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "nLayerId",
          "label": "Capa",
          "group": "Texto enriquecido",
          "editor": "select",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "cCondition",
          "label": "Condición de aparición",
          "group": "Texto enriquecido",
          "editor": "text",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "lVisible",
          "label": "Visible",
          "group": "Texto enriquecido",
          "editor": "checkbox",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "lLocked",
          "label": "Bloqueado",
          "group": "Texto enriquecido",
          "editor": "checkbox",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "nLeft",
          "label": "Izquierda",
          "group": "Texto enriquecido",
          "editor": "number",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "nTop",
          "label": "Superior",
          "group": "Texto enriquecido",
          "editor": "number",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "nRight",
          "label": "Derecha",
          "group": "Texto enriquecido",
          "editor": "number",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "nBottom",
          "label": "Inferior",
          "group": "Texto enriquecido",
          "editor": "number",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "nWidth",
          "label": "Ancho",
          "group": "Texto enriquecido",
          "editor": "number",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "nHeight",
          "label": "Alto",
          "group": "Texto enriquecido",
          "editor": "number",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "cBackgroundColor",
          "label": "Color de fondo",
          "group": "Texto enriquecido",
          "editor": "color",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "cFillStyle",
          "label": "Tipo de relleno",
          "group": "Texto enriquecido",
          "editor": "select",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "cFillColor2",
          "label": "Color final",
          "group": "Texto enriquecido",
          "editor": "color",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "cFillColor3",
          "label": "Color intermedio",
          "group": "Texto enriquecido",
          "editor": "color",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "nFillOpacity",
          "label": "Opacidad del relleno",
          "group": "Texto enriquecido",
          "editor": "number",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "nRotation",
          "label": "Rotación",
          "group": "Texto enriquecido",
          "editor": "number",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "nOpacity",
          "label": "Opacidad",
          "group": "Texto enriquecido",
          "editor": "number",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "cBorderColor",
          "label": "Color",
          "group": "Texto enriquecido",
          "editor": "color",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "nBorderWidth",
          "label": "Grosor",
          "group": "Texto enriquecido",
          "editor": "number",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "borderVisibility",
          "label": "Visibilidad",
          "group": "Texto enriquecido",
          "editor": "border-visibility",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "nRounded",
          "label": "Redondeo",
          "group": "Texto enriquecido",
          "editor": "number",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "nShadowSize",
          "label": "Grosor",
          "group": "Texto enriquecido",
          "editor": "number",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "nShadowTransparency",
          "label": "Transparencia",
          "group": "Texto enriquecido",
          "editor": "number",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "cShadowColor",
          "label": "Color",
          "group": "Texto enriquecido",
          "editor": "color",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "cText",
          "label": "Contenido",
          "group": "Texto formateado",
          "editor": "text",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "cFontFamily",
          "label": "Fuente",
          "group": "Texto formateado",
          "editor": "select",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nFontSize",
          "label": "Tamaño",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "lFontBold",
          "label": "Negrita",
          "group": "Texto formateado",
          "editor": "checkbox",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "lFontItalic",
          "label": "Cursiva",
          "group": "Texto formateado",
          "editor": "checkbox",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "lFontUnderline",
          "label": "Subrayado",
          "group": "Texto formateado",
          "editor": "checkbox",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "lFontStrikeout",
          "label": "Tachado",
          "group": "Texto formateado",
          "editor": "checkbox",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "lTextWrap",
          "label": "Partir si no cabe",
          "group": "Texto formateado",
          "editor": "checkbox",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "lAllowPageBreak",
          "label": "Continuar entre páginas",
          "group": "Texto formateado",
          "editor": "checkbox",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nLineSpacing",
          "label": "Interlineado adicional",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nParagraphSpacing",
          "label": "Espacio entre párrafos",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "lKeepEmptyParagraphs",
          "label": "Conservar párrafos vacíos",
          "group": "Texto formateado",
          "editor": "checkbox",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "lTextAdjusted",
          "label": "Justificación forzada",
          "group": "Texto formateado",
          "editor": "checkbox",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "lTrimSpaces",
          "label": "Recortar espacios exteriores",
          "group": "Texto formateado",
          "editor": "checkbox",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "cTextColor",
          "label": "Color",
          "group": "Texto formateado",
          "editor": "color",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nTextOpacity",
          "label": "Opacidad texto",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "cTextAlign",
          "label": "Alineación",
          "group": "Texto formateado",
          "editor": "select",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nTextDecimalPosition",
          "label": "Posición decimal",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "cTextVerticalAlign",
          "label": "Alineación vertical",
          "group": "Texto formateado",
          "editor": "select",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "cName",
          "label": "Nombre",
          "group": "Texto formateado",
          "editor": "text",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "cType",
          "label": "Tipo de objeto",
          "group": "Texto formateado",
          "editor": "text",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nLayerId",
          "label": "Capa",
          "group": "Texto formateado",
          "editor": "select",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "cCondition",
          "label": "Condición de aparición",
          "group": "Texto formateado",
          "editor": "text",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "lVisible",
          "label": "Visible",
          "group": "Texto formateado",
          "editor": "checkbox",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "lLocked",
          "label": "Bloqueado",
          "group": "Texto formateado",
          "editor": "checkbox",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nLeft",
          "label": "Izquierda",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nTop",
          "label": "Superior",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nRight",
          "label": "Derecha",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nBottom",
          "label": "Inferior",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nWidth",
          "label": "Ancho",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nHeight",
          "label": "Alto",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "cBackgroundColor",
          "label": "Color de fondo",
          "group": "Texto formateado",
          "editor": "color",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "cFillStyle",
          "label": "Tipo de relleno",
          "group": "Texto formateado",
          "editor": "select",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "cFillColor2",
          "label": "Color final",
          "group": "Texto formateado",
          "editor": "color",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "cFillColor3",
          "label": "Color intermedio",
          "group": "Texto formateado",
          "editor": "color",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nFillOpacity",
          "label": "Opacidad del relleno",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nRotation",
          "label": "Rotación",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nOpacity",
          "label": "Opacidad",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "cBorderColor",
          "label": "Color",
          "group": "Texto formateado",
          "editor": "color",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nBorderWidth",
          "label": "Grosor",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "borderVisibility",
          "label": "Visibilidad",
          "group": "Texto formateado",
          "editor": "border-visibility",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nRounded",
          "label": "Redondeo",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nShadowSize",
          "label": "Grosor",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nShadowTransparency",
          "label": "Transparencia",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "cShadowColor",
          "label": "Color",
          "group": "Texto formateado",
          "editor": "color",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        }
      ],
      "aAvailableFields": [
        {
          "cName": "DATOS_EMPRESA.empresa",
          "cType": "texto",
          "cOrigin": "DataVar",
          "cGroup": "DATOS_EMPRESA"
        },
        {
          "cName": "DATOS_EMPRESA.fecha",
          "cType": "fecha",
          "cOrigin": "DataVar",
          "cGroup": "DATOS_EMPRESA"
        },
        {
          "cName": "DATOS_EMPRESA.logo_empresa",
          "cType": "imagen",
          "cOrigin": "DataVar",
          "cGroup": "DATOS_EMPRESA"
        },
        {
          "cName": "DATOS_EMPRESA.ruta_logo",
          "cType": "texto",
          "cOrigin": "DataVar",
          "cGroup": "DATOS_EMPRESA"
        },
        {
          "cName": "DATOS_EMPRESA.usuario",
          "cType": "texto",
          "cOrigin": "DataVar",
          "cGroup": "DATOS_EMPRESA"
        },
        {
          "cName": "FACLI.cliente",
          "cType": "texto",
          "cOrigin": "DataVar",
          "cGroup": "FACLI"
        },
        {
          "cName": "FACLI.codigoc",
          "cType": "texto",
          "cOrigin": "DataVar",
          "cGroup": "FACLI"
        },
        {
          "cName": "FACLI.nifc",
          "cType": "texto",
          "cOrigin": "DataVar",
          "cGroup": "FACLI"
        },
        {
          "cName": "FACLI.total",
          "cType": "numerico",
          "cOrigin": "DataVar",
          "cGroup": "FACLI"
        },
        {
          "cName": "LINEAS_FACTURA.cantidad",
          "cType": "numerico",
          "cOrigin": "DetalleVar",
          "cGroup": "LINEAS_FACTURA"
        },
        {
          "cName": "LINEAS_FACTURA.codigo_articulo",
          "cType": "texto",
          "cOrigin": "DetalleVar",
          "cGroup": "LINEAS_FACTURA"
        },
        {
          "cName": "LINEAS_FACTURA.descripcion",
          "cType": "texto",
          "cOrigin": "DetalleVar",
          "cGroup": "LINEAS_FACTURA"
        },
        {
          "cName": "LINEAS_FACTURA.logo_linea",
          "cType": "imagen",
          "cOrigin": "DetalleVar",
          "cGroup": "LINEAS_FACTURA"
        },
        {
          "cName": "LINEAS_FACTURA.precio",
          "cType": "numerico",
          "cOrigin": "DetalleVar",
          "cGroup": "LINEAS_FACTURA"
        },
        {
          "cName": "LINEAS_FACTURA.total_linea",
          "cType": "numerico",
          "cOrigin": "DetalleVar",
          "cGroup": "LINEAS_FACTURA"
        },
        {
          "cName": "VENDE.codvende",
          "cType": "texto",
          "cOrigin": "DataVar",
          "cGroup": "VENDE"
        },
        {
          "cName": "VENDE.nombre",
          "cType": "texto",
          "cOrigin": "DataVar",
          "cGroup": "VENDE"
        }
      ],
      "hTemplate": {
        "cType": "TDocument",
        "cFormatVersion": "1.0",
        "cTemplateId": "",
        "cTemplateName": "Documento",
        "cDocumentKind": "report",
        "cPaperFormat": "a4",
        "cPaperOrientation": "portrait",
        "tModifiedAt": "2026-08-10T07:04:29.435Z",
        "cFileName": "",
        "nPaperWidth": 210,
        "nPaperHeight": 297,
        "cPaperHeightMode": "fixed",
        "nDesignHeight": 250,
        "nContinuousBottomMargin": 5,
        "lShowGrid": true,
        "hUserVars": {},
        "hAcumVars": {},
        "hImportMetadata": {},
        "hLabelLayout": {
          "nLabelWidth": 70,
          "nLabelHeight": 37,
          "nColumns": 3,
          "nRows": 8,
          "nMarginLeft": 0,
          "nMarginTop": 0,
          "nGapHorizontal": 0,
          "nGapVertical": 0,
          "cFlow": "row",
          "cLabelFormat": "manual",
          "nPrintOffsetX": 0,
          "nPrintOffsetY": 0
        },
        "hLayers": {
          "0": {
            "nId": 0,
            "cName": "Capa 1",
            "cCondition": "",
            "lDesignerVisible": true,
            "cColor": "#000000"
          }
        },
        "aObjects": [
          {
            "cId": "obj_1786345469454_i0vkns",
            "cName": "Texto 1",
            "cType": "TText",
            "nLeft": 10,
            "nTop": 10,
            "nWidth": 20,
            "nHeight": 8,
            "lVisible": true,
            "lLocked": false,
            "lSelected": true,
            "nLayerId": 0,
            "nZIndex": 1,
            "cBorderColor": "#000000",
            "cBorderColorFormula": "",
            "nBorderWidth": 0.1,
            "lBorderTop": false,
            "lBorderRight": false,
            "lBorderBottom": false,
            "lBorderLeft": false,
            "cBackgroundColor": "#ffffff",
            "cBackgroundColorFormula": "",
            "cFillStyle": "solid",
            "cFillColor2": "#ffffff",
            "cFillColor2Formula": "",
            "cFillColor3": "#ffffff",
            "cFillColor3Formula": "",
            "nFillOpacity": 1,
            "nRounded": 0,
            "nShadowSize": 0,
            "nShadowTransparency": 50,
            "cShadowColor": "#000000",
            "cShadowColorFormula": "",
            "nRotation": 0,
            "nOpacity": 1,
            "cCondition": "",
            "nPaddingTop": 0,
            "nPaddingRight": 0,
            "nPaddingBottom": 0,
            "nPaddingLeft": 0,
            "nLl12LinkID": 0,
            "nLl12LinkToID": 0,
            "nLl12LinkMode": 0,
            "nLl12GroupId": 0,
            "lLl12WrapBefore": false,
            "cTableId": "",
            "cTableSectionKey": "",
            "cText": "\"TEXTO 1\"",
            "cFontFamily": "Arial",
            "nFontSize": 12,
            "nFontOutPrecision": 0,
            "nFontPitchAndFamily": 0,
            "lFontBold": false,
            "cFontBoldFormula": "",
            "lFontItalic": false,
            "cFontItalicFormula": "",
            "lFontUnderline": false,
            "cFontUnderlineFormula": "",
            "lFontStrikeout": false,
            "cFontStrikeoutFormula": "",
            "lTextWrap": true,
            "lAllowPageBreak": false,
            "nLineSpacing": 0,
            "nParagraphSpacing": 0,
            "lKeepEmptyParagraphs": true,
            "lTextAdjusted": false,
            "lTrimSpaces": false,
            "cTextFlowGroup": "",
            "nTextFlowOrder": 0,
            "nTextFlowLineHeight": 0,
            "cTextColor": "#000000",
            "cTextColorFormula": "",
            "nTextOpacity": 1,
            "cTextAlign": "left",
            "nTextDecimalPosition": -10,
            "cTextVerticalAlign": "top",
            "cLl12SourceType": "",
            "cLl12SourceJson": ""
          },
          {
            "cId": "obj_1786345469454_qd5wk3",
            "cName": "Texto 2",
            "cType": "TText",
            "nLeft": 40,
            "nTop": 10,
            "nWidth": 20,
            "nHeight": 8,
            "lVisible": true,
            "lLocked": false,
            "lSelected": false,
            "nLayerId": 0,
            "nZIndex": 1,
            "cBorderColor": "#000000",
            "cBorderColorFormula": "",
            "nBorderWidth": 0.1,
            "lBorderTop": false,
            "lBorderRight": false,
            "lBorderBottom": false,
            "lBorderLeft": false,
            "cBackgroundColor": "#ffffff",
            "cBackgroundColorFormula": "",
            "cFillStyle": "solid",
            "cFillColor2": "#ffffff",
            "cFillColor2Formula": "",
            "cFillColor3": "#ffffff",
            "cFillColor3Formula": "",
            "nFillOpacity": 1,
            "nRounded": 0,
            "nShadowSize": 0,
            "nShadowTransparency": 50,
            "cShadowColor": "#000000",
            "cShadowColorFormula": "",
            "nRotation": 0,
            "nOpacity": 1,
            "cCondition": "",
            "nPaddingTop": 0,
            "nPaddingRight": 0,
            "nPaddingBottom": 0,
            "nPaddingLeft": 0,
            "nLl12LinkID": 0,
            "nLl12LinkToID": 0,
            "nLl12LinkMode": 0,
            "nLl12GroupId": 0,
            "lLl12WrapBefore": false,
            "cTableId": "",
            "cTableSectionKey": "",
            "cText": "\"TEXTO 2\"",
            "cFontFamily": "Arial",
            "nFontSize": 12,
            "nFontOutPrecision": 0,
            "nFontPitchAndFamily": 0,
            "lFontBold": false,
            "cFontBoldFormula": "",
            "lFontItalic": false,
            "cFontItalicFormula": "",
            "lFontUnderline": false,
            "cFontUnderlineFormula": "",
            "lFontStrikeout": false,
            "cFontStrikeoutFormula": "",
            "lTextWrap": true,
            "lAllowPageBreak": false,
            "nLineSpacing": 0,
            "nParagraphSpacing": 0,
            "lKeepEmptyParagraphs": true,
            "lTextAdjusted": false,
            "lTrimSpaces": false,
            "cTextFlowGroup": "",
            "nTextFlowOrder": 0,
            "nTextFlowLineHeight": 0,
            "cTextColor": "#000000",
            "cTextColorFormula": "",
            "nTextOpacity": 1,
            "cTextAlign": "left",
            "nTextDecimalPosition": -10,
            "cTextVerticalAlign": "top",
            "cLl12SourceType": "",
            "cLl12SourceJson": ""
          },
          {
            "cId": "obj_1786345469454_0xese5",
            "cName": "Texto 3",
            "cType": "TText",
            "nLeft": 70,
            "nTop": 10,
            "nWidth": 20,
            "nHeight": 8,
            "lVisible": true,
            "lLocked": false,
            "lSelected": false,
            "nLayerId": 0,
            "nZIndex": 1,
            "cBorderColor": "#000000",
            "cBorderColorFormula": "",
            "nBorderWidth": 0.1,
            "lBorderTop": false,
            "lBorderRight": false,
            "lBorderBottom": false,
            "lBorderLeft": false,
            "cBackgroundColor": "#ffffff",
            "cBackgroundColorFormula": "",
            "cFillStyle": "solid",
            "cFillColor2": "#ffffff",
            "cFillColor2Formula": "",
            "cFillColor3": "#ffffff",
            "cFillColor3Formula": "",
            "nFillOpacity": 1,
            "nRounded": 0,
            "nShadowSize": 0,
            "nShadowTransparency": 50,
            "cShadowColor": "#000000",
            "cShadowColorFormula": "",
            "nRotation": 0,
            "nOpacity": 1,
            "cCondition": "",
            "nPaddingTop": 0,
            "nPaddingRight": 0,
            "nPaddingBottom": 0,
            "nPaddingLeft": 0,
            "nLl12LinkID": 0,
            "nLl12LinkToID": 0,
            "nLl12LinkMode": 0,
            "nLl12GroupId": 0,
            "lLl12WrapBefore": false,
            "cTableId": "",
            "cTableSectionKey": "",
            "cText": "\"TEXTO 3\"",
            "cFontFamily": "Arial",
            "nFontSize": 12,
            "nFontOutPrecision": 0,
            "nFontPitchAndFamily": 0,
            "lFontBold": false,
            "cFontBoldFormula": "",
            "lFontItalic": false,
            "cFontItalicFormula": "",
            "lFontUnderline": false,
            "cFontUnderlineFormula": "",
            "lFontStrikeout": false,
            "cFontStrikeoutFormula": "",
            "lTextWrap": true,
            "lAllowPageBreak": false,
            "nLineSpacing": 0,
            "nParagraphSpacing": 0,
            "lKeepEmptyParagraphs": true,
            "lTextAdjusted": false,
            "lTrimSpaces": false,
            "cTextFlowGroup": "",
            "nTextFlowOrder": 0,
            "nTextFlowLineHeight": 0,
            "cTextColor": "#000000",
            "cTextColorFormula": "",
            "nTextOpacity": 1,
            "cTextAlign": "left",
            "nTextDecimalPosition": -10,
            "cTextVerticalAlign": "top",
            "cLl12SourceType": "",
            "cLl12SourceJson": ""
          },
          {
            "cId": "obj_1786345469454_rjb0q5",
            "cName": "Rectángulo",
            "cType": "TRectangle",
            "nLeft": 10,
            "nTop": 30,
            "nWidth": 40,
            "nHeight": 20,
            "lVisible": true,
            "lLocked": false,
            "lSelected": false,
            "nLayerId": 0,
            "nZIndex": 1,
            "cBorderColor": "#000000",
            "cBorderColorFormula": "",
            "nBorderWidth": 0.1,
            "lBorderTop": true,
            "lBorderRight": true,
            "lBorderBottom": true,
            "lBorderLeft": true,
            "cBackgroundColor": "#000000",
            "cBackgroundColorFormula": "",
            "cFillStyle": "solid",
            "cFillColor2": "#ffffff",
            "cFillColor2Formula": "",
            "cFillColor3": "#ffffff",
            "cFillColor3Formula": "",
            "nFillOpacity": 1,
            "nRounded": 0,
            "nShadowSize": 0,
            "nShadowTransparency": 50,
            "cShadowColor": "#000000",
            "cShadowColorFormula": "",
            "nRotation": 0,
            "nOpacity": 1,
            "cCondition": "",
            "nPaddingTop": 0,
            "nPaddingRight": 0,
            "nPaddingBottom": 0,
            "nPaddingLeft": 0,
            "nLl12LinkID": 0,
            "nLl12LinkToID": 0,
            "nLl12LinkMode": 0,
            "nLl12GroupId": 0,
            "lLl12WrapBefore": false,
            "cTableId": "",
            "cTableSectionKey": ""
          }
        ]
      }
    },
    "response": {
      "lOk": true,
      "hInspection": {
        "cInstruction": "pon todos los textos en rojo",
        "cProvider": "Ollama",
        "cModelSelection": "Ollama — GPT-OSS 20B",
        "cModel": "gpt-oss:20b",
        "cRepresentation": "COMMANDS",
        "cRawResponse": "{\"commands\":[{\"command\":\"setProperty\",\"target\":\"selection\",\"property\":\"cTextColor\",\"value\":\"#ff0000\"}]}",
        "cThinking": "Need setProperty for each text. Only selection has one text. So command: setProperty target:\"selection\" property:\"cTextColor\" value:\"#ff0000\".",
        "cOllamaRequest": "{\"model\":\"gpt-oss:20b\",\"messages\":[{\"role\":\"system\",\"content\":\"Interpreta la instrucciÃ³n y devuelve Ãºnicamente JSON vÃ¡lido con la forma {\\\"commands\\\":[{\\\"command\\\":\\\"setProperty\\\",\\\"target\\\":\\\"selection\\\",\\\"property\\\":\\\"propiedad_real\\\",\\\"value\\\":valor}]}. Cada comando DEBE usar la clave command (nunca type) y target. Comandos permitidos: setProperty, move, resize, delete, align, distribute, reorder, duplicate, tableMoveColumn, tableSetColumnWidth, tableInsertColumn, tableDeleteColumn, tableInsertLine, tableDeleteLine, tableMoveLine, tableSetLineHeight, tableSetLineBackground, tableSetLineBorderColor, tableSetLineBorderWidth, tableSetLinePadding, tableSetLineBorderRadius, tableSetLineBorderSide, tableSetLineVerticalSeparators, tableSetLineZebraEnabled, tableSetLineZebraColor, tableSetLineCondition, tableSetLineSuppressCondition, tableSetLineBackgroundColorFormula, tableSetLineBorderColorFormula. Prioridad: propiedad o estilo â†’ setProperty; desplazamiento relativo â†’ move; tamaÃ±o relativo â†’ resize; alineaciÃ³n de varios objetos â†’ align; eliminar objetos â†’ delete. Para eliminar usa exactamente {\\\"command\\\":\\\"delete\\\",\\\"target\\\":\\\"selection\\\"}. Si se pide duplicar, reducir o cambiar el tamaÃ±o, devuelve Ãºnicamente resize y no uses setProperty para propiedades numÃ©ricas. Para setProperty usa exactamente property y value, nunca name ni valores como *2. Para move usa {\\\"command\\\":\\\"move\\\",\\\"target\\\":\\\"selection\\\",\\\"dx\\\":10,\\\"dy\\\":0}; para resize usa {\\\"command\\\":\\\"resize\\\",\\\"target\\\":\\\"selection\\\",\\\"scaleX\\\":0.5,\\\"scaleY\\\":0.5}. Para alinear usa exactamente {\\\"command\\\":\\\"align\\\",\\\"target\\\":\\\"selection\\\",\\\"mode\\\":\\\"left\\\"}; modos vÃ¡lidos: left|right|top|bottom|horizontalCenter|verticalCenter. Si la orden se refiere a los objetos seleccionados, usa target:\\\"selection\\\". No enumeres IDs ni calcules coordenadas o dimensiones finales. El contexto distingue SELECCION_ACTUAL_SCOPE=selection y RESTO_DEL_DOCUMENTO_SCOPE=global. Usa target:\\\"selection\\\" para referencias a la selecciÃ³n actual. Para instrucciones globales como todos, cada o todo el documento, usa la forma ya soportada target:{\\\"ids\\\":[...]} con los cId existentes de la selecciÃ³n y del resto del documento que correspondan; no inventes IDs y no uses target:\\\"selection\\\" para una orden global. Para distribuir usa exactamente {\\\"command\\\":\\\"distribute\\\",\\\"target\\\":\\\"selection\\\",\\\"mode\\\":\\\"horizontal\\\"}; modos vÃƒÂ¡lidos: horizontal|vertical. Para reordenar usa exactamente {\\\"command\\\":\\\"reorder\\\",\\\"target\\\":\\\"selection\\\",\\\"mode\\\":\\\"bringToFront\\\"}; modos vÃƒÂ¡lidos: bringToFront=traer al frente, sendToBack=enviar al fondo, bringForward=subir un nivel, sendBackward=bajar un nivel. Para duplicar usa exactamente {\\\"command\\\":\\\"duplicate\\\",\\\"target\\\":\\\"selection\\\"}. Para tablas usa Ãºnicamente estas formas: {\\\"command\\\":\\\"tableMoveColumn\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"header\\\",\\\"lineIndex\\\":0,\\\"fromIndex\\\":2,\\\"toIndex\\\":0}, {\\\"command\\\":\\\"tableSetColumnWidth\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"header\\\",\\\"lineIndex\\\":0,\\\"columnIndex\\\":0,\\\"width\\\":30}, {\\\"command\\\":\\\"tableInsertColumn\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"columnIndex\\\":2}, {\\\"command\\\":\\\"tableDeleteColumn\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"columnIndex\\\":2}, {\\\"command\\\":\\\"tableInsertLine\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":1}, {\\\"command\\\":\\\"tableDeleteLine\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":1}, {\\\"command\\\":\\\"tableMoveLine\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"fromIndex\\\":1,\\\"toIndex\\\":0}, {\\\"command\\\":\\\"tableSetLineHeight\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"height\\\":12}, {\\\"command\\\":\\\"tableSetLineBackground\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"color\\\":\\\"#d3d3d3\\\"}; section: header|groupHeader|detail|groupFooter|footer. Los Ã­ndices son enteros cero-basados y no negativos. tableSetLineHeight usa altura fija en milÃ­metros >=1. tableSetLineBackground usa Ãºnicamente color HEX fijo; no usa fÃ³rmulas ni paths privados. Insertar columna usa columnIndex como posiciÃ³n antes de la columna existente; si coincide con el nÃºmero actual de columnas, aÃ±ade al final. Insertar lÃ­nea usa lineIndex como posiciÃ³n antes de la lÃ­nea existente; si coincide con el nÃºmero actual de lÃ­neas, aÃ±ade al final. No uses hSections, aLines ni aCells. SemÃ¡ntica de lÃ­neas OBLIGATORIA: si una secciÃ³n tiene una sola lÃ­nea, basta mencionar la secciÃ³n y usa lineIndex 0. Si tiene varias lÃ­neas, una operaciÃ³n estructural debe indicar la lÃ­nea; si no la indica y no dice todas, devuelve EXACTAMENTE {\\\"commands\\\":[]}. Solo si dice todas las lÃ­neas genera una operaciÃ³n por cada lÃ­nea existente. Esta regla no afecta a objetos visuales de celda, que siguen usando commands normales. Para cambiar altura o fondo fijo de una lÃ­nea de TTable usa obligatoriamente tableSetLineHeight o tableSetLineBackground con section y lineIndex; no uses setProperty para esas operaciones. Shapes adicionales de lÃ­nea: {\\\"command\\\":\\\"tableSetLineBorderColor\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"color\\\":\\\"#0000ff\\\"}, {\\\"command\\\":\\\"tableSetLineBorderWidth\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"width\\\":1}, {\\\"command\\\":\\\"tableSetLinePadding\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"side\\\":\\\"nTop\\\",\\\"value\\\":2}, {\\\"command\\\":\\\"tableSetLineBorderRadius\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"radius\\\":2}, {\\\"command\\\":\\\"tableSetLineBorderSide\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"side\\\":\\\"top\\\",\\\"visible\\\":true}, {\\\"command\\\":\\\"tableSetLineVerticalSeparators\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"visible\\\":true}, {\\\"command\\\":\\\"tableSetLineCondition\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"formula\\\":\\\"DETAIL.cantidad > 0\\\"}, {\\\"command\\\":\\\"tableSetLineSuppressCondition\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"formula\\\":\\\"DETAIL.importe == 0\\\"}, {\\\"command\\\":\\\"tableSetLineBackgroundColorFormula\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"formula\\\":\\\"IF(...)\\\"}, {\\\"command\\\":\\\"tableSetLineBorderColorFormula\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"formula\\\":\\\"IF(...)\\\"}. Las cuatro primitivas de fórmula reciben formula como string literal y aceptan string vacío para borrar; no evalúes ni cambies la sintaxis. Usa la primitiva específica según sea condición, supresión o fórmula de color; no uses paths hBorder, hBackground ni setProperty. Si la instrucciÃ³n menciona una lÃ­nea, cabecera, detalle o pie, el color de borde de esa lÃ­nea usa tableSetLineBorderColor y nunca setProperty. Zebra solo existe en lÃ­neas detail. Shapes exactas: {\\\"command\\\":\\\"tableSetLineZebraEnabled\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"enabled\\\":true} y {\\\"command\\\":\\\"tableSetLineZebraColor\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"role\\\":\\\"odd\\\",\\\"color\\\":\\\"#d3d3d3\\\"}. Usa enabled booleano para activar o desactivar y role odd/even para filas impares/pares. No uses hZebraPattern ni paths privados. TambiÃƒÂ©n se permite create: {\\\"command\\\":\\\"create\\\",\\\"type\\\":\\\"TText\\\",\\\"properties\\\":{\\\"cText\\\":\\\"\\\\\\\\\\\"texto\\\\\\\\\\\"\\\"}}. En create describe ÃƒÂºnicamente lo solicitado: incluye solo el tipo, contenido, posiciÃƒÂ³n y propiedades que la instrucciÃƒÂ³n pida explÃƒÂ­citamente; el diseÃƒÂ±ador completa los defaults reales. Tipos reales: TText,TRectangle,TEllipse,TImage,TLine,TBarcode,richText,TFormattedText. Properties solo editables, nunca cId, defaults, estructura interna ni geometrÃƒÂ­a. position usa {\\\"x\\\":20,\\\"y\\\":30}. Una ref es temporal dentro de esta respuesta: el create declara ref:\\\"new1\\\" y un comando posterior apunta al mismo objeto con target:{\\\"ref\\\":\\\"new1\\\"}. Ejemplo: {\\\"commands\\\":[{\\\"command\\\":\\\"create\\\",\\\"ref\\\":\\\"new1\\\",\\\"type\\\":\\\"TText\\\",\\\"properties\\\":{\\\"cText\\\":\\\"\\\\\\\\\\\"TOTAL\\\\\\\\\\\"\\\"}},{\\\"command\\\":\\\"resize\\\",\\\"target\\\":{\\\"ref\\\":\\\"new1\\\"},\\\"scaleX\\\":2,\\\"scaleY\\\":2}]}. TIPOS:TBarcode=Código de barras,TEllipse=Elipse,TFormattedText=Texto formateado,TImage=Imagen,TLine=Línea,TRectangle=Rectángulo,TText=Texto,richText=Texto enriquecido. PROPS_TBarcode:cBackgroundColor:string=Código de barras / Color de fondo,cBarcodeType:string=Código de barras / Tipo,cBorderColor:string=Código de barras / Color,cColor:string=Código de barras / Color,cCondition:string=Código de barras / Condición de aparición,cContent:string=Código de barras / Contenido,cFillColor2:string=Código de barras / Color final,cFillColor3:string=Código de barras / Color intermedio,cFillStyle:string=Código de barras / Tipo de relleno,cFontFamily:string=Código de barras / Fuente,cShadowColor:string=Código de barras / Color,lFontBold:boolean=Código de barras / Negrita,lFontItalic:boolean=Código de barras / Cursiva,lFontStrikeout:boolean=Código de barras / Tachado,lFontUnderline:boolean=Código de barras / Subrayado,lLocked:boolean=Código de barras / Bloqueado,lShowText:boolean=Código de barras / Mostrar texto,lTrimSpaces:boolean=Código de barras / Recortar espacios exteriores,lVisible:boolean=Código de barras / Visible,nBorderWidth:number=Código de barras / Grosor,nFillOpacity:number=Código de barras / Opacidad del relleno,nFontSize:number=Código de barras / Tamaño,nLayerId:number=Código de barras / Capa,nOpacity:number=Código de barras / Opacidad,nRotation:number=Código de barras / Rotación,nRounded:number=Código de barras / Redondeo,nShadowSize:number=Código de barras / Grosor,nShadowTransparency:number=Código de barras / Transparencia. PROPS_TEllipse:cBackgroundColor:string=Elipse / Color de fondo,cBorderColor:string=Elipse / Color,cCondition:string=Elipse / Condición de aparición,cFillColor2:string=Elipse / Color final,cFillColor3:string=Elipse / Color intermedio,cFillStyle:string=Elipse / Tipo de relleno,cShadowColor:string=Elipse / Color,lLocked:boolean=Elipse / Bloqueado,lVisible:boolean=Elipse / Visible,nBorderWidth:number=Elipse / Grosor,nFillOpacity:number=Elipse / Opacidad del relleno,nLayerId:number=Elipse / Capa,nOpacity:number=Elipse / Opacidad,nRotation:number=Elipse / Rotación,nRounded:number=Elipse / Redondeo,nShadowSize:number=Elipse / Grosor,nShadowTransparency:number=Elipse / Transparencia. PROPS_TFormattedText:cBackgroundColor:string=Texto formateado / Color de fondo,cBorderColor:string=Texto formateado / Color,cCondition:string=Texto formateado / Condición de aparición,cFillColor2:string=Texto formateado / Color final,cFillColor3:string=Texto formateado / Color intermedio,cFillStyle:string=Texto formateado / Tipo de relleno,cFontFamily:string=Texto formateado / Fuente,cShadowColor:string=Texto formateado / Color,cText:string=Texto formateado / Contenido,cTextAlign:string=Texto formateado / Alineación,cTextColor:string=Texto formateado / Color,cTextVerticalAlign:string=Texto formateado / Alineación vertical,lAllowPageBreak:boolean=Texto formateado / Continuar entre páginas,lFontBold:boolean=Texto formateado / Negrita,lFontItalic:boolean=Texto formateado / Cursiva,lFontStrikeout:boolean=Texto formateado / Tachado,lFontUnderline:boolean=Texto formateado / Subrayado,lKeepEmptyParagraphs:boolean=Texto formateado / Conservar párrafos vacíos,lLocked:boolean=Texto formateado / Bloqueado,lTextAdjusted:boolean=Texto formateado / Justificación forzada,lTextWrap:boolean=Texto formateado / Partir si no cabe,lTrimSpaces:boolean=Texto formateado / Recortar espacios exteriores,lVisible:boolean=Texto formateado / Visible,nBorderWidth:number=Texto formateado / Grosor,nFillOpacity:number=Texto formateado / Opacidad del relleno,nFontSize:number=Texto formateado / Tamaño,nLayerId:number=Texto formateado / Capa,nLineSpacing:number=Texto formateado / Interlineado adicional,nOpacity:number=Texto formateado / Opacidad,nParagraphSpacing:number=Texto formateado / Espacio entre párrafos,nRotation:number=Texto formateado / Rotación,nRounded:number=Texto formateado / Redondeo,nShadowSize:number=Texto formateado / Grosor,nShadowTransparency:number=Texto formateado / Transparencia,nTextDecimalPosition:number=Texto formateado / Posición decimal,nTextOpacity:number=Texto formateado / Opacidad texto. PROPS_TImage:cBackgroundColor:string=Imagen / Color de fondo,cBorderColor:string=Imagen / Color,cCondition:string=Imagen / Condición de aparición,cFillColor2:string=Imagen / Color final,cFillColor3:string=Imagen / Color intermedio,cFillStyle:string=Imagen / Tipo de relleno,cFit:string=Imagen / Ajuste,cShadowColor:string=Imagen / Color,cSource:string=Imagen / Origen / contenido,cSourceType:string=Imagen / Tipo de origen,lKeepRatio:boolean=Imagen / Mantener proporción,lLocked:boolean=Imagen / Bloqueado,lVisible:boolean=Imagen / Visible,nBorderWidth:number=Imagen / Grosor,nFillOpacity:number=Imagen / Opacidad del relleno,nLayerId:number=Imagen / Capa,nOpacity:number=Imagen / Opacidad,nRotation:number=Imagen / Rotación,nRounded:number=Imagen / Redondeo,nShadowSize:number=Imagen / Grosor,nShadowTransparency:number=Imagen / Transparencia. PROPS_TLine:cBorderColor:string=Línea / Color,cCondition:string=Línea / Condición de aparición,cFillColor2:string=Línea / Color final,cFillColor3:string=Línea / Color intermedio,cFillStyle:string=Línea / Tipo de relleno,cLineStyle:string=Línea / Estilo,cOrientation:string=Línea / Orientación,cShadowColor:string=Línea / Color,lLocked:boolean=Línea / Bloqueado,lVisible:boolean=Línea / Visible,nBorderWidth:number=Línea / Grosor,nFillOpacity:number=Línea / Opacidad del relleno,nLayerId:number=Línea / Capa,nOpacity:number=Línea / Opacidad,nRotation:number=Línea / Rotación,nShadowSize:number=Línea / Grosor,nShadowTransparency:number=Línea / Transparencia. PROPS_TRectangle:cBackgroundColor:string=Rectángulo / Color de fondo,cBorderColor:string=Rectángulo / Color,cCondition:string=Rectángulo / Condición de aparición,cFillColor2:string=Rectángulo / Color final,cFillColor3:string=Rectángulo / Color intermedio,cFillStyle:string=Rectángulo / Tipo de relleno,cShadowColor:string=Rectángulo / Color,lLocked:boolean=Rectángulo / Bloqueado,lVisible:boolean=Rectángulo / Visible,nBorderWidth:number=Rectángulo / Grosor,nFillOpacity:number=Rectángulo / Opacidad del relleno,nLayerId:number=Rectángulo / Capa,nOpacity:number=Rectángulo / Opacidad,nRotation:number=Rectángulo / Rotación,nRounded:number=Rectángulo / Redondeo,nShadowSize:number=Rectángulo / Grosor,nShadowTransparency:number=Rectángulo / Transparencia. PROPS_TText:cBackgroundColor:string=Texto / Color de fondo,cBorderColor:string=Texto / Color,cCondition:string=Texto / Condición de aparición,cFillColor2:string=Texto / Color final,cFillColor3:string=Texto / Color intermedio,cFillStyle:string=Texto / Tipo de relleno,cFontFamily:string=Texto / Fuente,cShadowColor:string=Texto / Color,cText:string=Texto / Contenido,cTextAlign:string=Texto / Alineación,cTextColor:string=Texto / Color,cTextVerticalAlign:string=Texto / Alineación vertical,lAllowPageBreak:boolean=Texto / Continuar entre páginas,lFontBold:boolean=Texto / Negrita,lFontItalic:boolean=Texto / Cursiva,lFontStrikeout:boolean=Texto / Tachado,lFontUnderline:boolean=Texto / Subrayado,lKeepEmptyParagraphs:boolean=Texto / Conservar párrafos vacíos,lLocked:boolean=Texto / Bloqueado,lTextAdjusted:boolean=Texto / Justificación forzada,lTextWrap:boolean=Texto / Partir si no cabe,lTrimSpaces:boolean=Texto / Recortar espacios exteriores,lVisible:boolean=Texto / Visible,nBorderWidth:number=Texto / Grosor,nFillOpacity:number=Texto / Opacidad del relleno,nFontSize:number=Texto / Tamaño,nLayerId:number=Texto / Capa,nLineSpacing:number=Texto / Interlineado adicional,nOpacity:number=Texto / Opacidad,nParagraphSpacing:number=Texto / Espacio entre párrafos,nRotation:number=Texto / Rotación,nRounded:number=Texto / Redondeo,nShadowSize:number=Texto / Grosor,nShadowTransparency:number=Texto / Transparencia,nTextDecimalPosition:number=Texto / Posición decimal,nTextOpacity:number=Texto / Opacidad texto. PROPS_richText:cBackgroundColor:string=Texto enriquecido / Color de fondo,cBorderColor:string=Texto enriquecido / Color,cCondition:string=Texto enriquecido / Condición de aparición,cContent:string=Texto enriquecido / Contenido,cFillColor2:string=Texto enriquecido / Color final,cFillColor3:string=Texto enriquecido / Color intermedio,cFillStyle:string=Texto enriquecido / Tipo de relleno,cOverflow:string=Texto enriquecido / Desbordamiento,cShadowColor:string=Texto enriquecido / Color,cVerticalAlign:string=Texto enriquecido / Alineación vertical,lLocked:boolean=Texto enriquecido / Bloqueado,lVisible:boolean=Texto enriquecido / Visible,nBorderWidth:number=Texto enriquecido / Grosor,nFillOpacity:number=Texto enriquecido / Opacidad del relleno,nLayerId:number=Texto enriquecido / Capa,nOpacity:number=Texto enriquecido / Opacidad,nRotation:number=Texto enriquecido / Rotación,nRounded:number=Texto enriquecido / Redondeo,nShadowSize:number=Texto enriquecido / Grosor,nShadowTransparency:number=Texto enriquecido / Transparencia.\"},{\"role\":\"user\",\"content\":\"SELECCION_ACTUAL_SCOPE=selection:\\n[{\\\"cId\\\":\\\"obj_1786345469454_i0vkns\\\",\\\"cType\\\":\\\"TText\\\",\\\"cName\\\":\\\"Texto 1\\\"}]\\nRESTO_DEL_DOCUMENTO_SCOPE=global:\\n[{\\\"cId\\\":\\\"obj_1786345469454_qd5wk3\\\",\\\"cType\\\":\\\"TText\\\",\\\"cName\\\":\\\"Texto 2\\\"},{\\\"cId\\\":\\\"obj_1786345469454_0xese5\\\",\\\"cType\\\":\\\"TText\\\",\\\"cName\\\":\\\"Texto 3\\\"},{\\\"cId\\\":\\\"obj_1786345469454_rjb0q5\\\",\\\"cType\\\":\\\"TRectangle\\\",\\\"cName\\\":\\\"Rectángulo\\\"}]\\nSELECCIÃ“N REAL:\\n[{\\\"cId\\\":\\\"obj_1786345469454_i0vkns\\\",\\\"cType\\\":\\\"TText\\\",\\\"cName\\\":\\\"Texto 1\\\"}]\\nPROPIEDADES COMUNES EDITABLES: cBackgroundColor:string=Texto formateado / Color de fondo,cBorderColor:string=Texto formateado / Color,cCondition:string=Texto formateado / Condición de aparición,cFillColor2:string=Texto formateado / Color final,cFillColor3:string=Texto formateado / Color intermedio,cFillStyle:string=Texto formateado / Tipo de relleno,cFontFamily:string=Texto formateado / Fuente,cShadowColor:string=Texto formateado / Color,cText:string=Texto formateado / Contenido,cTextAlign:string=Texto formateado / Alineación,cTextColor:string=Texto formateado / Color,cTextVerticalAlign:string=Texto formateado / Alineación vertical,lAllowPageBreak:boolean=Texto formateado / Continuar entre páginas,lBorderBottom:boolean,lBorderLeft:boolean,lBorderRight:boolean,lBorderTop:boolean,lFontBold:boolean=Texto formateado / Negrita,lFontItalic:boolean=Texto formateado / Cursiva,lFontStrikeout:boolean=Texto formateado / Tachado,lFontUnderline:boolean=Texto formateado / Subrayado,lKeepEmptyParagraphs:boolean=Texto formateado / Conservar párrafos vacíos,lLocked:boolean=Texto formateado / Bloqueado,lTextAdjusted:boolean=Texto formateado / Justificación forzada,lTextWrap:boolean=Texto formateado / Partir si no cabe,lTrimSpaces:boolean=Texto formateado / Recortar espacios exteriores,lVisible:boolean=Texto formateado / Visible,nBorderWidth:number=Texto formateado / Grosor,nFillOpacity:number=Texto formateado / Opacidad del relleno,nFontSize:number=Texto formateado / Tamaño,nLayerId:number=Texto formateado / Capa,nLineSpacing:number=Texto formateado / Interlineado adicional,nOpacity:number=Texto formateado / Opacidad,nPaddingBottom:number,nPaddingLeft:number,nPaddingRight:number,nPaddingTop:number,nParagraphSpacing:number=Texto formateado / Espacio entre párrafos,nRotation:number=Texto formateado / Rotación,nRounded:number=Texto formateado / Redondeo,nShadowSize:number=Texto formateado / Grosor,nShadowTransparency:number=Texto formateado / Transparencia,nTextDecimalPosition:number=Texto formateado / Posición decimal,nTextOpacity:number=Texto formateado / Opacidad texto,nZIndex:number\\nCOLORES CANÃ“NICOS: rojo:#ff0000 Â· verde:#008000 Â· verde oscuro:#006400 Â· azul:#0000ff Â· azul oscuro:#00008b Â· amarillo:#ffff00 Â· gris claro:#d3d3d3\\n\\nINSTRUCCIÃ“N:\\npon todos los textos en rojo\"}],\"stream\":false,\"format\":\"json\",\"keep_alive\":-1,\"options\":{\"temperature\":0,\"top_p\":1,\"top_k\":0,\"repeat_penalty\":1.1,\"frequency_penalty\":0,\"presence_penalty\":0,\"num_ctx\":65536,\"num_batch\":4096,\"num_thread\":10,\"num_gpu\":99,\"num_predict\":4096},\"think\":\"low\"}",
        "cHttpBody": "{\"model\":\"gpt-oss:20b\",\"created_at\":\"2026-08-10T07:04:32.3538199Z\",\"message\":{\"role\":\"assistant\",\"content\":\"{\\\"commands\\\":[{\\\"command\\\":\\\"setProperty\\\",\\\"target\\\":\\\"selection\\\",\\\"property\\\":\\\"cTextColor\\\",\\\"value\\\":\\\"#ff0000\\\"}]}\",\"thinking\":\"Need setProperty for each text. Only selection has one text. So command: setProperty target:\\\"selection\\\" property:\\\"cTextColor\\\" value:\\\"#ff0000\\\".\"},\"done\":true,\"done_reason\":\"stop\",\"total_duration\":1471936700,\"load_duration\":196995900,\"prompt_eval_count\":5009,\"prompt_eval_duration\":14314000,\"eval_count\":28,\"eval_duration\":354521000}",
        "hMetrics": {
          "total_duration": 1471936700,
          "load_duration": 196995900,
          "prompt_eval_count": 5009,
          "prompt_eval_duration": 14314000,
          "eval_count": 28,
          "eval_duration": 354521000,
          "unattributed_duration": 906105800
        },
        "hCommands": {
          "commands": [
            {
              "command": "setProperty",
              "target": "selection",
              "property": "cTextColor",
              "value": "#ff0000"
            }
          ]
        },
        "lValid": true,
        "nCreates": 0,
        "nChanges": 0,
        "nDeletes": 0,
        "nStructures": 0,
        "nGeneratedIds": 0,
        "nOperations": 1,
        "nFinalOperations": 1,
        "cValidation": "Shape commands vÃ¡lida; validaciÃ³n de ejecuciÃ³n pendiente",
        "nResponseMilliseconds": 1492.196,
        "tRequestStartedAt": "2026-08-10T09:04:30.863775+02:00",
        "tResponseFinishedAt": "2026-08-10T09:04:32.355988+02:00",
        "hPromptDiagnostics": {
          "nSystemCharacters": 16569,
          "nUserCharacters": 2745,
          "nPromptCharacters": 19315,
          "nPromptTokensAfterEstimated": 4829,
          "nContextTokens": 65536,
          "lPromptFitsContext": true
        }
      }
    },
    "state": {
      "selected": [
        "obj_1786345469454_i0vkns"
      ],
      "objects": [
        {
          "cId": "obj_1786345469454_i0vkns",
          "cType": "TText",
          "nLeft": 10,
          "nTop": 10,
          "nWidth": 20,
          "nHeight": 8,
          "cTextColor": "#ff0000"
        },
        {
          "cId": "obj_1786345469454_qd5wk3",
          "cType": "TText",
          "nLeft": 40,
          "nTop": 10,
          "nWidth": 20,
          "nHeight": 8,
          "cTextColor": "#000000"
        },
        {
          "cId": "obj_1786345469454_0xese5",
          "cType": "TText",
          "nLeft": 70,
          "nTop": 10,
          "nWidth": 20,
          "nHeight": 8,
          "cTextColor": "#000000"
        },
        {
          "cId": "obj_1786345469454_rjb0q5",
          "cType": "TRectangle",
          "nLeft": 10,
          "nTop": 30,
          "nWidth": 40,
          "nHeight": 20
        }
      ]
    }
  },
  {
    "id": "CTRL_GLOBAL_BG",
    "instruction": "cambia todos los fondos negros",
    "fixture": {
      "selected": [
        "obj_1786345472555_t07q1k",
        "obj_1786345472555_n7x7hj",
        "obj_1786345472555_svpfyr"
      ],
      "all": [
        "obj_1786345472555_t07q1k",
        "obj_1786345472555_n7x7hj",
        "obj_1786345472555_svpfyr",
        "obj_1786345472555_ga90cj"
      ]
    },
    "payload": {
      "cAction": "commandsExperimental",
      "cModelKey": "gpt-oss-20b",
      "cInstruction": "cambia todos los fondos negros",
      "aSelectedObjects": [
        {
          "cId": "obj_1786345472555_t07q1k",
          "cType": "TText",
          "cName": "Texto 1"
        }
      ],
      "aPropertyMetadata": [
        {
          "property": "cText",
          "label": "Contenido",
          "group": "Texto",
          "editor": "text"
        },
        {
          "property": "cFontFamily",
          "label": "Fuente",
          "group": "Texto",
          "editor": "select"
        },
        {
          "property": "nFontSize",
          "label": "Tamaño",
          "group": "Texto",
          "editor": "number"
        },
        {
          "property": "lFontBold",
          "label": "Negrita",
          "group": "Texto",
          "editor": "checkbox"
        },
        {
          "property": "lFontItalic",
          "label": "Cursiva",
          "group": "Texto",
          "editor": "checkbox"
        },
        {
          "property": "lFontUnderline",
          "label": "Subrayado",
          "group": "Texto",
          "editor": "checkbox"
        },
        {
          "property": "lFontStrikeout",
          "label": "Tachado",
          "group": "Texto",
          "editor": "checkbox"
        },
        {
          "property": "lTextWrap",
          "label": "Partir si no cabe",
          "group": "Texto",
          "editor": "checkbox"
        },
        {
          "property": "lAllowPageBreak",
          "label": "Continuar entre páginas",
          "group": "Texto",
          "editor": "checkbox"
        },
        {
          "property": "nLineSpacing",
          "label": "Interlineado adicional",
          "group": "Texto",
          "editor": "number"
        },
        {
          "property": "nParagraphSpacing",
          "label": "Espacio entre párrafos",
          "group": "Texto",
          "editor": "number"
        },
        {
          "property": "lKeepEmptyParagraphs",
          "label": "Conservar párrafos vacíos",
          "group": "Texto",
          "editor": "checkbox"
        },
        {
          "property": "lTextAdjusted",
          "label": "Justificación forzada",
          "group": "Texto",
          "editor": "checkbox"
        },
        {
          "property": "lTrimSpaces",
          "label": "Recortar espacios exteriores",
          "group": "Texto",
          "editor": "checkbox"
        },
        {
          "property": "cTextColor",
          "label": "Color",
          "group": "Texto",
          "editor": "color"
        },
        {
          "property": "nTextOpacity",
          "label": "Opacidad texto",
          "group": "Texto",
          "editor": "number"
        },
        {
          "property": "cTextAlign",
          "label": "Alineación",
          "group": "Texto",
          "editor": "select"
        },
        {
          "property": "nTextDecimalPosition",
          "label": "Posición decimal",
          "group": "Texto",
          "editor": "number"
        },
        {
          "property": "cTextVerticalAlign",
          "label": "Alineación vertical",
          "group": "Texto",
          "editor": "select"
        },
        {
          "property": "cName",
          "label": "Nombre",
          "group": "Texto",
          "editor": "text"
        },
        {
          "property": "cType",
          "label": "Tipo de objeto",
          "group": "Texto",
          "editor": "text"
        },
        {
          "property": "nLayerId",
          "label": "Capa",
          "group": "Ejecución",
          "editor": "select"
        },
        {
          "property": "cCondition",
          "label": "Condición de aparición",
          "group": "Ejecución",
          "editor": "text"
        },
        {
          "property": "lVisible",
          "label": "Visible",
          "group": "Ejecución",
          "editor": "checkbox"
        },
        {
          "property": "lLocked",
          "label": "Bloqueado",
          "group": "Ejecución",
          "editor": "checkbox"
        },
        {
          "property": "nLeft",
          "label": "Izquierda",
          "group": "Dimensiones y Color",
          "editor": "number"
        },
        {
          "property": "nTop",
          "label": "Superior",
          "group": "Dimensiones y Color",
          "editor": "number"
        },
        {
          "property": "nRight",
          "label": "Derecha",
          "group": "Dimensiones y Color",
          "editor": "number"
        },
        {
          "property": "nBottom",
          "label": "Inferior",
          "group": "Dimensiones y Color",
          "editor": "number"
        },
        {
          "property": "nWidth",
          "label": "Ancho",
          "group": "Dimensiones y Color",
          "editor": "number"
        },
        {
          "property": "nHeight",
          "label": "Alto",
          "group": "Dimensiones y Color",
          "editor": "number"
        },
        {
          "property": "cBackgroundColor",
          "label": "Color de fondo",
          "group": "Dimensiones y Color",
          "editor": "color"
        },
        {
          "property": "cFillStyle",
          "label": "Tipo de relleno",
          "group": "Dimensiones y Color",
          "editor": "select"
        },
        {
          "property": "cFillColor2",
          "label": "Color final",
          "group": "Dimensiones y Color",
          "editor": "color"
        },
        {
          "property": "cFillColor3",
          "label": "Color intermedio",
          "group": "Dimensiones y Color",
          "editor": "color"
        },
        {
          "property": "nFillOpacity",
          "label": "Opacidad del relleno",
          "group": "Dimensiones y Color",
          "editor": "number"
        },
        {
          "property": "nRotation",
          "label": "Rotación",
          "group": "Transformación",
          "editor": "number"
        },
        {
          "property": "nOpacity",
          "label": "Opacidad",
          "group": "Transformación",
          "editor": "number"
        },
        {
          "property": "cBorderColor",
          "label": "Color",
          "group": "Borde",
          "editor": "color"
        },
        {
          "property": "nBorderWidth",
          "label": "Grosor",
          "group": "Borde",
          "editor": "number"
        },
        {
          "property": "borderVisibility",
          "label": "Visibilidad",
          "group": "Borde",
          "editor": "border-visibility"
        },
        {
          "property": "nRounded",
          "label": "Redondeo",
          "group": "Borde",
          "editor": "number"
        },
        {
          "property": "nShadowSize",
          "label": "Grosor",
          "group": "Sombra",
          "editor": "number"
        },
        {
          "property": "nShadowTransparency",
          "label": "Transparencia",
          "group": "Sombra",
          "editor": "number"
        },
        {
          "property": "cShadowColor",
          "label": "Color",
          "group": "Sombra",
          "editor": "color"
        },
        {
          "property": "cText",
          "label": "Contenido",
          "group": "Texto",
          "editor": "text",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "cFontFamily",
          "label": "Fuente",
          "group": "Texto",
          "editor": "select",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nFontSize",
          "label": "Tamaño",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "lFontBold",
          "label": "Negrita",
          "group": "Texto",
          "editor": "checkbox",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "lFontItalic",
          "label": "Cursiva",
          "group": "Texto",
          "editor": "checkbox",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "lFontUnderline",
          "label": "Subrayado",
          "group": "Texto",
          "editor": "checkbox",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "lFontStrikeout",
          "label": "Tachado",
          "group": "Texto",
          "editor": "checkbox",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "lTextWrap",
          "label": "Partir si no cabe",
          "group": "Texto",
          "editor": "checkbox",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "lAllowPageBreak",
          "label": "Continuar entre páginas",
          "group": "Texto",
          "editor": "checkbox",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nLineSpacing",
          "label": "Interlineado adicional",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nParagraphSpacing",
          "label": "Espacio entre párrafos",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "lKeepEmptyParagraphs",
          "label": "Conservar párrafos vacíos",
          "group": "Texto",
          "editor": "checkbox",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "lTextAdjusted",
          "label": "Justificación forzada",
          "group": "Texto",
          "editor": "checkbox",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "lTrimSpaces",
          "label": "Recortar espacios exteriores",
          "group": "Texto",
          "editor": "checkbox",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "cTextColor",
          "label": "Color",
          "group": "Texto",
          "editor": "color",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nTextOpacity",
          "label": "Opacidad texto",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "cTextAlign",
          "label": "Alineación",
          "group": "Texto",
          "editor": "select",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nTextDecimalPosition",
          "label": "Posición decimal",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "cTextVerticalAlign",
          "label": "Alineación vertical",
          "group": "Texto",
          "editor": "select",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "cName",
          "label": "Nombre",
          "group": "Texto",
          "editor": "text",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "cType",
          "label": "Tipo de objeto",
          "group": "Texto",
          "editor": "text",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nLayerId",
          "label": "Capa",
          "group": "Texto",
          "editor": "select",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "cCondition",
          "label": "Condición de aparición",
          "group": "Texto",
          "editor": "text",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "lVisible",
          "label": "Visible",
          "group": "Texto",
          "editor": "checkbox",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "lLocked",
          "label": "Bloqueado",
          "group": "Texto",
          "editor": "checkbox",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nLeft",
          "label": "Izquierda",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nTop",
          "label": "Superior",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nRight",
          "label": "Derecha",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nBottom",
          "label": "Inferior",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nWidth",
          "label": "Ancho",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nHeight",
          "label": "Alto",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "cBackgroundColor",
          "label": "Color de fondo",
          "group": "Texto",
          "editor": "color",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "cFillStyle",
          "label": "Tipo de relleno",
          "group": "Texto",
          "editor": "select",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "cFillColor2",
          "label": "Color final",
          "group": "Texto",
          "editor": "color",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "cFillColor3",
          "label": "Color intermedio",
          "group": "Texto",
          "editor": "color",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nFillOpacity",
          "label": "Opacidad del relleno",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nRotation",
          "label": "Rotación",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nOpacity",
          "label": "Opacidad",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "cBorderColor",
          "label": "Color",
          "group": "Texto",
          "editor": "color",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nBorderWidth",
          "label": "Grosor",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "borderVisibility",
          "label": "Visibilidad",
          "group": "Texto",
          "editor": "border-visibility",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nRounded",
          "label": "Redondeo",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nShadowSize",
          "label": "Grosor",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nShadowTransparency",
          "label": "Transparencia",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "cShadowColor",
          "label": "Color",
          "group": "Texto",
          "editor": "color",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "cName",
          "label": "Nombre",
          "group": "Rectángulo",
          "editor": "text",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "cType",
          "label": "Tipo de objeto",
          "group": "Rectángulo",
          "editor": "text",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "nLayerId",
          "label": "Capa",
          "group": "Rectángulo",
          "editor": "select",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "cCondition",
          "label": "Condición de aparición",
          "group": "Rectángulo",
          "editor": "text",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "lVisible",
          "label": "Visible",
          "group": "Rectángulo",
          "editor": "checkbox",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "lLocked",
          "label": "Bloqueado",
          "group": "Rectángulo",
          "editor": "checkbox",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "nLeft",
          "label": "Izquierda",
          "group": "Rectángulo",
          "editor": "number",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "nTop",
          "label": "Superior",
          "group": "Rectángulo",
          "editor": "number",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "nRight",
          "label": "Derecha",
          "group": "Rectángulo",
          "editor": "number",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "nBottom",
          "label": "Inferior",
          "group": "Rectángulo",
          "editor": "number",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "nWidth",
          "label": "Ancho",
          "group": "Rectángulo",
          "editor": "number",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "nHeight",
          "label": "Alto",
          "group": "Rectángulo",
          "editor": "number",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "cBackgroundColor",
          "label": "Color de fondo",
          "group": "Rectángulo",
          "editor": "color",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "cFillStyle",
          "label": "Tipo de relleno",
          "group": "Rectángulo",
          "editor": "select",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "cFillColor2",
          "label": "Color final",
          "group": "Rectángulo",
          "editor": "color",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "cFillColor3",
          "label": "Color intermedio",
          "group": "Rectángulo",
          "editor": "color",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "nFillOpacity",
          "label": "Opacidad del relleno",
          "group": "Rectángulo",
          "editor": "number",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "nRotation",
          "label": "Rotación",
          "group": "Rectángulo",
          "editor": "number",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "nOpacity",
          "label": "Opacidad",
          "group": "Rectángulo",
          "editor": "number",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "cBorderColor",
          "label": "Color",
          "group": "Rectángulo",
          "editor": "color",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "nBorderWidth",
          "label": "Grosor",
          "group": "Rectángulo",
          "editor": "number",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "borderVisibility",
          "label": "Visibilidad",
          "group": "Rectángulo",
          "editor": "border-visibility",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "nRounded",
          "label": "Redondeo",
          "group": "Rectángulo",
          "editor": "number",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "nShadowSize",
          "label": "Grosor",
          "group": "Rectángulo",
          "editor": "number",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "nShadowTransparency",
          "label": "Transparencia",
          "group": "Rectángulo",
          "editor": "number",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "cShadowColor",
          "label": "Color",
          "group": "Rectángulo",
          "editor": "color",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "cName",
          "label": "Nombre",
          "group": "Elipse",
          "editor": "text",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "cType",
          "label": "Tipo de objeto",
          "group": "Elipse",
          "editor": "text",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "nLayerId",
          "label": "Capa",
          "group": "Elipse",
          "editor": "select",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "cCondition",
          "label": "Condición de aparición",
          "group": "Elipse",
          "editor": "text",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "lVisible",
          "label": "Visible",
          "group": "Elipse",
          "editor": "checkbox",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "lLocked",
          "label": "Bloqueado",
          "group": "Elipse",
          "editor": "checkbox",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "nLeft",
          "label": "Izquierda",
          "group": "Elipse",
          "editor": "number",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "nTop",
          "label": "Superior",
          "group": "Elipse",
          "editor": "number",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "nRight",
          "label": "Derecha",
          "group": "Elipse",
          "editor": "number",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "nBottom",
          "label": "Inferior",
          "group": "Elipse",
          "editor": "number",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "nWidth",
          "label": "Ancho",
          "group": "Elipse",
          "editor": "number",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "nHeight",
          "label": "Alto",
          "group": "Elipse",
          "editor": "number",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "cBackgroundColor",
          "label": "Color de fondo",
          "group": "Elipse",
          "editor": "color",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "cFillStyle",
          "label": "Tipo de relleno",
          "group": "Elipse",
          "editor": "select",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "cFillColor2",
          "label": "Color final",
          "group": "Elipse",
          "editor": "color",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "cFillColor3",
          "label": "Color intermedio",
          "group": "Elipse",
          "editor": "color",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "nFillOpacity",
          "label": "Opacidad del relleno",
          "group": "Elipse",
          "editor": "number",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "nRotation",
          "label": "Rotación",
          "group": "Elipse",
          "editor": "number",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "nOpacity",
          "label": "Opacidad",
          "group": "Elipse",
          "editor": "number",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "cBorderColor",
          "label": "Color",
          "group": "Elipse",
          "editor": "color",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "nBorderWidth",
          "label": "Grosor",
          "group": "Elipse",
          "editor": "number",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "borderVisibility",
          "label": "Visibilidad",
          "group": "Elipse",
          "editor": "border-visibility",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "nRounded",
          "label": "Redondeo",
          "group": "Elipse",
          "editor": "number",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "nShadowSize",
          "label": "Grosor",
          "group": "Elipse",
          "editor": "number",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "nShadowTransparency",
          "label": "Transparencia",
          "group": "Elipse",
          "editor": "number",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "cShadowColor",
          "label": "Color",
          "group": "Elipse",
          "editor": "color",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "cName",
          "label": "Nombre",
          "group": "Imagen",
          "editor": "text",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "cType",
          "label": "Tipo de objeto",
          "group": "Imagen",
          "editor": "text",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "nLayerId",
          "label": "Capa",
          "group": "Imagen",
          "editor": "select",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "cCondition",
          "label": "Condición de aparición",
          "group": "Imagen",
          "editor": "text",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "lVisible",
          "label": "Visible",
          "group": "Imagen",
          "editor": "checkbox",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "lLocked",
          "label": "Bloqueado",
          "group": "Imagen",
          "editor": "checkbox",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "cSource",
          "label": "Origen / contenido",
          "group": "Imagen",
          "editor": "text",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "cSourceType",
          "label": "Tipo de origen",
          "group": "Imagen",
          "editor": "select",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "lKeepRatio",
          "label": "Mantener proporción",
          "group": "Imagen",
          "editor": "checkbox",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "cFit",
          "label": "Ajuste",
          "group": "Imagen",
          "editor": "select",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "nLeft",
          "label": "Izquierda",
          "group": "Imagen",
          "editor": "number",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "nTop",
          "label": "Superior",
          "group": "Imagen",
          "editor": "number",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "nRight",
          "label": "Derecha",
          "group": "Imagen",
          "editor": "number",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "nBottom",
          "label": "Inferior",
          "group": "Imagen",
          "editor": "number",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "nWidth",
          "label": "Ancho",
          "group": "Imagen",
          "editor": "number",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "nHeight",
          "label": "Alto",
          "group": "Imagen",
          "editor": "number",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "cBackgroundColor",
          "label": "Color de fondo",
          "group": "Imagen",
          "editor": "color",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "cFillStyle",
          "label": "Tipo de relleno",
          "group": "Imagen",
          "editor": "select",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "cFillColor2",
          "label": "Color final",
          "group": "Imagen",
          "editor": "color",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "cFillColor3",
          "label": "Color intermedio",
          "group": "Imagen",
          "editor": "color",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "nFillOpacity",
          "label": "Opacidad del relleno",
          "group": "Imagen",
          "editor": "number",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "nRotation",
          "label": "Rotación",
          "group": "Imagen",
          "editor": "number",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "nOpacity",
          "label": "Opacidad",
          "group": "Imagen",
          "editor": "number",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "cBorderColor",
          "label": "Color",
          "group": "Imagen",
          "editor": "color",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "nBorderWidth",
          "label": "Grosor",
          "group": "Imagen",
          "editor": "number",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "borderVisibility",
          "label": "Visibilidad",
          "group": "Imagen",
          "editor": "border-visibility",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "nRounded",
          "label": "Redondeo",
          "group": "Imagen",
          "editor": "number",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "nShadowSize",
          "label": "Grosor",
          "group": "Imagen",
          "editor": "number",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "nShadowTransparency",
          "label": "Transparencia",
          "group": "Imagen",
          "editor": "number",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "cShadowColor",
          "label": "Color",
          "group": "Imagen",
          "editor": "color",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "cName",
          "label": "Nombre",
          "group": "Línea",
          "editor": "text",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "cType",
          "label": "Tipo de objeto",
          "group": "Línea",
          "editor": "text",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "nLayerId",
          "label": "Capa",
          "group": "Línea",
          "editor": "select",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "cCondition",
          "label": "Condición de aparición",
          "group": "Línea",
          "editor": "text",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "lVisible",
          "label": "Visible",
          "group": "Línea",
          "editor": "checkbox",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "lLocked",
          "label": "Bloqueado",
          "group": "Línea",
          "editor": "checkbox",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "cOrientation",
          "label": "Orientación",
          "group": "Línea",
          "editor": "select",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "cBorderColor",
          "label": "Color",
          "group": "Línea",
          "editor": "color",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "nBorderWidth",
          "label": "Grosor",
          "group": "Línea",
          "editor": "number",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "cLineStyle",
          "label": "Estilo",
          "group": "Línea",
          "editor": "select",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "nLeft",
          "label": "Izquierda",
          "group": "Línea",
          "editor": "number",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "nTop",
          "label": "Superior",
          "group": "Línea",
          "editor": "number",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "nRight",
          "label": "Derecha",
          "group": "Línea",
          "editor": "number",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "nBottom",
          "label": "Inferior",
          "group": "Línea",
          "editor": "number",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "nWidth",
          "label": "Ancho",
          "group": "Línea",
          "editor": "number",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "nHeight",
          "label": "Alto",
          "group": "Línea",
          "editor": "number",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "cFillStyle",
          "label": "Tipo de relleno",
          "group": "Línea",
          "editor": "select",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "cFillColor2",
          "label": "Color final",
          "group": "Línea",
          "editor": "color",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "cFillColor3",
          "label": "Color intermedio",
          "group": "Línea",
          "editor": "color",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "nFillOpacity",
          "label": "Opacidad del relleno",
          "group": "Línea",
          "editor": "number",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "nRotation",
          "label": "Rotación",
          "group": "Línea",
          "editor": "number",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "nOpacity",
          "label": "Opacidad",
          "group": "Línea",
          "editor": "number",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "nShadowSize",
          "label": "Grosor",
          "group": "Línea",
          "editor": "number",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "nShadowTransparency",
          "label": "Transparencia",
          "group": "Línea",
          "editor": "number",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "cShadowColor",
          "label": "Color",
          "group": "Línea",
          "editor": "color",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "cName",
          "label": "Nombre",
          "group": "Código de barras",
          "editor": "text",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "cType",
          "label": "Tipo de objeto",
          "group": "Código de barras",
          "editor": "text",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "nLayerId",
          "label": "Capa",
          "group": "Código de barras",
          "editor": "select",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "cCondition",
          "label": "Condición de aparición",
          "group": "Código de barras",
          "editor": "text",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "lVisible",
          "label": "Visible",
          "group": "Código de barras",
          "editor": "checkbox",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "lLocked",
          "label": "Bloqueado",
          "group": "Código de barras",
          "editor": "checkbox",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "cContent",
          "label": "Contenido",
          "group": "Código de barras",
          "editor": "text",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "cBarcodeType",
          "label": "Tipo",
          "group": "Código de barras",
          "editor": "select",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "lShowText",
          "label": "Mostrar texto",
          "group": "Código de barras",
          "editor": "checkbox",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "lTrimSpaces",
          "label": "Recortar espacios exteriores",
          "group": "Código de barras",
          "editor": "checkbox",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "cFontFamily",
          "label": "Fuente",
          "group": "Código de barras",
          "editor": "select",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "nFontSize",
          "label": "Tamaño",
          "group": "Código de barras",
          "editor": "number",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "lFontBold",
          "label": "Negrita",
          "group": "Código de barras",
          "editor": "checkbox",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "lFontItalic",
          "label": "Cursiva",
          "group": "Código de barras",
          "editor": "checkbox",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "lFontUnderline",
          "label": "Subrayado",
          "group": "Código de barras",
          "editor": "checkbox",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "lFontStrikeout",
          "label": "Tachado",
          "group": "Código de barras",
          "editor": "checkbox",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "cColor",
          "label": "Color",
          "group": "Código de barras",
          "editor": "color",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "cBackgroundColor",
          "label": "Color de fondo",
          "group": "Código de barras",
          "editor": "color",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "nLeft",
          "label": "Izquierda",
          "group": "Código de barras",
          "editor": "number",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "nTop",
          "label": "Superior",
          "group": "Código de barras",
          "editor": "number",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "nRight",
          "label": "Derecha",
          "group": "Código de barras",
          "editor": "number",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "nBottom",
          "label": "Inferior",
          "group": "Código de barras",
          "editor": "number",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "nWidth",
          "label": "Ancho",
          "group": "Código de barras",
          "editor": "number",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "nHeight",
          "label": "Alto",
          "group": "Código de barras",
          "editor": "number",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "cFillStyle",
          "label": "Tipo de relleno",
          "group": "Código de barras",
          "editor": "select",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "cFillColor2",
          "label": "Color final",
          "group": "Código de barras",
          "editor": "color",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "cFillColor3",
          "label": "Color intermedio",
          "group": "Código de barras",
          "editor": "color",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "nFillOpacity",
          "label": "Opacidad del relleno",
          "group": "Código de barras",
          "editor": "number",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "nRotation",
          "label": "Rotación",
          "group": "Código de barras",
          "editor": "number",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "nOpacity",
          "label": "Opacidad",
          "group": "Código de barras",
          "editor": "number",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "cBorderColor",
          "label": "Color",
          "group": "Código de barras",
          "editor": "color",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "nBorderWidth",
          "label": "Grosor",
          "group": "Código de barras",
          "editor": "number",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "borderVisibility",
          "label": "Visibilidad",
          "group": "Código de barras",
          "editor": "border-visibility",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "nRounded",
          "label": "Redondeo",
          "group": "Código de barras",
          "editor": "number",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "nShadowSize",
          "label": "Grosor",
          "group": "Código de barras",
          "editor": "number",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "nShadowTransparency",
          "label": "Transparencia",
          "group": "Código de barras",
          "editor": "number",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "cShadowColor",
          "label": "Color",
          "group": "Código de barras",
          "editor": "color",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "cContent",
          "label": "Contenido",
          "group": "Texto enriquecido",
          "editor": "text",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "cVerticalAlign",
          "label": "Alineación vertical",
          "group": "Texto enriquecido",
          "editor": "select",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "cOverflow",
          "label": "Desbordamiento",
          "group": "Texto enriquecido",
          "editor": "select",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "cName",
          "label": "Nombre",
          "group": "Texto enriquecido",
          "editor": "text",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "cType",
          "label": "Tipo de objeto",
          "group": "Texto enriquecido",
          "editor": "text",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "nLayerId",
          "label": "Capa",
          "group": "Texto enriquecido",
          "editor": "select",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "cCondition",
          "label": "Condición de aparición",
          "group": "Texto enriquecido",
          "editor": "text",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "lVisible",
          "label": "Visible",
          "group": "Texto enriquecido",
          "editor": "checkbox",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "lLocked",
          "label": "Bloqueado",
          "group": "Texto enriquecido",
          "editor": "checkbox",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "nLeft",
          "label": "Izquierda",
          "group": "Texto enriquecido",
          "editor": "number",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "nTop",
          "label": "Superior",
          "group": "Texto enriquecido",
          "editor": "number",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "nRight",
          "label": "Derecha",
          "group": "Texto enriquecido",
          "editor": "number",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "nBottom",
          "label": "Inferior",
          "group": "Texto enriquecido",
          "editor": "number",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "nWidth",
          "label": "Ancho",
          "group": "Texto enriquecido",
          "editor": "number",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "nHeight",
          "label": "Alto",
          "group": "Texto enriquecido",
          "editor": "number",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "cBackgroundColor",
          "label": "Color de fondo",
          "group": "Texto enriquecido",
          "editor": "color",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "cFillStyle",
          "label": "Tipo de relleno",
          "group": "Texto enriquecido",
          "editor": "select",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "cFillColor2",
          "label": "Color final",
          "group": "Texto enriquecido",
          "editor": "color",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "cFillColor3",
          "label": "Color intermedio",
          "group": "Texto enriquecido",
          "editor": "color",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "nFillOpacity",
          "label": "Opacidad del relleno",
          "group": "Texto enriquecido",
          "editor": "number",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "nRotation",
          "label": "Rotación",
          "group": "Texto enriquecido",
          "editor": "number",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "nOpacity",
          "label": "Opacidad",
          "group": "Texto enriquecido",
          "editor": "number",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "cBorderColor",
          "label": "Color",
          "group": "Texto enriquecido",
          "editor": "color",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "nBorderWidth",
          "label": "Grosor",
          "group": "Texto enriquecido",
          "editor": "number",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "borderVisibility",
          "label": "Visibilidad",
          "group": "Texto enriquecido",
          "editor": "border-visibility",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "nRounded",
          "label": "Redondeo",
          "group": "Texto enriquecido",
          "editor": "number",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "nShadowSize",
          "label": "Grosor",
          "group": "Texto enriquecido",
          "editor": "number",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "nShadowTransparency",
          "label": "Transparencia",
          "group": "Texto enriquecido",
          "editor": "number",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "cShadowColor",
          "label": "Color",
          "group": "Texto enriquecido",
          "editor": "color",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "cText",
          "label": "Contenido",
          "group": "Texto formateado",
          "editor": "text",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "cFontFamily",
          "label": "Fuente",
          "group": "Texto formateado",
          "editor": "select",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nFontSize",
          "label": "Tamaño",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "lFontBold",
          "label": "Negrita",
          "group": "Texto formateado",
          "editor": "checkbox",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "lFontItalic",
          "label": "Cursiva",
          "group": "Texto formateado",
          "editor": "checkbox",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "lFontUnderline",
          "label": "Subrayado",
          "group": "Texto formateado",
          "editor": "checkbox",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "lFontStrikeout",
          "label": "Tachado",
          "group": "Texto formateado",
          "editor": "checkbox",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "lTextWrap",
          "label": "Partir si no cabe",
          "group": "Texto formateado",
          "editor": "checkbox",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "lAllowPageBreak",
          "label": "Continuar entre páginas",
          "group": "Texto formateado",
          "editor": "checkbox",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nLineSpacing",
          "label": "Interlineado adicional",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nParagraphSpacing",
          "label": "Espacio entre párrafos",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "lKeepEmptyParagraphs",
          "label": "Conservar párrafos vacíos",
          "group": "Texto formateado",
          "editor": "checkbox",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "lTextAdjusted",
          "label": "Justificación forzada",
          "group": "Texto formateado",
          "editor": "checkbox",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "lTrimSpaces",
          "label": "Recortar espacios exteriores",
          "group": "Texto formateado",
          "editor": "checkbox",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "cTextColor",
          "label": "Color",
          "group": "Texto formateado",
          "editor": "color",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nTextOpacity",
          "label": "Opacidad texto",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "cTextAlign",
          "label": "Alineación",
          "group": "Texto formateado",
          "editor": "select",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nTextDecimalPosition",
          "label": "Posición decimal",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "cTextVerticalAlign",
          "label": "Alineación vertical",
          "group": "Texto formateado",
          "editor": "select",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "cName",
          "label": "Nombre",
          "group": "Texto formateado",
          "editor": "text",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "cType",
          "label": "Tipo de objeto",
          "group": "Texto formateado",
          "editor": "text",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nLayerId",
          "label": "Capa",
          "group": "Texto formateado",
          "editor": "select",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "cCondition",
          "label": "Condición de aparición",
          "group": "Texto formateado",
          "editor": "text",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "lVisible",
          "label": "Visible",
          "group": "Texto formateado",
          "editor": "checkbox",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "lLocked",
          "label": "Bloqueado",
          "group": "Texto formateado",
          "editor": "checkbox",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nLeft",
          "label": "Izquierda",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nTop",
          "label": "Superior",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nRight",
          "label": "Derecha",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nBottom",
          "label": "Inferior",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nWidth",
          "label": "Ancho",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nHeight",
          "label": "Alto",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "cBackgroundColor",
          "label": "Color de fondo",
          "group": "Texto formateado",
          "editor": "color",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "cFillStyle",
          "label": "Tipo de relleno",
          "group": "Texto formateado",
          "editor": "select",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "cFillColor2",
          "label": "Color final",
          "group": "Texto formateado",
          "editor": "color",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "cFillColor3",
          "label": "Color intermedio",
          "group": "Texto formateado",
          "editor": "color",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nFillOpacity",
          "label": "Opacidad del relleno",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nRotation",
          "label": "Rotación",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nOpacity",
          "label": "Opacidad",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "cBorderColor",
          "label": "Color",
          "group": "Texto formateado",
          "editor": "color",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nBorderWidth",
          "label": "Grosor",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "borderVisibility",
          "label": "Visibilidad",
          "group": "Texto formateado",
          "editor": "border-visibility",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nRounded",
          "label": "Redondeo",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nShadowSize",
          "label": "Grosor",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nShadowTransparency",
          "label": "Transparencia",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "cShadowColor",
          "label": "Color",
          "group": "Texto formateado",
          "editor": "color",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        }
      ],
      "aAvailableFields": [
        {
          "cName": "DATOS_EMPRESA.empresa",
          "cType": "texto",
          "cOrigin": "DataVar",
          "cGroup": "DATOS_EMPRESA"
        },
        {
          "cName": "DATOS_EMPRESA.fecha",
          "cType": "fecha",
          "cOrigin": "DataVar",
          "cGroup": "DATOS_EMPRESA"
        },
        {
          "cName": "DATOS_EMPRESA.logo_empresa",
          "cType": "imagen",
          "cOrigin": "DataVar",
          "cGroup": "DATOS_EMPRESA"
        },
        {
          "cName": "DATOS_EMPRESA.ruta_logo",
          "cType": "texto",
          "cOrigin": "DataVar",
          "cGroup": "DATOS_EMPRESA"
        },
        {
          "cName": "DATOS_EMPRESA.usuario",
          "cType": "texto",
          "cOrigin": "DataVar",
          "cGroup": "DATOS_EMPRESA"
        },
        {
          "cName": "FACLI.cliente",
          "cType": "texto",
          "cOrigin": "DataVar",
          "cGroup": "FACLI"
        },
        {
          "cName": "FACLI.codigoc",
          "cType": "texto",
          "cOrigin": "DataVar",
          "cGroup": "FACLI"
        },
        {
          "cName": "FACLI.nifc",
          "cType": "texto",
          "cOrigin": "DataVar",
          "cGroup": "FACLI"
        },
        {
          "cName": "FACLI.total",
          "cType": "numerico",
          "cOrigin": "DataVar",
          "cGroup": "FACLI"
        },
        {
          "cName": "LINEAS_FACTURA.cantidad",
          "cType": "numerico",
          "cOrigin": "DetalleVar",
          "cGroup": "LINEAS_FACTURA"
        },
        {
          "cName": "LINEAS_FACTURA.codigo_articulo",
          "cType": "texto",
          "cOrigin": "DetalleVar",
          "cGroup": "LINEAS_FACTURA"
        },
        {
          "cName": "LINEAS_FACTURA.descripcion",
          "cType": "texto",
          "cOrigin": "DetalleVar",
          "cGroup": "LINEAS_FACTURA"
        },
        {
          "cName": "LINEAS_FACTURA.logo_linea",
          "cType": "imagen",
          "cOrigin": "DetalleVar",
          "cGroup": "LINEAS_FACTURA"
        },
        {
          "cName": "LINEAS_FACTURA.precio",
          "cType": "numerico",
          "cOrigin": "DetalleVar",
          "cGroup": "LINEAS_FACTURA"
        },
        {
          "cName": "LINEAS_FACTURA.total_linea",
          "cType": "numerico",
          "cOrigin": "DetalleVar",
          "cGroup": "LINEAS_FACTURA"
        },
        {
          "cName": "VENDE.codvende",
          "cType": "texto",
          "cOrigin": "DataVar",
          "cGroup": "VENDE"
        },
        {
          "cName": "VENDE.nombre",
          "cType": "texto",
          "cOrigin": "DataVar",
          "cGroup": "VENDE"
        }
      ],
      "hTemplate": {
        "cType": "TDocument",
        "cFormatVersion": "1.0",
        "cTemplateId": "",
        "cTemplateName": "Documento",
        "cDocumentKind": "report",
        "cPaperFormat": "a4",
        "cPaperOrientation": "portrait",
        "tModifiedAt": "2026-08-10T07:04:32.535Z",
        "cFileName": "",
        "nPaperWidth": 210,
        "nPaperHeight": 297,
        "cPaperHeightMode": "fixed",
        "nDesignHeight": 250,
        "nContinuousBottomMargin": 5,
        "lShowGrid": true,
        "hUserVars": {},
        "hAcumVars": {},
        "hImportMetadata": {},
        "hLabelLayout": {
          "nLabelWidth": 70,
          "nLabelHeight": 37,
          "nColumns": 3,
          "nRows": 8,
          "nMarginLeft": 0,
          "nMarginTop": 0,
          "nGapHorizontal": 0,
          "nGapVertical": 0,
          "cFlow": "row",
          "cLabelFormat": "manual",
          "nPrintOffsetX": 0,
          "nPrintOffsetY": 0
        },
        "hLayers": {
          "0": {
            "nId": 0,
            "cName": "Capa 1",
            "cCondition": "",
            "lDesignerVisible": true,
            "cColor": "#000000"
          }
        },
        "aObjects": [
          {
            "cId": "obj_1786345472555_t07q1k",
            "cName": "Texto 1",
            "cType": "TText",
            "nLeft": 10,
            "nTop": 10,
            "nWidth": 20,
            "nHeight": 8,
            "lVisible": true,
            "lLocked": false,
            "lSelected": true,
            "nLayerId": 0,
            "nZIndex": 1,
            "cBorderColor": "#000000",
            "cBorderColorFormula": "",
            "nBorderWidth": 0.1,
            "lBorderTop": false,
            "lBorderRight": false,
            "lBorderBottom": false,
            "lBorderLeft": false,
            "cBackgroundColor": "#ffffff",
            "cBackgroundColorFormula": "",
            "cFillStyle": "solid",
            "cFillColor2": "#ffffff",
            "cFillColor2Formula": "",
            "cFillColor3": "#ffffff",
            "cFillColor3Formula": "",
            "nFillOpacity": 1,
            "nRounded": 0,
            "nShadowSize": 0,
            "nShadowTransparency": 50,
            "cShadowColor": "#000000",
            "cShadowColorFormula": "",
            "nRotation": 0,
            "nOpacity": 1,
            "cCondition": "",
            "nPaddingTop": 0,
            "nPaddingRight": 0,
            "nPaddingBottom": 0,
            "nPaddingLeft": 0,
            "nLl12LinkID": 0,
            "nLl12LinkToID": 0,
            "nLl12LinkMode": 0,
            "nLl12GroupId": 0,
            "lLl12WrapBefore": false,
            "cTableId": "",
            "cTableSectionKey": "",
            "cText": "\"TEXTO 1\"",
            "cFontFamily": "Arial",
            "nFontSize": 12,
            "nFontOutPrecision": 0,
            "nFontPitchAndFamily": 0,
            "lFontBold": false,
            "cFontBoldFormula": "",
            "lFontItalic": false,
            "cFontItalicFormula": "",
            "lFontUnderline": false,
            "cFontUnderlineFormula": "",
            "lFontStrikeout": false,
            "cFontStrikeoutFormula": "",
            "lTextWrap": true,
            "lAllowPageBreak": false,
            "nLineSpacing": 0,
            "nParagraphSpacing": 0,
            "lKeepEmptyParagraphs": true,
            "lTextAdjusted": false,
            "lTrimSpaces": false,
            "cTextFlowGroup": "",
            "nTextFlowOrder": 0,
            "nTextFlowLineHeight": 0,
            "cTextColor": "#000000",
            "cTextColorFormula": "",
            "nTextOpacity": 1,
            "cTextAlign": "left",
            "nTextDecimalPosition": -10,
            "cTextVerticalAlign": "top",
            "cLl12SourceType": "",
            "cLl12SourceJson": ""
          },
          {
            "cId": "obj_1786345472555_n7x7hj",
            "cName": "Texto 2",
            "cType": "TText",
            "nLeft": 40,
            "nTop": 10,
            "nWidth": 20,
            "nHeight": 8,
            "lVisible": true,
            "lLocked": false,
            "lSelected": false,
            "nLayerId": 0,
            "nZIndex": 1,
            "cBorderColor": "#000000",
            "cBorderColorFormula": "",
            "nBorderWidth": 0.1,
            "lBorderTop": false,
            "lBorderRight": false,
            "lBorderBottom": false,
            "lBorderLeft": false,
            "cBackgroundColor": "#ffffff",
            "cBackgroundColorFormula": "",
            "cFillStyle": "solid",
            "cFillColor2": "#ffffff",
            "cFillColor2Formula": "",
            "cFillColor3": "#ffffff",
            "cFillColor3Formula": "",
            "nFillOpacity": 1,
            "nRounded": 0,
            "nShadowSize": 0,
            "nShadowTransparency": 50,
            "cShadowColor": "#000000",
            "cShadowColorFormula": "",
            "nRotation": 0,
            "nOpacity": 1,
            "cCondition": "",
            "nPaddingTop": 0,
            "nPaddingRight": 0,
            "nPaddingBottom": 0,
            "nPaddingLeft": 0,
            "nLl12LinkID": 0,
            "nLl12LinkToID": 0,
            "nLl12LinkMode": 0,
            "nLl12GroupId": 0,
            "lLl12WrapBefore": false,
            "cTableId": "",
            "cTableSectionKey": "",
            "cText": "\"TEXTO 2\"",
            "cFontFamily": "Arial",
            "nFontSize": 12,
            "nFontOutPrecision": 0,
            "nFontPitchAndFamily": 0,
            "lFontBold": false,
            "cFontBoldFormula": "",
            "lFontItalic": false,
            "cFontItalicFormula": "",
            "lFontUnderline": false,
            "cFontUnderlineFormula": "",
            "lFontStrikeout": false,
            "cFontStrikeoutFormula": "",
            "lTextWrap": true,
            "lAllowPageBreak": false,
            "nLineSpacing": 0,
            "nParagraphSpacing": 0,
            "lKeepEmptyParagraphs": true,
            "lTextAdjusted": false,
            "lTrimSpaces": false,
            "cTextFlowGroup": "",
            "nTextFlowOrder": 0,
            "nTextFlowLineHeight": 0,
            "cTextColor": "#000000",
            "cTextColorFormula": "",
            "nTextOpacity": 1,
            "cTextAlign": "left",
            "nTextDecimalPosition": -10,
            "cTextVerticalAlign": "top",
            "cLl12SourceType": "",
            "cLl12SourceJson": ""
          },
          {
            "cId": "obj_1786345472555_svpfyr",
            "cName": "Texto 3",
            "cType": "TText",
            "nLeft": 70,
            "nTop": 10,
            "nWidth": 20,
            "nHeight": 8,
            "lVisible": true,
            "lLocked": false,
            "lSelected": false,
            "nLayerId": 0,
            "nZIndex": 1,
            "cBorderColor": "#000000",
            "cBorderColorFormula": "",
            "nBorderWidth": 0.1,
            "lBorderTop": false,
            "lBorderRight": false,
            "lBorderBottom": false,
            "lBorderLeft": false,
            "cBackgroundColor": "#ffffff",
            "cBackgroundColorFormula": "",
            "cFillStyle": "solid",
            "cFillColor2": "#ffffff",
            "cFillColor2Formula": "",
            "cFillColor3": "#ffffff",
            "cFillColor3Formula": "",
            "nFillOpacity": 1,
            "nRounded": 0,
            "nShadowSize": 0,
            "nShadowTransparency": 50,
            "cShadowColor": "#000000",
            "cShadowColorFormula": "",
            "nRotation": 0,
            "nOpacity": 1,
            "cCondition": "",
            "nPaddingTop": 0,
            "nPaddingRight": 0,
            "nPaddingBottom": 0,
            "nPaddingLeft": 0,
            "nLl12LinkID": 0,
            "nLl12LinkToID": 0,
            "nLl12LinkMode": 0,
            "nLl12GroupId": 0,
            "lLl12WrapBefore": false,
            "cTableId": "",
            "cTableSectionKey": "",
            "cText": "\"TEXTO 3\"",
            "cFontFamily": "Arial",
            "nFontSize": 12,
            "nFontOutPrecision": 0,
            "nFontPitchAndFamily": 0,
            "lFontBold": false,
            "cFontBoldFormula": "",
            "lFontItalic": false,
            "cFontItalicFormula": "",
            "lFontUnderline": false,
            "cFontUnderlineFormula": "",
            "lFontStrikeout": false,
            "cFontStrikeoutFormula": "",
            "lTextWrap": true,
            "lAllowPageBreak": false,
            "nLineSpacing": 0,
            "nParagraphSpacing": 0,
            "lKeepEmptyParagraphs": true,
            "lTextAdjusted": false,
            "lTrimSpaces": false,
            "cTextFlowGroup": "",
            "nTextFlowOrder": 0,
            "nTextFlowLineHeight": 0,
            "cTextColor": "#000000",
            "cTextColorFormula": "",
            "nTextOpacity": 1,
            "cTextAlign": "left",
            "nTextDecimalPosition": -10,
            "cTextVerticalAlign": "top",
            "cLl12SourceType": "",
            "cLl12SourceJson": ""
          },
          {
            "cId": "obj_1786345472555_ga90cj",
            "cName": "Rectángulo",
            "cType": "TRectangle",
            "nLeft": 10,
            "nTop": 30,
            "nWidth": 40,
            "nHeight": 20,
            "lVisible": true,
            "lLocked": false,
            "lSelected": false,
            "nLayerId": 0,
            "nZIndex": 1,
            "cBorderColor": "#000000",
            "cBorderColorFormula": "",
            "nBorderWidth": 0.1,
            "lBorderTop": true,
            "lBorderRight": true,
            "lBorderBottom": true,
            "lBorderLeft": true,
            "cBackgroundColor": "#000000",
            "cBackgroundColorFormula": "",
            "cFillStyle": "solid",
            "cFillColor2": "#ffffff",
            "cFillColor2Formula": "",
            "cFillColor3": "#ffffff",
            "cFillColor3Formula": "",
            "nFillOpacity": 1,
            "nRounded": 0,
            "nShadowSize": 0,
            "nShadowTransparency": 50,
            "cShadowColor": "#000000",
            "cShadowColorFormula": "",
            "nRotation": 0,
            "nOpacity": 1,
            "cCondition": "",
            "nPaddingTop": 0,
            "nPaddingRight": 0,
            "nPaddingBottom": 0,
            "nPaddingLeft": 0,
            "nLl12LinkID": 0,
            "nLl12LinkToID": 0,
            "nLl12LinkMode": 0,
            "nLl12GroupId": 0,
            "lLl12WrapBefore": false,
            "cTableId": "",
            "cTableSectionKey": ""
          }
        ]
      }
    },
    "response": {
      "lOk": true,
      "hInspection": {
        "cInstruction": "cambia todos los fondos negros",
        "cProvider": "Ollama",
        "cModelSelection": "Ollama — GPT-OSS 20B",
        "cModel": "gpt-oss:20b",
        "cRepresentation": "COMMANDS",
        "cRawResponse": "{\"commands\":[{\"command\":\"setProperty\",\"target\":\"selection\",\"property\":\"cBackgroundColor\",\"value\":\"#000000\"},{\"command\":\"setProperty\",\"target\":{\"ids\":[\"obj_1786345472555_n7x7hj\",\"obj_1786345472555_svpfyr\",\"obj_1786345472555_ga90cj\"]},\"property\":\"cBackgroundColor\",\"value\":\"#000000\"}]}",
        "cThinking": "Need setProperty for cBackgroundColor to #000000? black. For all objects selection and rest? instruction says \"todos los fondos negros\" meaning change all backgrounds to black. So apply to all objects in document: selection + global. Provide commands array with setProperty for each object? But rule: use target:\"selection\" if refers to selected. For global, need ids list. We have 4 objects total. Provide one command per object? Could combine? Probably separate commands. Use target:\"selection\" for the selected only. For others, target:{ids:[...]}.\n\nLet's list IDs: selection obj_1786345472555_t07q1k. Others: n7x7hj, svpfyr, ga90cj.\n\nReturn JSON.",
        "cOllamaRequest": "{\"model\":\"gpt-oss:20b\",\"messages\":[{\"role\":\"system\",\"content\":\"Interpreta la instrucciÃ³n y devuelve Ãºnicamente JSON vÃ¡lido con la forma {\\\"commands\\\":[{\\\"command\\\":\\\"setProperty\\\",\\\"target\\\":\\\"selection\\\",\\\"property\\\":\\\"propiedad_real\\\",\\\"value\\\":valor}]}. Cada comando DEBE usar la clave command (nunca type) y target. Comandos permitidos: setProperty, move, resize, delete, align, distribute, reorder, duplicate, tableMoveColumn, tableSetColumnWidth, tableInsertColumn, tableDeleteColumn, tableInsertLine, tableDeleteLine, tableMoveLine, tableSetLineHeight, tableSetLineBackground, tableSetLineBorderColor, tableSetLineBorderWidth, tableSetLinePadding, tableSetLineBorderRadius, tableSetLineBorderSide, tableSetLineVerticalSeparators, tableSetLineZebraEnabled, tableSetLineZebraColor, tableSetLineCondition, tableSetLineSuppressCondition, tableSetLineBackgroundColorFormula, tableSetLineBorderColorFormula. Prioridad: propiedad o estilo â†’ setProperty; desplazamiento relativo â†’ move; tamaÃ±o relativo â†’ resize; alineaciÃ³n de varios objetos â†’ align; eliminar objetos â†’ delete. Para eliminar usa exactamente {\\\"command\\\":\\\"delete\\\",\\\"target\\\":\\\"selection\\\"}. Si se pide duplicar, reducir o cambiar el tamaÃ±o, devuelve Ãºnicamente resize y no uses setProperty para propiedades numÃ©ricas. Para setProperty usa exactamente property y value, nunca name ni valores como *2. Para move usa {\\\"command\\\":\\\"move\\\",\\\"target\\\":\\\"selection\\\",\\\"dx\\\":10,\\\"dy\\\":0}; para resize usa {\\\"command\\\":\\\"resize\\\",\\\"target\\\":\\\"selection\\\",\\\"scaleX\\\":0.5,\\\"scaleY\\\":0.5}. Para alinear usa exactamente {\\\"command\\\":\\\"align\\\",\\\"target\\\":\\\"selection\\\",\\\"mode\\\":\\\"left\\\"}; modos vÃ¡lidos: left|right|top|bottom|horizontalCenter|verticalCenter. Si la orden se refiere a los objetos seleccionados, usa target:\\\"selection\\\". No enumeres IDs ni calcules coordenadas o dimensiones finales. El contexto distingue SELECCION_ACTUAL_SCOPE=selection y RESTO_DEL_DOCUMENTO_SCOPE=global. Usa target:\\\"selection\\\" para referencias a la selecciÃ³n actual. Para instrucciones globales como todos, cada o todo el documento, usa la forma ya soportada target:{\\\"ids\\\":[...]} con los cId existentes de la selecciÃ³n y del resto del documento que correspondan; no inventes IDs y no uses target:\\\"selection\\\" para una orden global. Para distribuir usa exactamente {\\\"command\\\":\\\"distribute\\\",\\\"target\\\":\\\"selection\\\",\\\"mode\\\":\\\"horizontal\\\"}; modos vÃƒÂ¡lidos: horizontal|vertical. Para reordenar usa exactamente {\\\"command\\\":\\\"reorder\\\",\\\"target\\\":\\\"selection\\\",\\\"mode\\\":\\\"bringToFront\\\"}; modos vÃƒÂ¡lidos: bringToFront=traer al frente, sendToBack=enviar al fondo, bringForward=subir un nivel, sendBackward=bajar un nivel. Para duplicar usa exactamente {\\\"command\\\":\\\"duplicate\\\",\\\"target\\\":\\\"selection\\\"}. Para tablas usa Ãºnicamente estas formas: {\\\"command\\\":\\\"tableMoveColumn\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"header\\\",\\\"lineIndex\\\":0,\\\"fromIndex\\\":2,\\\"toIndex\\\":0}, {\\\"command\\\":\\\"tableSetColumnWidth\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"header\\\",\\\"lineIndex\\\":0,\\\"columnIndex\\\":0,\\\"width\\\":30}, {\\\"command\\\":\\\"tableInsertColumn\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"columnIndex\\\":2}, {\\\"command\\\":\\\"tableDeleteColumn\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"columnIndex\\\":2}, {\\\"command\\\":\\\"tableInsertLine\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":1}, {\\\"command\\\":\\\"tableDeleteLine\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":1}, {\\\"command\\\":\\\"tableMoveLine\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"fromIndex\\\":1,\\\"toIndex\\\":0}, {\\\"command\\\":\\\"tableSetLineHeight\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"height\\\":12}, {\\\"command\\\":\\\"tableSetLineBackground\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"color\\\":\\\"#d3d3d3\\\"}; section: header|groupHeader|detail|groupFooter|footer. Los Ã­ndices son enteros cero-basados y no negativos. tableSetLineHeight usa altura fija en milÃ­metros >=1. tableSetLineBackground usa Ãºnicamente color HEX fijo; no usa fÃ³rmulas ni paths privados. Insertar columna usa columnIndex como posiciÃ³n antes de la columna existente; si coincide con el nÃºmero actual de columnas, aÃ±ade al final. Insertar lÃ­nea usa lineIndex como posiciÃ³n antes de la lÃ­nea existente; si coincide con el nÃºmero actual de lÃ­neas, aÃ±ade al final. No uses hSections, aLines ni aCells. SemÃ¡ntica de lÃ­neas OBLIGATORIA: si una secciÃ³n tiene una sola lÃ­nea, basta mencionar la secciÃ³n y usa lineIndex 0. Si tiene varias lÃ­neas, una operaciÃ³n estructural debe indicar la lÃ­nea; si no la indica y no dice todas, devuelve EXACTAMENTE {\\\"commands\\\":[]}. Solo si dice todas las lÃ­neas genera una operaciÃ³n por cada lÃ­nea existente. Esta regla no afecta a objetos visuales de celda, que siguen usando commands normales. Para cambiar altura o fondo fijo de una lÃ­nea de TTable usa obligatoriamente tableSetLineHeight o tableSetLineBackground con section y lineIndex; no uses setProperty para esas operaciones. Shapes adicionales de lÃ­nea: {\\\"command\\\":\\\"tableSetLineBorderColor\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"color\\\":\\\"#0000ff\\\"}, {\\\"command\\\":\\\"tableSetLineBorderWidth\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"width\\\":1}, {\\\"command\\\":\\\"tableSetLinePadding\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"side\\\":\\\"nTop\\\",\\\"value\\\":2}, {\\\"command\\\":\\\"tableSetLineBorderRadius\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"radius\\\":2}, {\\\"command\\\":\\\"tableSetLineBorderSide\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"side\\\":\\\"top\\\",\\\"visible\\\":true}, {\\\"command\\\":\\\"tableSetLineVerticalSeparators\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"visible\\\":true}, {\\\"command\\\":\\\"tableSetLineCondition\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"formula\\\":\\\"DETAIL.cantidad > 0\\\"}, {\\\"command\\\":\\\"tableSetLineSuppressCondition\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"formula\\\":\\\"DETAIL.importe == 0\\\"}, {\\\"command\\\":\\\"tableSetLineBackgroundColorFormula\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"formula\\\":\\\"IF(...)\\\"}, {\\\"command\\\":\\\"tableSetLineBorderColorFormula\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"formula\\\":\\\"IF(...)\\\"}. Las cuatro primitivas de fórmula reciben formula como string literal y aceptan string vacío para borrar; no evalúes ni cambies la sintaxis. Usa la primitiva específica según sea condición, supresión o fórmula de color; no uses paths hBorder, hBackground ni setProperty. Si la instrucciÃ³n menciona una lÃ­nea, cabecera, detalle o pie, el color de borde de esa lÃ­nea usa tableSetLineBorderColor y nunca setProperty. Zebra solo existe en lÃ­neas detail. Shapes exactas: {\\\"command\\\":\\\"tableSetLineZebraEnabled\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"enabled\\\":true} y {\\\"command\\\":\\\"tableSetLineZebraColor\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"role\\\":\\\"odd\\\",\\\"color\\\":\\\"#d3d3d3\\\"}. Usa enabled booleano para activar o desactivar y role odd/even para filas impares/pares. No uses hZebraPattern ni paths privados. TambiÃƒÂ©n se permite create: {\\\"command\\\":\\\"create\\\",\\\"type\\\":\\\"TText\\\",\\\"properties\\\":{\\\"cText\\\":\\\"\\\\\\\\\\\"texto\\\\\\\\\\\"\\\"}}. En create describe ÃƒÂºnicamente lo solicitado: incluye solo el tipo, contenido, posiciÃƒÂ³n y propiedades que la instrucciÃƒÂ³n pida explÃƒÂ­citamente; el diseÃƒÂ±ador completa los defaults reales. Tipos reales: TText,TRectangle,TEllipse,TImage,TLine,TBarcode,richText,TFormattedText. Properties solo editables, nunca cId, defaults, estructura interna ni geometrÃƒÂ­a. position usa {\\\"x\\\":20,\\\"y\\\":30}. Una ref es temporal dentro de esta respuesta: el create declara ref:\\\"new1\\\" y un comando posterior apunta al mismo objeto con target:{\\\"ref\\\":\\\"new1\\\"}. Ejemplo: {\\\"commands\\\":[{\\\"command\\\":\\\"create\\\",\\\"ref\\\":\\\"new1\\\",\\\"type\\\":\\\"TText\\\",\\\"properties\\\":{\\\"cText\\\":\\\"\\\\\\\\\\\"TOTAL\\\\\\\\\\\"\\\"}},{\\\"command\\\":\\\"resize\\\",\\\"target\\\":{\\\"ref\\\":\\\"new1\\\"},\\\"scaleX\\\":2,\\\"scaleY\\\":2}]}. TIPOS:TBarcode=Código de barras,TEllipse=Elipse,TFormattedText=Texto formateado,TImage=Imagen,TLine=Línea,TRectangle=Rectángulo,TText=Texto,richText=Texto enriquecido. PROPS_TBarcode:cBackgroundColor:string=Código de barras / Color de fondo,cBarcodeType:string=Código de barras / Tipo,cBorderColor:string=Código de barras / Color,cColor:string=Código de barras / Color,cCondition:string=Código de barras / Condición de aparición,cContent:string=Código de barras / Contenido,cFillColor2:string=Código de barras / Color final,cFillColor3:string=Código de barras / Color intermedio,cFillStyle:string=Código de barras / Tipo de relleno,cFontFamily:string=Código de barras / Fuente,cShadowColor:string=Código de barras / Color,lFontBold:boolean=Código de barras / Negrita,lFontItalic:boolean=Código de barras / Cursiva,lFontStrikeout:boolean=Código de barras / Tachado,lFontUnderline:boolean=Código de barras / Subrayado,lLocked:boolean=Código de barras / Bloqueado,lShowText:boolean=Código de barras / Mostrar texto,lTrimSpaces:boolean=Código de barras / Recortar espacios exteriores,lVisible:boolean=Código de barras / Visible,nBorderWidth:number=Código de barras / Grosor,nFillOpacity:number=Código de barras / Opacidad del relleno,nFontSize:number=Código de barras / Tamaño,nLayerId:number=Código de barras / Capa,nOpacity:number=Código de barras / Opacidad,nRotation:number=Código de barras / Rotación,nRounded:number=Código de barras / Redondeo,nShadowSize:number=Código de barras / Grosor,nShadowTransparency:number=Código de barras / Transparencia. PROPS_TEllipse:cBackgroundColor:string=Elipse / Color de fondo,cBorderColor:string=Elipse / Color,cCondition:string=Elipse / Condición de aparición,cFillColor2:string=Elipse / Color final,cFillColor3:string=Elipse / Color intermedio,cFillStyle:string=Elipse / Tipo de relleno,cShadowColor:string=Elipse / Color,lLocked:boolean=Elipse / Bloqueado,lVisible:boolean=Elipse / Visible,nBorderWidth:number=Elipse / Grosor,nFillOpacity:number=Elipse / Opacidad del relleno,nLayerId:number=Elipse / Capa,nOpacity:number=Elipse / Opacidad,nRotation:number=Elipse / Rotación,nRounded:number=Elipse / Redondeo,nShadowSize:number=Elipse / Grosor,nShadowTransparency:number=Elipse / Transparencia. PROPS_TFormattedText:cBackgroundColor:string=Texto formateado / Color de fondo,cBorderColor:string=Texto formateado / Color,cCondition:string=Texto formateado / Condición de aparición,cFillColor2:string=Texto formateado / Color final,cFillColor3:string=Texto formateado / Color intermedio,cFillStyle:string=Texto formateado / Tipo de relleno,cFontFamily:string=Texto formateado / Fuente,cShadowColor:string=Texto formateado / Color,cText:string=Texto formateado / Contenido,cTextAlign:string=Texto formateado / Alineación,cTextColor:string=Texto formateado / Color,cTextVerticalAlign:string=Texto formateado / Alineación vertical,lAllowPageBreak:boolean=Texto formateado / Continuar entre páginas,lFontBold:boolean=Texto formateado / Negrita,lFontItalic:boolean=Texto formateado / Cursiva,lFontStrikeout:boolean=Texto formateado / Tachado,lFontUnderline:boolean=Texto formateado / Subrayado,lKeepEmptyParagraphs:boolean=Texto formateado / Conservar párrafos vacíos,lLocked:boolean=Texto formateado / Bloqueado,lTextAdjusted:boolean=Texto formateado / Justificación forzada,lTextWrap:boolean=Texto formateado / Partir si no cabe,lTrimSpaces:boolean=Texto formateado / Recortar espacios exteriores,lVisible:boolean=Texto formateado / Visible,nBorderWidth:number=Texto formateado / Grosor,nFillOpacity:number=Texto formateado / Opacidad del relleno,nFontSize:number=Texto formateado / Tamaño,nLayerId:number=Texto formateado / Capa,nLineSpacing:number=Texto formateado / Interlineado adicional,nOpacity:number=Texto formateado / Opacidad,nParagraphSpacing:number=Texto formateado / Espacio entre párrafos,nRotation:number=Texto formateado / Rotación,nRounded:number=Texto formateado / Redondeo,nShadowSize:number=Texto formateado / Grosor,nShadowTransparency:number=Texto formateado / Transparencia,nTextDecimalPosition:number=Texto formateado / Posición decimal,nTextOpacity:number=Texto formateado / Opacidad texto. PROPS_TImage:cBackgroundColor:string=Imagen / Color de fondo,cBorderColor:string=Imagen / Color,cCondition:string=Imagen / Condición de aparición,cFillColor2:string=Imagen / Color final,cFillColor3:string=Imagen / Color intermedio,cFillStyle:string=Imagen / Tipo de relleno,cFit:string=Imagen / Ajuste,cShadowColor:string=Imagen / Color,cSource:string=Imagen / Origen / contenido,cSourceType:string=Imagen / Tipo de origen,lKeepRatio:boolean=Imagen / Mantener proporción,lLocked:boolean=Imagen / Bloqueado,lVisible:boolean=Imagen / Visible,nBorderWidth:number=Imagen / Grosor,nFillOpacity:number=Imagen / Opacidad del relleno,nLayerId:number=Imagen / Capa,nOpacity:number=Imagen / Opacidad,nRotation:number=Imagen / Rotación,nRounded:number=Imagen / Redondeo,nShadowSize:number=Imagen / Grosor,nShadowTransparency:number=Imagen / Transparencia. PROPS_TLine:cBorderColor:string=Línea / Color,cCondition:string=Línea / Condición de aparición,cFillColor2:string=Línea / Color final,cFillColor3:string=Línea / Color intermedio,cFillStyle:string=Línea / Tipo de relleno,cLineStyle:string=Línea / Estilo,cOrientation:string=Línea / Orientación,cShadowColor:string=Línea / Color,lLocked:boolean=Línea / Bloqueado,lVisible:boolean=Línea / Visible,nBorderWidth:number=Línea / Grosor,nFillOpacity:number=Línea / Opacidad del relleno,nLayerId:number=Línea / Capa,nOpacity:number=Línea / Opacidad,nRotation:number=Línea / Rotación,nShadowSize:number=Línea / Grosor,nShadowTransparency:number=Línea / Transparencia. PROPS_TRectangle:cBackgroundColor:string=Rectángulo / Color de fondo,cBorderColor:string=Rectángulo / Color,cCondition:string=Rectángulo / Condición de aparición,cFillColor2:string=Rectángulo / Color final,cFillColor3:string=Rectángulo / Color intermedio,cFillStyle:string=Rectángulo / Tipo de relleno,cShadowColor:string=Rectángulo / Color,lLocked:boolean=Rectángulo / Bloqueado,lVisible:boolean=Rectángulo / Visible,nBorderWidth:number=Rectángulo / Grosor,nFillOpacity:number=Rectángulo / Opacidad del relleno,nLayerId:number=Rectángulo / Capa,nOpacity:number=Rectángulo / Opacidad,nRotation:number=Rectángulo / Rotación,nRounded:number=Rectángulo / Redondeo,nShadowSize:number=Rectángulo / Grosor,nShadowTransparency:number=Rectángulo / Transparencia. PROPS_TText:cBackgroundColor:string=Texto / Color de fondo,cBorderColor:string=Texto / Color,cCondition:string=Texto / Condición de aparición,cFillColor2:string=Texto / Color final,cFillColor3:string=Texto / Color intermedio,cFillStyle:string=Texto / Tipo de relleno,cFontFamily:string=Texto / Fuente,cShadowColor:string=Texto / Color,cText:string=Texto / Contenido,cTextAlign:string=Texto / Alineación,cTextColor:string=Texto / Color,cTextVerticalAlign:string=Texto / Alineación vertical,lAllowPageBreak:boolean=Texto / Continuar entre páginas,lFontBold:boolean=Texto / Negrita,lFontItalic:boolean=Texto / Cursiva,lFontStrikeout:boolean=Texto / Tachado,lFontUnderline:boolean=Texto / Subrayado,lKeepEmptyParagraphs:boolean=Texto / Conservar párrafos vacíos,lLocked:boolean=Texto / Bloqueado,lTextAdjusted:boolean=Texto / Justificación forzada,lTextWrap:boolean=Texto / Partir si no cabe,lTrimSpaces:boolean=Texto / Recortar espacios exteriores,lVisible:boolean=Texto / Visible,nBorderWidth:number=Texto / Grosor,nFillOpacity:number=Texto / Opacidad del relleno,nFontSize:number=Texto / Tamaño,nLayerId:number=Texto / Capa,nLineSpacing:number=Texto / Interlineado adicional,nOpacity:number=Texto / Opacidad,nParagraphSpacing:number=Texto / Espacio entre párrafos,nRotation:number=Texto / Rotación,nRounded:number=Texto / Redondeo,nShadowSize:number=Texto / Grosor,nShadowTransparency:number=Texto / Transparencia,nTextDecimalPosition:number=Texto / Posición decimal,nTextOpacity:number=Texto / Opacidad texto. PROPS_richText:cBackgroundColor:string=Texto enriquecido / Color de fondo,cBorderColor:string=Texto enriquecido / Color,cCondition:string=Texto enriquecido / Condición de aparición,cContent:string=Texto enriquecido / Contenido,cFillColor2:string=Texto enriquecido / Color final,cFillColor3:string=Texto enriquecido / Color intermedio,cFillStyle:string=Texto enriquecido / Tipo de relleno,cOverflow:string=Texto enriquecido / Desbordamiento,cShadowColor:string=Texto enriquecido / Color,cVerticalAlign:string=Texto enriquecido / Alineación vertical,lLocked:boolean=Texto enriquecido / Bloqueado,lVisible:boolean=Texto enriquecido / Visible,nBorderWidth:number=Texto enriquecido / Grosor,nFillOpacity:number=Texto enriquecido / Opacidad del relleno,nLayerId:number=Texto enriquecido / Capa,nOpacity:number=Texto enriquecido / Opacidad,nRotation:number=Texto enriquecido / Rotación,nRounded:number=Texto enriquecido / Redondeo,nShadowSize:number=Texto enriquecido / Grosor,nShadowTransparency:number=Texto enriquecido / Transparencia.\"},{\"role\":\"user\",\"content\":\"SELECCION_ACTUAL_SCOPE=selection:\\n[{\\\"cId\\\":\\\"obj_1786345472555_t07q1k\\\",\\\"cType\\\":\\\"TText\\\",\\\"cName\\\":\\\"Texto 1\\\"}]\\nRESTO_DEL_DOCUMENTO_SCOPE=global:\\n[{\\\"cId\\\":\\\"obj_1786345472555_n7x7hj\\\",\\\"cType\\\":\\\"TText\\\",\\\"cName\\\":\\\"Texto 2\\\"},{\\\"cId\\\":\\\"obj_1786345472555_svpfyr\\\",\\\"cType\\\":\\\"TText\\\",\\\"cName\\\":\\\"Texto 3\\\"},{\\\"cId\\\":\\\"obj_1786345472555_ga90cj\\\",\\\"cType\\\":\\\"TRectangle\\\",\\\"cName\\\":\\\"Rectángulo\\\"}]\\nSELECCIÃ“N REAL:\\n[{\\\"cId\\\":\\\"obj_1786345472555_t07q1k\\\",\\\"cType\\\":\\\"TText\\\",\\\"cName\\\":\\\"Texto 1\\\"}]\\nPROPIEDADES COMUNES EDITABLES: cBackgroundColor:string=Texto formateado / Color de fondo,cBorderColor:string=Texto formateado / Color,cCondition:string=Texto formateado / Condición de aparición,cFillColor2:string=Texto formateado / Color final,cFillColor3:string=Texto formateado / Color intermedio,cFillStyle:string=Texto formateado / Tipo de relleno,cFontFamily:string=Texto formateado / Fuente,cShadowColor:string=Texto formateado / Color,cText:string=Texto formateado / Contenido,cTextAlign:string=Texto formateado / Alineación,cTextColor:string=Texto formateado / Color,cTextVerticalAlign:string=Texto formateado / Alineación vertical,lAllowPageBreak:boolean=Texto formateado / Continuar entre páginas,lBorderBottom:boolean,lBorderLeft:boolean,lBorderRight:boolean,lBorderTop:boolean,lFontBold:boolean=Texto formateado / Negrita,lFontItalic:boolean=Texto formateado / Cursiva,lFontStrikeout:boolean=Texto formateado / Tachado,lFontUnderline:boolean=Texto formateado / Subrayado,lKeepEmptyParagraphs:boolean=Texto formateado / Conservar párrafos vacíos,lLocked:boolean=Texto formateado / Bloqueado,lTextAdjusted:boolean=Texto formateado / Justificación forzada,lTextWrap:boolean=Texto formateado / Partir si no cabe,lTrimSpaces:boolean=Texto formateado / Recortar espacios exteriores,lVisible:boolean=Texto formateado / Visible,nBorderWidth:number=Texto formateado / Grosor,nFillOpacity:number=Texto formateado / Opacidad del relleno,nFontSize:number=Texto formateado / Tamaño,nLayerId:number=Texto formateado / Capa,nLineSpacing:number=Texto formateado / Interlineado adicional,nOpacity:number=Texto formateado / Opacidad,nPaddingBottom:number,nPaddingLeft:number,nPaddingRight:number,nPaddingTop:number,nParagraphSpacing:number=Texto formateado / Espacio entre párrafos,nRotation:number=Texto formateado / Rotación,nRounded:number=Texto formateado / Redondeo,nShadowSize:number=Texto formateado / Grosor,nShadowTransparency:number=Texto formateado / Transparencia,nTextDecimalPosition:number=Texto formateado / Posición decimal,nTextOpacity:number=Texto formateado / Opacidad texto,nZIndex:number\\nCOLORES CANÃ“NICOS: rojo:#ff0000 Â· verde:#008000 Â· verde oscuro:#006400 Â· azul:#0000ff Â· azul oscuro:#00008b Â· amarillo:#ffff00 Â· gris claro:#d3d3d3\\n\\nINSTRUCCIÃ“N:\\ncambia todos los fondos negros\"}],\"stream\":false,\"format\":\"json\",\"keep_alive\":-1,\"options\":{\"temperature\":0,\"top_p\":1,\"top_k\":0,\"repeat_penalty\":1.1,\"frequency_penalty\":0,\"presence_penalty\":0,\"num_ctx\":65536,\"num_batch\":4096,\"num_thread\":10,\"num_gpu\":99,\"num_predict\":4096},\"think\":\"low\"}",
        "cHttpBody": "{\"model\":\"gpt-oss:20b\",\"created_at\":\"2026-08-10T07:04:37.7180324Z\",\"message\":{\"role\":\"assistant\",\"content\":\"{\\\"commands\\\":[{\\\"command\\\":\\\"setProperty\\\",\\\"target\\\":\\\"selection\\\",\\\"property\\\":\\\"cBackgroundColor\\\",\\\"value\\\":\\\"#000000\\\"},{\\\"command\\\":\\\"setProperty\\\",\\\"target\\\":{\\\"ids\\\":[\\\"obj_1786345472555_n7x7hj\\\",\\\"obj_1786345472555_svpfyr\\\",\\\"obj_1786345472555_ga90cj\\\"]},\\\"property\\\":\\\"cBackgroundColor\\\",\\\"value\\\":\\\"#000000\\\"}]}\",\"thinking\":\"Need setProperty for cBackgroundColor to #000000? black. For all objects selection and rest? instruction says \\\"todos los fondos negros\\\" meaning change all backgrounds to black. So apply to all objects in document: selection + global. Provide commands array with setProperty for each object? But rule: use target:\\\"selection\\\" if refers to selected. For global, need ids list. We have 4 objects total. Provide one command per object? Could combine? Probably separate commands. Use target:\\\"selection\\\" for the selected only. For others, target:{ids:[...]}.\\n\\nLet's list IDs: selection obj_1786345472555_t07q1k. Others: n7x7hj, svpfyr, ga90cj.\\n\\nReturn JSON.\"},\"done\":true,\"done_reason\":\"stop\",\"total_duration\":3735671100,\"load_duration\":196430000,\"prompt_eval_count\":5126,\"prompt_eval_duration\":14327000,\"eval_count\":84,\"eval_duration\":1087379000}",
        "hMetrics": {
          "total_duration": 3735671100,
          "load_duration": 196430000,
          "prompt_eval_count": 5126,
          "prompt_eval_duration": 14327000,
          "eval_count": 84,
          "eval_duration": 1087379000,
          "unattributed_duration": 2437535100
        },
        "hCommands": {
          "commands": [
            {
              "command": "setProperty",
              "target": "selection",
              "property": "cBackgroundColor",
              "value": "#000000"
            },
            {
              "command": "setProperty",
              "target": {
                "ids": [
                  "obj_1786345472555_n7x7hj",
                  "obj_1786345472555_svpfyr",
                  "obj_1786345472555_ga90cj"
                ]
              },
              "property": "cBackgroundColor",
              "value": "#000000"
            }
          ]
        },
        "lValid": true,
        "nCreates": 0,
        "nChanges": 0,
        "nDeletes": 0,
        "nStructures": 0,
        "nGeneratedIds": 0,
        "nOperations": 2,
        "nFinalOperations": 2,
        "cValidation": "Shape commands vÃ¡lida; validaciÃ³n de ejecuciÃ³n pendiente",
        "nResponseMilliseconds": 3737.676,
        "tRequestStartedAt": "2026-08-10T09:04:33.982220+02:00",
        "tResponseFinishedAt": "2026-08-10T09:04:37.719914+02:00",
        "hPromptDiagnostics": {
          "nSystemCharacters": 16569,
          "nUserCharacters": 2747,
          "nPromptCharacters": 19317,
          "nPromptTokensAfterEstimated": 4830,
          "nContextTokens": 65536,
          "lPromptFitsContext": true
        }
      }
    },
    "state": {
      "selected": [
        "obj_1786345472555_t07q1k"
      ],
      "objects": [
        {
          "cId": "obj_1786345472555_t07q1k",
          "cType": "TText",
          "nLeft": 10,
          "nTop": 10,
          "nWidth": 20,
          "nHeight": 8,
          "cTextColor": "#000000"
        },
        {
          "cId": "obj_1786345472555_n7x7hj",
          "cType": "TText",
          "nLeft": 40,
          "nTop": 10,
          "nWidth": 20,
          "nHeight": 8,
          "cTextColor": "#000000"
        },
        {
          "cId": "obj_1786345472555_svpfyr",
          "cType": "TText",
          "nLeft": 70,
          "nTop": 10,
          "nWidth": 20,
          "nHeight": 8,
          "cTextColor": "#000000"
        },
        {
          "cId": "obj_1786345472555_ga90cj",
          "cType": "TRectangle",
          "nLeft": 10,
          "nTop": 30,
          "nWidth": 40,
          "nHeight": 20
        }
      ]
    }
  },
  {
    "id": "CTRL_RESIZE",
    "instruction": "redimensiona los objetos seleccionados a la mitad",
    "fixture": {
      "selected": [
        "obj_1786345477933_usgy3l",
        "obj_1786345477933_m2vhha",
        "obj_1786345477933_by193x"
      ],
      "all": [
        "obj_1786345477933_usgy3l",
        "obj_1786345477933_m2vhha",
        "obj_1786345477933_by193x",
        "obj_1786345477933_a3n01x"
      ]
    },
    "payload": {
      "cAction": "commandsExperimental",
      "cModelKey": "gpt-oss-20b",
      "cInstruction": "redimensiona los objetos seleccionados a la mitad",
      "aSelectedObjects": [
        {
          "cId": "obj_1786345477933_usgy3l",
          "cType": "TText",
          "cName": "Texto 1"
        },
        {
          "cId": "obj_1786345477933_m2vhha",
          "cType": "TText",
          "cName": "Texto 2"
        },
        {
          "cId": "obj_1786345477933_by193x",
          "cType": "TText",
          "cName": "Texto 3"
        }
      ],
      "aPropertyMetadata": [
        {
          "property": "cText",
          "label": "Contenido",
          "group": "Texto",
          "editor": "text"
        },
        {
          "property": "cFontFamily",
          "label": "Fuente",
          "group": "Texto",
          "editor": "select"
        },
        {
          "property": "nFontSize",
          "label": "Tamaño",
          "group": "Texto",
          "editor": "number"
        },
        {
          "property": "lFontBold",
          "label": "Negrita",
          "group": "Texto",
          "editor": "checkbox"
        },
        {
          "property": "lFontItalic",
          "label": "Cursiva",
          "group": "Texto",
          "editor": "checkbox"
        },
        {
          "property": "lFontUnderline",
          "label": "Subrayado",
          "group": "Texto",
          "editor": "checkbox"
        },
        {
          "property": "lFontStrikeout",
          "label": "Tachado",
          "group": "Texto",
          "editor": "checkbox"
        },
        {
          "property": "lTextWrap",
          "label": "Partir si no cabe",
          "group": "Texto",
          "editor": "checkbox"
        },
        {
          "property": "lAllowPageBreak",
          "label": "Continuar entre páginas",
          "group": "Texto",
          "editor": "checkbox"
        },
        {
          "property": "nLineSpacing",
          "label": "Interlineado adicional",
          "group": "Texto",
          "editor": "number"
        },
        {
          "property": "nParagraphSpacing",
          "label": "Espacio entre párrafos",
          "group": "Texto",
          "editor": "number"
        },
        {
          "property": "lKeepEmptyParagraphs",
          "label": "Conservar párrafos vacíos",
          "group": "Texto",
          "editor": "checkbox"
        },
        {
          "property": "lTextAdjusted",
          "label": "Justificación forzada",
          "group": "Texto",
          "editor": "checkbox"
        },
        {
          "property": "lTrimSpaces",
          "label": "Recortar espacios exteriores",
          "group": "Texto",
          "editor": "checkbox"
        },
        {
          "property": "cTextColor",
          "label": "Color",
          "group": "Texto",
          "editor": "color"
        },
        {
          "property": "nTextOpacity",
          "label": "Opacidad texto",
          "group": "Texto",
          "editor": "number"
        },
        {
          "property": "cTextAlign",
          "label": "Alineación",
          "group": "Texto",
          "editor": "select"
        },
        {
          "property": "nTextDecimalPosition",
          "label": "Posición decimal",
          "group": "Texto",
          "editor": "number"
        },
        {
          "property": "cTextVerticalAlign",
          "label": "Alineación vertical",
          "group": "Texto",
          "editor": "select"
        },
        {
          "property": "cName",
          "label": "Nombre",
          "group": "Texto",
          "editor": "text"
        },
        {
          "property": "cType",
          "label": "Tipo de objeto",
          "group": "Texto",
          "editor": "text"
        },
        {
          "property": "nLayerId",
          "label": "Capa",
          "group": "Ejecución",
          "editor": "select"
        },
        {
          "property": "cCondition",
          "label": "Condición de aparición",
          "group": "Ejecución",
          "editor": "text"
        },
        {
          "property": "lVisible",
          "label": "Visible",
          "group": "Ejecución",
          "editor": "checkbox"
        },
        {
          "property": "lLocked",
          "label": "Bloqueado",
          "group": "Ejecución",
          "editor": "checkbox"
        },
        {
          "property": "nLeft",
          "label": "Izquierda",
          "group": "Dimensiones y Color",
          "editor": "number"
        },
        {
          "property": "nTop",
          "label": "Superior",
          "group": "Dimensiones y Color",
          "editor": "number"
        },
        {
          "property": "nRight",
          "label": "Derecha",
          "group": "Dimensiones y Color",
          "editor": "number"
        },
        {
          "property": "nBottom",
          "label": "Inferior",
          "group": "Dimensiones y Color",
          "editor": "number"
        },
        {
          "property": "nWidth",
          "label": "Ancho",
          "group": "Dimensiones y Color",
          "editor": "number"
        },
        {
          "property": "nHeight",
          "label": "Alto",
          "group": "Dimensiones y Color",
          "editor": "number"
        },
        {
          "property": "cBackgroundColor",
          "label": "Color de fondo",
          "group": "Dimensiones y Color",
          "editor": "color"
        },
        {
          "property": "cFillStyle",
          "label": "Tipo de relleno",
          "group": "Dimensiones y Color",
          "editor": "select"
        },
        {
          "property": "cFillColor2",
          "label": "Color final",
          "group": "Dimensiones y Color",
          "editor": "color"
        },
        {
          "property": "cFillColor3",
          "label": "Color intermedio",
          "group": "Dimensiones y Color",
          "editor": "color"
        },
        {
          "property": "nFillOpacity",
          "label": "Opacidad del relleno",
          "group": "Dimensiones y Color",
          "editor": "number"
        },
        {
          "property": "nRotation",
          "label": "Rotación",
          "group": "Transformación",
          "editor": "number"
        },
        {
          "property": "nOpacity",
          "label": "Opacidad",
          "group": "Transformación",
          "editor": "number"
        },
        {
          "property": "cBorderColor",
          "label": "Color",
          "group": "Borde",
          "editor": "color"
        },
        {
          "property": "nBorderWidth",
          "label": "Grosor",
          "group": "Borde",
          "editor": "number"
        },
        {
          "property": "borderVisibility",
          "label": "Visibilidad",
          "group": "Borde",
          "editor": "border-visibility"
        },
        {
          "property": "nRounded",
          "label": "Redondeo",
          "group": "Borde",
          "editor": "number"
        },
        {
          "property": "nShadowSize",
          "label": "Grosor",
          "group": "Sombra",
          "editor": "number"
        },
        {
          "property": "nShadowTransparency",
          "label": "Transparencia",
          "group": "Sombra",
          "editor": "number"
        },
        {
          "property": "cShadowColor",
          "label": "Color",
          "group": "Sombra",
          "editor": "color"
        },
        {
          "property": "cText",
          "label": "Contenido",
          "group": "Texto",
          "editor": "text",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "cFontFamily",
          "label": "Fuente",
          "group": "Texto",
          "editor": "select",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nFontSize",
          "label": "Tamaño",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "lFontBold",
          "label": "Negrita",
          "group": "Texto",
          "editor": "checkbox",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "lFontItalic",
          "label": "Cursiva",
          "group": "Texto",
          "editor": "checkbox",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "lFontUnderline",
          "label": "Subrayado",
          "group": "Texto",
          "editor": "checkbox",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "lFontStrikeout",
          "label": "Tachado",
          "group": "Texto",
          "editor": "checkbox",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "lTextWrap",
          "label": "Partir si no cabe",
          "group": "Texto",
          "editor": "checkbox",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "lAllowPageBreak",
          "label": "Continuar entre páginas",
          "group": "Texto",
          "editor": "checkbox",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nLineSpacing",
          "label": "Interlineado adicional",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nParagraphSpacing",
          "label": "Espacio entre párrafos",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "lKeepEmptyParagraphs",
          "label": "Conservar párrafos vacíos",
          "group": "Texto",
          "editor": "checkbox",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "lTextAdjusted",
          "label": "Justificación forzada",
          "group": "Texto",
          "editor": "checkbox",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "lTrimSpaces",
          "label": "Recortar espacios exteriores",
          "group": "Texto",
          "editor": "checkbox",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "cTextColor",
          "label": "Color",
          "group": "Texto",
          "editor": "color",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nTextOpacity",
          "label": "Opacidad texto",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "cTextAlign",
          "label": "Alineación",
          "group": "Texto",
          "editor": "select",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nTextDecimalPosition",
          "label": "Posición decimal",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "cTextVerticalAlign",
          "label": "Alineación vertical",
          "group": "Texto",
          "editor": "select",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "cName",
          "label": "Nombre",
          "group": "Texto",
          "editor": "text",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "cType",
          "label": "Tipo de objeto",
          "group": "Texto",
          "editor": "text",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nLayerId",
          "label": "Capa",
          "group": "Texto",
          "editor": "select",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "cCondition",
          "label": "Condición de aparición",
          "group": "Texto",
          "editor": "text",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "lVisible",
          "label": "Visible",
          "group": "Texto",
          "editor": "checkbox",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "lLocked",
          "label": "Bloqueado",
          "group": "Texto",
          "editor": "checkbox",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nLeft",
          "label": "Izquierda",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nTop",
          "label": "Superior",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nRight",
          "label": "Derecha",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nBottom",
          "label": "Inferior",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nWidth",
          "label": "Ancho",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nHeight",
          "label": "Alto",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "cBackgroundColor",
          "label": "Color de fondo",
          "group": "Texto",
          "editor": "color",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "cFillStyle",
          "label": "Tipo de relleno",
          "group": "Texto",
          "editor": "select",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "cFillColor2",
          "label": "Color final",
          "group": "Texto",
          "editor": "color",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "cFillColor3",
          "label": "Color intermedio",
          "group": "Texto",
          "editor": "color",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nFillOpacity",
          "label": "Opacidad del relleno",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nRotation",
          "label": "Rotación",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nOpacity",
          "label": "Opacidad",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "cBorderColor",
          "label": "Color",
          "group": "Texto",
          "editor": "color",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nBorderWidth",
          "label": "Grosor",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "borderVisibility",
          "label": "Visibilidad",
          "group": "Texto",
          "editor": "border-visibility",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nRounded",
          "label": "Redondeo",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nShadowSize",
          "label": "Grosor",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nShadowTransparency",
          "label": "Transparencia",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "cShadowColor",
          "label": "Color",
          "group": "Texto",
          "editor": "color",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "cName",
          "label": "Nombre",
          "group": "Rectángulo",
          "editor": "text",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "cType",
          "label": "Tipo de objeto",
          "group": "Rectángulo",
          "editor": "text",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "nLayerId",
          "label": "Capa",
          "group": "Rectángulo",
          "editor": "select",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "cCondition",
          "label": "Condición de aparición",
          "group": "Rectángulo",
          "editor": "text",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "lVisible",
          "label": "Visible",
          "group": "Rectángulo",
          "editor": "checkbox",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "lLocked",
          "label": "Bloqueado",
          "group": "Rectángulo",
          "editor": "checkbox",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "nLeft",
          "label": "Izquierda",
          "group": "Rectángulo",
          "editor": "number",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "nTop",
          "label": "Superior",
          "group": "Rectángulo",
          "editor": "number",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "nRight",
          "label": "Derecha",
          "group": "Rectángulo",
          "editor": "number",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "nBottom",
          "label": "Inferior",
          "group": "Rectángulo",
          "editor": "number",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "nWidth",
          "label": "Ancho",
          "group": "Rectángulo",
          "editor": "number",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "nHeight",
          "label": "Alto",
          "group": "Rectángulo",
          "editor": "number",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "cBackgroundColor",
          "label": "Color de fondo",
          "group": "Rectángulo",
          "editor": "color",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "cFillStyle",
          "label": "Tipo de relleno",
          "group": "Rectángulo",
          "editor": "select",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "cFillColor2",
          "label": "Color final",
          "group": "Rectángulo",
          "editor": "color",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "cFillColor3",
          "label": "Color intermedio",
          "group": "Rectángulo",
          "editor": "color",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "nFillOpacity",
          "label": "Opacidad del relleno",
          "group": "Rectángulo",
          "editor": "number",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "nRotation",
          "label": "Rotación",
          "group": "Rectángulo",
          "editor": "number",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "nOpacity",
          "label": "Opacidad",
          "group": "Rectángulo",
          "editor": "number",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "cBorderColor",
          "label": "Color",
          "group": "Rectángulo",
          "editor": "color",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "nBorderWidth",
          "label": "Grosor",
          "group": "Rectángulo",
          "editor": "number",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "borderVisibility",
          "label": "Visibilidad",
          "group": "Rectángulo",
          "editor": "border-visibility",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "nRounded",
          "label": "Redondeo",
          "group": "Rectángulo",
          "editor": "number",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "nShadowSize",
          "label": "Grosor",
          "group": "Rectángulo",
          "editor": "number",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "nShadowTransparency",
          "label": "Transparencia",
          "group": "Rectángulo",
          "editor": "number",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "cShadowColor",
          "label": "Color",
          "group": "Rectángulo",
          "editor": "color",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "cName",
          "label": "Nombre",
          "group": "Elipse",
          "editor": "text",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "cType",
          "label": "Tipo de objeto",
          "group": "Elipse",
          "editor": "text",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "nLayerId",
          "label": "Capa",
          "group": "Elipse",
          "editor": "select",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "cCondition",
          "label": "Condición de aparición",
          "group": "Elipse",
          "editor": "text",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "lVisible",
          "label": "Visible",
          "group": "Elipse",
          "editor": "checkbox",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "lLocked",
          "label": "Bloqueado",
          "group": "Elipse",
          "editor": "checkbox",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "nLeft",
          "label": "Izquierda",
          "group": "Elipse",
          "editor": "number",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "nTop",
          "label": "Superior",
          "group": "Elipse",
          "editor": "number",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "nRight",
          "label": "Derecha",
          "group": "Elipse",
          "editor": "number",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "nBottom",
          "label": "Inferior",
          "group": "Elipse",
          "editor": "number",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "nWidth",
          "label": "Ancho",
          "group": "Elipse",
          "editor": "number",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "nHeight",
          "label": "Alto",
          "group": "Elipse",
          "editor": "number",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "cBackgroundColor",
          "label": "Color de fondo",
          "group": "Elipse",
          "editor": "color",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "cFillStyle",
          "label": "Tipo de relleno",
          "group": "Elipse",
          "editor": "select",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "cFillColor2",
          "label": "Color final",
          "group": "Elipse",
          "editor": "color",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "cFillColor3",
          "label": "Color intermedio",
          "group": "Elipse",
          "editor": "color",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "nFillOpacity",
          "label": "Opacidad del relleno",
          "group": "Elipse",
          "editor": "number",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "nRotation",
          "label": "Rotación",
          "group": "Elipse",
          "editor": "number",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "nOpacity",
          "label": "Opacidad",
          "group": "Elipse",
          "editor": "number",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "cBorderColor",
          "label": "Color",
          "group": "Elipse",
          "editor": "color",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "nBorderWidth",
          "label": "Grosor",
          "group": "Elipse",
          "editor": "number",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "borderVisibility",
          "label": "Visibilidad",
          "group": "Elipse",
          "editor": "border-visibility",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "nRounded",
          "label": "Redondeo",
          "group": "Elipse",
          "editor": "number",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "nShadowSize",
          "label": "Grosor",
          "group": "Elipse",
          "editor": "number",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "nShadowTransparency",
          "label": "Transparencia",
          "group": "Elipse",
          "editor": "number",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "cShadowColor",
          "label": "Color",
          "group": "Elipse",
          "editor": "color",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "cName",
          "label": "Nombre",
          "group": "Imagen",
          "editor": "text",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "cType",
          "label": "Tipo de objeto",
          "group": "Imagen",
          "editor": "text",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "nLayerId",
          "label": "Capa",
          "group": "Imagen",
          "editor": "select",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "cCondition",
          "label": "Condición de aparición",
          "group": "Imagen",
          "editor": "text",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "lVisible",
          "label": "Visible",
          "group": "Imagen",
          "editor": "checkbox",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "lLocked",
          "label": "Bloqueado",
          "group": "Imagen",
          "editor": "checkbox",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "cSource",
          "label": "Origen / contenido",
          "group": "Imagen",
          "editor": "text",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "cSourceType",
          "label": "Tipo de origen",
          "group": "Imagen",
          "editor": "select",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "lKeepRatio",
          "label": "Mantener proporción",
          "group": "Imagen",
          "editor": "checkbox",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "cFit",
          "label": "Ajuste",
          "group": "Imagen",
          "editor": "select",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "nLeft",
          "label": "Izquierda",
          "group": "Imagen",
          "editor": "number",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "nTop",
          "label": "Superior",
          "group": "Imagen",
          "editor": "number",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "nRight",
          "label": "Derecha",
          "group": "Imagen",
          "editor": "number",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "nBottom",
          "label": "Inferior",
          "group": "Imagen",
          "editor": "number",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "nWidth",
          "label": "Ancho",
          "group": "Imagen",
          "editor": "number",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "nHeight",
          "label": "Alto",
          "group": "Imagen",
          "editor": "number",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "cBackgroundColor",
          "label": "Color de fondo",
          "group": "Imagen",
          "editor": "color",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "cFillStyle",
          "label": "Tipo de relleno",
          "group": "Imagen",
          "editor": "select",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "cFillColor2",
          "label": "Color final",
          "group": "Imagen",
          "editor": "color",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "cFillColor3",
          "label": "Color intermedio",
          "group": "Imagen",
          "editor": "color",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "nFillOpacity",
          "label": "Opacidad del relleno",
          "group": "Imagen",
          "editor": "number",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "nRotation",
          "label": "Rotación",
          "group": "Imagen",
          "editor": "number",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "nOpacity",
          "label": "Opacidad",
          "group": "Imagen",
          "editor": "number",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "cBorderColor",
          "label": "Color",
          "group": "Imagen",
          "editor": "color",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "nBorderWidth",
          "label": "Grosor",
          "group": "Imagen",
          "editor": "number",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "borderVisibility",
          "label": "Visibilidad",
          "group": "Imagen",
          "editor": "border-visibility",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "nRounded",
          "label": "Redondeo",
          "group": "Imagen",
          "editor": "number",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "nShadowSize",
          "label": "Grosor",
          "group": "Imagen",
          "editor": "number",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "nShadowTransparency",
          "label": "Transparencia",
          "group": "Imagen",
          "editor": "number",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "cShadowColor",
          "label": "Color",
          "group": "Imagen",
          "editor": "color",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "cName",
          "label": "Nombre",
          "group": "Línea",
          "editor": "text",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "cType",
          "label": "Tipo de objeto",
          "group": "Línea",
          "editor": "text",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "nLayerId",
          "label": "Capa",
          "group": "Línea",
          "editor": "select",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "cCondition",
          "label": "Condición de aparición",
          "group": "Línea",
          "editor": "text",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "lVisible",
          "label": "Visible",
          "group": "Línea",
          "editor": "checkbox",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "lLocked",
          "label": "Bloqueado",
          "group": "Línea",
          "editor": "checkbox",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "cOrientation",
          "label": "Orientación",
          "group": "Línea",
          "editor": "select",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "cBorderColor",
          "label": "Color",
          "group": "Línea",
          "editor": "color",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "nBorderWidth",
          "label": "Grosor",
          "group": "Línea",
          "editor": "number",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "cLineStyle",
          "label": "Estilo",
          "group": "Línea",
          "editor": "select",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "nLeft",
          "label": "Izquierda",
          "group": "Línea",
          "editor": "number",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "nTop",
          "label": "Superior",
          "group": "Línea",
          "editor": "number",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "nRight",
          "label": "Derecha",
          "group": "Línea",
          "editor": "number",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "nBottom",
          "label": "Inferior",
          "group": "Línea",
          "editor": "number",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "nWidth",
          "label": "Ancho",
          "group": "Línea",
          "editor": "number",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "nHeight",
          "label": "Alto",
          "group": "Línea",
          "editor": "number",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "cFillStyle",
          "label": "Tipo de relleno",
          "group": "Línea",
          "editor": "select",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "cFillColor2",
          "label": "Color final",
          "group": "Línea",
          "editor": "color",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "cFillColor3",
          "label": "Color intermedio",
          "group": "Línea",
          "editor": "color",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "nFillOpacity",
          "label": "Opacidad del relleno",
          "group": "Línea",
          "editor": "number",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "nRotation",
          "label": "Rotación",
          "group": "Línea",
          "editor": "number",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "nOpacity",
          "label": "Opacidad",
          "group": "Línea",
          "editor": "number",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "nShadowSize",
          "label": "Grosor",
          "group": "Línea",
          "editor": "number",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "nShadowTransparency",
          "label": "Transparencia",
          "group": "Línea",
          "editor": "number",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "cShadowColor",
          "label": "Color",
          "group": "Línea",
          "editor": "color",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "cName",
          "label": "Nombre",
          "group": "Código de barras",
          "editor": "text",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "cType",
          "label": "Tipo de objeto",
          "group": "Código de barras",
          "editor": "text",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "nLayerId",
          "label": "Capa",
          "group": "Código de barras",
          "editor": "select",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "cCondition",
          "label": "Condición de aparición",
          "group": "Código de barras",
          "editor": "text",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "lVisible",
          "label": "Visible",
          "group": "Código de barras",
          "editor": "checkbox",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "lLocked",
          "label": "Bloqueado",
          "group": "Código de barras",
          "editor": "checkbox",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "cContent",
          "label": "Contenido",
          "group": "Código de barras",
          "editor": "text",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "cBarcodeType",
          "label": "Tipo",
          "group": "Código de barras",
          "editor": "select",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "lShowText",
          "label": "Mostrar texto",
          "group": "Código de barras",
          "editor": "checkbox",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "lTrimSpaces",
          "label": "Recortar espacios exteriores",
          "group": "Código de barras",
          "editor": "checkbox",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "cFontFamily",
          "label": "Fuente",
          "group": "Código de barras",
          "editor": "select",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "nFontSize",
          "label": "Tamaño",
          "group": "Código de barras",
          "editor": "number",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "lFontBold",
          "label": "Negrita",
          "group": "Código de barras",
          "editor": "checkbox",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "lFontItalic",
          "label": "Cursiva",
          "group": "Código de barras",
          "editor": "checkbox",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "lFontUnderline",
          "label": "Subrayado",
          "group": "Código de barras",
          "editor": "checkbox",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "lFontStrikeout",
          "label": "Tachado",
          "group": "Código de barras",
          "editor": "checkbox",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "cColor",
          "label": "Color",
          "group": "Código de barras",
          "editor": "color",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "cBackgroundColor",
          "label": "Color de fondo",
          "group": "Código de barras",
          "editor": "color",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "nLeft",
          "label": "Izquierda",
          "group": "Código de barras",
          "editor": "number",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "nTop",
          "label": "Superior",
          "group": "Código de barras",
          "editor": "number",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "nRight",
          "label": "Derecha",
          "group": "Código de barras",
          "editor": "number",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "nBottom",
          "label": "Inferior",
          "group": "Código de barras",
          "editor": "number",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "nWidth",
          "label": "Ancho",
          "group": "Código de barras",
          "editor": "number",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "nHeight",
          "label": "Alto",
          "group": "Código de barras",
          "editor": "number",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "cFillStyle",
          "label": "Tipo de relleno",
          "group": "Código de barras",
          "editor": "select",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "cFillColor2",
          "label": "Color final",
          "group": "Código de barras",
          "editor": "color",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "cFillColor3",
          "label": "Color intermedio",
          "group": "Código de barras",
          "editor": "color",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "nFillOpacity",
          "label": "Opacidad del relleno",
          "group": "Código de barras",
          "editor": "number",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "nRotation",
          "label": "Rotación",
          "group": "Código de barras",
          "editor": "number",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "nOpacity",
          "label": "Opacidad",
          "group": "Código de barras",
          "editor": "number",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "cBorderColor",
          "label": "Color",
          "group": "Código de barras",
          "editor": "color",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "nBorderWidth",
          "label": "Grosor",
          "group": "Código de barras",
          "editor": "number",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "borderVisibility",
          "label": "Visibilidad",
          "group": "Código de barras",
          "editor": "border-visibility",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "nRounded",
          "label": "Redondeo",
          "group": "Código de barras",
          "editor": "number",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "nShadowSize",
          "label": "Grosor",
          "group": "Código de barras",
          "editor": "number",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "nShadowTransparency",
          "label": "Transparencia",
          "group": "Código de barras",
          "editor": "number",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "cShadowColor",
          "label": "Color",
          "group": "Código de barras",
          "editor": "color",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "cContent",
          "label": "Contenido",
          "group": "Texto enriquecido",
          "editor": "text",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "cVerticalAlign",
          "label": "Alineación vertical",
          "group": "Texto enriquecido",
          "editor": "select",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "cOverflow",
          "label": "Desbordamiento",
          "group": "Texto enriquecido",
          "editor": "select",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "cName",
          "label": "Nombre",
          "group": "Texto enriquecido",
          "editor": "text",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "cType",
          "label": "Tipo de objeto",
          "group": "Texto enriquecido",
          "editor": "text",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "nLayerId",
          "label": "Capa",
          "group": "Texto enriquecido",
          "editor": "select",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "cCondition",
          "label": "Condición de aparición",
          "group": "Texto enriquecido",
          "editor": "text",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "lVisible",
          "label": "Visible",
          "group": "Texto enriquecido",
          "editor": "checkbox",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "lLocked",
          "label": "Bloqueado",
          "group": "Texto enriquecido",
          "editor": "checkbox",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "nLeft",
          "label": "Izquierda",
          "group": "Texto enriquecido",
          "editor": "number",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "nTop",
          "label": "Superior",
          "group": "Texto enriquecido",
          "editor": "number",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "nRight",
          "label": "Derecha",
          "group": "Texto enriquecido",
          "editor": "number",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "nBottom",
          "label": "Inferior",
          "group": "Texto enriquecido",
          "editor": "number",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "nWidth",
          "label": "Ancho",
          "group": "Texto enriquecido",
          "editor": "number",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "nHeight",
          "label": "Alto",
          "group": "Texto enriquecido",
          "editor": "number",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "cBackgroundColor",
          "label": "Color de fondo",
          "group": "Texto enriquecido",
          "editor": "color",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "cFillStyle",
          "label": "Tipo de relleno",
          "group": "Texto enriquecido",
          "editor": "select",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "cFillColor2",
          "label": "Color final",
          "group": "Texto enriquecido",
          "editor": "color",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "cFillColor3",
          "label": "Color intermedio",
          "group": "Texto enriquecido",
          "editor": "color",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "nFillOpacity",
          "label": "Opacidad del relleno",
          "group": "Texto enriquecido",
          "editor": "number",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "nRotation",
          "label": "Rotación",
          "group": "Texto enriquecido",
          "editor": "number",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "nOpacity",
          "label": "Opacidad",
          "group": "Texto enriquecido",
          "editor": "number",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "cBorderColor",
          "label": "Color",
          "group": "Texto enriquecido",
          "editor": "color",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "nBorderWidth",
          "label": "Grosor",
          "group": "Texto enriquecido",
          "editor": "number",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "borderVisibility",
          "label": "Visibilidad",
          "group": "Texto enriquecido",
          "editor": "border-visibility",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "nRounded",
          "label": "Redondeo",
          "group": "Texto enriquecido",
          "editor": "number",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "nShadowSize",
          "label": "Grosor",
          "group": "Texto enriquecido",
          "editor": "number",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "nShadowTransparency",
          "label": "Transparencia",
          "group": "Texto enriquecido",
          "editor": "number",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "cShadowColor",
          "label": "Color",
          "group": "Texto enriquecido",
          "editor": "color",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "cText",
          "label": "Contenido",
          "group": "Texto formateado",
          "editor": "text",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "cFontFamily",
          "label": "Fuente",
          "group": "Texto formateado",
          "editor": "select",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nFontSize",
          "label": "Tamaño",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "lFontBold",
          "label": "Negrita",
          "group": "Texto formateado",
          "editor": "checkbox",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "lFontItalic",
          "label": "Cursiva",
          "group": "Texto formateado",
          "editor": "checkbox",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "lFontUnderline",
          "label": "Subrayado",
          "group": "Texto formateado",
          "editor": "checkbox",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "lFontStrikeout",
          "label": "Tachado",
          "group": "Texto formateado",
          "editor": "checkbox",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "lTextWrap",
          "label": "Partir si no cabe",
          "group": "Texto formateado",
          "editor": "checkbox",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "lAllowPageBreak",
          "label": "Continuar entre páginas",
          "group": "Texto formateado",
          "editor": "checkbox",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nLineSpacing",
          "label": "Interlineado adicional",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nParagraphSpacing",
          "label": "Espacio entre párrafos",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "lKeepEmptyParagraphs",
          "label": "Conservar párrafos vacíos",
          "group": "Texto formateado",
          "editor": "checkbox",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "lTextAdjusted",
          "label": "Justificación forzada",
          "group": "Texto formateado",
          "editor": "checkbox",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "lTrimSpaces",
          "label": "Recortar espacios exteriores",
          "group": "Texto formateado",
          "editor": "checkbox",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "cTextColor",
          "label": "Color",
          "group": "Texto formateado",
          "editor": "color",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nTextOpacity",
          "label": "Opacidad texto",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "cTextAlign",
          "label": "Alineación",
          "group": "Texto formateado",
          "editor": "select",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nTextDecimalPosition",
          "label": "Posición decimal",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "cTextVerticalAlign",
          "label": "Alineación vertical",
          "group": "Texto formateado",
          "editor": "select",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "cName",
          "label": "Nombre",
          "group": "Texto formateado",
          "editor": "text",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "cType",
          "label": "Tipo de objeto",
          "group": "Texto formateado",
          "editor": "text",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nLayerId",
          "label": "Capa",
          "group": "Texto formateado",
          "editor": "select",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "cCondition",
          "label": "Condición de aparición",
          "group": "Texto formateado",
          "editor": "text",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "lVisible",
          "label": "Visible",
          "group": "Texto formateado",
          "editor": "checkbox",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "lLocked",
          "label": "Bloqueado",
          "group": "Texto formateado",
          "editor": "checkbox",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nLeft",
          "label": "Izquierda",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nTop",
          "label": "Superior",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nRight",
          "label": "Derecha",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nBottom",
          "label": "Inferior",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nWidth",
          "label": "Ancho",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nHeight",
          "label": "Alto",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "cBackgroundColor",
          "label": "Color de fondo",
          "group": "Texto formateado",
          "editor": "color",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "cFillStyle",
          "label": "Tipo de relleno",
          "group": "Texto formateado",
          "editor": "select",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "cFillColor2",
          "label": "Color final",
          "group": "Texto formateado",
          "editor": "color",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "cFillColor3",
          "label": "Color intermedio",
          "group": "Texto formateado",
          "editor": "color",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nFillOpacity",
          "label": "Opacidad del relleno",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nRotation",
          "label": "Rotación",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nOpacity",
          "label": "Opacidad",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "cBorderColor",
          "label": "Color",
          "group": "Texto formateado",
          "editor": "color",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nBorderWidth",
          "label": "Grosor",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "borderVisibility",
          "label": "Visibilidad",
          "group": "Texto formateado",
          "editor": "border-visibility",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nRounded",
          "label": "Redondeo",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nShadowSize",
          "label": "Grosor",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nShadowTransparency",
          "label": "Transparencia",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "cShadowColor",
          "label": "Color",
          "group": "Texto formateado",
          "editor": "color",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        }
      ],
      "aAvailableFields": [
        {
          "cName": "DATOS_EMPRESA.empresa",
          "cType": "texto",
          "cOrigin": "DataVar",
          "cGroup": "DATOS_EMPRESA"
        },
        {
          "cName": "DATOS_EMPRESA.fecha",
          "cType": "fecha",
          "cOrigin": "DataVar",
          "cGroup": "DATOS_EMPRESA"
        },
        {
          "cName": "DATOS_EMPRESA.logo_empresa",
          "cType": "imagen",
          "cOrigin": "DataVar",
          "cGroup": "DATOS_EMPRESA"
        },
        {
          "cName": "DATOS_EMPRESA.ruta_logo",
          "cType": "texto",
          "cOrigin": "DataVar",
          "cGroup": "DATOS_EMPRESA"
        },
        {
          "cName": "DATOS_EMPRESA.usuario",
          "cType": "texto",
          "cOrigin": "DataVar",
          "cGroup": "DATOS_EMPRESA"
        },
        {
          "cName": "FACLI.cliente",
          "cType": "texto",
          "cOrigin": "DataVar",
          "cGroup": "FACLI"
        },
        {
          "cName": "FACLI.codigoc",
          "cType": "texto",
          "cOrigin": "DataVar",
          "cGroup": "FACLI"
        },
        {
          "cName": "FACLI.nifc",
          "cType": "texto",
          "cOrigin": "DataVar",
          "cGroup": "FACLI"
        },
        {
          "cName": "FACLI.total",
          "cType": "numerico",
          "cOrigin": "DataVar",
          "cGroup": "FACLI"
        },
        {
          "cName": "LINEAS_FACTURA.cantidad",
          "cType": "numerico",
          "cOrigin": "DetalleVar",
          "cGroup": "LINEAS_FACTURA"
        },
        {
          "cName": "LINEAS_FACTURA.codigo_articulo",
          "cType": "texto",
          "cOrigin": "DetalleVar",
          "cGroup": "LINEAS_FACTURA"
        },
        {
          "cName": "LINEAS_FACTURA.descripcion",
          "cType": "texto",
          "cOrigin": "DetalleVar",
          "cGroup": "LINEAS_FACTURA"
        },
        {
          "cName": "LINEAS_FACTURA.logo_linea",
          "cType": "imagen",
          "cOrigin": "DetalleVar",
          "cGroup": "LINEAS_FACTURA"
        },
        {
          "cName": "LINEAS_FACTURA.precio",
          "cType": "numerico",
          "cOrigin": "DetalleVar",
          "cGroup": "LINEAS_FACTURA"
        },
        {
          "cName": "LINEAS_FACTURA.total_linea",
          "cType": "numerico",
          "cOrigin": "DetalleVar",
          "cGroup": "LINEAS_FACTURA"
        },
        {
          "cName": "VENDE.codvende",
          "cType": "texto",
          "cOrigin": "DataVar",
          "cGroup": "VENDE"
        },
        {
          "cName": "VENDE.nombre",
          "cType": "texto",
          "cOrigin": "DataVar",
          "cGroup": "VENDE"
        }
      ],
      "hTemplate": {
        "cType": "TDocument",
        "cFormatVersion": "1.0",
        "cTemplateId": "",
        "cTemplateName": "Documento",
        "cDocumentKind": "report",
        "cPaperFormat": "a4",
        "cPaperOrientation": "portrait",
        "tModifiedAt": "2026-08-10T07:04:37.920Z",
        "cFileName": "",
        "nPaperWidth": 210,
        "nPaperHeight": 297,
        "cPaperHeightMode": "fixed",
        "nDesignHeight": 250,
        "nContinuousBottomMargin": 5,
        "lShowGrid": true,
        "hUserVars": {},
        "hAcumVars": {},
        "hImportMetadata": {},
        "hLabelLayout": {
          "nLabelWidth": 70,
          "nLabelHeight": 37,
          "nColumns": 3,
          "nRows": 8,
          "nMarginLeft": 0,
          "nMarginTop": 0,
          "nGapHorizontal": 0,
          "nGapVertical": 0,
          "cFlow": "row",
          "cLabelFormat": "manual",
          "nPrintOffsetX": 0,
          "nPrintOffsetY": 0
        },
        "hLayers": {
          "0": {
            "nId": 0,
            "cName": "Capa 1",
            "cCondition": "",
            "lDesignerVisible": true,
            "cColor": "#000000"
          }
        },
        "aObjects": [
          {
            "cId": "obj_1786345477933_usgy3l",
            "cName": "Texto 1",
            "cType": "TText",
            "nLeft": 10,
            "nTop": 10,
            "nWidth": 20,
            "nHeight": 8,
            "lVisible": true,
            "lLocked": false,
            "lSelected": true,
            "nLayerId": 0,
            "nZIndex": 1,
            "cBorderColor": "#000000",
            "cBorderColorFormula": "",
            "nBorderWidth": 0.1,
            "lBorderTop": false,
            "lBorderRight": false,
            "lBorderBottom": false,
            "lBorderLeft": false,
            "cBackgroundColor": "#ffffff",
            "cBackgroundColorFormula": "",
            "cFillStyle": "solid",
            "cFillColor2": "#ffffff",
            "cFillColor2Formula": "",
            "cFillColor3": "#ffffff",
            "cFillColor3Formula": "",
            "nFillOpacity": 1,
            "nRounded": 0,
            "nShadowSize": 0,
            "nShadowTransparency": 50,
            "cShadowColor": "#000000",
            "cShadowColorFormula": "",
            "nRotation": 0,
            "nOpacity": 1,
            "cCondition": "",
            "nPaddingTop": 0,
            "nPaddingRight": 0,
            "nPaddingBottom": 0,
            "nPaddingLeft": 0,
            "nLl12LinkID": 0,
            "nLl12LinkToID": 0,
            "nLl12LinkMode": 0,
            "nLl12GroupId": 0,
            "lLl12WrapBefore": false,
            "cTableId": "",
            "cTableSectionKey": "",
            "cText": "\"TEXTO 1\"",
            "cFontFamily": "Arial",
            "nFontSize": 12,
            "nFontOutPrecision": 0,
            "nFontPitchAndFamily": 0,
            "lFontBold": false,
            "cFontBoldFormula": "",
            "lFontItalic": false,
            "cFontItalicFormula": "",
            "lFontUnderline": false,
            "cFontUnderlineFormula": "",
            "lFontStrikeout": false,
            "cFontStrikeoutFormula": "",
            "lTextWrap": true,
            "lAllowPageBreak": false,
            "nLineSpacing": 0,
            "nParagraphSpacing": 0,
            "lKeepEmptyParagraphs": true,
            "lTextAdjusted": false,
            "lTrimSpaces": false,
            "cTextFlowGroup": "",
            "nTextFlowOrder": 0,
            "nTextFlowLineHeight": 0,
            "cTextColor": "#000000",
            "cTextColorFormula": "",
            "nTextOpacity": 1,
            "cTextAlign": "left",
            "nTextDecimalPosition": -10,
            "cTextVerticalAlign": "top",
            "cLl12SourceType": "",
            "cLl12SourceJson": ""
          },
          {
            "cId": "obj_1786345477933_m2vhha",
            "cName": "Texto 2",
            "cType": "TText",
            "nLeft": 40,
            "nTop": 10,
            "nWidth": 20,
            "nHeight": 8,
            "lVisible": true,
            "lLocked": false,
            "lSelected": true,
            "nLayerId": 0,
            "nZIndex": 1,
            "cBorderColor": "#000000",
            "cBorderColorFormula": "",
            "nBorderWidth": 0.1,
            "lBorderTop": false,
            "lBorderRight": false,
            "lBorderBottom": false,
            "lBorderLeft": false,
            "cBackgroundColor": "#ffffff",
            "cBackgroundColorFormula": "",
            "cFillStyle": "solid",
            "cFillColor2": "#ffffff",
            "cFillColor2Formula": "",
            "cFillColor3": "#ffffff",
            "cFillColor3Formula": "",
            "nFillOpacity": 1,
            "nRounded": 0,
            "nShadowSize": 0,
            "nShadowTransparency": 50,
            "cShadowColor": "#000000",
            "cShadowColorFormula": "",
            "nRotation": 0,
            "nOpacity": 1,
            "cCondition": "",
            "nPaddingTop": 0,
            "nPaddingRight": 0,
            "nPaddingBottom": 0,
            "nPaddingLeft": 0,
            "nLl12LinkID": 0,
            "nLl12LinkToID": 0,
            "nLl12LinkMode": 0,
            "nLl12GroupId": 0,
            "lLl12WrapBefore": false,
            "cTableId": "",
            "cTableSectionKey": "",
            "cText": "\"TEXTO 2\"",
            "cFontFamily": "Arial",
            "nFontSize": 12,
            "nFontOutPrecision": 0,
            "nFontPitchAndFamily": 0,
            "lFontBold": false,
            "cFontBoldFormula": "",
            "lFontItalic": false,
            "cFontItalicFormula": "",
            "lFontUnderline": false,
            "cFontUnderlineFormula": "",
            "lFontStrikeout": false,
            "cFontStrikeoutFormula": "",
            "lTextWrap": true,
            "lAllowPageBreak": false,
            "nLineSpacing": 0,
            "nParagraphSpacing": 0,
            "lKeepEmptyParagraphs": true,
            "lTextAdjusted": false,
            "lTrimSpaces": false,
            "cTextFlowGroup": "",
            "nTextFlowOrder": 0,
            "nTextFlowLineHeight": 0,
            "cTextColor": "#000000",
            "cTextColorFormula": "",
            "nTextOpacity": 1,
            "cTextAlign": "left",
            "nTextDecimalPosition": -10,
            "cTextVerticalAlign": "top",
            "cLl12SourceType": "",
            "cLl12SourceJson": ""
          },
          {
            "cId": "obj_1786345477933_by193x",
            "cName": "Texto 3",
            "cType": "TText",
            "nLeft": 70,
            "nTop": 10,
            "nWidth": 20,
            "nHeight": 8,
            "lVisible": true,
            "lLocked": false,
            "lSelected": true,
            "nLayerId": 0,
            "nZIndex": 1,
            "cBorderColor": "#000000",
            "cBorderColorFormula": "",
            "nBorderWidth": 0.1,
            "lBorderTop": false,
            "lBorderRight": false,
            "lBorderBottom": false,
            "lBorderLeft": false,
            "cBackgroundColor": "#ffffff",
            "cBackgroundColorFormula": "",
            "cFillStyle": "solid",
            "cFillColor2": "#ffffff",
            "cFillColor2Formula": "",
            "cFillColor3": "#ffffff",
            "cFillColor3Formula": "",
            "nFillOpacity": 1,
            "nRounded": 0,
            "nShadowSize": 0,
            "nShadowTransparency": 50,
            "cShadowColor": "#000000",
            "cShadowColorFormula": "",
            "nRotation": 0,
            "nOpacity": 1,
            "cCondition": "",
            "nPaddingTop": 0,
            "nPaddingRight": 0,
            "nPaddingBottom": 0,
            "nPaddingLeft": 0,
            "nLl12LinkID": 0,
            "nLl12LinkToID": 0,
            "nLl12LinkMode": 0,
            "nLl12GroupId": 0,
            "lLl12WrapBefore": false,
            "cTableId": "",
            "cTableSectionKey": "",
            "cText": "\"TEXTO 3\"",
            "cFontFamily": "Arial",
            "nFontSize": 12,
            "nFontOutPrecision": 0,
            "nFontPitchAndFamily": 0,
            "lFontBold": false,
            "cFontBoldFormula": "",
            "lFontItalic": false,
            "cFontItalicFormula": "",
            "lFontUnderline": false,
            "cFontUnderlineFormula": "",
            "lFontStrikeout": false,
            "cFontStrikeoutFormula": "",
            "lTextWrap": true,
            "lAllowPageBreak": false,
            "nLineSpacing": 0,
            "nParagraphSpacing": 0,
            "lKeepEmptyParagraphs": true,
            "lTextAdjusted": false,
            "lTrimSpaces": false,
            "cTextFlowGroup": "",
            "nTextFlowOrder": 0,
            "nTextFlowLineHeight": 0,
            "cTextColor": "#000000",
            "cTextColorFormula": "",
            "nTextOpacity": 1,
            "cTextAlign": "left",
            "nTextDecimalPosition": -10,
            "cTextVerticalAlign": "top",
            "cLl12SourceType": "",
            "cLl12SourceJson": ""
          },
          {
            "cId": "obj_1786345477933_a3n01x",
            "cName": "Rectángulo",
            "cType": "TRectangle",
            "nLeft": 10,
            "nTop": 30,
            "nWidth": 40,
            "nHeight": 20,
            "lVisible": true,
            "lLocked": false,
            "lSelected": false,
            "nLayerId": 0,
            "nZIndex": 1,
            "cBorderColor": "#000000",
            "cBorderColorFormula": "",
            "nBorderWidth": 0.1,
            "lBorderTop": true,
            "lBorderRight": true,
            "lBorderBottom": true,
            "lBorderLeft": true,
            "cBackgroundColor": "#000000",
            "cBackgroundColorFormula": "",
            "cFillStyle": "solid",
            "cFillColor2": "#ffffff",
            "cFillColor2Formula": "",
            "cFillColor3": "#ffffff",
            "cFillColor3Formula": "",
            "nFillOpacity": 1,
            "nRounded": 0,
            "nShadowSize": 0,
            "nShadowTransparency": 50,
            "cShadowColor": "#000000",
            "cShadowColorFormula": "",
            "nRotation": 0,
            "nOpacity": 1,
            "cCondition": "",
            "nPaddingTop": 0,
            "nPaddingRight": 0,
            "nPaddingBottom": 0,
            "nPaddingLeft": 0,
            "nLl12LinkID": 0,
            "nLl12LinkToID": 0,
            "nLl12LinkMode": 0,
            "nLl12GroupId": 0,
            "lLl12WrapBefore": false,
            "cTableId": "",
            "cTableSectionKey": ""
          }
        ]
      }
    },
    "response": {
      "lOk": true,
      "hInspection": {
        "cInstruction": "redimensiona los objetos seleccionados a la mitad",
        "cProvider": "Ollama",
        "cModelSelection": "Ollama — GPT-OSS 20B",
        "cModel": "gpt-oss:20b",
        "cRepresentation": "COMMANDS",
        "cRawResponse": "{\"commands\":[{\"command\":\"resize\",\"target\":\"selection\",\"scaleX\":0.5,\"scaleY\":0.5}]}",
        "cThinking": "Need resize to 0.5 scaleX,scaleY.",
        "cOllamaRequest": "{\"model\":\"gpt-oss:20b\",\"messages\":[{\"role\":\"system\",\"content\":\"Interpreta la instrucciÃ³n y devuelve Ãºnicamente JSON vÃ¡lido con la forma {\\\"commands\\\":[{\\\"command\\\":\\\"setProperty\\\",\\\"target\\\":\\\"selection\\\",\\\"property\\\":\\\"propiedad_real\\\",\\\"value\\\":valor}]}. Cada comando DEBE usar la clave command (nunca type) y target. Comandos permitidos: setProperty, move, resize, delete, align, distribute, reorder, duplicate, tableMoveColumn, tableSetColumnWidth, tableInsertColumn, tableDeleteColumn, tableInsertLine, tableDeleteLine, tableMoveLine, tableSetLineHeight, tableSetLineBackground, tableSetLineBorderColor, tableSetLineBorderWidth, tableSetLinePadding, tableSetLineBorderRadius, tableSetLineBorderSide, tableSetLineVerticalSeparators, tableSetLineZebraEnabled, tableSetLineZebraColor, tableSetLineCondition, tableSetLineSuppressCondition, tableSetLineBackgroundColorFormula, tableSetLineBorderColorFormula. Prioridad: propiedad o estilo â†’ setProperty; desplazamiento relativo â†’ move; tamaÃ±o relativo â†’ resize; alineaciÃ³n de varios objetos â†’ align; eliminar objetos â†’ delete. Para eliminar usa exactamente {\\\"command\\\":\\\"delete\\\",\\\"target\\\":\\\"selection\\\"}. Si se pide duplicar, reducir o cambiar el tamaÃ±o, devuelve Ãºnicamente resize y no uses setProperty para propiedades numÃ©ricas. Para setProperty usa exactamente property y value, nunca name ni valores como *2. Para move usa {\\\"command\\\":\\\"move\\\",\\\"target\\\":\\\"selection\\\",\\\"dx\\\":10,\\\"dy\\\":0}; para resize usa {\\\"command\\\":\\\"resize\\\",\\\"target\\\":\\\"selection\\\",\\\"scaleX\\\":0.5,\\\"scaleY\\\":0.5}. Para alinear usa exactamente {\\\"command\\\":\\\"align\\\",\\\"target\\\":\\\"selection\\\",\\\"mode\\\":\\\"left\\\"}; modos vÃ¡lidos: left|right|top|bottom|horizontalCenter|verticalCenter. Si la orden se refiere a los objetos seleccionados, usa target:\\\"selection\\\". No enumeres IDs ni calcules coordenadas o dimensiones finales. El contexto distingue SELECCION_ACTUAL_SCOPE=selection y RESTO_DEL_DOCUMENTO_SCOPE=global. Usa target:\\\"selection\\\" para referencias a la selecciÃ³n actual. Para instrucciones globales como todos, cada o todo el documento, usa la forma ya soportada target:{\\\"ids\\\":[...]} con los cId existentes de la selecciÃ³n y del resto del documento que correspondan; no inventes IDs y no uses target:\\\"selection\\\" para una orden global. Para distribuir usa exactamente {\\\"command\\\":\\\"distribute\\\",\\\"target\\\":\\\"selection\\\",\\\"mode\\\":\\\"horizontal\\\"}; modos vÃƒÂ¡lidos: horizontal|vertical. Para reordenar usa exactamente {\\\"command\\\":\\\"reorder\\\",\\\"target\\\":\\\"selection\\\",\\\"mode\\\":\\\"bringToFront\\\"}; modos vÃƒÂ¡lidos: bringToFront=traer al frente, sendToBack=enviar al fondo, bringForward=subir un nivel, sendBackward=bajar un nivel. Para duplicar usa exactamente {\\\"command\\\":\\\"duplicate\\\",\\\"target\\\":\\\"selection\\\"}. Para tablas usa Ãºnicamente estas formas: {\\\"command\\\":\\\"tableMoveColumn\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"header\\\",\\\"lineIndex\\\":0,\\\"fromIndex\\\":2,\\\"toIndex\\\":0}, {\\\"command\\\":\\\"tableSetColumnWidth\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"header\\\",\\\"lineIndex\\\":0,\\\"columnIndex\\\":0,\\\"width\\\":30}, {\\\"command\\\":\\\"tableInsertColumn\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"columnIndex\\\":2}, {\\\"command\\\":\\\"tableDeleteColumn\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"columnIndex\\\":2}, {\\\"command\\\":\\\"tableInsertLine\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":1}, {\\\"command\\\":\\\"tableDeleteLine\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":1}, {\\\"command\\\":\\\"tableMoveLine\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"fromIndex\\\":1,\\\"toIndex\\\":0}, {\\\"command\\\":\\\"tableSetLineHeight\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"height\\\":12}, {\\\"command\\\":\\\"tableSetLineBackground\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"color\\\":\\\"#d3d3d3\\\"}; section: header|groupHeader|detail|groupFooter|footer. Los Ã­ndices son enteros cero-basados y no negativos. tableSetLineHeight usa altura fija en milÃ­metros >=1. tableSetLineBackground usa Ãºnicamente color HEX fijo; no usa fÃ³rmulas ni paths privados. Insertar columna usa columnIndex como posiciÃ³n antes de la columna existente; si coincide con el nÃºmero actual de columnas, aÃ±ade al final. Insertar lÃ­nea usa lineIndex como posiciÃ³n antes de la lÃ­nea existente; si coincide con el nÃºmero actual de lÃ­neas, aÃ±ade al final. No uses hSections, aLines ni aCells. SemÃ¡ntica de lÃ­neas OBLIGATORIA: si una secciÃ³n tiene una sola lÃ­nea, basta mencionar la secciÃ³n y usa lineIndex 0. Si tiene varias lÃ­neas, una operaciÃ³n estructural debe indicar la lÃ­nea; si no la indica y no dice todas, devuelve EXACTAMENTE {\\\"commands\\\":[]}. Solo si dice todas las lÃ­neas genera una operaciÃ³n por cada lÃ­nea existente. Esta regla no afecta a objetos visuales de celda, que siguen usando commands normales. Para cambiar altura o fondo fijo de una lÃ­nea de TTable usa obligatoriamente tableSetLineHeight o tableSetLineBackground con section y lineIndex; no uses setProperty para esas operaciones. Shapes adicionales de lÃ­nea: {\\\"command\\\":\\\"tableSetLineBorderColor\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"color\\\":\\\"#0000ff\\\"}, {\\\"command\\\":\\\"tableSetLineBorderWidth\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"width\\\":1}, {\\\"command\\\":\\\"tableSetLinePadding\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"side\\\":\\\"nTop\\\",\\\"value\\\":2}, {\\\"command\\\":\\\"tableSetLineBorderRadius\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"radius\\\":2}, {\\\"command\\\":\\\"tableSetLineBorderSide\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"side\\\":\\\"top\\\",\\\"visible\\\":true}, {\\\"command\\\":\\\"tableSetLineVerticalSeparators\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"visible\\\":true}, {\\\"command\\\":\\\"tableSetLineCondition\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"formula\\\":\\\"DETAIL.cantidad > 0\\\"}, {\\\"command\\\":\\\"tableSetLineSuppressCondition\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"formula\\\":\\\"DETAIL.importe == 0\\\"}, {\\\"command\\\":\\\"tableSetLineBackgroundColorFormula\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"formula\\\":\\\"IF(...)\\\"}, {\\\"command\\\":\\\"tableSetLineBorderColorFormula\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"formula\\\":\\\"IF(...)\\\"}. Las cuatro primitivas de fórmula reciben formula como string literal y aceptan string vacío para borrar; no evalúes ni cambies la sintaxis. Usa la primitiva específica según sea condición, supresión o fórmula de color; no uses paths hBorder, hBackground ni setProperty. Si la instrucciÃ³n menciona una lÃ­nea, cabecera, detalle o pie, el color de borde de esa lÃ­nea usa tableSetLineBorderColor y nunca setProperty. Zebra solo existe en lÃ­neas detail. Shapes exactas: {\\\"command\\\":\\\"tableSetLineZebraEnabled\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"enabled\\\":true} y {\\\"command\\\":\\\"tableSetLineZebraColor\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"role\\\":\\\"odd\\\",\\\"color\\\":\\\"#d3d3d3\\\"}. Usa enabled booleano para activar o desactivar y role odd/even para filas impares/pares. No uses hZebraPattern ni paths privados. TambiÃƒÂ©n se permite create: {\\\"command\\\":\\\"create\\\",\\\"type\\\":\\\"TText\\\",\\\"properties\\\":{\\\"cText\\\":\\\"\\\\\\\\\\\"texto\\\\\\\\\\\"\\\"}}. En create describe ÃƒÂºnicamente lo solicitado: incluye solo el tipo, contenido, posiciÃƒÂ³n y propiedades que la instrucciÃƒÂ³n pida explÃƒÂ­citamente; el diseÃƒÂ±ador completa los defaults reales. Tipos reales: TText,TRectangle,TEllipse,TImage,TLine,TBarcode,richText,TFormattedText. Properties solo editables, nunca cId, defaults, estructura interna ni geometrÃƒÂ­a. position usa {\\\"x\\\":20,\\\"y\\\":30}. Una ref es temporal dentro de esta respuesta: el create declara ref:\\\"new1\\\" y un comando posterior apunta al mismo objeto con target:{\\\"ref\\\":\\\"new1\\\"}. Ejemplo: {\\\"commands\\\":[{\\\"command\\\":\\\"create\\\",\\\"ref\\\":\\\"new1\\\",\\\"type\\\":\\\"TText\\\",\\\"properties\\\":{\\\"cText\\\":\\\"\\\\\\\\\\\"TOTAL\\\\\\\\\\\"\\\"}},{\\\"command\\\":\\\"resize\\\",\\\"target\\\":{\\\"ref\\\":\\\"new1\\\"},\\\"scaleX\\\":2,\\\"scaleY\\\":2}]}. TIPOS:TBarcode=Código de barras,TEllipse=Elipse,TFormattedText=Texto formateado,TImage=Imagen,TLine=Línea,TRectangle=Rectángulo,TText=Texto,richText=Texto enriquecido. PROPS_TBarcode:cBackgroundColor:string=Código de barras / Color de fondo,cBarcodeType:string=Código de barras / Tipo,cBorderColor:string=Código de barras / Color,cColor:string=Código de barras / Color,cCondition:string=Código de barras / Condición de aparición,cContent:string=Código de barras / Contenido,cFillColor2:string=Código de barras / Color final,cFillColor3:string=Código de barras / Color intermedio,cFillStyle:string=Código de barras / Tipo de relleno,cFontFamily:string=Código de barras / Fuente,cShadowColor:string=Código de barras / Color,lFontBold:boolean=Código de barras / Negrita,lFontItalic:boolean=Código de barras / Cursiva,lFontStrikeout:boolean=Código de barras / Tachado,lFontUnderline:boolean=Código de barras / Subrayado,lLocked:boolean=Código de barras / Bloqueado,lShowText:boolean=Código de barras / Mostrar texto,lTrimSpaces:boolean=Código de barras / Recortar espacios exteriores,lVisible:boolean=Código de barras / Visible,nBorderWidth:number=Código de barras / Grosor,nFillOpacity:number=Código de barras / Opacidad del relleno,nFontSize:number=Código de barras / Tamaño,nLayerId:number=Código de barras / Capa,nOpacity:number=Código de barras / Opacidad,nRotation:number=Código de barras / Rotación,nRounded:number=Código de barras / Redondeo,nShadowSize:number=Código de barras / Grosor,nShadowTransparency:number=Código de barras / Transparencia. PROPS_TEllipse:cBackgroundColor:string=Elipse / Color de fondo,cBorderColor:string=Elipse / Color,cCondition:string=Elipse / Condición de aparición,cFillColor2:string=Elipse / Color final,cFillColor3:string=Elipse / Color intermedio,cFillStyle:string=Elipse / Tipo de relleno,cShadowColor:string=Elipse / Color,lLocked:boolean=Elipse / Bloqueado,lVisible:boolean=Elipse / Visible,nBorderWidth:number=Elipse / Grosor,nFillOpacity:number=Elipse / Opacidad del relleno,nLayerId:number=Elipse / Capa,nOpacity:number=Elipse / Opacidad,nRotation:number=Elipse / Rotación,nRounded:number=Elipse / Redondeo,nShadowSize:number=Elipse / Grosor,nShadowTransparency:number=Elipse / Transparencia. PROPS_TFormattedText:cBackgroundColor:string=Texto formateado / Color de fondo,cBorderColor:string=Texto formateado / Color,cCondition:string=Texto formateado / Condición de aparición,cFillColor2:string=Texto formateado / Color final,cFillColor3:string=Texto formateado / Color intermedio,cFillStyle:string=Texto formateado / Tipo de relleno,cFontFamily:string=Texto formateado / Fuente,cShadowColor:string=Texto formateado / Color,cText:string=Texto formateado / Contenido,cTextAlign:string=Texto formateado / Alineación,cTextColor:string=Texto formateado / Color,cTextVerticalAlign:string=Texto formateado / Alineación vertical,lAllowPageBreak:boolean=Texto formateado / Continuar entre páginas,lFontBold:boolean=Texto formateado / Negrita,lFontItalic:boolean=Texto formateado / Cursiva,lFontStrikeout:boolean=Texto formateado / Tachado,lFontUnderline:boolean=Texto formateado / Subrayado,lKeepEmptyParagraphs:boolean=Texto formateado / Conservar párrafos vacíos,lLocked:boolean=Texto formateado / Bloqueado,lTextAdjusted:boolean=Texto formateado / Justificación forzada,lTextWrap:boolean=Texto formateado / Partir si no cabe,lTrimSpaces:boolean=Texto formateado / Recortar espacios exteriores,lVisible:boolean=Texto formateado / Visible,nBorderWidth:number=Texto formateado / Grosor,nFillOpacity:number=Texto formateado / Opacidad del relleno,nFontSize:number=Texto formateado / Tamaño,nLayerId:number=Texto formateado / Capa,nLineSpacing:number=Texto formateado / Interlineado adicional,nOpacity:number=Texto formateado / Opacidad,nParagraphSpacing:number=Texto formateado / Espacio entre párrafos,nRotation:number=Texto formateado / Rotación,nRounded:number=Texto formateado / Redondeo,nShadowSize:number=Texto formateado / Grosor,nShadowTransparency:number=Texto formateado / Transparencia,nTextDecimalPosition:number=Texto formateado / Posición decimal,nTextOpacity:number=Texto formateado / Opacidad texto. PROPS_TImage:cBackgroundColor:string=Imagen / Color de fondo,cBorderColor:string=Imagen / Color,cCondition:string=Imagen / Condición de aparición,cFillColor2:string=Imagen / Color final,cFillColor3:string=Imagen / Color intermedio,cFillStyle:string=Imagen / Tipo de relleno,cFit:string=Imagen / Ajuste,cShadowColor:string=Imagen / Color,cSource:string=Imagen / Origen / contenido,cSourceType:string=Imagen / Tipo de origen,lKeepRatio:boolean=Imagen / Mantener proporción,lLocked:boolean=Imagen / Bloqueado,lVisible:boolean=Imagen / Visible,nBorderWidth:number=Imagen / Grosor,nFillOpacity:number=Imagen / Opacidad del relleno,nLayerId:number=Imagen / Capa,nOpacity:number=Imagen / Opacidad,nRotation:number=Imagen / Rotación,nRounded:number=Imagen / Redondeo,nShadowSize:number=Imagen / Grosor,nShadowTransparency:number=Imagen / Transparencia. PROPS_TLine:cBorderColor:string=Línea / Color,cCondition:string=Línea / Condición de aparición,cFillColor2:string=Línea / Color final,cFillColor3:string=Línea / Color intermedio,cFillStyle:string=Línea / Tipo de relleno,cLineStyle:string=Línea / Estilo,cOrientation:string=Línea / Orientación,cShadowColor:string=Línea / Color,lLocked:boolean=Línea / Bloqueado,lVisible:boolean=Línea / Visible,nBorderWidth:number=Línea / Grosor,nFillOpacity:number=Línea / Opacidad del relleno,nLayerId:number=Línea / Capa,nOpacity:number=Línea / Opacidad,nRotation:number=Línea / Rotación,nShadowSize:number=Línea / Grosor,nShadowTransparency:number=Línea / Transparencia. PROPS_TRectangle:cBackgroundColor:string=Rectángulo / Color de fondo,cBorderColor:string=Rectángulo / Color,cCondition:string=Rectángulo / Condición de aparición,cFillColor2:string=Rectángulo / Color final,cFillColor3:string=Rectángulo / Color intermedio,cFillStyle:string=Rectángulo / Tipo de relleno,cShadowColor:string=Rectángulo / Color,lLocked:boolean=Rectángulo / Bloqueado,lVisible:boolean=Rectángulo / Visible,nBorderWidth:number=Rectángulo / Grosor,nFillOpacity:number=Rectángulo / Opacidad del relleno,nLayerId:number=Rectángulo / Capa,nOpacity:number=Rectángulo / Opacidad,nRotation:number=Rectángulo / Rotación,nRounded:number=Rectángulo / Redondeo,nShadowSize:number=Rectángulo / Grosor,nShadowTransparency:number=Rectángulo / Transparencia. PROPS_TText:cBackgroundColor:string=Texto / Color de fondo,cBorderColor:string=Texto / Color,cCondition:string=Texto / Condición de aparición,cFillColor2:string=Texto / Color final,cFillColor3:string=Texto / Color intermedio,cFillStyle:string=Texto / Tipo de relleno,cFontFamily:string=Texto / Fuente,cShadowColor:string=Texto / Color,cText:string=Texto / Contenido,cTextAlign:string=Texto / Alineación,cTextColor:string=Texto / Color,cTextVerticalAlign:string=Texto / Alineación vertical,lAllowPageBreak:boolean=Texto / Continuar entre páginas,lFontBold:boolean=Texto / Negrita,lFontItalic:boolean=Texto / Cursiva,lFontStrikeout:boolean=Texto / Tachado,lFontUnderline:boolean=Texto / Subrayado,lKeepEmptyParagraphs:boolean=Texto / Conservar párrafos vacíos,lLocked:boolean=Texto / Bloqueado,lTextAdjusted:boolean=Texto / Justificación forzada,lTextWrap:boolean=Texto / Partir si no cabe,lTrimSpaces:boolean=Texto / Recortar espacios exteriores,lVisible:boolean=Texto / Visible,nBorderWidth:number=Texto / Grosor,nFillOpacity:number=Texto / Opacidad del relleno,nFontSize:number=Texto / Tamaño,nLayerId:number=Texto / Capa,nLineSpacing:number=Texto / Interlineado adicional,nOpacity:number=Texto / Opacidad,nParagraphSpacing:number=Texto / Espacio entre párrafos,nRotation:number=Texto / Rotación,nRounded:number=Texto / Redondeo,nShadowSize:number=Texto / Grosor,nShadowTransparency:number=Texto / Transparencia,nTextDecimalPosition:number=Texto / Posición decimal,nTextOpacity:number=Texto / Opacidad texto. PROPS_richText:cBackgroundColor:string=Texto enriquecido / Color de fondo,cBorderColor:string=Texto enriquecido / Color,cCondition:string=Texto enriquecido / Condición de aparición,cContent:string=Texto enriquecido / Contenido,cFillColor2:string=Texto enriquecido / Color final,cFillColor3:string=Texto enriquecido / Color intermedio,cFillStyle:string=Texto enriquecido / Tipo de relleno,cOverflow:string=Texto enriquecido / Desbordamiento,cShadowColor:string=Texto enriquecido / Color,cVerticalAlign:string=Texto enriquecido / Alineación vertical,lLocked:boolean=Texto enriquecido / Bloqueado,lVisible:boolean=Texto enriquecido / Visible,nBorderWidth:number=Texto enriquecido / Grosor,nFillOpacity:number=Texto enriquecido / Opacidad del relleno,nLayerId:number=Texto enriquecido / Capa,nOpacity:number=Texto enriquecido / Opacidad,nRotation:number=Texto enriquecido / Rotación,nRounded:number=Texto enriquecido / Redondeo,nShadowSize:number=Texto enriquecido / Grosor,nShadowTransparency:number=Texto enriquecido / Transparencia.\"},{\"role\":\"user\",\"content\":\"SELECCION_ACTUAL_SCOPE=selection:\\n[{\\\"cId\\\":\\\"obj_1786345477933_usgy3l\\\",\\\"cType\\\":\\\"TText\\\",\\\"cName\\\":\\\"Texto 1\\\"},{\\\"cId\\\":\\\"obj_1786345477933_m2vhha\\\",\\\"cType\\\":\\\"TText\\\",\\\"cName\\\":\\\"Texto 2\\\"},{\\\"cId\\\":\\\"obj_1786345477933_by193x\\\",\\\"cType\\\":\\\"TText\\\",\\\"cName\\\":\\\"Texto 3\\\"}]\\nRESTO_DEL_DOCUMENTO_SCOPE=global:\\n[{\\\"cId\\\":\\\"obj_1786345477933_a3n01x\\\",\\\"cType\\\":\\\"TRectangle\\\",\\\"cName\\\":\\\"Rectángulo\\\"}]\\nSELECCIÃ“N REAL:\\n[{\\\"cId\\\":\\\"obj_1786345477933_usgy3l\\\",\\\"cType\\\":\\\"TText\\\",\\\"cName\\\":\\\"Texto 1\\\"},{\\\"cId\\\":\\\"obj_1786345477933_m2vhha\\\",\\\"cType\\\":\\\"TText\\\",\\\"cName\\\":\\\"Texto 2\\\"},{\\\"cId\\\":\\\"obj_1786345477933_by193x\\\",\\\"cType\\\":\\\"TText\\\",\\\"cName\\\":\\\"Texto 3\\\"}]\\nPROPIEDADES COMUNES EDITABLES: cBackgroundColor:string=Texto formateado / Color de fondo,cBorderColor:string=Texto formateado / Color,cCondition:string=Texto formateado / Condición de aparición,cFillColor2:string=Texto formateado / Color final,cFillColor3:string=Texto formateado / Color intermedio,cFillStyle:string=Texto formateado / Tipo de relleno,cFontFamily:string=Texto formateado / Fuente,cShadowColor:string=Texto formateado / Color,cText:string=Texto formateado / Contenido,cTextAlign:string=Texto formateado / Alineación,cTextColor:string=Texto formateado / Color,cTextVerticalAlign:string=Texto formateado / Alineación vertical,lAllowPageBreak:boolean=Texto formateado / Continuar entre páginas,lBorderBottom:boolean,lBorderLeft:boolean,lBorderRight:boolean,lBorderTop:boolean,lFontBold:boolean=Texto formateado / Negrita,lFontItalic:boolean=Texto formateado / Cursiva,lFontStrikeout:boolean=Texto formateado / Tachado,lFontUnderline:boolean=Texto formateado / Subrayado,lKeepEmptyParagraphs:boolean=Texto formateado / Conservar párrafos vacíos,lLocked:boolean=Texto formateado / Bloqueado,lTextAdjusted:boolean=Texto formateado / Justificación forzada,lTextWrap:boolean=Texto formateado / Partir si no cabe,lTrimSpaces:boolean=Texto formateado / Recortar espacios exteriores,lVisible:boolean=Texto formateado / Visible,nBorderWidth:number=Texto formateado / Grosor,nFillOpacity:number=Texto formateado / Opacidad del relleno,nFontSize:number=Texto formateado / Tamaño,nLayerId:number=Texto formateado / Capa,nLineSpacing:number=Texto formateado / Interlineado adicional,nOpacity:number=Texto formateado / Opacidad,nPaddingBottom:number,nPaddingLeft:number,nPaddingRight:number,nPaddingTop:number,nParagraphSpacing:number=Texto formateado / Espacio entre párrafos,nRotation:number=Texto formateado / Rotación,nRounded:number=Texto formateado / Redondeo,nShadowSize:number=Texto formateado / Grosor,nShadowTransparency:number=Texto formateado / Transparencia,nTextDecimalPosition:number=Texto formateado / Posición decimal,nTextOpacity:number=Texto formateado / Opacidad texto,nZIndex:number\\nCOLORES CANÃ“NICOS: rojo:#ff0000 Â· verde:#008000 Â· verde oscuro:#006400 Â· azul:#0000ff Â· azul oscuro:#00008b Â· amarillo:#ffff00 Â· gris claro:#d3d3d3\\n\\nINSTRUCCIÃ“N:\\nredimensiona los objetos seleccionados a la mitad\"}],\"stream\":false,\"format\":\"json\",\"keep_alive\":-1,\"options\":{\"temperature\":0,\"top_p\":1,\"top_k\":0,\"repeat_penalty\":1.1,\"frequency_penalty\":0,\"presence_penalty\":0,\"num_ctx\":65536,\"num_batch\":4096,\"num_thread\":10,\"num_gpu\":99,\"num_predict\":4096},\"think\":\"low\"}",
        "cHttpBody": "{\"model\":\"gpt-oss:20b\",\"created_at\":\"2026-08-10T07:04:40.5801801Z\",\"message\":{\"role\":\"assistant\",\"content\":\"{\\\"commands\\\":[{\\\"command\\\":\\\"resize\\\",\\\"target\\\":\\\"selection\\\",\\\"scaleX\\\":0.5,\\\"scaleY\\\":0.5}]}\",\"thinking\":\"Need resize to 0.5 scaleX,scaleY.\"},\"done\":true,\"done_reason\":\"stop\",\"total_duration\":1175104600,\"load_duration\":205521400,\"prompt_eval_count\":5042,\"prompt_eval_duration\":14469000,\"eval_count\":28,\"eval_duration\":354531000}",
        "hMetrics": {
          "total_duration": 1175104600,
          "load_duration": 205521400,
          "prompt_eval_count": 5042,
          "prompt_eval_duration": 14469000,
          "eval_count": 28,
          "eval_duration": 354531000,
          "unattributed_duration": 600583200
        },
        "hCommands": {
          "commands": [
            {
              "command": "resize",
              "target": "selection",
              "scaleX": 0.5,
              "scaleY": 0.5
            }
          ]
        },
        "lValid": true,
        "nCreates": 0,
        "nChanges": 0,
        "nDeletes": 0,
        "nStructures": 0,
        "nGeneratedIds": 0,
        "nOperations": 1,
        "nFinalOperations": 1,
        "cValidation": "Shape commands vÃ¡lida; validaciÃ³n de ejecuciÃ³n pendiente",
        "nResponseMilliseconds": 1196.204,
        "tRequestStartedAt": "2026-08-10T09:04:39.386032+02:00",
        "tResponseFinishedAt": "2026-08-10T09:04:40.582252+02:00",
        "hPromptDiagnostics": {
          "nSystemCharacters": 16569,
          "nUserCharacters": 2904,
          "nPromptCharacters": 19474,
          "nPromptTokensAfterEstimated": 4869,
          "nContextTokens": 65536,
          "lPromptFitsContext": true
        }
      }
    },
    "state": {
      "selected": [
        "obj_1786345477933_usgy3l",
        "obj_1786345477933_m2vhha",
        "obj_1786345477933_by193x"
      ],
      "objects": [
        {
          "cId": "obj_1786345477933_usgy3l",
          "cType": "TText",
          "nLeft": 10,
          "nTop": 10,
          "nWidth": 10,
          "nHeight": 4,
          "cTextColor": "#000000"
        },
        {
          "cId": "obj_1786345477933_m2vhha",
          "cType": "TText",
          "nLeft": 25,
          "nTop": 10,
          "nWidth": 10,
          "nHeight": 4,
          "cTextColor": "#000000"
        },
        {
          "cId": "obj_1786345477933_by193x",
          "cType": "TText",
          "nLeft": 40,
          "nTop": 10,
          "nWidth": 10,
          "nHeight": 4,
          "cTextColor": "#000000"
        },
        {
          "cId": "obj_1786345477933_a3n01x",
          "cType": "TRectangle",
          "nLeft": 10,
          "nTop": 30,
          "nWidth": 40,
          "nHeight": 20
        }
      ]
    }
  },
  {
    "id": "CTRL_ALIGN",
    "instruction": "alinea los objetos seleccionados a la izquierda",
    "fixture": {
      "selected": [
        "obj_1786345480780_9qhy5s",
        "obj_1786345480780_s824b8",
        "obj_1786345480780_6c3jlj"
      ],
      "all": [
        "obj_1786345480780_9qhy5s",
        "obj_1786345480780_s824b8",
        "obj_1786345480780_6c3jlj",
        "obj_1786345480780_596v3g"
      ]
    },
    "payload": {
      "cAction": "commandsExperimental",
      "cModelKey": "gpt-oss-20b",
      "cInstruction": "alinea los objetos seleccionados a la izquierda",
      "aSelectedObjects": [
        {
          "cId": "obj_1786345480780_9qhy5s",
          "cType": "TText",
          "cName": "Texto 1"
        },
        {
          "cId": "obj_1786345480780_s824b8",
          "cType": "TText",
          "cName": "Texto 2"
        },
        {
          "cId": "obj_1786345480780_6c3jlj",
          "cType": "TText",
          "cName": "Texto 3"
        }
      ],
      "aPropertyMetadata": [
        {
          "property": "cText",
          "label": "Contenido",
          "group": "Texto",
          "editor": "text"
        },
        {
          "property": "cFontFamily",
          "label": "Fuente",
          "group": "Texto",
          "editor": "select"
        },
        {
          "property": "nFontSize",
          "label": "Tamaño",
          "group": "Texto",
          "editor": "number"
        },
        {
          "property": "lFontBold",
          "label": "Negrita",
          "group": "Texto",
          "editor": "checkbox"
        },
        {
          "property": "lFontItalic",
          "label": "Cursiva",
          "group": "Texto",
          "editor": "checkbox"
        },
        {
          "property": "lFontUnderline",
          "label": "Subrayado",
          "group": "Texto",
          "editor": "checkbox"
        },
        {
          "property": "lFontStrikeout",
          "label": "Tachado",
          "group": "Texto",
          "editor": "checkbox"
        },
        {
          "property": "lTextWrap",
          "label": "Partir si no cabe",
          "group": "Texto",
          "editor": "checkbox"
        },
        {
          "property": "lAllowPageBreak",
          "label": "Continuar entre páginas",
          "group": "Texto",
          "editor": "checkbox"
        },
        {
          "property": "nLineSpacing",
          "label": "Interlineado adicional",
          "group": "Texto",
          "editor": "number"
        },
        {
          "property": "nParagraphSpacing",
          "label": "Espacio entre párrafos",
          "group": "Texto",
          "editor": "number"
        },
        {
          "property": "lKeepEmptyParagraphs",
          "label": "Conservar párrafos vacíos",
          "group": "Texto",
          "editor": "checkbox"
        },
        {
          "property": "lTextAdjusted",
          "label": "Justificación forzada",
          "group": "Texto",
          "editor": "checkbox"
        },
        {
          "property": "lTrimSpaces",
          "label": "Recortar espacios exteriores",
          "group": "Texto",
          "editor": "checkbox"
        },
        {
          "property": "cTextColor",
          "label": "Color",
          "group": "Texto",
          "editor": "color"
        },
        {
          "property": "nTextOpacity",
          "label": "Opacidad texto",
          "group": "Texto",
          "editor": "number"
        },
        {
          "property": "cTextAlign",
          "label": "Alineación",
          "group": "Texto",
          "editor": "select"
        },
        {
          "property": "nTextDecimalPosition",
          "label": "Posición decimal",
          "group": "Texto",
          "editor": "number"
        },
        {
          "property": "cTextVerticalAlign",
          "label": "Alineación vertical",
          "group": "Texto",
          "editor": "select"
        },
        {
          "property": "cName",
          "label": "Nombre",
          "group": "Texto",
          "editor": "text"
        },
        {
          "property": "cType",
          "label": "Tipo de objeto",
          "group": "Texto",
          "editor": "text"
        },
        {
          "property": "nLayerId",
          "label": "Capa",
          "group": "Ejecución",
          "editor": "select"
        },
        {
          "property": "cCondition",
          "label": "Condición de aparición",
          "group": "Ejecución",
          "editor": "text"
        },
        {
          "property": "lVisible",
          "label": "Visible",
          "group": "Ejecución",
          "editor": "checkbox"
        },
        {
          "property": "lLocked",
          "label": "Bloqueado",
          "group": "Ejecución",
          "editor": "checkbox"
        },
        {
          "property": "nLeft",
          "label": "Izquierda",
          "group": "Dimensiones y Color",
          "editor": "number"
        },
        {
          "property": "nTop",
          "label": "Superior",
          "group": "Dimensiones y Color",
          "editor": "number"
        },
        {
          "property": "nRight",
          "label": "Derecha",
          "group": "Dimensiones y Color",
          "editor": "number"
        },
        {
          "property": "nBottom",
          "label": "Inferior",
          "group": "Dimensiones y Color",
          "editor": "number"
        },
        {
          "property": "nWidth",
          "label": "Ancho",
          "group": "Dimensiones y Color",
          "editor": "number"
        },
        {
          "property": "nHeight",
          "label": "Alto",
          "group": "Dimensiones y Color",
          "editor": "number"
        },
        {
          "property": "cBackgroundColor",
          "label": "Color de fondo",
          "group": "Dimensiones y Color",
          "editor": "color"
        },
        {
          "property": "cFillStyle",
          "label": "Tipo de relleno",
          "group": "Dimensiones y Color",
          "editor": "select"
        },
        {
          "property": "cFillColor2",
          "label": "Color final",
          "group": "Dimensiones y Color",
          "editor": "color"
        },
        {
          "property": "cFillColor3",
          "label": "Color intermedio",
          "group": "Dimensiones y Color",
          "editor": "color"
        },
        {
          "property": "nFillOpacity",
          "label": "Opacidad del relleno",
          "group": "Dimensiones y Color",
          "editor": "number"
        },
        {
          "property": "nRotation",
          "label": "Rotación",
          "group": "Transformación",
          "editor": "number"
        },
        {
          "property": "nOpacity",
          "label": "Opacidad",
          "group": "Transformación",
          "editor": "number"
        },
        {
          "property": "cBorderColor",
          "label": "Color",
          "group": "Borde",
          "editor": "color"
        },
        {
          "property": "nBorderWidth",
          "label": "Grosor",
          "group": "Borde",
          "editor": "number"
        },
        {
          "property": "borderVisibility",
          "label": "Visibilidad",
          "group": "Borde",
          "editor": "border-visibility"
        },
        {
          "property": "nRounded",
          "label": "Redondeo",
          "group": "Borde",
          "editor": "number"
        },
        {
          "property": "nShadowSize",
          "label": "Grosor",
          "group": "Sombra",
          "editor": "number"
        },
        {
          "property": "nShadowTransparency",
          "label": "Transparencia",
          "group": "Sombra",
          "editor": "number"
        },
        {
          "property": "cShadowColor",
          "label": "Color",
          "group": "Sombra",
          "editor": "color"
        },
        {
          "property": "cText",
          "label": "Contenido",
          "group": "Texto",
          "editor": "text",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "cFontFamily",
          "label": "Fuente",
          "group": "Texto",
          "editor": "select",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nFontSize",
          "label": "Tamaño",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "lFontBold",
          "label": "Negrita",
          "group": "Texto",
          "editor": "checkbox",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "lFontItalic",
          "label": "Cursiva",
          "group": "Texto",
          "editor": "checkbox",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "lFontUnderline",
          "label": "Subrayado",
          "group": "Texto",
          "editor": "checkbox",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "lFontStrikeout",
          "label": "Tachado",
          "group": "Texto",
          "editor": "checkbox",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "lTextWrap",
          "label": "Partir si no cabe",
          "group": "Texto",
          "editor": "checkbox",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "lAllowPageBreak",
          "label": "Continuar entre páginas",
          "group": "Texto",
          "editor": "checkbox",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nLineSpacing",
          "label": "Interlineado adicional",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nParagraphSpacing",
          "label": "Espacio entre párrafos",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "lKeepEmptyParagraphs",
          "label": "Conservar párrafos vacíos",
          "group": "Texto",
          "editor": "checkbox",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "lTextAdjusted",
          "label": "Justificación forzada",
          "group": "Texto",
          "editor": "checkbox",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "lTrimSpaces",
          "label": "Recortar espacios exteriores",
          "group": "Texto",
          "editor": "checkbox",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "cTextColor",
          "label": "Color",
          "group": "Texto",
          "editor": "color",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nTextOpacity",
          "label": "Opacidad texto",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "cTextAlign",
          "label": "Alineación",
          "group": "Texto",
          "editor": "select",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nTextDecimalPosition",
          "label": "Posición decimal",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "cTextVerticalAlign",
          "label": "Alineación vertical",
          "group": "Texto",
          "editor": "select",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "cName",
          "label": "Nombre",
          "group": "Texto",
          "editor": "text",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "cType",
          "label": "Tipo de objeto",
          "group": "Texto",
          "editor": "text",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nLayerId",
          "label": "Capa",
          "group": "Texto",
          "editor": "select",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "cCondition",
          "label": "Condición de aparición",
          "group": "Texto",
          "editor": "text",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "lVisible",
          "label": "Visible",
          "group": "Texto",
          "editor": "checkbox",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "lLocked",
          "label": "Bloqueado",
          "group": "Texto",
          "editor": "checkbox",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nLeft",
          "label": "Izquierda",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nTop",
          "label": "Superior",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nRight",
          "label": "Derecha",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nBottom",
          "label": "Inferior",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nWidth",
          "label": "Ancho",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nHeight",
          "label": "Alto",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "cBackgroundColor",
          "label": "Color de fondo",
          "group": "Texto",
          "editor": "color",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "cFillStyle",
          "label": "Tipo de relleno",
          "group": "Texto",
          "editor": "select",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "cFillColor2",
          "label": "Color final",
          "group": "Texto",
          "editor": "color",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "cFillColor3",
          "label": "Color intermedio",
          "group": "Texto",
          "editor": "color",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nFillOpacity",
          "label": "Opacidad del relleno",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nRotation",
          "label": "Rotación",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nOpacity",
          "label": "Opacidad",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "cBorderColor",
          "label": "Color",
          "group": "Texto",
          "editor": "color",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nBorderWidth",
          "label": "Grosor",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "borderVisibility",
          "label": "Visibilidad",
          "group": "Texto",
          "editor": "border-visibility",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nRounded",
          "label": "Redondeo",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nShadowSize",
          "label": "Grosor",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nShadowTransparency",
          "label": "Transparencia",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "cShadowColor",
          "label": "Color",
          "group": "Texto",
          "editor": "color",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "cName",
          "label": "Nombre",
          "group": "Rectángulo",
          "editor": "text",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "cType",
          "label": "Tipo de objeto",
          "group": "Rectángulo",
          "editor": "text",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "nLayerId",
          "label": "Capa",
          "group": "Rectángulo",
          "editor": "select",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "cCondition",
          "label": "Condición de aparición",
          "group": "Rectángulo",
          "editor": "text",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "lVisible",
          "label": "Visible",
          "group": "Rectángulo",
          "editor": "checkbox",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "lLocked",
          "label": "Bloqueado",
          "group": "Rectángulo",
          "editor": "checkbox",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "nLeft",
          "label": "Izquierda",
          "group": "Rectángulo",
          "editor": "number",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "nTop",
          "label": "Superior",
          "group": "Rectángulo",
          "editor": "number",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "nRight",
          "label": "Derecha",
          "group": "Rectángulo",
          "editor": "number",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "nBottom",
          "label": "Inferior",
          "group": "Rectángulo",
          "editor": "number",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "nWidth",
          "label": "Ancho",
          "group": "Rectángulo",
          "editor": "number",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "nHeight",
          "label": "Alto",
          "group": "Rectángulo",
          "editor": "number",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "cBackgroundColor",
          "label": "Color de fondo",
          "group": "Rectángulo",
          "editor": "color",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "cFillStyle",
          "label": "Tipo de relleno",
          "group": "Rectángulo",
          "editor": "select",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "cFillColor2",
          "label": "Color final",
          "group": "Rectángulo",
          "editor": "color",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "cFillColor3",
          "label": "Color intermedio",
          "group": "Rectángulo",
          "editor": "color",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "nFillOpacity",
          "label": "Opacidad del relleno",
          "group": "Rectángulo",
          "editor": "number",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "nRotation",
          "label": "Rotación",
          "group": "Rectángulo",
          "editor": "number",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "nOpacity",
          "label": "Opacidad",
          "group": "Rectángulo",
          "editor": "number",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "cBorderColor",
          "label": "Color",
          "group": "Rectángulo",
          "editor": "color",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "nBorderWidth",
          "label": "Grosor",
          "group": "Rectángulo",
          "editor": "number",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "borderVisibility",
          "label": "Visibilidad",
          "group": "Rectángulo",
          "editor": "border-visibility",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "nRounded",
          "label": "Redondeo",
          "group": "Rectángulo",
          "editor": "number",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "nShadowSize",
          "label": "Grosor",
          "group": "Rectángulo",
          "editor": "number",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "nShadowTransparency",
          "label": "Transparencia",
          "group": "Rectángulo",
          "editor": "number",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "cShadowColor",
          "label": "Color",
          "group": "Rectángulo",
          "editor": "color",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "cName",
          "label": "Nombre",
          "group": "Elipse",
          "editor": "text",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "cType",
          "label": "Tipo de objeto",
          "group": "Elipse",
          "editor": "text",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "nLayerId",
          "label": "Capa",
          "group": "Elipse",
          "editor": "select",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "cCondition",
          "label": "Condición de aparición",
          "group": "Elipse",
          "editor": "text",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "lVisible",
          "label": "Visible",
          "group": "Elipse",
          "editor": "checkbox",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "lLocked",
          "label": "Bloqueado",
          "group": "Elipse",
          "editor": "checkbox",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "nLeft",
          "label": "Izquierda",
          "group": "Elipse",
          "editor": "number",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "nTop",
          "label": "Superior",
          "group": "Elipse",
          "editor": "number",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "nRight",
          "label": "Derecha",
          "group": "Elipse",
          "editor": "number",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "nBottom",
          "label": "Inferior",
          "group": "Elipse",
          "editor": "number",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "nWidth",
          "label": "Ancho",
          "group": "Elipse",
          "editor": "number",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "nHeight",
          "label": "Alto",
          "group": "Elipse",
          "editor": "number",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "cBackgroundColor",
          "label": "Color de fondo",
          "group": "Elipse",
          "editor": "color",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "cFillStyle",
          "label": "Tipo de relleno",
          "group": "Elipse",
          "editor": "select",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "cFillColor2",
          "label": "Color final",
          "group": "Elipse",
          "editor": "color",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "cFillColor3",
          "label": "Color intermedio",
          "group": "Elipse",
          "editor": "color",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "nFillOpacity",
          "label": "Opacidad del relleno",
          "group": "Elipse",
          "editor": "number",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "nRotation",
          "label": "Rotación",
          "group": "Elipse",
          "editor": "number",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "nOpacity",
          "label": "Opacidad",
          "group": "Elipse",
          "editor": "number",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "cBorderColor",
          "label": "Color",
          "group": "Elipse",
          "editor": "color",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "nBorderWidth",
          "label": "Grosor",
          "group": "Elipse",
          "editor": "number",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "borderVisibility",
          "label": "Visibilidad",
          "group": "Elipse",
          "editor": "border-visibility",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "nRounded",
          "label": "Redondeo",
          "group": "Elipse",
          "editor": "number",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "nShadowSize",
          "label": "Grosor",
          "group": "Elipse",
          "editor": "number",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "nShadowTransparency",
          "label": "Transparencia",
          "group": "Elipse",
          "editor": "number",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "cShadowColor",
          "label": "Color",
          "group": "Elipse",
          "editor": "color",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "cName",
          "label": "Nombre",
          "group": "Imagen",
          "editor": "text",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "cType",
          "label": "Tipo de objeto",
          "group": "Imagen",
          "editor": "text",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "nLayerId",
          "label": "Capa",
          "group": "Imagen",
          "editor": "select",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "cCondition",
          "label": "Condición de aparición",
          "group": "Imagen",
          "editor": "text",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "lVisible",
          "label": "Visible",
          "group": "Imagen",
          "editor": "checkbox",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "lLocked",
          "label": "Bloqueado",
          "group": "Imagen",
          "editor": "checkbox",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "cSource",
          "label": "Origen / contenido",
          "group": "Imagen",
          "editor": "text",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "cSourceType",
          "label": "Tipo de origen",
          "group": "Imagen",
          "editor": "select",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "lKeepRatio",
          "label": "Mantener proporción",
          "group": "Imagen",
          "editor": "checkbox",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "cFit",
          "label": "Ajuste",
          "group": "Imagen",
          "editor": "select",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "nLeft",
          "label": "Izquierda",
          "group": "Imagen",
          "editor": "number",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "nTop",
          "label": "Superior",
          "group": "Imagen",
          "editor": "number",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "nRight",
          "label": "Derecha",
          "group": "Imagen",
          "editor": "number",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "nBottom",
          "label": "Inferior",
          "group": "Imagen",
          "editor": "number",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "nWidth",
          "label": "Ancho",
          "group": "Imagen",
          "editor": "number",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "nHeight",
          "label": "Alto",
          "group": "Imagen",
          "editor": "number",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "cBackgroundColor",
          "label": "Color de fondo",
          "group": "Imagen",
          "editor": "color",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "cFillStyle",
          "label": "Tipo de relleno",
          "group": "Imagen",
          "editor": "select",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "cFillColor2",
          "label": "Color final",
          "group": "Imagen",
          "editor": "color",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "cFillColor3",
          "label": "Color intermedio",
          "group": "Imagen",
          "editor": "color",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "nFillOpacity",
          "label": "Opacidad del relleno",
          "group": "Imagen",
          "editor": "number",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "nRotation",
          "label": "Rotación",
          "group": "Imagen",
          "editor": "number",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "nOpacity",
          "label": "Opacidad",
          "group": "Imagen",
          "editor": "number",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "cBorderColor",
          "label": "Color",
          "group": "Imagen",
          "editor": "color",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "nBorderWidth",
          "label": "Grosor",
          "group": "Imagen",
          "editor": "number",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "borderVisibility",
          "label": "Visibilidad",
          "group": "Imagen",
          "editor": "border-visibility",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "nRounded",
          "label": "Redondeo",
          "group": "Imagen",
          "editor": "number",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "nShadowSize",
          "label": "Grosor",
          "group": "Imagen",
          "editor": "number",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "nShadowTransparency",
          "label": "Transparencia",
          "group": "Imagen",
          "editor": "number",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "cShadowColor",
          "label": "Color",
          "group": "Imagen",
          "editor": "color",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "cName",
          "label": "Nombre",
          "group": "Línea",
          "editor": "text",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "cType",
          "label": "Tipo de objeto",
          "group": "Línea",
          "editor": "text",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "nLayerId",
          "label": "Capa",
          "group": "Línea",
          "editor": "select",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "cCondition",
          "label": "Condición de aparición",
          "group": "Línea",
          "editor": "text",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "lVisible",
          "label": "Visible",
          "group": "Línea",
          "editor": "checkbox",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "lLocked",
          "label": "Bloqueado",
          "group": "Línea",
          "editor": "checkbox",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "cOrientation",
          "label": "Orientación",
          "group": "Línea",
          "editor": "select",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "cBorderColor",
          "label": "Color",
          "group": "Línea",
          "editor": "color",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "nBorderWidth",
          "label": "Grosor",
          "group": "Línea",
          "editor": "number",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "cLineStyle",
          "label": "Estilo",
          "group": "Línea",
          "editor": "select",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "nLeft",
          "label": "Izquierda",
          "group": "Línea",
          "editor": "number",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "nTop",
          "label": "Superior",
          "group": "Línea",
          "editor": "number",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "nRight",
          "label": "Derecha",
          "group": "Línea",
          "editor": "number",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "nBottom",
          "label": "Inferior",
          "group": "Línea",
          "editor": "number",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "nWidth",
          "label": "Ancho",
          "group": "Línea",
          "editor": "number",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "nHeight",
          "label": "Alto",
          "group": "Línea",
          "editor": "number",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "cFillStyle",
          "label": "Tipo de relleno",
          "group": "Línea",
          "editor": "select",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "cFillColor2",
          "label": "Color final",
          "group": "Línea",
          "editor": "color",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "cFillColor3",
          "label": "Color intermedio",
          "group": "Línea",
          "editor": "color",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "nFillOpacity",
          "label": "Opacidad del relleno",
          "group": "Línea",
          "editor": "number",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "nRotation",
          "label": "Rotación",
          "group": "Línea",
          "editor": "number",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "nOpacity",
          "label": "Opacidad",
          "group": "Línea",
          "editor": "number",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "nShadowSize",
          "label": "Grosor",
          "group": "Línea",
          "editor": "number",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "nShadowTransparency",
          "label": "Transparencia",
          "group": "Línea",
          "editor": "number",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "cShadowColor",
          "label": "Color",
          "group": "Línea",
          "editor": "color",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "cName",
          "label": "Nombre",
          "group": "Código de barras",
          "editor": "text",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "cType",
          "label": "Tipo de objeto",
          "group": "Código de barras",
          "editor": "text",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "nLayerId",
          "label": "Capa",
          "group": "Código de barras",
          "editor": "select",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "cCondition",
          "label": "Condición de aparición",
          "group": "Código de barras",
          "editor": "text",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "lVisible",
          "label": "Visible",
          "group": "Código de barras",
          "editor": "checkbox",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "lLocked",
          "label": "Bloqueado",
          "group": "Código de barras",
          "editor": "checkbox",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "cContent",
          "label": "Contenido",
          "group": "Código de barras",
          "editor": "text",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "cBarcodeType",
          "label": "Tipo",
          "group": "Código de barras",
          "editor": "select",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "lShowText",
          "label": "Mostrar texto",
          "group": "Código de barras",
          "editor": "checkbox",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "lTrimSpaces",
          "label": "Recortar espacios exteriores",
          "group": "Código de barras",
          "editor": "checkbox",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "cFontFamily",
          "label": "Fuente",
          "group": "Código de barras",
          "editor": "select",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "nFontSize",
          "label": "Tamaño",
          "group": "Código de barras",
          "editor": "number",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "lFontBold",
          "label": "Negrita",
          "group": "Código de barras",
          "editor": "checkbox",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "lFontItalic",
          "label": "Cursiva",
          "group": "Código de barras",
          "editor": "checkbox",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "lFontUnderline",
          "label": "Subrayado",
          "group": "Código de barras",
          "editor": "checkbox",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "lFontStrikeout",
          "label": "Tachado",
          "group": "Código de barras",
          "editor": "checkbox",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "cColor",
          "label": "Color",
          "group": "Código de barras",
          "editor": "color",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "cBackgroundColor",
          "label": "Color de fondo",
          "group": "Código de barras",
          "editor": "color",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "nLeft",
          "label": "Izquierda",
          "group": "Código de barras",
          "editor": "number",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "nTop",
          "label": "Superior",
          "group": "Código de barras",
          "editor": "number",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "nRight",
          "label": "Derecha",
          "group": "Código de barras",
          "editor": "number",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "nBottom",
          "label": "Inferior",
          "group": "Código de barras",
          "editor": "number",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "nWidth",
          "label": "Ancho",
          "group": "Código de barras",
          "editor": "number",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "nHeight",
          "label": "Alto",
          "group": "Código de barras",
          "editor": "number",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "cFillStyle",
          "label": "Tipo de relleno",
          "group": "Código de barras",
          "editor": "select",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "cFillColor2",
          "label": "Color final",
          "group": "Código de barras",
          "editor": "color",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "cFillColor3",
          "label": "Color intermedio",
          "group": "Código de barras",
          "editor": "color",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "nFillOpacity",
          "label": "Opacidad del relleno",
          "group": "Código de barras",
          "editor": "number",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "nRotation",
          "label": "Rotación",
          "group": "Código de barras",
          "editor": "number",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "nOpacity",
          "label": "Opacidad",
          "group": "Código de barras",
          "editor": "number",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "cBorderColor",
          "label": "Color",
          "group": "Código de barras",
          "editor": "color",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "nBorderWidth",
          "label": "Grosor",
          "group": "Código de barras",
          "editor": "number",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "borderVisibility",
          "label": "Visibilidad",
          "group": "Código de barras",
          "editor": "border-visibility",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "nRounded",
          "label": "Redondeo",
          "group": "Código de barras",
          "editor": "number",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "nShadowSize",
          "label": "Grosor",
          "group": "Código de barras",
          "editor": "number",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "nShadowTransparency",
          "label": "Transparencia",
          "group": "Código de barras",
          "editor": "number",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "cShadowColor",
          "label": "Color",
          "group": "Código de barras",
          "editor": "color",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "cContent",
          "label": "Contenido",
          "group": "Texto enriquecido",
          "editor": "text",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "cVerticalAlign",
          "label": "Alineación vertical",
          "group": "Texto enriquecido",
          "editor": "select",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "cOverflow",
          "label": "Desbordamiento",
          "group": "Texto enriquecido",
          "editor": "select",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "cName",
          "label": "Nombre",
          "group": "Texto enriquecido",
          "editor": "text",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "cType",
          "label": "Tipo de objeto",
          "group": "Texto enriquecido",
          "editor": "text",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "nLayerId",
          "label": "Capa",
          "group": "Texto enriquecido",
          "editor": "select",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "cCondition",
          "label": "Condición de aparición",
          "group": "Texto enriquecido",
          "editor": "text",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "lVisible",
          "label": "Visible",
          "group": "Texto enriquecido",
          "editor": "checkbox",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "lLocked",
          "label": "Bloqueado",
          "group": "Texto enriquecido",
          "editor": "checkbox",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "nLeft",
          "label": "Izquierda",
          "group": "Texto enriquecido",
          "editor": "number",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "nTop",
          "label": "Superior",
          "group": "Texto enriquecido",
          "editor": "number",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "nRight",
          "label": "Derecha",
          "group": "Texto enriquecido",
          "editor": "number",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "nBottom",
          "label": "Inferior",
          "group": "Texto enriquecido",
          "editor": "number",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "nWidth",
          "label": "Ancho",
          "group": "Texto enriquecido",
          "editor": "number",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "nHeight",
          "label": "Alto",
          "group": "Texto enriquecido",
          "editor": "number",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "cBackgroundColor",
          "label": "Color de fondo",
          "group": "Texto enriquecido",
          "editor": "color",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "cFillStyle",
          "label": "Tipo de relleno",
          "group": "Texto enriquecido",
          "editor": "select",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "cFillColor2",
          "label": "Color final",
          "group": "Texto enriquecido",
          "editor": "color",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "cFillColor3",
          "label": "Color intermedio",
          "group": "Texto enriquecido",
          "editor": "color",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "nFillOpacity",
          "label": "Opacidad del relleno",
          "group": "Texto enriquecido",
          "editor": "number",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "nRotation",
          "label": "Rotación",
          "group": "Texto enriquecido",
          "editor": "number",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "nOpacity",
          "label": "Opacidad",
          "group": "Texto enriquecido",
          "editor": "number",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "cBorderColor",
          "label": "Color",
          "group": "Texto enriquecido",
          "editor": "color",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "nBorderWidth",
          "label": "Grosor",
          "group": "Texto enriquecido",
          "editor": "number",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "borderVisibility",
          "label": "Visibilidad",
          "group": "Texto enriquecido",
          "editor": "border-visibility",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "nRounded",
          "label": "Redondeo",
          "group": "Texto enriquecido",
          "editor": "number",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "nShadowSize",
          "label": "Grosor",
          "group": "Texto enriquecido",
          "editor": "number",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "nShadowTransparency",
          "label": "Transparencia",
          "group": "Texto enriquecido",
          "editor": "number",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "cShadowColor",
          "label": "Color",
          "group": "Texto enriquecido",
          "editor": "color",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "cText",
          "label": "Contenido",
          "group": "Texto formateado",
          "editor": "text",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "cFontFamily",
          "label": "Fuente",
          "group": "Texto formateado",
          "editor": "select",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nFontSize",
          "label": "Tamaño",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "lFontBold",
          "label": "Negrita",
          "group": "Texto formateado",
          "editor": "checkbox",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "lFontItalic",
          "label": "Cursiva",
          "group": "Texto formateado",
          "editor": "checkbox",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "lFontUnderline",
          "label": "Subrayado",
          "group": "Texto formateado",
          "editor": "checkbox",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "lFontStrikeout",
          "label": "Tachado",
          "group": "Texto formateado",
          "editor": "checkbox",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "lTextWrap",
          "label": "Partir si no cabe",
          "group": "Texto formateado",
          "editor": "checkbox",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "lAllowPageBreak",
          "label": "Continuar entre páginas",
          "group": "Texto formateado",
          "editor": "checkbox",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nLineSpacing",
          "label": "Interlineado adicional",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nParagraphSpacing",
          "label": "Espacio entre párrafos",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "lKeepEmptyParagraphs",
          "label": "Conservar párrafos vacíos",
          "group": "Texto formateado",
          "editor": "checkbox",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "lTextAdjusted",
          "label": "Justificación forzada",
          "group": "Texto formateado",
          "editor": "checkbox",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "lTrimSpaces",
          "label": "Recortar espacios exteriores",
          "group": "Texto formateado",
          "editor": "checkbox",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "cTextColor",
          "label": "Color",
          "group": "Texto formateado",
          "editor": "color",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nTextOpacity",
          "label": "Opacidad texto",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "cTextAlign",
          "label": "Alineación",
          "group": "Texto formateado",
          "editor": "select",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nTextDecimalPosition",
          "label": "Posición decimal",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "cTextVerticalAlign",
          "label": "Alineación vertical",
          "group": "Texto formateado",
          "editor": "select",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "cName",
          "label": "Nombre",
          "group": "Texto formateado",
          "editor": "text",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "cType",
          "label": "Tipo de objeto",
          "group": "Texto formateado",
          "editor": "text",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nLayerId",
          "label": "Capa",
          "group": "Texto formateado",
          "editor": "select",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "cCondition",
          "label": "Condición de aparición",
          "group": "Texto formateado",
          "editor": "text",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "lVisible",
          "label": "Visible",
          "group": "Texto formateado",
          "editor": "checkbox",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "lLocked",
          "label": "Bloqueado",
          "group": "Texto formateado",
          "editor": "checkbox",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nLeft",
          "label": "Izquierda",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nTop",
          "label": "Superior",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nRight",
          "label": "Derecha",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nBottom",
          "label": "Inferior",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nWidth",
          "label": "Ancho",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nHeight",
          "label": "Alto",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "cBackgroundColor",
          "label": "Color de fondo",
          "group": "Texto formateado",
          "editor": "color",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "cFillStyle",
          "label": "Tipo de relleno",
          "group": "Texto formateado",
          "editor": "select",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "cFillColor2",
          "label": "Color final",
          "group": "Texto formateado",
          "editor": "color",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "cFillColor3",
          "label": "Color intermedio",
          "group": "Texto formateado",
          "editor": "color",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nFillOpacity",
          "label": "Opacidad del relleno",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nRotation",
          "label": "Rotación",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nOpacity",
          "label": "Opacidad",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "cBorderColor",
          "label": "Color",
          "group": "Texto formateado",
          "editor": "color",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nBorderWidth",
          "label": "Grosor",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "borderVisibility",
          "label": "Visibilidad",
          "group": "Texto formateado",
          "editor": "border-visibility",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nRounded",
          "label": "Redondeo",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nShadowSize",
          "label": "Grosor",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nShadowTransparency",
          "label": "Transparencia",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "cShadowColor",
          "label": "Color",
          "group": "Texto formateado",
          "editor": "color",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        }
      ],
      "aAvailableFields": [
        {
          "cName": "DATOS_EMPRESA.empresa",
          "cType": "texto",
          "cOrigin": "DataVar",
          "cGroup": "DATOS_EMPRESA"
        },
        {
          "cName": "DATOS_EMPRESA.fecha",
          "cType": "fecha",
          "cOrigin": "DataVar",
          "cGroup": "DATOS_EMPRESA"
        },
        {
          "cName": "DATOS_EMPRESA.logo_empresa",
          "cType": "imagen",
          "cOrigin": "DataVar",
          "cGroup": "DATOS_EMPRESA"
        },
        {
          "cName": "DATOS_EMPRESA.ruta_logo",
          "cType": "texto",
          "cOrigin": "DataVar",
          "cGroup": "DATOS_EMPRESA"
        },
        {
          "cName": "DATOS_EMPRESA.usuario",
          "cType": "texto",
          "cOrigin": "DataVar",
          "cGroup": "DATOS_EMPRESA"
        },
        {
          "cName": "FACLI.cliente",
          "cType": "texto",
          "cOrigin": "DataVar",
          "cGroup": "FACLI"
        },
        {
          "cName": "FACLI.codigoc",
          "cType": "texto",
          "cOrigin": "DataVar",
          "cGroup": "FACLI"
        },
        {
          "cName": "FACLI.nifc",
          "cType": "texto",
          "cOrigin": "DataVar",
          "cGroup": "FACLI"
        },
        {
          "cName": "FACLI.total",
          "cType": "numerico",
          "cOrigin": "DataVar",
          "cGroup": "FACLI"
        },
        {
          "cName": "LINEAS_FACTURA.cantidad",
          "cType": "numerico",
          "cOrigin": "DetalleVar",
          "cGroup": "LINEAS_FACTURA"
        },
        {
          "cName": "LINEAS_FACTURA.codigo_articulo",
          "cType": "texto",
          "cOrigin": "DetalleVar",
          "cGroup": "LINEAS_FACTURA"
        },
        {
          "cName": "LINEAS_FACTURA.descripcion",
          "cType": "texto",
          "cOrigin": "DetalleVar",
          "cGroup": "LINEAS_FACTURA"
        },
        {
          "cName": "LINEAS_FACTURA.logo_linea",
          "cType": "imagen",
          "cOrigin": "DetalleVar",
          "cGroup": "LINEAS_FACTURA"
        },
        {
          "cName": "LINEAS_FACTURA.precio",
          "cType": "numerico",
          "cOrigin": "DetalleVar",
          "cGroup": "LINEAS_FACTURA"
        },
        {
          "cName": "LINEAS_FACTURA.total_linea",
          "cType": "numerico",
          "cOrigin": "DetalleVar",
          "cGroup": "LINEAS_FACTURA"
        },
        {
          "cName": "VENDE.codvende",
          "cType": "texto",
          "cOrigin": "DataVar",
          "cGroup": "VENDE"
        },
        {
          "cName": "VENDE.nombre",
          "cType": "texto",
          "cOrigin": "DataVar",
          "cGroup": "VENDE"
        }
      ],
      "hTemplate": {
        "cType": "TDocument",
        "cFormatVersion": "1.0",
        "cTemplateId": "",
        "cTemplateName": "Documento",
        "cDocumentKind": "report",
        "cPaperFormat": "a4",
        "cPaperOrientation": "portrait",
        "tModifiedAt": "2026-08-10T07:04:40.764Z",
        "cFileName": "",
        "nPaperWidth": 210,
        "nPaperHeight": 297,
        "cPaperHeightMode": "fixed",
        "nDesignHeight": 250,
        "nContinuousBottomMargin": 5,
        "lShowGrid": true,
        "hUserVars": {},
        "hAcumVars": {},
        "hImportMetadata": {},
        "hLabelLayout": {
          "nLabelWidth": 70,
          "nLabelHeight": 37,
          "nColumns": 3,
          "nRows": 8,
          "nMarginLeft": 0,
          "nMarginTop": 0,
          "nGapHorizontal": 0,
          "nGapVertical": 0,
          "cFlow": "row",
          "cLabelFormat": "manual",
          "nPrintOffsetX": 0,
          "nPrintOffsetY": 0
        },
        "hLayers": {
          "0": {
            "nId": 0,
            "cName": "Capa 1",
            "cCondition": "",
            "lDesignerVisible": true,
            "cColor": "#000000"
          }
        },
        "aObjects": [
          {
            "cId": "obj_1786345480780_9qhy5s",
            "cName": "Texto 1",
            "cType": "TText",
            "nLeft": 10,
            "nTop": 10,
            "nWidth": 20,
            "nHeight": 8,
            "lVisible": true,
            "lLocked": false,
            "lSelected": true,
            "nLayerId": 0,
            "nZIndex": 1,
            "cBorderColor": "#000000",
            "cBorderColorFormula": "",
            "nBorderWidth": 0.1,
            "lBorderTop": false,
            "lBorderRight": false,
            "lBorderBottom": false,
            "lBorderLeft": false,
            "cBackgroundColor": "#ffffff",
            "cBackgroundColorFormula": "",
            "cFillStyle": "solid",
            "cFillColor2": "#ffffff",
            "cFillColor2Formula": "",
            "cFillColor3": "#ffffff",
            "cFillColor3Formula": "",
            "nFillOpacity": 1,
            "nRounded": 0,
            "nShadowSize": 0,
            "nShadowTransparency": 50,
            "cShadowColor": "#000000",
            "cShadowColorFormula": "",
            "nRotation": 0,
            "nOpacity": 1,
            "cCondition": "",
            "nPaddingTop": 0,
            "nPaddingRight": 0,
            "nPaddingBottom": 0,
            "nPaddingLeft": 0,
            "nLl12LinkID": 0,
            "nLl12LinkToID": 0,
            "nLl12LinkMode": 0,
            "nLl12GroupId": 0,
            "lLl12WrapBefore": false,
            "cTableId": "",
            "cTableSectionKey": "",
            "cText": "\"TEXTO 1\"",
            "cFontFamily": "Arial",
            "nFontSize": 12,
            "nFontOutPrecision": 0,
            "nFontPitchAndFamily": 0,
            "lFontBold": false,
            "cFontBoldFormula": "",
            "lFontItalic": false,
            "cFontItalicFormula": "",
            "lFontUnderline": false,
            "cFontUnderlineFormula": "",
            "lFontStrikeout": false,
            "cFontStrikeoutFormula": "",
            "lTextWrap": true,
            "lAllowPageBreak": false,
            "nLineSpacing": 0,
            "nParagraphSpacing": 0,
            "lKeepEmptyParagraphs": true,
            "lTextAdjusted": false,
            "lTrimSpaces": false,
            "cTextFlowGroup": "",
            "nTextFlowOrder": 0,
            "nTextFlowLineHeight": 0,
            "cTextColor": "#000000",
            "cTextColorFormula": "",
            "nTextOpacity": 1,
            "cTextAlign": "left",
            "nTextDecimalPosition": -10,
            "cTextVerticalAlign": "top",
            "cLl12SourceType": "",
            "cLl12SourceJson": ""
          },
          {
            "cId": "obj_1786345480780_s824b8",
            "cName": "Texto 2",
            "cType": "TText",
            "nLeft": 40,
            "nTop": 10,
            "nWidth": 20,
            "nHeight": 8,
            "lVisible": true,
            "lLocked": false,
            "lSelected": true,
            "nLayerId": 0,
            "nZIndex": 1,
            "cBorderColor": "#000000",
            "cBorderColorFormula": "",
            "nBorderWidth": 0.1,
            "lBorderTop": false,
            "lBorderRight": false,
            "lBorderBottom": false,
            "lBorderLeft": false,
            "cBackgroundColor": "#ffffff",
            "cBackgroundColorFormula": "",
            "cFillStyle": "solid",
            "cFillColor2": "#ffffff",
            "cFillColor2Formula": "",
            "cFillColor3": "#ffffff",
            "cFillColor3Formula": "",
            "nFillOpacity": 1,
            "nRounded": 0,
            "nShadowSize": 0,
            "nShadowTransparency": 50,
            "cShadowColor": "#000000",
            "cShadowColorFormula": "",
            "nRotation": 0,
            "nOpacity": 1,
            "cCondition": "",
            "nPaddingTop": 0,
            "nPaddingRight": 0,
            "nPaddingBottom": 0,
            "nPaddingLeft": 0,
            "nLl12LinkID": 0,
            "nLl12LinkToID": 0,
            "nLl12LinkMode": 0,
            "nLl12GroupId": 0,
            "lLl12WrapBefore": false,
            "cTableId": "",
            "cTableSectionKey": "",
            "cText": "\"TEXTO 2\"",
            "cFontFamily": "Arial",
            "nFontSize": 12,
            "nFontOutPrecision": 0,
            "nFontPitchAndFamily": 0,
            "lFontBold": false,
            "cFontBoldFormula": "",
            "lFontItalic": false,
            "cFontItalicFormula": "",
            "lFontUnderline": false,
            "cFontUnderlineFormula": "",
            "lFontStrikeout": false,
            "cFontStrikeoutFormula": "",
            "lTextWrap": true,
            "lAllowPageBreak": false,
            "nLineSpacing": 0,
            "nParagraphSpacing": 0,
            "lKeepEmptyParagraphs": true,
            "lTextAdjusted": false,
            "lTrimSpaces": false,
            "cTextFlowGroup": "",
            "nTextFlowOrder": 0,
            "nTextFlowLineHeight": 0,
            "cTextColor": "#000000",
            "cTextColorFormula": "",
            "nTextOpacity": 1,
            "cTextAlign": "left",
            "nTextDecimalPosition": -10,
            "cTextVerticalAlign": "top",
            "cLl12SourceType": "",
            "cLl12SourceJson": ""
          },
          {
            "cId": "obj_1786345480780_6c3jlj",
            "cName": "Texto 3",
            "cType": "TText",
            "nLeft": 70,
            "nTop": 10,
            "nWidth": 20,
            "nHeight": 8,
            "lVisible": true,
            "lLocked": false,
            "lSelected": true,
            "nLayerId": 0,
            "nZIndex": 1,
            "cBorderColor": "#000000",
            "cBorderColorFormula": "",
            "nBorderWidth": 0.1,
            "lBorderTop": false,
            "lBorderRight": false,
            "lBorderBottom": false,
            "lBorderLeft": false,
            "cBackgroundColor": "#ffffff",
            "cBackgroundColorFormula": "",
            "cFillStyle": "solid",
            "cFillColor2": "#ffffff",
            "cFillColor2Formula": "",
            "cFillColor3": "#ffffff",
            "cFillColor3Formula": "",
            "nFillOpacity": 1,
            "nRounded": 0,
            "nShadowSize": 0,
            "nShadowTransparency": 50,
            "cShadowColor": "#000000",
            "cShadowColorFormula": "",
            "nRotation": 0,
            "nOpacity": 1,
            "cCondition": "",
            "nPaddingTop": 0,
            "nPaddingRight": 0,
            "nPaddingBottom": 0,
            "nPaddingLeft": 0,
            "nLl12LinkID": 0,
            "nLl12LinkToID": 0,
            "nLl12LinkMode": 0,
            "nLl12GroupId": 0,
            "lLl12WrapBefore": false,
            "cTableId": "",
            "cTableSectionKey": "",
            "cText": "\"TEXTO 3\"",
            "cFontFamily": "Arial",
            "nFontSize": 12,
            "nFontOutPrecision": 0,
            "nFontPitchAndFamily": 0,
            "lFontBold": false,
            "cFontBoldFormula": "",
            "lFontItalic": false,
            "cFontItalicFormula": "",
            "lFontUnderline": false,
            "cFontUnderlineFormula": "",
            "lFontStrikeout": false,
            "cFontStrikeoutFormula": "",
            "lTextWrap": true,
            "lAllowPageBreak": false,
            "nLineSpacing": 0,
            "nParagraphSpacing": 0,
            "lKeepEmptyParagraphs": true,
            "lTextAdjusted": false,
            "lTrimSpaces": false,
            "cTextFlowGroup": "",
            "nTextFlowOrder": 0,
            "nTextFlowLineHeight": 0,
            "cTextColor": "#000000",
            "cTextColorFormula": "",
            "nTextOpacity": 1,
            "cTextAlign": "left",
            "nTextDecimalPosition": -10,
            "cTextVerticalAlign": "top",
            "cLl12SourceType": "",
            "cLl12SourceJson": ""
          },
          {
            "cId": "obj_1786345480780_596v3g",
            "cName": "Rectángulo",
            "cType": "TRectangle",
            "nLeft": 10,
            "nTop": 30,
            "nWidth": 40,
            "nHeight": 20,
            "lVisible": true,
            "lLocked": false,
            "lSelected": false,
            "nLayerId": 0,
            "nZIndex": 1,
            "cBorderColor": "#000000",
            "cBorderColorFormula": "",
            "nBorderWidth": 0.1,
            "lBorderTop": true,
            "lBorderRight": true,
            "lBorderBottom": true,
            "lBorderLeft": true,
            "cBackgroundColor": "#000000",
            "cBackgroundColorFormula": "",
            "cFillStyle": "solid",
            "cFillColor2": "#ffffff",
            "cFillColor2Formula": "",
            "cFillColor3": "#ffffff",
            "cFillColor3Formula": "",
            "nFillOpacity": 1,
            "nRounded": 0,
            "nShadowSize": 0,
            "nShadowTransparency": 50,
            "cShadowColor": "#000000",
            "cShadowColorFormula": "",
            "nRotation": 0,
            "nOpacity": 1,
            "cCondition": "",
            "nPaddingTop": 0,
            "nPaddingRight": 0,
            "nPaddingBottom": 0,
            "nPaddingLeft": 0,
            "nLl12LinkID": 0,
            "nLl12LinkToID": 0,
            "nLl12LinkMode": 0,
            "nLl12GroupId": 0,
            "lLl12WrapBefore": false,
            "cTableId": "",
            "cTableSectionKey": ""
          }
        ]
      }
    },
    "response": {
      "lOk": true,
      "hInspection": {
        "cInstruction": "alinea los objetos seleccionados a la izquierda",
        "cProvider": "Ollama",
        "cModelSelection": "Ollama — GPT-OSS 20B",
        "cModel": "gpt-oss:20b",
        "cRepresentation": "COMMANDS",
        "cRawResponse": "{\"commands\":[{\"command\":\"align\",\"target\":\"selection\",\"mode\":\"left\"}]}",
        "cThinking": "Need align left. Output JSON with command align selection mode left.",
        "cOllamaRequest": "{\"model\":\"gpt-oss:20b\",\"messages\":[{\"role\":\"system\",\"content\":\"Interpreta la instrucciÃ³n y devuelve Ãºnicamente JSON vÃ¡lido con la forma {\\\"commands\\\":[{\\\"command\\\":\\\"setProperty\\\",\\\"target\\\":\\\"selection\\\",\\\"property\\\":\\\"propiedad_real\\\",\\\"value\\\":valor}]}. Cada comando DEBE usar la clave command (nunca type) y target. Comandos permitidos: setProperty, move, resize, delete, align, distribute, reorder, duplicate, tableMoveColumn, tableSetColumnWidth, tableInsertColumn, tableDeleteColumn, tableInsertLine, tableDeleteLine, tableMoveLine, tableSetLineHeight, tableSetLineBackground, tableSetLineBorderColor, tableSetLineBorderWidth, tableSetLinePadding, tableSetLineBorderRadius, tableSetLineBorderSide, tableSetLineVerticalSeparators, tableSetLineZebraEnabled, tableSetLineZebraColor, tableSetLineCondition, tableSetLineSuppressCondition, tableSetLineBackgroundColorFormula, tableSetLineBorderColorFormula. Prioridad: propiedad o estilo â†’ setProperty; desplazamiento relativo â†’ move; tamaÃ±o relativo â†’ resize; alineaciÃ³n de varios objetos â†’ align; eliminar objetos â†’ delete. Para eliminar usa exactamente {\\\"command\\\":\\\"delete\\\",\\\"target\\\":\\\"selection\\\"}. Si se pide duplicar, reducir o cambiar el tamaÃ±o, devuelve Ãºnicamente resize y no uses setProperty para propiedades numÃ©ricas. Para setProperty usa exactamente property y value, nunca name ni valores como *2. Para move usa {\\\"command\\\":\\\"move\\\",\\\"target\\\":\\\"selection\\\",\\\"dx\\\":10,\\\"dy\\\":0}; para resize usa {\\\"command\\\":\\\"resize\\\",\\\"target\\\":\\\"selection\\\",\\\"scaleX\\\":0.5,\\\"scaleY\\\":0.5}. Para alinear usa exactamente {\\\"command\\\":\\\"align\\\",\\\"target\\\":\\\"selection\\\",\\\"mode\\\":\\\"left\\\"}; modos vÃ¡lidos: left|right|top|bottom|horizontalCenter|verticalCenter. Si la orden se refiere a los objetos seleccionados, usa target:\\\"selection\\\". No enumeres IDs ni calcules coordenadas o dimensiones finales. El contexto distingue SELECCION_ACTUAL_SCOPE=selection y RESTO_DEL_DOCUMENTO_SCOPE=global. Usa target:\\\"selection\\\" para referencias a la selecciÃ³n actual. Para instrucciones globales como todos, cada o todo el documento, usa la forma ya soportada target:{\\\"ids\\\":[...]} con los cId existentes de la selecciÃ³n y del resto del documento que correspondan; no inventes IDs y no uses target:\\\"selection\\\" para una orden global. Para distribuir usa exactamente {\\\"command\\\":\\\"distribute\\\",\\\"target\\\":\\\"selection\\\",\\\"mode\\\":\\\"horizontal\\\"}; modos vÃƒÂ¡lidos: horizontal|vertical. Para reordenar usa exactamente {\\\"command\\\":\\\"reorder\\\",\\\"target\\\":\\\"selection\\\",\\\"mode\\\":\\\"bringToFront\\\"}; modos vÃƒÂ¡lidos: bringToFront=traer al frente, sendToBack=enviar al fondo, bringForward=subir un nivel, sendBackward=bajar un nivel. Para duplicar usa exactamente {\\\"command\\\":\\\"duplicate\\\",\\\"target\\\":\\\"selection\\\"}. Para tablas usa Ãºnicamente estas formas: {\\\"command\\\":\\\"tableMoveColumn\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"header\\\",\\\"lineIndex\\\":0,\\\"fromIndex\\\":2,\\\"toIndex\\\":0}, {\\\"command\\\":\\\"tableSetColumnWidth\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"header\\\",\\\"lineIndex\\\":0,\\\"columnIndex\\\":0,\\\"width\\\":30}, {\\\"command\\\":\\\"tableInsertColumn\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"columnIndex\\\":2}, {\\\"command\\\":\\\"tableDeleteColumn\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"columnIndex\\\":2}, {\\\"command\\\":\\\"tableInsertLine\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":1}, {\\\"command\\\":\\\"tableDeleteLine\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":1}, {\\\"command\\\":\\\"tableMoveLine\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"fromIndex\\\":1,\\\"toIndex\\\":0}, {\\\"command\\\":\\\"tableSetLineHeight\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"height\\\":12}, {\\\"command\\\":\\\"tableSetLineBackground\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"color\\\":\\\"#d3d3d3\\\"}; section: header|groupHeader|detail|groupFooter|footer. Los Ã­ndices son enteros cero-basados y no negativos. tableSetLineHeight usa altura fija en milÃ­metros >=1. tableSetLineBackground usa Ãºnicamente color HEX fijo; no usa fÃ³rmulas ni paths privados. Insertar columna usa columnIndex como posiciÃ³n antes de la columna existente; si coincide con el nÃºmero actual de columnas, aÃ±ade al final. Insertar lÃ­nea usa lineIndex como posiciÃ³n antes de la lÃ­nea existente; si coincide con el nÃºmero actual de lÃ­neas, aÃ±ade al final. No uses hSections, aLines ni aCells. SemÃ¡ntica de lÃ­neas OBLIGATORIA: si una secciÃ³n tiene una sola lÃ­nea, basta mencionar la secciÃ³n y usa lineIndex 0. Si tiene varias lÃ­neas, una operaciÃ³n estructural debe indicar la lÃ­nea; si no la indica y no dice todas, devuelve EXACTAMENTE {\\\"commands\\\":[]}. Solo si dice todas las lÃ­neas genera una operaciÃ³n por cada lÃ­nea existente. Esta regla no afecta a objetos visuales de celda, que siguen usando commands normales. Para cambiar altura o fondo fijo de una lÃ­nea de TTable usa obligatoriamente tableSetLineHeight o tableSetLineBackground con section y lineIndex; no uses setProperty para esas operaciones. Shapes adicionales de lÃ­nea: {\\\"command\\\":\\\"tableSetLineBorderColor\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"color\\\":\\\"#0000ff\\\"}, {\\\"command\\\":\\\"tableSetLineBorderWidth\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"width\\\":1}, {\\\"command\\\":\\\"tableSetLinePadding\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"side\\\":\\\"nTop\\\",\\\"value\\\":2}, {\\\"command\\\":\\\"tableSetLineBorderRadius\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"radius\\\":2}, {\\\"command\\\":\\\"tableSetLineBorderSide\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"side\\\":\\\"top\\\",\\\"visible\\\":true}, {\\\"command\\\":\\\"tableSetLineVerticalSeparators\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"visible\\\":true}, {\\\"command\\\":\\\"tableSetLineCondition\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"formula\\\":\\\"DETAIL.cantidad > 0\\\"}, {\\\"command\\\":\\\"tableSetLineSuppressCondition\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"formula\\\":\\\"DETAIL.importe == 0\\\"}, {\\\"command\\\":\\\"tableSetLineBackgroundColorFormula\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"formula\\\":\\\"IF(...)\\\"}, {\\\"command\\\":\\\"tableSetLineBorderColorFormula\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"formula\\\":\\\"IF(...)\\\"}. Las cuatro primitivas de fórmula reciben formula como string literal y aceptan string vacío para borrar; no evalúes ni cambies la sintaxis. Usa la primitiva específica según sea condición, supresión o fórmula de color; no uses paths hBorder, hBackground ni setProperty. Si la instrucciÃ³n menciona una lÃ­nea, cabecera, detalle o pie, el color de borde de esa lÃ­nea usa tableSetLineBorderColor y nunca setProperty. Zebra solo existe en lÃ­neas detail. Shapes exactas: {\\\"command\\\":\\\"tableSetLineZebraEnabled\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"enabled\\\":true} y {\\\"command\\\":\\\"tableSetLineZebraColor\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"role\\\":\\\"odd\\\",\\\"color\\\":\\\"#d3d3d3\\\"}. Usa enabled booleano para activar o desactivar y role odd/even para filas impares/pares. No uses hZebraPattern ni paths privados. TambiÃƒÂ©n se permite create: {\\\"command\\\":\\\"create\\\",\\\"type\\\":\\\"TText\\\",\\\"properties\\\":{\\\"cText\\\":\\\"\\\\\\\\\\\"texto\\\\\\\\\\\"\\\"}}. En create describe ÃƒÂºnicamente lo solicitado: incluye solo el tipo, contenido, posiciÃƒÂ³n y propiedades que la instrucciÃƒÂ³n pida explÃƒÂ­citamente; el diseÃƒÂ±ador completa los defaults reales. Tipos reales: TText,TRectangle,TEllipse,TImage,TLine,TBarcode,richText,TFormattedText. Properties solo editables, nunca cId, defaults, estructura interna ni geometrÃƒÂ­a. position usa {\\\"x\\\":20,\\\"y\\\":30}. Una ref es temporal dentro de esta respuesta: el create declara ref:\\\"new1\\\" y un comando posterior apunta al mismo objeto con target:{\\\"ref\\\":\\\"new1\\\"}. Ejemplo: {\\\"commands\\\":[{\\\"command\\\":\\\"create\\\",\\\"ref\\\":\\\"new1\\\",\\\"type\\\":\\\"TText\\\",\\\"properties\\\":{\\\"cText\\\":\\\"\\\\\\\\\\\"TOTAL\\\\\\\\\\\"\\\"}},{\\\"command\\\":\\\"resize\\\",\\\"target\\\":{\\\"ref\\\":\\\"new1\\\"},\\\"scaleX\\\":2,\\\"scaleY\\\":2}]}. TIPOS:TBarcode=Código de barras,TEllipse=Elipse,TFormattedText=Texto formateado,TImage=Imagen,TLine=Línea,TRectangle=Rectángulo,TText=Texto,richText=Texto enriquecido. PROPS_TBarcode:cBackgroundColor:string=Código de barras / Color de fondo,cBarcodeType:string=Código de barras / Tipo,cBorderColor:string=Código de barras / Color,cColor:string=Código de barras / Color,cCondition:string=Código de barras / Condición de aparición,cContent:string=Código de barras / Contenido,cFillColor2:string=Código de barras / Color final,cFillColor3:string=Código de barras / Color intermedio,cFillStyle:string=Código de barras / Tipo de relleno,cFontFamily:string=Código de barras / Fuente,cShadowColor:string=Código de barras / Color,lFontBold:boolean=Código de barras / Negrita,lFontItalic:boolean=Código de barras / Cursiva,lFontStrikeout:boolean=Código de barras / Tachado,lFontUnderline:boolean=Código de barras / Subrayado,lLocked:boolean=Código de barras / Bloqueado,lShowText:boolean=Código de barras / Mostrar texto,lTrimSpaces:boolean=Código de barras / Recortar espacios exteriores,lVisible:boolean=Código de barras / Visible,nBorderWidth:number=Código de barras / Grosor,nFillOpacity:number=Código de barras / Opacidad del relleno,nFontSize:number=Código de barras / Tamaño,nLayerId:number=Código de barras / Capa,nOpacity:number=Código de barras / Opacidad,nRotation:number=Código de barras / Rotación,nRounded:number=Código de barras / Redondeo,nShadowSize:number=Código de barras / Grosor,nShadowTransparency:number=Código de barras / Transparencia. PROPS_TEllipse:cBackgroundColor:string=Elipse / Color de fondo,cBorderColor:string=Elipse / Color,cCondition:string=Elipse / Condición de aparición,cFillColor2:string=Elipse / Color final,cFillColor3:string=Elipse / Color intermedio,cFillStyle:string=Elipse / Tipo de relleno,cShadowColor:string=Elipse / Color,lLocked:boolean=Elipse / Bloqueado,lVisible:boolean=Elipse / Visible,nBorderWidth:number=Elipse / Grosor,nFillOpacity:number=Elipse / Opacidad del relleno,nLayerId:number=Elipse / Capa,nOpacity:number=Elipse / Opacidad,nRotation:number=Elipse / Rotación,nRounded:number=Elipse / Redondeo,nShadowSize:number=Elipse / Grosor,nShadowTransparency:number=Elipse / Transparencia. PROPS_TFormattedText:cBackgroundColor:string=Texto formateado / Color de fondo,cBorderColor:string=Texto formateado / Color,cCondition:string=Texto formateado / Condición de aparición,cFillColor2:string=Texto formateado / Color final,cFillColor3:string=Texto formateado / Color intermedio,cFillStyle:string=Texto formateado / Tipo de relleno,cFontFamily:string=Texto formateado / Fuente,cShadowColor:string=Texto formateado / Color,cText:string=Texto formateado / Contenido,cTextAlign:string=Texto formateado / Alineación,cTextColor:string=Texto formateado / Color,cTextVerticalAlign:string=Texto formateado / Alineación vertical,lAllowPageBreak:boolean=Texto formateado / Continuar entre páginas,lFontBold:boolean=Texto formateado / Negrita,lFontItalic:boolean=Texto formateado / Cursiva,lFontStrikeout:boolean=Texto formateado / Tachado,lFontUnderline:boolean=Texto formateado / Subrayado,lKeepEmptyParagraphs:boolean=Texto formateado / Conservar párrafos vacíos,lLocked:boolean=Texto formateado / Bloqueado,lTextAdjusted:boolean=Texto formateado / Justificación forzada,lTextWrap:boolean=Texto formateado / Partir si no cabe,lTrimSpaces:boolean=Texto formateado / Recortar espacios exteriores,lVisible:boolean=Texto formateado / Visible,nBorderWidth:number=Texto formateado / Grosor,nFillOpacity:number=Texto formateado / Opacidad del relleno,nFontSize:number=Texto formateado / Tamaño,nLayerId:number=Texto formateado / Capa,nLineSpacing:number=Texto formateado / Interlineado adicional,nOpacity:number=Texto formateado / Opacidad,nParagraphSpacing:number=Texto formateado / Espacio entre párrafos,nRotation:number=Texto formateado / Rotación,nRounded:number=Texto formateado / Redondeo,nShadowSize:number=Texto formateado / Grosor,nShadowTransparency:number=Texto formateado / Transparencia,nTextDecimalPosition:number=Texto formateado / Posición decimal,nTextOpacity:number=Texto formateado / Opacidad texto. PROPS_TImage:cBackgroundColor:string=Imagen / Color de fondo,cBorderColor:string=Imagen / Color,cCondition:string=Imagen / Condición de aparición,cFillColor2:string=Imagen / Color final,cFillColor3:string=Imagen / Color intermedio,cFillStyle:string=Imagen / Tipo de relleno,cFit:string=Imagen / Ajuste,cShadowColor:string=Imagen / Color,cSource:string=Imagen / Origen / contenido,cSourceType:string=Imagen / Tipo de origen,lKeepRatio:boolean=Imagen / Mantener proporción,lLocked:boolean=Imagen / Bloqueado,lVisible:boolean=Imagen / Visible,nBorderWidth:number=Imagen / Grosor,nFillOpacity:number=Imagen / Opacidad del relleno,nLayerId:number=Imagen / Capa,nOpacity:number=Imagen / Opacidad,nRotation:number=Imagen / Rotación,nRounded:number=Imagen / Redondeo,nShadowSize:number=Imagen / Grosor,nShadowTransparency:number=Imagen / Transparencia. PROPS_TLine:cBorderColor:string=Línea / Color,cCondition:string=Línea / Condición de aparición,cFillColor2:string=Línea / Color final,cFillColor3:string=Línea / Color intermedio,cFillStyle:string=Línea / Tipo de relleno,cLineStyle:string=Línea / Estilo,cOrientation:string=Línea / Orientación,cShadowColor:string=Línea / Color,lLocked:boolean=Línea / Bloqueado,lVisible:boolean=Línea / Visible,nBorderWidth:number=Línea / Grosor,nFillOpacity:number=Línea / Opacidad del relleno,nLayerId:number=Línea / Capa,nOpacity:number=Línea / Opacidad,nRotation:number=Línea / Rotación,nShadowSize:number=Línea / Grosor,nShadowTransparency:number=Línea / Transparencia. PROPS_TRectangle:cBackgroundColor:string=Rectángulo / Color de fondo,cBorderColor:string=Rectángulo / Color,cCondition:string=Rectángulo / Condición de aparición,cFillColor2:string=Rectángulo / Color final,cFillColor3:string=Rectángulo / Color intermedio,cFillStyle:string=Rectángulo / Tipo de relleno,cShadowColor:string=Rectángulo / Color,lLocked:boolean=Rectángulo / Bloqueado,lVisible:boolean=Rectángulo / Visible,nBorderWidth:number=Rectángulo / Grosor,nFillOpacity:number=Rectángulo / Opacidad del relleno,nLayerId:number=Rectángulo / Capa,nOpacity:number=Rectángulo / Opacidad,nRotation:number=Rectángulo / Rotación,nRounded:number=Rectángulo / Redondeo,nShadowSize:number=Rectángulo / Grosor,nShadowTransparency:number=Rectángulo / Transparencia. PROPS_TText:cBackgroundColor:string=Texto / Color de fondo,cBorderColor:string=Texto / Color,cCondition:string=Texto / Condición de aparición,cFillColor2:string=Texto / Color final,cFillColor3:string=Texto / Color intermedio,cFillStyle:string=Texto / Tipo de relleno,cFontFamily:string=Texto / Fuente,cShadowColor:string=Texto / Color,cText:string=Texto / Contenido,cTextAlign:string=Texto / Alineación,cTextColor:string=Texto / Color,cTextVerticalAlign:string=Texto / Alineación vertical,lAllowPageBreak:boolean=Texto / Continuar entre páginas,lFontBold:boolean=Texto / Negrita,lFontItalic:boolean=Texto / Cursiva,lFontStrikeout:boolean=Texto / Tachado,lFontUnderline:boolean=Texto / Subrayado,lKeepEmptyParagraphs:boolean=Texto / Conservar párrafos vacíos,lLocked:boolean=Texto / Bloqueado,lTextAdjusted:boolean=Texto / Justificación forzada,lTextWrap:boolean=Texto / Partir si no cabe,lTrimSpaces:boolean=Texto / Recortar espacios exteriores,lVisible:boolean=Texto / Visible,nBorderWidth:number=Texto / Grosor,nFillOpacity:number=Texto / Opacidad del relleno,nFontSize:number=Texto / Tamaño,nLayerId:number=Texto / Capa,nLineSpacing:number=Texto / Interlineado adicional,nOpacity:number=Texto / Opacidad,nParagraphSpacing:number=Texto / Espacio entre párrafos,nRotation:number=Texto / Rotación,nRounded:number=Texto / Redondeo,nShadowSize:number=Texto / Grosor,nShadowTransparency:number=Texto / Transparencia,nTextDecimalPosition:number=Texto / Posición decimal,nTextOpacity:number=Texto / Opacidad texto. PROPS_richText:cBackgroundColor:string=Texto enriquecido / Color de fondo,cBorderColor:string=Texto enriquecido / Color,cCondition:string=Texto enriquecido / Condición de aparición,cContent:string=Texto enriquecido / Contenido,cFillColor2:string=Texto enriquecido / Color final,cFillColor3:string=Texto enriquecido / Color intermedio,cFillStyle:string=Texto enriquecido / Tipo de relleno,cOverflow:string=Texto enriquecido / Desbordamiento,cShadowColor:string=Texto enriquecido / Color,cVerticalAlign:string=Texto enriquecido / Alineación vertical,lLocked:boolean=Texto enriquecido / Bloqueado,lVisible:boolean=Texto enriquecido / Visible,nBorderWidth:number=Texto enriquecido / Grosor,nFillOpacity:number=Texto enriquecido / Opacidad del relleno,nLayerId:number=Texto enriquecido / Capa,nOpacity:number=Texto enriquecido / Opacidad,nRotation:number=Texto enriquecido / Rotación,nRounded:number=Texto enriquecido / Redondeo,nShadowSize:number=Texto enriquecido / Grosor,nShadowTransparency:number=Texto enriquecido / Transparencia.\"},{\"role\":\"user\",\"content\":\"SELECCION_ACTUAL_SCOPE=selection:\\n[{\\\"cId\\\":\\\"obj_1786345480780_9qhy5s\\\",\\\"cType\\\":\\\"TText\\\",\\\"cName\\\":\\\"Texto 1\\\"},{\\\"cId\\\":\\\"obj_1786345480780_s824b8\\\",\\\"cType\\\":\\\"TText\\\",\\\"cName\\\":\\\"Texto 2\\\"},{\\\"cId\\\":\\\"obj_1786345480780_6c3jlj\\\",\\\"cType\\\":\\\"TText\\\",\\\"cName\\\":\\\"Texto 3\\\"}]\\nRESTO_DEL_DOCUMENTO_SCOPE=global:\\n[{\\\"cId\\\":\\\"obj_1786345480780_596v3g\\\",\\\"cType\\\":\\\"TRectangle\\\",\\\"cName\\\":\\\"Rectángulo\\\"}]\\nSELECCIÃ“N REAL:\\n[{\\\"cId\\\":\\\"obj_1786345480780_9qhy5s\\\",\\\"cType\\\":\\\"TText\\\",\\\"cName\\\":\\\"Texto 1\\\"},{\\\"cId\\\":\\\"obj_1786345480780_s824b8\\\",\\\"cType\\\":\\\"TText\\\",\\\"cName\\\":\\\"Texto 2\\\"},{\\\"cId\\\":\\\"obj_1786345480780_6c3jlj\\\",\\\"cType\\\":\\\"TText\\\",\\\"cName\\\":\\\"Texto 3\\\"}]\\nPROPIEDADES COMUNES EDITABLES: cBackgroundColor:string=Texto formateado / Color de fondo,cBorderColor:string=Texto formateado / Color,cCondition:string=Texto formateado / Condición de aparición,cFillColor2:string=Texto formateado / Color final,cFillColor3:string=Texto formateado / Color intermedio,cFillStyle:string=Texto formateado / Tipo de relleno,cFontFamily:string=Texto formateado / Fuente,cShadowColor:string=Texto formateado / Color,cText:string=Texto formateado / Contenido,cTextAlign:string=Texto formateado / Alineación,cTextColor:string=Texto formateado / Color,cTextVerticalAlign:string=Texto formateado / Alineación vertical,lAllowPageBreak:boolean=Texto formateado / Continuar entre páginas,lBorderBottom:boolean,lBorderLeft:boolean,lBorderRight:boolean,lBorderTop:boolean,lFontBold:boolean=Texto formateado / Negrita,lFontItalic:boolean=Texto formateado / Cursiva,lFontStrikeout:boolean=Texto formateado / Tachado,lFontUnderline:boolean=Texto formateado / Subrayado,lKeepEmptyParagraphs:boolean=Texto formateado / Conservar párrafos vacíos,lLocked:boolean=Texto formateado / Bloqueado,lTextAdjusted:boolean=Texto formateado / Justificación forzada,lTextWrap:boolean=Texto formateado / Partir si no cabe,lTrimSpaces:boolean=Texto formateado / Recortar espacios exteriores,lVisible:boolean=Texto formateado / Visible,nBorderWidth:number=Texto formateado / Grosor,nFillOpacity:number=Texto formateado / Opacidad del relleno,nFontSize:number=Texto formateado / Tamaño,nLayerId:number=Texto formateado / Capa,nLineSpacing:number=Texto formateado / Interlineado adicional,nOpacity:number=Texto formateado / Opacidad,nPaddingBottom:number,nPaddingLeft:number,nPaddingRight:number,nPaddingTop:number,nParagraphSpacing:number=Texto formateado / Espacio entre párrafos,nRotation:number=Texto formateado / Rotación,nRounded:number=Texto formateado / Redondeo,nShadowSize:number=Texto formateado / Grosor,nShadowTransparency:number=Texto formateado / Transparencia,nTextDecimalPosition:number=Texto formateado / Posición decimal,nTextOpacity:number=Texto formateado / Opacidad texto,nZIndex:number\\nCOLORES CANÃ“NICOS: rojo:#ff0000 Â· verde:#008000 Â· verde oscuro:#006400 Â· azul:#0000ff Â· azul oscuro:#00008b Â· amarillo:#ffff00 Â· gris claro:#d3d3d3\\n\\nINSTRUCCIÃ“N:\\nalinea los objetos seleccionados a la izquierda\"}],\"stream\":false,\"format\":\"json\",\"keep_alive\":-1,\"options\":{\"temperature\":0,\"top_p\":1,\"top_k\":0,\"repeat_penalty\":1.1,\"frequency_penalty\":0,\"presence_penalty\":0,\"num_ctx\":65536,\"num_batch\":4096,\"num_thread\":10,\"num_gpu\":99,\"num_predict\":4096},\"think\":\"low\"}",
        "cHttpBody": "{\"model\":\"gpt-oss:20b\",\"created_at\":\"2026-08-10T07:04:43.2583445Z\",\"message\":{\"role\":\"assistant\",\"content\":\"{\\\"commands\\\":[{\\\"command\\\":\\\"align\\\",\\\"target\\\":\\\"selection\\\",\\\"mode\\\":\\\"left\\\"}]}\",\"thinking\":\"Need align left. Output JSON with command align selection mode left.\"},\"done\":true,\"done_reason\":\"stop\",\"total_duration\":1047554200,\"load_duration\":199742900,\"prompt_eval_count\":5051,\"prompt_eval_duration\":14277000,\"eval_count\":18,\"eval_duration\":224755000}",
        "hMetrics": {
          "total_duration": 1047554200,
          "load_duration": 199742900,
          "prompt_eval_count": 5051,
          "prompt_eval_duration": 14277000,
          "eval_count": 18,
          "eval_duration": 224755000,
          "unattributed_duration": 608779300
        },
        "hCommands": {
          "commands": [
            {
              "command": "align",
              "target": "selection",
              "mode": "left"
            }
          ]
        },
        "lValid": true,
        "nCreates": 0,
        "nChanges": 0,
        "nDeletes": 0,
        "nStructures": 0,
        "nGeneratedIds": 0,
        "nOperations": 1,
        "nFinalOperations": 1,
        "cValidation": "Shape commands vÃ¡lida; validaciÃ³n de ejecuciÃ³n pendiente",
        "nResponseMilliseconds": 1061.527,
        "tRequestStartedAt": "2026-08-10T09:04:42.198813+02:00",
        "tResponseFinishedAt": "2026-08-10T09:04:43.260358+02:00",
        "hPromptDiagnostics": {
          "nSystemCharacters": 16569,
          "nUserCharacters": 2902,
          "nPromptCharacters": 19472,
          "nPromptTokensAfterEstimated": 4868,
          "nContextTokens": 65536,
          "lPromptFitsContext": true
        }
      }
    },
    "state": {
      "selected": [
        "obj_1786345480780_9qhy5s",
        "obj_1786345480780_s824b8",
        "obj_1786345480780_6c3jlj"
      ],
      "objects": [
        {
          "cId": "obj_1786345480780_9qhy5s",
          "cType": "TText",
          "nLeft": 10,
          "nTop": 10,
          "nWidth": 20,
          "nHeight": 8,
          "cTextColor": "#000000"
        },
        {
          "cId": "obj_1786345480780_s824b8",
          "cType": "TText",
          "nLeft": 10,
          "nTop": 10,
          "nWidth": 20,
          "nHeight": 8,
          "cTextColor": "#000000"
        },
        {
          "cId": "obj_1786345480780_6c3jlj",
          "cType": "TText",
          "nLeft": 10,
          "nTop": 10,
          "nWidth": 20,
          "nHeight": 8,
          "cTextColor": "#000000"
        },
        {
          "cId": "obj_1786345480780_596v3g",
          "cType": "TRectangle",
          "nLeft": 10,
          "nTop": 30,
          "nWidth": 40,
          "nHeight": 20
        }
      ]
    }
  }
]