<div color='red' style="font-size:24px;color:red"><b><i><u>JCYPHER</u></i></b></div>
<div color='red' style="font-size:18px;color:red"><i>access a named string property, return a <b>JcString</b></i></div>
<br/>
345002
public JcString stringProperty(String name) {
		JcString ret = new JcString(name, this, OPERATOR.PropertyContainer.PROPERTY_ACCESS);
		QueryRecorder.recordInvocationConditional(this, "stringProperty", ret, QueryRecorder.literal(name));
		return ret;
	}
925871
private static String jcalValueToString(JCalValue value) {
		List<JsonValue> values = value.getValues();
		if (values.size() > 1) {
			List<String> multi = value.asMulti();
			if (!multi.isEmpty()) {
				return VObjectPropertyValues.writeList(multi);
			}
		}

		if (!values.isEmpty() && values.get(0).getArray() != null) {
			List<List<String>> structured = value.asStructured();
			if (!structured.isEmpty()) {
				return VObjectPropertyValues.writeStructured(structured, true);
			}
		}

		if (values.get(0).getObject() != null) {
			ListMultimap<String, String> object = value.asObject();
			if (!object.isEmpty()) {
				return VObjectPropertyValues.writeMultimap(object.getMap());
			}
		}

		return VObjectPropertyValues.escape(value.asSingle());
	}
230237
String createCssContentString() {
        StringBuilder css = new StringBuilder();
        css.append("<style>\n");

        // html, body
        css.append("html, body {");
        css.append("margin: 0;");
        css.append("}\n");
        // body
        css.append("body {");
        css.append("background-color: #152935;");
        css.append("font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;");
        css.append("}\n");
        // .container
        css.append("." + HTML_CLASS_CONTAINER + " {");
        css.append("display: flex;");
        css.append("min-height: 100vh;");
        css.append("}\n");
        // .side
        css.append("." + HTML_CLASS_SIDE + " {");
        css.append("max-width: 33%;");
        css.append("flex: 1;");
        css.append("display: flex;");
        css.append("}\n");
        // .main
        css.append("." + HTML_CLASS_MAIN_CONTENT + " {");
        css.append("background-color: white;");
        css.append("min-width: 300px;");
        css.append("max-width: 40%;");
        css.append("padding: 0px 20px;");
        css.append("}\n");
        // .social_media
        css.append("." + HTML_CLASS_SOCIAL_MEDIA + " {");
        css.append("padding-top: 50px;");
        css.append("}\n");
        // header
        css.append("header {");
        css.append("color: #152935;");
        css.append("font-size: 1.2em;");
        css.append("font-weight: bold;");
        css.append("text-align: center;");
        css.append("padding-bottom: 10px;");
        css.append("}\n");
        // .buttons
        css.append("." + HTML_CLASS_BUTTONS + " {");
        css.append("display: flex;");
        css.append("flex-flow: row wrap;");
        css.append("justify-content: center;");
        css.append("text-align: center;");
        css.append("}\n");
        // fieldset
        css.append(HTML_CLASS_FIELDSET + " {");
        css.append("border: 0;");
        css.append("padding: 0;");
        css.append("}\n");
        // legend
        css.append(HTML_CLASS_LEGEND + " {");
        css.append("color: #152935;");
        css.append("padding-bottom: 10px;");
        css.append("}\n");
        // .button
        css.append("." + HTML_CLASS_BUTTON + " {");
        css.append("background-color: white;");
        css.append("border: 2px solid #2A4E7B;");
        css.append("cursor: pointer;");
        css.append("font-weight: 200;");
        css.append("font-size: 0.9em;");
        css.append("padding: 10px 30px;");
        css.append("text-align: center;");
        css.append("}\n");
        // .button:hover, .button:focus
        css.append("." + HTML_CLASS_BUTTON + ":hover, ." + HTML_CLASS_BUTTON + ":focus {");
        css.append("background-color: #4178BE;");
        css.append("color: white;");
        css.append("}\n");
        // .medium
        css.append("." + HTML_CLASS_MEDIUM + " {");
        css.append("margin: 10px;");
        css.append("width: 250px;");
        css.append("}\n");
        // .mid_section
        css.append("." + HTML_CLASS_MID_SECTION + " {");
        css.append("padding: 30px 0px;");
        css.append("text-align: center");
        css.append("}\n");
        // .or
        css.append("." + HTML_CLASS_OR + " {");
        css.append("overflow: hidden;");
        css.append("text-align: center;");
        css.append("}\n");
        // .or:before, .or:after
        css.append("." + HTML_CLASS_OR + ":before, ." + HTML_CLASS_OR + ":after {");
        css.append("background-color: #C0C0C0;");
        css.append("content: \"\";");
        css.append("display: inline-block;");
        css.append("height: 1px;");
        css.append("position: relative;");
        css.append("vertical-align: middle;");
        css.append("width: 47%;");
        css.append("}\n");
        // .or:before
        css.append("." + HTML_CLASS_OR + ":before {");
        css.append("right: 0.5em;");
        css.append("margin-left: -40%;");
        css.append("}\n");
        // .or:after
        css.append("." + HTML_CLASS_OR + ":after {");
        css.append("left: 0.5em;");
        css.append("margin-right: -40%;");
        css.append("}\n");
        // .credentials .inputs
        css.append("." + HTML_CLASS_CREDENTIALS + " ." + HTML_CLASS_CRED_INPUTS + " {");
        css.append("padding: 0px 20px;");
        css.append("}\n");
        // label
        css.append(HTML_CLASS_LABEL + " {");
        css.append("font-size: 0.8em;");
        css.append("color: #777;");
        css.append("}\n");
        // .cred_input
        css.append("." + HTML_CLASS_CRED_INPUT + " {");
        css.append("box-sizing: border-box;");
        css.append("margin-bottom: 15px;");
        css.append("padding: 10px;");
        css.append("max-width: none;");
        css.append("width: 100%;");
        css.append("}\n");
        // .submit
        css.append("." + HTML_CLASS_SUBMIT + " {");
        css.append("width: 100%;");
        css.append("}\n");

        css.append("</style>\n");
        return css.toString();
    }
291810
Expression getValue( CssFormatter formatter ) {
        String name = toString();
        Expression value = formatter.getVariable( name );
        if( value != null ) {
            return value;
        }
        if( name.startsWith( "@@" ) ) {
            name = name.substring( 1 );
            value = formatter.getVariable( name );
            if( value != null ) {
                formatter.setInlineMode( true );
                name = '@' + value.stringValue( formatter );
                formatter.setInlineMode( false );
                value = formatter.getVariable( name );
                if( value != null ) {
                    return value;
                }
            }
        }
        throw createException( "Undefined Variable: " + name );
    }
1291146
public String get (String name, String def) {
        if (properties != null) {
            Object obj = properties.get (name);
            if (obj instanceof String)
                return obj.toString();
        }
        return def;
    }
805430
function nameToHex(color: string): string {
  if (typeof color !== 'string') return color
  const normalizedColorName = color.toLowerCase()
  return namedColorMap[normalizedColorName]
    ? `#${namedColorMap[normalizedColorName]}`
    : color
}
1243376
function getColorStr(color) {
    var hex = color.hexString();
    var alpha = getAlphaHex(color.alpha());
    var colorStr = '#' + alpha + hex.slice(1);

    return colorStr.toLowerCase();
}
1019735
private static String getStringProperty(Function function, String propertyKey) {
        Object value = function.getProperty(propertyKey);
        return value instanceof String ? (String)value : "";
    }
940905
public String getAttribute(String name, String def) {
		String value = dom.getAttribute(name);
		if ((value == null) || (value.length() == 0)) {
			return def;
		}
		
		return value;
	}
162970
String showScriptContextHTML( String s, int lineNo, int context )
    {
        StringBuilder sb = new StringBuilder();
        BufferedReader br = new BufferedReader( new StringReader(s) );

        int beginLine = Math.max( 1, lineNo-context );
        int endLine = lineNo + context;
        for( int i=1; i<=lineNo+context+1; i++ )
        {
            if ( i < beginLine )
            {
                try {
                    br.readLine();
                } catch ( IOException e ) {
                    throw new RuntimeException( e.toString() );
                }
                continue;
            }
            if ( i > endLine )
                break;

            String line;
            try {
                line = br.readLine();
            } catch ( IOException e ) {
                throw new RuntimeException( e.toString() );
            }

            if ( line == null )
                break;
            if ( i == lineNo )
                sb.append( "<font color=\"red\">"+i+": "+line +"</font><br/>" );
            else
                sb.append( i+": " +line +"<br/>" );
        }

        return sb.toString();
    }
701831
public static int valueFromName(String name) {
        if (name.equals(TYPENAME_SIMPLE_REFERENCE)) {
            return SIMPLE_REFERENCE;
        }
        return javax.jcr.PropertyType.valueFromName(name);
    }
828016
protected final <T> T __getRenderProperty(String name, T def) {
        Object o = __renderArgs.get(name);
        return (T) (__isDefVal(o) ? def : o);
    }
702558
function colorString(value) {
  const asColor = color(value);
  const r = asColor.r.toString(16);
  const g = asColor.g.toString(16);
  const b = asColor.b.toString(16);

  return `#${r.length === 1 ? '0' : ''}${r}${g.length === 1 ? '0' : ''}${g}${b.length === 1 ? '0' : ''}${b}`;
}
1347072
static String getStyle(Element element, String styleName) {
		String value = element.getAttribute(styleName);
		
		if ((value != null) && (value.length() > 0)) {
			return value;
		}
		
		String style = element.getAttribute("style");
		return extractStyle(style, styleName);
	}
188177
protected String getJavaScriptAttribute(String name)
    {
        AbstractHtmlState tsh = getState();
        return tsh.getAttribute(AbstractHtmlState.ATTR_JAVASCRIPT, name);
    }
39568
protected StyledString parametersToStyledString(Iterable<? extends JvmFormalParameter> elements, boolean isVarArgs, boolean includeName) {
		return getParameterStyledString(elements, isVarArgs, includeName, this.keywords, this.annotationFinder, this);
	}
355746
function(property) {
            var memo = {};

            $.getCssPropertyWithVendorPrefix = function(property) {
                if (memo[property] !== undefined) {
                    return memo[property];
                }
                var style = document.createElement('div').style;
                var result = null;
                if (style[property] !== undefined) {
                    result = property;
                } else {
                    var prefixes = ['Webkit', 'Moz', 'MS', 'O',
                        'webkit', 'moz', 'ms', 'o'];
                    var suffix = $.capitalizeFirstLetter(property);
                    for (var i = 0; i < prefixes.length; i++) {
                        var prop = prefixes[i] + suffix;
                        if (style[prop] !== undefined) {
                            result = prop;
                            break;
                        }
                    }
                }
                memo[property] = result;
                return result;
            };
            return $.getCssPropertyWithVendorPrefix(property);
        }