text:
__quiet = false;

chatty = function(s){
    if ( ! __quiet )
        print( s );
}

friendlyEqual = function( a , b ){
    if ( a == b )
        return true;

    if ( tojson( a ) == tojson( b ) )
        return true;

    return false;
}

doassert = function( msg ){
    print( "assert: " + msg );
    throw msg;
}

assert = function( b , msg ){
    if ( assert._debug && msg ) print( "in assert for: " + msg );

    if ( b )
        return;

    doassert( "assert failed : " + msg );
}

assert._debug = false;

assert.eq = function( a , b , msg ){
    if ( assert._debug && msg ) print( "in assert for: " + msg );

    if ( a == b )
        return;

    if ( ( a != null && b != null ) && friendlyEqual( a , b ) )
        return;

    doassert( "[" + tojson( a ) + "] != [" + tojson( b ) + "] are not equal : " + msg );
}

assert.neq = function( a , b , msg ){
    if ( assert._debug && msg ) print( "in assert for: " + msg );
    if ( a != b )
        return;

    doassert( "[" + a + "] != [" + b + "] are equal : " + msg );
}

assert.soon = function( f, msg, timeout, interval ) {
    if ( assert._debug && msg ) print( "in assert for: " + msg );

    var start = new Date();
    timeout = timeout || 30000;
    interval = interval || 200;
    var last;
    while( 1 ) {

        if ( typeof( f ) == "string" ){
            if ( eval( f ) )
                return;
        }
        else {
            if ( f() )
                return;
        }

        if ( ( new Date() ).getTime() - start.getTime() > timeout )
            doassert( "assert.soon failed: " + f + ", msg:" + msg );
        sleep( interval );
    }
}

assert.throws = function( func , params , msg ){
    if ( assert._debug && msg ) print( "in assert for: " + msg );
    try {
        func.apply( null , params );
    }
    catch ( e ){
        return e;
    }

    doassert( "did not throw exception: " + msg );
}

assert.commandWorked = function( res , msg ){
    if ( assert._debug && msg ) print( "in assert for: " + msg );

    if ( res.ok == 1 )
        return;

    doassert( "command failed: " + tojson( res ) + " : " + msg );
}

assert.commandFailed = function( res , msg ){
    if ( assert._debug && msg ) print( "in assert for: " + msg );

    if ( res.ok == 0 )
        return;

    doassert( "command worked when it should have failed: " + tojson( res ) + " : " + msg );
}

assert.isnull = function( what , msg ){
    if ( assert._debug && msg ) print( "in assert for: " + msg );

    if ( what == null )
        return;

    doassert( "supposed to null (" + ( msg || "" ) + ") was: " + tojson( what ) );
}

assert.lt = function( a , b , msg ){
    if ( assert._debug && msg ) print( "in assert for: " + msg );

    if ( a < b )
        return;
    doassert( a + " is not less than " + b + " : " + msg );
}

assert.gt = function( a , b , msg ){
    if ( assert._debug && msg ) print( "in assert for: " + msg );

    if ( a > b )
        return;
    doassert( a + " is not greater than " + b + " : " + msg );
}

assert.close = function( a , b , msg , places ){
    if (places === undefined) {
        places = 4;
    }
    if (Math.round((a - b) * Math.pow(10, places)) === 0) {
        return;
    }
    doassert( a + " is not equal to " + b + " within " + places +
              " places, diff: " + (a-b) + " : " + msg );
};

Object.extend = function( dst , src , deep ){
    for ( var k in src ){
        var v = src[k];
        if ( deep && typeof(v) == "object" ){
            v = Object.extend( typeof ( v.length ) == "number" ? [] : {} , v , true );
        }
        dst[k] = v;
    }
    return dst;
}

argumentsToArray = function( a ){
    var arr = [];
    for ( var i=0; i<a.length; i++ )
        arr[i] = a[i];
    return arr;
}

isString = function( x ){
    return typeof( x ) == "string";
}

isNumber = function(x){
    return typeof( x ) == "number";
}

isObject = function( x ){
    return typeof( x ) == "object";
}

String.prototype.trim = function() {
    return this.replace(/^\s+|\s+$/g,"");
}
String.prototype.ltrim = function() {
    return this.replace(/^\s+/,"");
}
String.prototype.rtrim = function() {
    return this.replace(/\s+$/,"");
}

Date.timeFunc = function( theFunc , numTimes ){

    var start = new Date();

    numTimes = numTimes || 1;
    for ( var i=0; i<numTimes; i++ ){
        theFunc.apply( null , argumentsToArray( arguments ).slice( 2 ) );
    }

    return (new Date()).getTime() - start.getTime();
}

Date.prototype.tojson = function(){
    return "\"" + this.toString() + "\"";
}

RegExp.prototype.tojson = RegExp.prototype.toString;

Array.contains = function( a  , x ){
    for ( var i=0; i<a.length; i++ ){
        if ( a[i] == x )
            return true;
    }
    return false;
}

Array.unique = function( a ){
    var u = [];
    for ( var i=0; i<a.length; i++){
        var o = a[i];
        if ( ! Array.contains( u , o ) ){
            u.push( o );
        }
    }
    return u;
}

Array.shuffle = function( arr ){
    for ( var i=0; i<arr.length-1; i++ ){
        var pos = i+Random.randInt(arr.length-i);
        var save = arr[i];
        arr[i] = arr[pos];
        arr[pos] = save;
    }
    return arr;
}

Array.tojson = function( a , indent ){
    if (!indent)
        indent = "";

    if (a.length == 0) {
        return "[ ]";
    }

    var s = "[\n";
    indent += "\t";
    for ( var i=0; i<a.length; i++){
        s += indent + tojson( a[i], indent );
        if ( i < a.length - 1 ){
            s += ",\n";
        }
    }
    if ( a.length == 0 ) {
        s += indent;
    }

    indent = indent.substring(1);
    s += "\n"+indent+"]";
    return s;
}

Array.fetchRefs = function( arr , coll ){
    var n = [];
    for ( var i=0; i<arr.length; i ++){
        var z = arr[i];
        if ( coll && coll != z.getCollection() )
            continue;
        n.push( z.fetch() );
    }

    return n;
}

Array.sum = function( arr ){
    if ( arr.length == 0 )
        return null;
    var s = arr[0];
    for ( var i=1; i<arr.length; i++ )
        s += arr[i];
    return s;
}

Array.avg = function( arr ){
    if ( arr.length == 0 )
        return null;
    return Array.sum( arr ) / arr.length;
}

Array.stdDev = function( arr ){
    var avg = Array.avg( arr );
    var sum = 0;

    for ( var i=0; i<arr.length; i++ ){
        sum += Math.pow( arr[i] - avg , 2 );
    }

    return Math.sqrt( sum / arr.length );
}

Object.keySet = function( o ) {
    var ret = new Array();
    for( i in o ) {
        if ( !( i in o.__proto__ && o[ i ] === o.__proto__[ i ] ) ) {
            ret.push( i );
        }
    }
    return ret;
}

if ( ! ObjectId.prototype )
    ObjectId.prototype = {}

ObjectId.prototype.toString = function(){
    return this.str;
}

ObjectId.prototype.tojson = function(){
    return "ObjectId(\"" + this.str + "\")";
}

ObjectId.prototype.isObjectId = true;

if ( typeof( DBPointer ) != "undefined" ){
    DBPointer.prototype.fetch = function(){
        assert( this.ns , "need a ns" );
        assert( this.id , "need an id" );

        return db[ this.ns ].findOne( { _id : this.id } );
    }

    DBPointer.prototype.tojson = function(indent){
        return tojson({"ns" : this.ns, "id" : this.id}, indent);
    }

    DBPointer.prototype.getCollection = function(){
        return this.ns;
    }

    DBPointer.prototype.toString = function(){
        return "DBPointer " + this.ns + ":" + this.id;
    }
}
else {
    print( "warning: no DBPointer" );
}

if ( typeof( DBRef ) != "undefined" ){
    DBRef.prototype.fetch = function(){
        assert( this.$ref , "need a ns" );
        assert( this.$id , "need an id" );

        return db[ this.$ref ].findOne( { _id : this.$id } );
    }

    DBRef.prototype.tojson = function(indent){
        return tojson({"$ref" : this.$ref, "$id" : this.$id}, indent);
    }

    DBRef.prototype.getCollection = function(){
        return this.$ref;
    }

    DBRef.prototype.toString = function(){
        return this.tojson();
    }
}
else {
    print( "warning: no DBRef" );
}

if ( typeof( BinData ) != "undefined" ){
    BinData.prototype.tojson = function(){
        return "BinData type: " + this.type + " len: " + this.len;
    }
}
else {
    print( "warning: no BinData" );
}

if ( typeof _threadInject != "undefined" ){
    print( "fork() available!" );

    Thread = function(){
        this.init.apply( this, arguments );
    }
    _threadInject( Thread.prototype );

    ScopedThread = function() {
        this.init.apply( this, arguments );
    }
    ScopedThread.prototype = new Thread( function() {} );
    _scopedThreadInject( ScopedThread.prototype );

    fork = function() {
        var t = new Thread( function() {} );
        Thread.apply( t, arguments );
        return t;
    }

    // Helper class to generate a list of events which may be executed by a ParallelTester
    EventGenerator = function( me, collectionName, mean ) {
        this.mean = mean;
        this.events = new Array( me, collectionName );
    }

    EventGenerator.prototype._add = function( action ) {
        this.events.push( [ Random.genExp( this.mean ), action ] );
    }

    EventGenerator.prototype.addInsert = function( obj ) {
        this._add( "t.insert( " + tojson( obj ) + " )" );
    }

    EventGenerator.prototype.addRemove = function( obj ) {
        this._add( "t.remove( " + tojson( obj ) + " )" );
    }

    EventGenerator.prototype.addUpdate = function( objOld, objNew ) {
        this._add( "t.update( " + tojson( objOld ) + ", " + tojson( objNew ) + " )" );
    }

    EventGenerator.prototype.addCheckCount = function( count, query, shouldPrint, checkQuery ) {
        query = query || {};
        shouldPrint = shouldPrint || false;
        checkQuery = checkQuery || false;
        var action = "assert.eq( " + count + ", t.count( " + tojson( query ) + " ) );"
        if ( checkQuery ) {
            action += " assert.eq( " + count + ", t.find( " + tojson( query ) + " ).toArray().length );"
        }
        if ( shouldPrint ) {
            action += " print( me + ' ' + " + count + " );";
        }
        this._add( action );
    }

    EventGenerator.prototype.getEvents = function() {
        return this.events;
    }

    EventGenerator.dispatch = function() {
        var args = argumentsToArray( arguments );
        var me = args.shift();
        var collectionName = args.shift();
        var m = new Mongo( db.getMongo().host );
        var t = m.getDB( "test" )[ collectionName ];
        for( var i in args ) {
            sleep( args[ i ][ 0 ] );
            eval( args[ i ][ 1 ] );
        }
    }

    // Helper class for running tests in parallel.  It assembles a set of tests
    // and then calls assert.parallelests to run them.
    ParallelTester = function() {
        this.params = new Array();
    }

    ParallelTester.prototype.add = function( fun, args ) {
        args = args || [];
        args.unshift( fun );
        this.params.push( args );
    }

    ParallelTester.prototype.run = function( msg, newScopes ) {
        newScopes = newScopes || false;
        assert.parallelTests( this.params, msg, newScopes );
    }

    // creates lists of tests from jstests dir in a format suitable for use by
    // ParallelTester.fileTester.  The lists will be in random order.
    // n: number of lists to split these tests into
    ParallelTester.createJstestsLists = function( n ) {
        var params = new Array();
        for( var i = 0; i < n; ++i ) {
            params.push( [] );
        }

        var makeKeys = function( a ) {
            var ret = {};
            for( var i in a ) {
                ret[ a[ i ] ] = 1;
            }
            return ret;
        }

        // some tests can't run in parallel with most others
        var skipTests = makeKeys( [ "jstests/dbadmin.js",
                                   "jstests/repair.js",
                                   "jstests/cursor8.js",
                                   "jstests/recstore.js",
                                   "jstests/extent.js",
                                   "jstests/indexb.js",
                                   "jstests/profile1.js",
                                   "jstests/mr3.js",
                                   "jstests/apitest_db.js"] );

        // some tests can't be run in parallel with each other
        var serialTestsArr = [ "jstests/fsync.js",
                              "jstests/fsync2.js" ];
        var serialTests = makeKeys( serialTestsArr );

        params[ 0 ] = serialTestsArr;

        var files = listFiles("jstests");
        files = Array.shuffle( files );

        var i = 0;
        files.forEach(
                      function(x) {

                      if ( /_runner/.test(x.name) ||
                          /_lodeRunner/.test(x.name) ||
                          ( x.name in skipTests ) ||
                          ( x.name in serialTests ) ||
                          ! /\.js$/.test(x.name ) ){
                      print(" >>>>>>>>>>>>>>> skipping " + x.name);
                      return;
                      }

                      params[ i % n ].push( x.name );
                      ++i;
                      }
        );

        // randomize ordering of the serialTests
        params[ 0 ] = Array.shuffle( params[ 0 ] );

        for( var i in params ) {
            params[ i ].unshift( i );
        }

        return params;
    }

    // runs a set of test files
    // first argument is an identifier for this tester, remaining arguments are file names
    ParallelTester.fileTester = function() {
        var args = argumentsToArray( arguments );
        var suite = args.shift();
        args.forEach(
                     function( x ) {
                     print("         S" + suite + " Test : " + x + " ...");
                     var time = Date.timeFunc( function() { load(x); }, 1);
                     print("         S" + suite + " Test : " + x + " " + time + "ms" );
                     }
                     );
    }

    // params: array of arrays, each element of which consists of a function followed
    // by zero or more arguments to that function.  Each function and its arguments will
    // be called in a separate thread.
    // msg: failure message
    // newScopes: if true, each thread starts in a fresh scope
    assert.parallelTests = function( params, msg, newScopes ) {
        newScopes = newScopes || false;
        var wrapper = function( fun, argv ) {
                   eval (
                         "var z = function() {" +
                         "var __parallelTests__fun = " + fun.toString() + ";" +
                         "var __parallelTests__argv = " + tojson( argv ) + ";" +
                         "var __parallelTests__passed = false;" +
                         "try {" +
                            "__parallelTests__fun.apply( 0, __parallelTests__argv );" +
                            "__parallelTests__passed = true;" +
                         "} catch ( e ) {" +
                            "print( e );" +
                         "}" +
                         "return __parallelTests__passed;" +
                         "}"
                         );
            return z;
        }
        var runners = new Array();
        for( var i in params ) {
            var param = params[ i ];
            var test = param.shift();
            var t;
            if ( newScopes )
                t = new ScopedThread( wrapper( test, param ) );
            else
                t = new Thread( wrapper( test, param ) );
            runners.push( t );
        }

        runners.forEach( function( x ) { x.start(); } );
        var nFailed = 0;
        // v8 doesn't like it if we exit before all threads are joined (SERVER-529)
        runners.forEach( function( x ) { if( !x.returnData() ) { ++nFailed; } } );
        assert.eq( 0, nFailed, msg );
    }
}

tojson = function( x, indent , nolint ){
    if ( x === null )
        return "null";

    if ( x === undefined )
        return "undefined";

    if (!indent)
        indent = "";

    switch ( typeof x ){

    case "string": {
        var s = "\"";
        for ( var i=0; i<x.length; i++ ){
            if ( x[i] == '"' ){
                s += "\\\"";
            }
            else
                s += x[i];
        }
        return s + "\"";
    }

    case "number":
    case "boolean":
        return "" + x;

    case "object":{
        var s = tojsonObject( x, indent , nolint );
        if ( ( nolint == null || nolint == true ) && s.length < 80 && ( indent == null || indent.length == 0 ) ){
            s = s.replace( /[\s\r\n ]+/gm , " " );
        }
        return s;
    }

    case "function":
        return x.toString();

    default:
        throw "tojson can't handle type " + ( typeof x );
    }

}

tojsonObject = function( x, indent , nolint ){
    var lineEnding = nolint ? " " : "\n";
    var tabSpace = nolint ? "" : "\t";

    assert.eq( ( typeof x ) , "object" , "tojsonObject needs object, not [" + ( typeof x ) + "]" );

    if (!indent)
        indent = "";

    if ( typeof( x.tojson ) == "function" && x.tojson != tojson ) {
        return x.tojson(indent,nolint);
    }

    if ( typeof( x.constructor.tojson ) == "function" && x.constructor.tojson != tojson ) {
        return x.constructor.tojson( x, indent , nolint );
    }

    if ( x.toString() == "[object MaxKey]" )
        return "{ $maxKey : 1 }";
    if ( x.toString() == "[object MinKey]" )
        return "{ $minKey : 1 }";

    var s = "{" + lineEnding;

    // push one level of indent
    indent += tabSpace;

    var total = 0;
    for ( var k in x ) total++;
    if ( total == 0 ) {
        s += indent + lineEnding;
    }

    var keys = x;
    if ( typeof( x._simpleKeys ) == "function" )
        keys = x._simpleKeys();
    var num = 1;
    for ( var k in keys ){

        var val = x[k];
        if ( val == DB.prototype || val == DBCollection.prototype )
            continue;

        s += indent + "\"" + k + "\" : " + tojson( val, indent , nolint );
        if (num != total) {
            s += ",";
            num++;
        }
        s += lineEnding;
    }

    // pop one level of indent
    indent = indent.substring(1);
    return s + indent + "}";
}

shellPrint = function( x ){
    it = x;
    if ( x != undefined )
        shellPrintHelper( x );

    if ( db ){
        var e = db.getPrevError();
        if ( e.err ) {
	    if( e.nPrev <= 1 )
		print( "error on last call: " + tojson( e.err ) );
	    else
		print( "an error " + tojson(e.err) + " occurred " + e.nPrev + " operations back in the command invocation" );
        }
        db.resetError();
    }
}

printjson = function(x){
    print( tojson( x ) );
}

shellPrintHelper = function( x ){

    if ( typeof( x ) == "undefined" ){

        if ( typeof( db ) != "undefined" && db.getLastError ){
            var e = db.getLastError();
            if ( e != null )
                print( e );
        }

        return;
    }

    if ( x == null ){
        print( "null" );
        return;
    }

    if ( typeof x != "object" )
        return print( x );

    var p = x.shellPrint;
    if ( typeof p == "function" )
        return x.shellPrint();

    var p = x.tojson;
    if ( typeof p == "function" )
        print( x.tojson() );
    else
        print( tojson( x ) );
}

shellHelper = function( command , rest , shouldPrint ){
    command = command.trim();
    var args = rest.trim().replace(/;$/,"").split( "\s+" );

    if ( ! shellHelper[command] )
        throw "no command [" + command + "]";

    var res = shellHelper[command].apply( null , args );
    if ( shouldPrint ){
        shellPrintHelper( res );
    }
    return res;
}

help = shellHelper.help = function(){
    print( "HELP" );
    print( "\t" + "show dbs                     show database names");
    print( "\t" + "show collections             show collections in current database");
    print( "\t" + "show users                   show users in current database");
    print( "\t" + "show profile                 show most recent system.profile entries with time >= 1ms");
    print( "\t" + "use <db name>                set curent database to <db name>" );
    print( "\t" + "db.help()                    help on DB methods");
    print( "\t" + "db.foo.help()                help on collection methods");
    print( "\t" + "db.foo.find()                list objects in collection foo" );
    print( "\t" + "db.foo.find( { a : 1 } )     list objects in foo where a == 1" );
    print( "\t" + "it                           result of the last line evaluated; use to further iterate");
}

shellHelper.use = function( dbname ){
    db = db.getMongo().getDB( dbname );
    print( "switched to db " + db.getName() );
}

shellHelper.it = function(){
    if ( typeof( ___it___ ) == "undefined" || ___it___ == null ){
        print( "no cursor" );
        return;
    }
    shellPrintHelper( ___it___ );
}

shellHelper.show = function( what ){
    assert( typeof what == "string" );

    if( what == "profile" ) {
	if( db.system.profile.count() == 0 ) {
	    print("db.system.profile is empty");
	    print("Use db.setProfilingLevel(2) will enable profiling");
	    print("Use db.system.profile.find() to show raw profile entries");
	}
	else {
	    print();
	    db.system.profile.find({ millis : { $gt : 0 } }).sort({$natural:-1}).limit(5).forEach( function(x){print(""+x.millis+"ms " + String(x.ts).substring(0,24)); print(x.info); print("\n");} )
        }
	return "";
    }

    if ( what == "users" ){
	db.system.users.find().forEach( printjson );
        return "";
    }

    if ( what == "collections" || what == "tables" ) {
        db.getCollectionNames().forEach( function(x){print(x)} );
	return "";
    }

    if ( what == "dbs" ) {
        db.getMongo().getDBNames().sort().forEach( function(x){print(x)} );
	return "";
    }

    throw "don't know how to show [" + what + "]";

}

if ( typeof( Map ) == "undefined" ){
    Map = function(){
        this._data = {};
    }
}

Map.hash = function( val ){
    if ( ! val )
        return val;

    switch ( typeof( val ) ){
    case 'string':
    case 'number':
    case 'date':
        return val.toString();
    case 'object':
    case 'array':
        var s = "";
        for ( var k in val ){
            s += k + val[k];
        }
        return s;
    }

    throw "can't hash : " + typeof( val );
}

Map.prototype.put = function( key , value ){
    var o = this._get( key );
    var old = o.value;
    o.value = value;
    return old;
}

Map.prototype.get = function( key ){
    return this._get( key ).value;
}

Map.prototype._get = function( key ){
    var h = Map.hash( key );
    var a = this._data[h];
    if ( ! a ){
        a = [];
        this._data[h] = a;
    }

    for ( var i=0; i<a.length; i++ ){
        if ( friendlyEqual( key , a[i].key ) ){
            return a[i];
        }
    }
    var o = { key : key , value : null };
    a.push( o );
    return o;
}

Map.prototype.values = function(){
    var all = [];
    for ( var k in this._data ){
        this._data[k].forEach( function(z){ all.push( z.value ); } );
    }
    return all;
}

if ( typeof( gc ) == "undefined" ){
    gc = function(){
    }
}

Math.sigFig = function( x , N ){
    if ( ! N ){
        N = 3;
    }
    var p = Math.pow( 10, N - Math.ceil( Math.log( Math.abs(x) ) / Math.log( 10 )) );
    return Math.round(x*p)/p;
}

Random = function() {}

// set random seed
Random.srand = function( s ) { _srand( s ); }

// random number 0 <= r < 1
Random.rand = function() { return _rand(); }

// random integer 0 <= r < n
Random.randInt = function( n ) { return Math.floor( Random.rand() * n ); }

Random.setRandomSeed = function( s ) {
    s = s || new Date().getTime();
    print( "setting random seed: " + s );
    Random.srand( s );
}

// generate a random value from the exponential distribution with the specified mean
Random.genExp = function( mean ) {
    return -Math.log( Random.rand() ) * mean;
}

killWithUris = function( uris ) {
    var inprog = db.currentOp().inprog;
    for( var u in uris ) {
        for ( var i in inprog ) {
            if ( uris[ u ] == inprog[ i ].client ) {
                db.killOp( inprog[ i ].opid );
            }
        }
    }
}

Geo = {};
Geo.distance = function( a , b ){
    var ax = null;
    var ay = null;
    var bx = null;
    var by = null;

    for ( var key in a ){
        if ( ax == null )
            ax = a[key];
        else if ( ay == null )
            ay = a[key];
    }

    for ( var key in b ){
        if ( bx == null )
            bx = b[key];
        else if ( by == null )
            by = b[key];
    }

    return Math.sqrt( Math.pow( by - ay , 2 ) +
                      Math.pow( bx - ax , 2 ) );
}


text:
- Access to a suitable vCloud Director organisation.

  **NB** It is not safe to run them against an environment that is in use
  (e.g. production, preview) as many of the tests clear down all config at
  the beginning and/or end to ensure the environment is as the tests expect.

- A config file with the settings configured.

  There is a [template file](spec/integration/vcloud_tools_testing_config.yaml.template) to
  help with this. Copy the template file to `spec/integration/vcloud_tools_testing_config.yaml`
  and update with parameters suitable for your environment.

- You need to include the set-up for your testing environment in your
  [fog file](https://github.com/gds-operations/vcloud-core#credentials).

- The tests use the [vCloud Tools Tester](http://rubygems.org/gems/vcloud-tools-tester) gem.
  You do not need to install this, `bundler` will do this for you.

## Parameters

````
default: # This is the fog credential that refers to your testing environment, e.g. `test_credential`
  vdc_1_name: # The name of a VDC
  catalog: # A catalog
  vapp_template: # A vApp Template within that catalog
  network_1: # The name of the primary network
  network_1_ip: # The IP address of the primary network
````

## To run the tests

  `FOG_CREDENTIAL=test_credential bundle exec integration`

redpajama_set_name: RedPajamaGithub


text:
This optional module is used to create a Cloud Composer environment.

```hcl
module "composer" {
  source = "terraform-google-modules/composer/google//modules/create_environment_v1"

  project = "project-123"
  name    = "Composer-Prod-Env"
  region  = "us-central1"

  config {
    node_count = "3"

    node_config {
      zone         = "us-central1-f"
      machine_type = "n1-standard-1"
      network    = "test-network"
      subnetwork = "test-subnetwork"
    }
  }
}
```

## Inputs

| Name | Description | Type | Default | Required |
|------|-------------|------|---------|:--------:|
| airflow\_config\_overrides | Airflow configuration properties to override. Property keys contain the section and property names, separated by a hyphen, for example "core-dags\_are\_paused\_at\_creation". | `map(string)` | `{}` | no |
| cloud\_sql\_ipv4\_cidr | The CIDR block from which IP range in tenant project will be reserved for Cloud SQL. | `string` | `null` | no |
| composer\_env\_name | Name of Cloud Composer Environment | `string` | n/a | yes |
| composer\_service\_account | Service Account for running Cloud Composer. | `string` | `null` | no |
| disk\_size | The disk size for nodes. | `string` | `"100"` | no |
| enable\_ip\_masq\_agent | Deploys 'ip-masq-agent' daemon set in the GKE cluster and defines nonMasqueradeCIDRs equals to pod IP range so IP masquerading is used for all destination addresses, except between pods traffic. | `bool` | `false` | no |
| enable\_private\_endpoint | Configure public access to the cluster endpoint. | `bool` | `false` | no |
| env\_variables | Variables of the airflow environment. | `map(string)` | `{}` | no |
| image\_version | The version of the aiflow running in the cloud composer environment. | `string` | `null` | no |
| kms\_key\_name | Customer-managed Encryption Key fully qualified resource name, i.e. projects/project-id/locations/location/keyRings/keyring/cryptoKeys/key. | `string` | `null` | no |
| labels | The resource labels (a map of key/value pairs) to be applied to the Cloud Composer. | `map(string)` | `{}` | no |
| machine\_type | Machine type of Cloud Composer nodes. | `string` | `"n1-standard-8"` | no |
| master\_ipv4\_cidr | The CIDR block from which IP range in tenant project will be reserved for the master. | `string` | `null` | no |
| network | The VPC network to host the composer cluster. | `string` | n/a | yes |
| network\_project\_id | The project ID of the shared VPC's host (for shared vpc support) | `string` | `""` | no |
| node\_count | Number of worker nodes in Cloud Composer Environment. | `number` | `3` | no |
| oauth\_scopes | Google API scopes to be made available on all node. | `set(string)` |
[
  "https://www.googleapis.com/auth/cloud-platform"
]
 | no |
| pod\_ip\_allocation\_range\_name | The name of the cluster's secondary range used to allocate IP addresses to pods. | `string` | `null` | no |
| project\_id | Project ID where Cloud Composer Environment is created. | `string` | n/a | yes |
| pypi\_packages | Custom Python Package Index (PyPI) packages to be installed in the environment. Keys refer to the lowercase package name (e.g. "numpy"). | `map(string)` | `{}` | no |
| python\_version | The default version of Python used to run the Airflow scheduler, worker, and webserver processes. | `string` | `"3"` | no |
| region | Region where the Cloud Composer Environment is created. | `string` | `"us-central1"` | no |
| service\_ip\_allocation\_range\_name | The name of the services' secondary range used to allocate IP addresses to the cluster. | `string` | `null` | no |
| subnetwork | The subnetwork to host the composer cluster. | `string` | n/a | yes |
| subnetwork\_region | The subnetwork region of the shared VPC's host (for shared vpc support) | `string` | `""` | no |
| tags | Tags applied to all nodes. Tags are used to identify valid sources or targets for network firewalls. | `set(string)` | `[]` | no |
| use\_ip\_aliases | Enable Alias IPs in the GKE cluster. If true, a VPC-native cluster is created. | `bool` | `false` | no |
| web\_server\_allowed\_ip\_ranges | The network-level access control policy for the Airflow web server. If unspecified, no network-level access restrictions will be applied. |
list(object({
    value       = string,
    description = string
  }))
 | `null` | no |
| web\_server\_ipv4\_cidr | The CIDR block from which IP range in tenant project will be reserved for the web server. | `string` | `null` | no |
| zone | Zone where the Cloud Composer nodes are created. | `string` | `"us-central1-f"` | no |

## Outputs

| Name | Description |
|------|-------------|
| airflow\_uri | URI of the Apache Airflow Web UI hosted within the Cloud Composer Environment. |
| composer\_env\_id | ID of Cloud Composer Environment. |
| composer\_env\_name | Name of the Cloud Composer Environment. |
| gcs\_bucket | Google Cloud Storage bucket which hosts DAGs for the Cloud Composer Environment. |
| gke\_cluster | Google Kubernetes Engine cluster used to run the Cloud Composer Environment. |


text:
<?php

 class PasswordAuthenticationFailedException extends Exception
 {
 }


text:
FROM jenkins:2.32.3
LABEL maintainer "waltervargas@linux.com"

USER jenkins

# Install Plugins
RUN /usr/local/bin/install-plugins.sh git pipeline-stage-view job-dsl workflow-aggregator blueocean maven-plugin

RUN echo 2.0 > /usr/share/jenkins/ref/jenkins.install.UpgradeWizard.state
COPY init.groovy.d/* /usr/share/jenkins/ref/init.groovy.d/
COPY files/* /tmp/
COPY files/gitconfig /var/jenkins_home/.gitconfig

USER root
ENV PACKAGES flatpak flatpak-builder
RUN echo "deb http://ftp.debian.org/debian jessie-backports main" >> /etc/apt/sources.list
RUN DEBIAN_FRONTEND=noninteractive apt-get -y update && apt-get -y -t jessie-backports install $PACKAGES && rm -rf /var/lib/apt/lists/*

USER jenkins
RUN flatpak remote-add --user gnome-nightly --from https://sdk.gnome.org/gnome-nightly.flatpakrepo \
  && flatpak install --user gnome-nightly org.gnome.Sdk \
  && flatpak install --user gnome-nightly org.gnome.Platform

WORKDIR /var/jenkins_home

ENV GIT_URL https://github.com/waltervargas/gnome-jenkins.git
ENV GIT_BRANCH master


text:
[![Maven Central](https://img.shields.io/maven-central/v/com.stackify/stackify-log-logback.svg)](http://mvnrepository.com/artifact/com.stackify/stackify-log-logback)
[![Coverage Status](https://coveralls.io/repos/stackify/stackify-log-logback/badge.png?branch=master)](https://coveralls.io/r/stackify/stackify-log-logback?branch=master)

# Stackify Logback Logger

Logback logger appender for sending log messages and exceptions to Stackify.

* **Errors and Logs Overview:** http://support.stackify.com/errors-and-logs-overview/
* **Sign Up for a Trial:** http://www.stackify.com/sign-up/

## Installation

Add it as a maven dependency:
```xml
<dependency>
    <groupId>com.stackify</groupId>
    <artifactId>stackify-log-logback</artifactId>
    <version>4.0.1</version>
    <scope>runtime</scope>
</dependency>
```

## Usage

Example appender configuration:
```xml
<appender name="STACKIFY" class="com.stackify.log.logback.StackifyLogAppender">
    <apiKey>YOUR_API_KEY</apiKey>
    <application>YOUR_APPLICATION_NAME</application>
    <environment>YOUR_ENVIRONMENT</environment>
</appender>
```

Note: *If you are logging from a device that has the stackify-agent installed, the environment setting is optional. We will use the environment associated to your device in Stackify.*

Be sure to shutdown Logback to flush this appender of any errors and shutdown the background thread:
```java
ch.qos.logback.classic.LoggerContext loggerContext = (ch.qos.logback.classic.LoggerContext) org.slf4j.LoggerFactory.getILoggerFactory();
loggerContext.stop();
```

## Masking

The Stackify appender has built-in data masking for credit cards and social security number values.

**Enable Masking:**

Add `<maskEnabled>true</maskEnabled>` inside the `<appender> ... </appender>` tag.

**Customize Masking:**

The example below has the following customizations:

1. Credit Card value masking is disabled (`<maskCreditCard>false</maskCreditCard>`)
2. IP Address masking is enabled (`<maskIP>true</maskIP>`).
3. Custom masking to remove vowels using a regex (`<maskCustom>[aeiou]</maskCustom>`)

```xml
<appender name="STACKIFY" class="com.stackify.log.logback.StackifyLogAppender">
    <apiKey>YOUR_API_KEY</apiKey>
    <application>YOUR_APPLICATION_NAME</application>
    <environment>YOUR_ENVIRONMENT</environment>

    <maskEnabled>true</maskEnabled>
    <maskCreditCard>false</maskCreditCard>
    <maskSSN>true</maskSSN>
    <maskIP>true</maskIP>
    <maskCustom>[aeiou]</maskCustom>
</appender>
```

## Legacy Support

For legacy support of **Java 1.6 and 1.7** use the following maven dependency:
```
<dependency>
    <groupId>com.stackify</groupId>
    <artifactId>stackify-log-logback</artifactId>
    <version>2.1.2</version>
</dependency>
```

## License

Copyright 2019 Stackify, LLC.

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

   http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.


text:
package pl.gdela.socomo.maven.check.visitor;

import org.objectweb.asm.AnnotationVisitor;
import org.objectweb.asm.Opcodes;
import org.objectweb.asm.Type;

class DependencyAnnotationVisitor extends AnnotationVisitor {

	private VisitorDataCollector visitorDataCollector;

	public DependencyAnnotationVisitor(VisitorDataCollector visitorDataCollector) {
		super(Opcodes.ASM4);
		this.visitorDataCollector = visitorDataCollector;
	}

	@Override
	public void visit(final String name, final Object value) {
		if (value instanceof Type) {
			visitorDataCollector.addType((Type) value);
		}
	}

	@Override
	public void visitEnum(
			final String name,
			final String desc,
			final String value)
	{
		visitorDataCollector.addDesc(desc);
	}

	@Override
	public AnnotationVisitor visitAnnotation(
			final String name,
			final String desc)
	{
		visitorDataCollector.addDesc(desc);
		return this;
	}

	@Override
	public AnnotationVisitor visitArray(final String name) {
		return this;
	}

	@Override
	public void visitEnd() {
	}
}


text:
namespace Chalmers.ILL.Models
{
    public class Personal
    {
        public string LastName { get; set; }
        public string FirstName { get; set; }
    }
}


text:
body{
    color: #444444;
    font: 13.34px helvetica,arial,freesans,clean,sans-serif;
    margin: 0;
}
.container {
    margin: 0 auto;
    width: 980px;
}
h1 {
    font-size: 18px;
    margin-left: 2px;
    margin-top: 2px;
    text-shadow: 0 2px 0 #CCCCCC;
}

a{
    text-decoration: none;
    cursor: pointer;
    color: #666666;
}
ul {
    list-style: none outside none;
    margin: 0px;
    padding: 0px;
}
ul li{
    margin: 0px;
    padding: 0px;
    /*    width: 100%;*/
    padding: 0;
}
ul.pubs li{
    width: 100%;
}
input, textarea{
    /*    border: 1px solid grey;
        border-radius: 4px 4px 4px 4px;*/

}
/***************top*****************/
#globalheader {
    background: url(../../PubsPlugin/images/globalheader.png) repeat-x;
    border-radius: 4px 4px 4px 4px;
    height: 36px;
    width: 980px;
    margin: 18px auto;
    min-width: 964px;
}
.count-button {
    border-top: 1px solid #7b7b7b;
    float: left;
    height: 21px;
    padding: 7px;
    opacity: 0.5;
    position: relative;
}
.count-button:hover {
    background-color: #303030;
}
.open {
    background-color: #FFF;
}
.BoxCount {
    display: none;
    background-color: #00376A;
    border-radius: 2px 2px 2px 2px;
    color: #FFFFFF;
    font-size: 9px;
    font-weight: bold;
    padding-bottom: 1px;
    position: absolute;
    right: 1px;
    top: 1px;
    z-index: 2;
}
.BoxCount span {
    -moz-border-bottom-colors: none;
    -moz-border-image: none;
    -moz-border-left-colors: none;
    -moz-border-right-colors: none;
    -moz-border-top-colors: none;
    background-color: #F03D25;
    border-color: -moz-use-text-color #DD3822 #DD3822;
    border-radius: 2px 2px 2px 2px;
    border-style: none solid solid;
    border-width: 0 1px 1px;
    display: block;
    padding: 1px 1px 0;
}
/**************TOP MENU*****************/
#sign_in{
    float: right;
    position: relative;
    width: 170px;
}
#sign_in #menu-dropdown{
    display: none;
    left: -261px;
    position: absolute;
    top: 35px;
    z-index: 5
}
.submit {
    cursor: pointer;
    -moz-border-radius:5px 5px 5px 5px;
    background:url("../../PubsPlugin/images/bg-btn-signup.png") repeat-x scroll 0 0 #FFAA22;
    border:1px solid #FFAA22;
    color:#333333;
    display:block;
    font:bold 18px Arial,Sans-serif;
    padding: 8px 5px;
    text-align:center;
    text-decoration:none;
    text-shadow:0 1px 0 #FFEE66;
}
#tab-signin.open{
    background-color:#FFFFFF;
    box-shadow:0 1px 2px 0 rgba(0, 0, 0, 0.6);
    color: #666666;
}
#tab-signin.open:hover{
    color: #999999;
}
#sign_in #menu-dropdown li form{
    border-radius: 0 0 5px 5px;
    box-shadow: 0 2px 2px rgba(0, 0, 0, 0.6);
    background-color: #ffffff;
    width: 430px;
    color: #444444
}
#tab-signup a{
    color: #D2D2D2;
}
#sign_in #menu-dropdown li form a{
    color: #666666;
}
#sign_in #menu-dropdown li form a:hover{
    color: #444444;
}

#sign_in #menu-dropdown li form table {
    padding-bottom: 4px;
    padding-left: 5px;
    padding-top: 0;
    padding-right: 0;
}
.tabs-header{
    cursor: pointer;
    float: left;
    padding: 10px;
    color: #dedede;
}
.tabs-header:hover{
    background-color: #303030;
    color: #FFFFFF;
}

ul.nav {
    display: block;
    margin: 0;
}
ul.nav li.account {
    position: relative;
    width: 120px;
    float: right;
}
ul.nav li {
    display: block;
    float: left;
    font-size: 13px;
}
ul.nav li a.menu:hover {
    background-color: rgba(255, 255, 255, 0.1);
}

ul.nav li a.menu {
    color: #FFFFFF;
    font-weight: normal;
    text-align: right;
}
ul.nav li.account a.menu {
    padding-left: 12px;
    padding-right: 20px;
    width: 100px;
}
ul.nav li.account a.open {
    background-color: rgba(255, 255, 255, 0.1);
}
ul.nav li.account a.menu i {
    background-image: url("../../PubsPlugin/images/sprite-icons.png");
    background-repeat: no-repeat;
    background-position: -76px -96px;
    display: none;
    height: 13px;
    margin-bottom: 2px;
    outline: medium none;
    overflow: hidden;
    vertical-align: bottom;
    width: 13px;
}
ul.nav li.account a.menu.open i {
    display: inline-block;
}
ul.nav li.account a.menu:hover i {
    display: inline-block;
}

ul.nav li a {
    color: #BBBBBB;
    font-weight: normal;
}
ul.nav li a {
    color: #BBBBBB;
    display: block;
    float: none;
    line-height: 19px;
    padding: 10px;
    text-decoration: none;
}

ul.nav a {
    text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.3);
}
ul.nav li.account a.user-photo img {
    border: medium none;
    cursor: pointer;
    display: inline-block;
    float: right;
    height: 20px;
    margin-left: 10px;
    margin-right: 6px;
    margin-top: -3px;
    vertical-align: middle;
    width: 20px;
}
ul.secondary-nav li ul {
    right: 0;
}
ul.nav li ul {
    background: none repeat scroll 0 0 #121212;
    border: 0 none;
    border-radius: 0 0 5px 5px;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.6);
    display: none;
    float: left;
    margin-left: 0;
    max-width: 220px;
    min-width: 160px;
    padding: 0;
    position: absolute;
    text-align: left;
    top: 36px;
    z-index: 2;
}
ul.nav li ul li {
    background: none repeat scroll 0 0 rgba(255, 255, 255, 0.1);
    clear: both;
    display: block;
    float: none;
    font-size: 12px;
}
ul.nav li ul li a {
    background-color: transparent;
}
ul.nav li a {
    color: #BBBBBB;
    font-weight: normal;
}
ul.nav li ul li a {
    clear: both;
    display: block;
    line-height: 19px;
    padding: 6px 15px;
}
ul.nav li ul li a:hover {
    background: none repeat scroll 0 0 rgba(255, 255, 255, 0.1);
    color: #FFFFFF;

}
ul.nav li a {
    float: none;
    text-decoration: none;
}
/*****************BOX PUBS ********************/
ul.box {
    background: none repeat scroll 0 0 #FFF;
    border: 0 none;
    border-radius: 0 0 5px 5px;
    box-shadow: 0 2px 2px rgba(0, 0, 0, 0.6);
    display: none;
    float: left;
    margin-left: 345px;
    padding: 0;
    position: absolute;
    text-align: left;
    top: 53px;
    z-index: 5;
    min-width: 330px;
}
ul.box:focus
{
    box-shadow: 10px 10px 10px rgba(0, 0, 0, 0.6);
}
ul.box h2{
    border-bottom: 1px solid #DDDDDD !important;
    font-size: 14px;
    line-height: 20px;
    margin: 0px;
    padding: 7px;
}
ul.box h2.inbox {
    overflow: hidden;
    padding: 3px;
    margin-left: 4px;
}
ul.box h2.inbox .new-message{
    float: right;
}
ul.box h2.inbox .inbox-header-box{
    display: inline-block;
    margin-top: 4px;
}
ul.box li {
    overflow: hidden;
}
#new-messages{
    margin-left: 312px;
}
#new-follows{
    margin-left: 279px;
}
ul.box li a {
    clear: both;
    display: block;
}
ul.box li a:hover {

}
ul.box li a {
    float: left;
    overflow: hidden;
    text-decoration: none;
}
ul.box .pub-content {
    float: left;
    margin-left: 5px!important;
    width: 260px;
}
/*****************box pubs************************/
.new-advice{
    cursor: pointer;
    background-color: #FFFFFF;
    overflow: hidden;
    padding: 5px;
    border-bottom: 1px solid #D2D2D2;
}
.new-advice:hover {
    background-color: #D2D2D2;
    border-bottom: 1px solid #CACACA;
    color: #333333;
    overflow: hidden;
    padding: 5px;
}
.new-advice .pub-author{
    padding-bottom: 0px;
}
.new-advice .pub-author a{
    color: #999999;
}
.new-advice:hover .pub-author a{
    color: #333333;
}
.new-advice .contPubPhoto img{
    width: 40px
}
.new-advice .pub-link img {
    width: 40px;
}
.new-advice .pub-link i {
    display: none
}
.new-advice  .pub-link-text {
    font-size: 11px;
    float: none;
    width: 100%;
}
.new-advice .pub-info i {
    opacity: 1!important;
}
.new-advice-footer a {
    color: #444999;
    background-color: #F7F7F7;
    border-top: 1px solid #E0E0E0;
    display: block;
    font-weight: bold;
    padding: 8px;
    text-align: center;
    cursor: pointer;

}
.new-advice-footer a:hover {
    color: #d2d2d2;
    background-color: #444444;
    border-top: 1px solid #E0E0E0;
    display: block;
    font-weight: bold;
    padding: 8px;
    text-align: center;
    cursor: pointer;
}
/***************************************************/
li.new-messages{
    cursor: pointer;
    background-color: #FFFFFF;
    overflow: hidden;
    padding: 5px;
    border-bottom: 1px solid #D2D2D2;
}
li.new-messages:hover {
    background-color: #D2D2D2;
    border-bottom: 1px solid #CACACA;
    color: #333333;
    overflow: hidden;
    padding: 5px;
}
.new-messages .pub-author{
    padding-bottom: 0px;
}

.new-messages .pub-author a{
    color: #999999;
}
.new-messages:hover .pub-author a{
    color: #333333;
}
.new-messages .contPubPhoto img{
    width: 40px
}
.new-following img {
    margin-right: 5px
}
/*****************BOX PUBS AUDIO SHORT********************/
.new-advice div.jp-audio {
    clear: both;
    float: none;
    overflow: hidden;
    width: 215px!important;
}
.new-advice div.jp-type-single div.jp-interface {
    border-bottom: none none;
    height: 40px !important;
}
.new-advice div.jp-audio div.jp-type-single div.jp-interface {
    background-image: none!important;
    border-bottom: none!important;
    height: 40px !important;
    width: 215px!important;
}
.new-advice  div.jp-interface {
    position: relative;
    width: 210px;
}
.new-advice div.jp-audio div.jp-type-single a.jp-play, .new-advice div.jp-audio div.jp-type-single a.jp-pause {
    left: 0px;
    opacity: 0.7;
    top: 0px;
}
.new-advice  div.jp-interface ul.jp-controls a {
    overflow: hidden;
    position: absolute;
    text-indent: -9999px;
}

.new-advice div.jp-audio div.jp-type-single div.jp-progress {
    height: 12px;
    left: 10px;
    top: 25px;
    width: 200px;
}
.new-advice div.jp-audio div.jp-type-single a.jp-mute, .new-advice  div.jp-audio div.jp-type-single a.jp-unmute {
    left: 32px;
    top: 5px;
}

.new-advice a.jp-mute, a.jp-unmute {
    height: 15px;
    width: 18px;
}

.new-advice div.jp-audio div.jp-type-single div.jp-volume-bar {
    left: 50px;
    top: 7px;
}

.new-advice div.jp-audio div.jp-type-single div.jp-current-time, .new-advice div.jp-audio div.jp-type-single div.jp-duration {
    left: 110px;
    top: 3px;
    width: 100px;
}
.new-advice div.jp-current-time,.new-advice div.jp-duration {
    color: #444444;
    font-size: 1em;
    font-style: oblique;
    position: absolute;
}
.new-advice div.jp-duration {
    text-align: right;
}
.new-advice a.jp-play {
    background-position: -9px -9px;
    background-image: url("../../PubsPlugin/skin/jplayer.blue.monday.png");
    background-repeat: repeat;
    display: inline-block;
}
.new-advice a.jp-play:hover {
    background-position: -50px -9px;
}
.new-advice a.jp-pause {
    background-position: -9px -51px;
    background-image: url("../../PubsPlugin/skin/jplayer.blue.monday.png");
    background-repeat: repeat;
    display: inline-block;
}
.new-advice a.jp-pause:hover {
    background-position: -50px -51px;
}
.new-advice a.jp-play,.new-advice a.jp-pause {
    height: 21px;
    width: 21px;
    z-index: 1;
}
.new-advice a.jp-mute {
    background: url("../../PubsPlugin/skin/jplayer.blue.monday.png") no-repeat scroll 0 -186px transparent;
}
.new-advice a.jp-unmute {
    background: url("./../PubsPlugin/skin/jplayer.blue.monday.png") no-repeat scroll 0 -170px transparent;
    display: none;
}
.new-advice a.jp-unmute:hover {
    background: url("./../PubsPlugin/skin/jplayer.blue.monday.png") no-repeat scroll -19px -186px transparent;
}
.new-advice div.jp-progress {
    background: url("../../PubsPlugin/skin/jplayer.blue.monday.png") repeat-x scroll 0 -202px transparent;
    overflow: hidden;
    position: absolute;
}
.new-advice div.jp-volume-bar {
    background: url("../../PubsPlugin/skin/jplayer.blue.monday.png") repeat-x scroll 0 -226px transparent;
    cursor: pointer;
    height: 12px;
    overflow: hidden;
    position: absolute;
    width: 54px;
}

.new-advice div.jp-volume-bar-value {
    background: url("../../PubsPlugin/skin/jplayer.blue.monday.png") repeat-x scroll 0 -238px transparent;
    height: 12px;
    width: 0;
}
.new-advice div.jp-seek-bar {
    background: url("../../PubsPlugin/skin/jplayer.blue.monday.png") repeat-x scroll 0 -202px transparent;
    cursor: pointer;
    height: 100%;
    width: 0;
}
.new-advice div.jp-play-bar {
    background: url("../../PubsPlugin/skin/jplayer.blue.monday.png") repeat-x scroll 0 -214px transparent;
    height: 100%;
    width: 0;
}
.new-advice div.jp-seeking-bg {
    background: url("../../PubsPlugin/skin/pbar-ani.gif") repeat scroll 0 0 transparent;
}
/***************SEARCH*****************/
.search-form{
    float: left;
    padding: 6px;
}
#search-form span.glass {
    background-image: url("../../PubsPlugin/images/sprite-icons.png");
    background-position: -223px -96px;
    cursor: pointer;
    display: block;
    float: right;
    height: 15px;
    left: -20px;
    position: relative;
    top: 5px;
    width: 15px;
    z-index: 1;
}
.ac_results ul li a {
    color: #666666;
    line-height: 10px;
}
/*#search-form #autocomplete_username {
    border: 1px solid black;
    border-radius: 4px 4px 4px 4px;
    box-shadow: 0 1px 0 #444444;
    color: #CCCCCC;
    font: 13px Arial,sans-serif;
    left: 200px;
    padding: 6px 25px 4px 6px;
    position: absolute;
    width: 215px;
    margin: 5px 0;
}
.ac_results{
    width: 245px !important;
}*/

/*****************PUBS*********************/
#pubsContainer {
    margin: auto;
    width: 980px;
}
.pub-item{
    padding-top: 10px;
    padding-bottom: 10px;
    border-bottom: 1px solid #DEDEDE;
    overflow: hidden;
}
.pub-content{
    margin-left: 60px;
}
.pub-author{
    font-weight: bold;
    padding-bottom: 5px;
}
.pub-author a{
    color: #777777;
}
.pub-author a:hover{
    color: #444444;
}
#facebox .pub-info{
    clear: none !important;
    float: right;
    margin-left: 5px;
    overflow: visible;
}
.pub-info{
    overflow: hidden;
    clear: both;
    color: #666666;
    font: 11.34px helvetica,arial,freesans,clean,sans-serif;
}
.pub-info .comments-items{
    font: 12px;
}
.pub-info a{
    color: #444444;
}
.pub-info a:hover{
    color: #000000;
}
.pub-info i, .share-profile i{
    background-image: url("../../PubsPlugin/images/sprite-icons.png");
    background-repeat: repeat;
    display: inline-block;
    height: 15px;

    outline: medium none;
    overflow: hidden;
    position: relative;
    top: 2px;
    width: 17px;
    float: left;

}

.pub-info i.delete{
    float: none;
    background-position: -111px 0;
}
.pub-info span:hover i.delete{
    background-position: -127px 0;
}

.pub-info i.favlike{
    float: none;
    background-position: -320px -112px;
    opacity:0.5;
}
.pub-info span:hover i.favlike{
    opacity:1;
}

.pub-info i.comment-count{
    margin: 0px;
    opacity:0.5;
    float: none;
    background-position: -287px -112px;
}
.pub-info span:hover i.comment-count{
    opacity:1;
    color: #000000;
}

.pub-info i.comment{
    margin-right: 5px;
    background-position: -287px -112px;
}
.pub-info i.text{
    margin-right: 5px;
    background-position: -172px -79px;
}
.pub-info i.event{
    margin: 0 5px 0 0;
    background-position: -137px -78px;
    box-shadow: none;
}

.protected-box {
    background: url("../../PubsPlugin/images/profile_lock.png") no-repeat scroll right bottom #F4F4F4;
    border-radius: 5px 5px 5px 5px;
    color: #333333;
    margin: 10px 15px 15px;
    min-height: 60px;
    padding: 15px;
}
.help {
    color: #999999;
    display: block;
    padding-bottom: 5px;
    font-size: 14px;
}

.main-content {
    background: none repeat scroll 0 0 #FFFFFF;
    border-radius: 5px 5px 5px 5px;
    box-shadow: 0 3px 4px rgba(0, 0, 0, 0.5);
    display: inline-block;
    float: left;
    margin-bottom: 10px;
    overflow: hidden;
    position: relative;
    z-index: 4;
}
.pubs-header {
    background: none repeat scroll 0 0 #EEEEEE;
    border-bottom: 1px solid #DEDEDE;
    border-top-left-radius: 5px;
    border-top-right-radius: 0;
    height: 150px;
    padding: 8px 12px;
    position: relative;
    width: 680px;
}
.pubs-header .pubs-left{
    width: 170px;
    float: left;
}
.pubs-header .pubs-center{
    width: 510px;
    float: left;
}
.pubs-center .data-profile .user-stats-count, .pubs-center  .data-profile .user-stats-count .user-stats-stat  {
    color: #666666
}
.profile-body div{
    line-height: 30px
}
/*///////////////BARRA DERECHA////////////////////*/
.pubs-right{
    float: right;
    display: inline-block;
    height: 100%;
    width: 250px;
    position: relative;
}
.box-container{
    background: none repeat scroll 0 0 #FFFFFF;
    border-radius: 5px 5px 5px 5px;
    box-shadow: 0 3px 4px rgba(0, 0, 0, 0.5);
    margin-bottom: 10px;
}
.pubs-right .box-container .header{
    background: none repeat scroll 0 0 #EEEEEE;
    border-bottom: 1px solid rgba(0, 0, 0, 0.05);
    border-top-left-radius: 5px;
    border-top-right-radius: 0;
    height: 30px;
    padding: 8px 12px;
    position: relative;
}
.pubs-right .box-container .header h1{
    font-size: 18px;
    margin-left: 2px;
    margin-top: 2px;
    text-shadow: 0 1px 0 #FFFFFF;
}
.pubs-right .box-container #calendarContainer{
    padding: 5px;
}
.pubs-right .box-container #contCalendar {
    width: 240px!important;
}
/*/////////////////////////////////////////////*/
.msj-box-title #loading{
    float: right;
    margin-top: 5px;
}
ul li img{
    float: left;
}
ul li .comment-item img{
    margin-right: 5px;
}

.comments-items{
    margin-top: 5px;
}
.comment-item{
    margin-top: 2px;
    padding: 5px;
    background-color: #F2F2F2;
    overflow: hidden;
}
.comment-item img{
    float: left;
    margin-right: 5px;
}
.comments-items form{
    margin-top: 5px;
}
.comments-items form textarea{
    border: 1px solid #DEDEDE;
    border-radius: 0 0 0 0;
    height: 20px;
    width: 445px;
}

/*********************Publicator*******************/
.top-center-pubs {
    background-color: #D2D2D2;
    border-radius: 5px 5px 5px 5px;
    padding: 5px;
    margin-bottom: 30px;
}
.profile-actions {
    background: none repeat scroll 0 0 #EEEEEE;
    border-radius: 4px 4px 4px 4px;
    box-shadow: 0 1px 0 #D2D2D2;
    clear: both;
    display: block;
    height: 28px;
    margin: 10px;
    padding: 8px 10px;
}
.thats-you {
    color: #888888;
    display: inline-block;
    font-size: 13px;
    font-weight: normal;
    padding-left: 4px;
    padding-top: 6px;
    text-shadow: 0 1px 0 #FFFFFF;

}
.msj-box-title ul {
    float: left;
    list-style: none outside none;
    overflow: hidden;
}
.msj-box-title li {
    cursor: pointer;
    float: left;
    margin-right: 10px;
    width: 10px;
    display: table;
}
.msj-box-title li a:hover{
    background-color: #BBBBBB;
    border-radius: 4px 4px 4px 4px;
}
.msj-box-title li.pub a {
    background-position: 3px -3px;
}
.msj-box-title li.photos a {
    background-position: 3px -62px;
}
.msj-box-title li.link a {
    background-position: 3px -32px;
}
.msj-box-title li.music a {
    background-position: 3px -122px;
}
.msj-box-title li a {
    background: url("../../PubsPlugin/images/sprite-icons-pubs.png") no-repeat scroll center center transparent;
    color: #3A3A3A;
    display: block;
    font-size: 12px;
    font-weight: bold;
    height: 20px;
    padding: 5px 10px 0;
    text-shadow: 0 1px 0 #FFFFFF;
    width: 16px;
}
.msj-box-title li a.compartir {
    display: block;
    font-size: 12px;
    font-weight: bold;
    height: 20px;
    padding: 5px 10px 0;
    text-shadow: 0 1px 0 #FFFFFF;
    width: 50px;
}
.msj-box-title li a.compartir:hover {
    background-color: #D2D2D2;
}
#text_description{
    width: 345px;
}

/************IFRAMES*********************/

.iframeNewTextSuccess{
    width: 360px;
    height: 130px;
    position: relative;
}
.iframeNewPhotoSuccess{
    height: 117px;
    position: relative;
    width: 360px;
}
.iframeNewAudioSuccess{
    width: 400px;
    height: 110px;
    position: relative;
    border: medium none;
}
.iframeNewSuccess{
    width: 370px;
    height: 117px;
    position: relative;
}
.iframeListenAudio{
    display: block;
    height: 100px;
    padding-left: 10px;
    width: 430px;
}
#ContResult{
    width: 360px;
}
/*//////////////////////////////////////////*/
.button {
    -moz-border-radius: 4px 4px 4px 4px;
    /*    -moz-box-shadow: 0 1px 0 #F8F8F8;*/
    background: url("../../PubsPlugin/images/bg-btn.gif") repeat-x scroll 0 0 #DDDDDD;
    border-color: #BBBBBB #BBBBBB #999999;
    border-style: solid;
    border-width: 1px;
    color: #333333;
    cursor: pointer;
    display: inline-block;
    font: 12px/15px Helvetica Neue,Arial,"Lucida Grande",Sans-serif;
    margin: 0;
    overflow: hidden;
    padding: 3px 6px;
    text-shadow: 0 1px #F0F0F0;
}
.button:hover {
    background-image: url("../../PubsPlugin/images/bg-btn-signup.png");
    background-repeat: repeat-x;
    background-color: #FFAA22;

}
.button span {
    background-image: url("../../PubsPlugin/images/sprite-icons.png");
    background-repeat: no-repeat;
    display: inline-block;
    height: 13px;
    margin-bottom: 2px;
    outline: medium none;
    overflow: hidden;
    vertical-align: bottom;
    width: 13px;
}
/**********************LINK EN PUB********************************/
a.pub-link{
    overflow: hidden;
    cursor: pointer;
    color:#666666;
    display: block;
    position: relative;
}
a.pub-link img{
    margin-right: 10px;
}
.pub-link-image{
    float: left;
    overflow: hidden;
    position: relative;
}
.pub-link-text{
    float: left;
    width: 310px;
}
.pub-link-text form textarea{
    float: right;
    width: 250px;
}
a.pub-link .title{
    font-weight: bold;
    font-size: 12px;
}
a.pub-link .title:hover {
    text-decoration: underline;
    color:#444444;
}
a.pub-link .description {
    color:#999999;
    font-size: 11px;
}
.iframeNewLinkSuccess{
    width: 450px;
    height: 55px;
    position: relative;
}
#link_url{
    width: 350px;
    height: 25px;
    margin: 2px;
}
a.pub-link .iframeExpand{
    width: 396px;
    height: 297px;
}
a.pub-link i {
    background: url("/PubsPlugin/images/play-video.png") no-repeat scroll 0 0 transparent;
    bottom: 0;
    height: 32px;
    left: 0;
    position: absolute;
    width: 39px;
}
#form_new_link{
    margin: 0px;
}
#form_new_link table{
    width: 450px
}
.content-link{
    margin-top: 10px;
}
/*********************REPRODUCTOR EN PUB*********************/

div.pub-audio{
    overflow: hidden;
}
div.jp-audio div.jp-type-single div.jp-interface {
    border-bottom: medium none;
    height: 90px!important;
    width: 90px;
    background-image: url('../../PubsPlugin/images/audio.png');
}

div.jp-interface {
    position: relative;
    width: 100%;
    border-top-left-radius: 5px;
    border-top-right-radius: 5px;
    /*    border-bottom-left-radius: 5px;
        border-bottom-right-radius: 5px;*/
}
div.jp-interface ul.jp-controls a {
    overflow: hidden;
    position: absolute;
    text-indent: -9999px;
}
div.jp-audio {
    float: left;
    width: 100px;
}

div.jp-audio div.jp-type-single a.jp-play, div.jp-audio div.jp-type-single a.jp-pause {
    left: 50px;
    top: 50px;
    opacity: 0.7;
    position: relative;
}
div.jp-audio div.jp-type-single div.jp-progress {
    height: 12px;
    left: 100px;
    top: 58px;
    width: 200px;
}
div.jp-audio div.jp-type-single div.jp-title {
    left: 100px;
    top: 0px;
    width: 200px;
    overflow: hidden;
    position: absolute;
    font-weight: bold;
}

div.jp-audio div.jp-type-single div.jp-current-time,div.jp-audio div.jp-type-single div.jp-duration {
    top: 70px;
    width: 200px;
    left: 100px;
}
div.jp-current-time, div.jp-duration {
    color: #444444;
    font-size: 1em;
    font-style: oblique;
    position: absolute;
}
div.jp-duration {
    text-align: right;
}
div.jp-audio div.jp-type-single div.jp-current-time, div.jp-audio div.jp-type-single div.jp-duration {
    left: 180px;
    top: 73px;
    width: 120px;
}
div.jp-audio div.jp-type-playlist div.jp-current-time, div.jp-audio div.jp-type-playlist div.jp-duration {
    color: #444444;
    left: 20px;
    top: 49px;
    width: 200px;
}
div.jp-video div.jp-current-time, div.jp-video div.jp-duration {
    left: 0;
    padding: 0 1%;
    top: 10px;
    width: 98%;
}

div.jp-audio div.jp-type-single a.jp-mute, div.jp-audio div.jp-type-single a.jp-unmute {
    left: 100px;
    overflow: hidden;
    position: absolute;
    top: 72px;
    width: 15px;
}

div.jp-audio div.jp-type-single div.jp-volume-bar {
    top: 75px;
    left: 120px;
}
a.jp-play {
    background-position: -9px -9px;
    background-image: url("../../PubsPlugin/skin/jplayer.blue.monday.png");
    background-repeat: repeat;
    display: inline-block;
}
a.jp-play:hover {
    background-position: -50px -9px;
}
a.jp-pause {
    background-position: -9px -51px;
    background-image: url("../../PubsPlugin/skin/jplayer.blue.monday.png");
    background-repeat: repeat;
    display: inline-block;
}
a.jp-pause:hover {
    background-position: -50px -51px;
}
a.jp-play,a.jp-pause {
    height: 21px;
    width: 21px;
    z-index: 1;
}
a.jp-mute {
    background: url("../../PubsPlugin/skin/jplayer.blue.monday.png") no-repeat scroll 0 -186px transparent;
}
a.jp-unmute {
    background: url("./../PubsPlugin/skin/jplayer.blue.monday.png") no-repeat scroll 0 -170px transparent;
    display: none;
}
a.jp-unmute:hover {
    background: url("./../PubsPlugin/skin/jplayer.blue.monday.png") no-repeat scroll -19px -186px transparent;
}
div.jp-progress {
    background: url("../../PubsPlugin/skin/jplayer.blue.monday.png") repeat-x scroll 0 -202px transparent;
    overflow: hidden;
    position: absolute;
}
div.jp-volume-bar {
    background: url("../../PubsPlugin/skin/jplayer.blue.monday.png") repeat-x scroll 0 -226px transparent;
    cursor: pointer;
    height: 12px;
    overflow: hidden;
    position: absolute;
    width: 54px;
}

div.jp-volume-bar-value {
    background: url("../../PubsPlugin/skin/jplayer.blue.monday.png") repeat-x scroll 0 -238px transparent;
    height: 12px;
    width: 0;
}
div.jp-seek-bar {
    background: url("../../PubsPlugin/skin/jplayer.blue.monday.png") repeat-x scroll 0 -202px transparent;
    cursor: pointer;
    height: 100%;
    width: 0;
}
div.jp-play-bar {
    background: url("../../PubsPlugin/skin/jplayer.blue.monday.png") repeat-x scroll 0 -214px transparent;
    height: 100%;
    width: 0;
}
div.jp-seeking-bg {
    background: url("../../PubsPlugin/skin/pbar-ani.gif") repeat scroll 0 0 transparent;
}
/*********************STATUS TABS FOLLOW*********************/
.stream-tabs {
    list-style-type: none;
    margin:     8px 0 0 -12px;
}

.stream-tabs .stream-tab {
    /*    -moz-border-radius-bottomleft: 4px;
        -moz-border-radius-topleft: 4px;*/
    border-right: 1px solid #EEEEEE;
    cursor: pointer;
    margin: 0;
    padding: 0;
    position: relative;
    width: 165px;
}

.stream-tabs .tab-text {
    border-radius: inherit;
    cursor: pointer;
    display: block;
    font-size: 12px;
    line-height: 20px;
    outline: medium none;
    overflow: hidden;
    padding: 4px 4px 4px 10px;
}
.stream-tabs .tab-text i {
    background-image: url("../../PubsPlugin/images/sprite-icons.png");
    background-position: -288px -33px;
    background-repeat: no-repeat;
    border: 1px solid transparent;
    display: inline-block;
    height: 15px;
    margin-left: 4px;
    opacity: 0.4;
    outline: medium none;
    overflow: hidden;
    position: relative;
    top: 2px;
    width: 17px;
    float: right;
}
.stream-tab-pubs.active .tab-text i{
    opacity: 1;
}
.stream-tabs .stream-tab:hover .tab-text i{
    opacity: 1;
}
.stream-tabs .tab-text i.flecha {
    opacity: 1;
    background-position: -288px -33px;
    background-repeat: no-repeat;
    background-image: url("/PubsPlugin/images/sprite-icons.png");
}
.stream-tabs .stream-tab.active .tab-text, .profile-header .stream-tabs .stream-tab.active .tab-text:hover {
    background: none repeat scroll 0 0 #FFFFFF;
    border-color: #DEDEDE white #EEEEEE #EEEEEE;
    border-style: solid none solid solid;
    border-width: 1px medium 1px 1px;
    color: #333333;
    margin-right: -2px;
}
.stream-tab:hover{
    background-color: #EEEEEE;
}
.component{
    border-bottom: 1px solid #949494;
    overflow: hidden;
    padding-bottom: 10px;
    padding-top: 10px;
}
.add-buttom{
    float: right;
    padding: 0;
}
i.add{
    background-image: url("../../PubsPlugin/images/sprite-icons.png");
    background-position: -62px -16px;
    background-repeat: repeat;
    display: inline-block;
    float: left;
    height: 15px;
    left: 0;
    margin: 0 1px 0 0;
    outline: medium none;
    overflow: hidden;
    position: relative;
    top: 1px;
    width: 17px;
}

.pub-info i.share, .share-profile i.share{
    background-position: -269px -48px;
    float: none;
}

#sharebyMail{
    display: inline-block;
    cursor: pointer;
    float: left;

}

#sharebyMail i.email{
    background-image: url("../../PubsPlugin/images/icon_email_friend.gif");
    height: 18px;
    width: 104px;
    display: inline-block;
}
#shareFrame{
    background-color: #f0f0f0;
    border: medium none;
    border-radius: 5px 5px 5px 5px;
    height: 180px;
    margin-top: 10px;
    padding: 10px;
    width: 400px;
}
.form_sharebyMail{
    margin-bottom: 0;
}
.form_sharebyMail table tr td {
    font-size: 11px;
}
.pub-info i.facebook{
    background-image: url("../../PubsPlugin/images/facebook.gif");
    height: 18px;
    width: 60px;
    margin-bottom: 2px;
}
.pub-info i.tweeter{
    background-image: url("../../PubsPlugin/images/tweet.gif");
    height: 20px;
    width: 55px;
}
.pub-info i.myspace{
    background-image: url("../../PubsPlugin/images/myspace.png");
    height: 20px;
    width: 60px;
}
.pub-info i.linkedin{
    background-image: url("../../PubsPlugin/images/linkedin.gif");
    height: 19px;
    width: 64px;
}
#share{
    cursor: pointer;
}
.pub-info i.event:hover{
    background-image: url("../../PubsPlugin/images/sprite-icons.png");
    background-repeat: repeat;
    display: inline-block;
    height: 15px;
    outline: medium none;
    overflow: hidden;
    position: relative;
    top: 2px;
    left: 0;
    width: 17px;
    float: left;
    margin: 0 5px 0 0;
    background-position: -137px -78px;
    box-shadow: none;
}
.pub-info i.audio{
    margin-right: 5px;
    background-position: -128px -239px;
    width: 13px;
}
.pub-info i.album_photo{
    margin-right: 5px;
    background-position: 369px -95px;
}
.pub-info i.follow{
    margin-right: 5px;
    background-position: 194px -31px;
}
.pub-info i.photo{
    margin-right: 5px;
    background-position: 369px -95px;
}
.pub-info i.link {
    background-position: -348px -112px;
    margin-right: 5px;
}
.morePager{
    line-height: 25px;
    cursor: pointer;
}
#loading-list{
    display: none;
}
.follower {
    min-height: 48px;
    padding: 5px;
    border-bottom: 1px solid #CACACA;
}
.follower img {
    display: block;
    float: left;
    height: 48px;
    margin-top: 2px;
    overflow: hidden;
    width: 48px;
}

.follow_left img {
    border: 0 none;
}
.stream-tabs-detail {
    color: #999999;
    display: inline-block;
    font: lighter 16px/1.5 Helvetica Neue,Arial,Helvetica,'Liberation Sans',FreeSans,sans-serif;
}
.follower .user-content-rest {
    margin-left: 58px;
}
/************************PHOTO PLUGIN******************************/
.contPubPhoto{
    display: inline-block;
}
.contPubPhoto a{
    border: 1px solid #CCCCCC;
    display: inline-block;
    padding: 2px;
    margin-right: 2px;
}
/**********************************************************/
.favlike-item{
    cursor: pointer;
}

/************************Notification******************************/

.notiContainer{
    width: 980px;
    margin: auto;
}
.notiContainer a{
    color: #DD3822;
}
.noti_left{
    background: none repeat scroll 0 0 #FFFFFF;
    border-radius: 5px 5px 5px 5px;
    box-shadow: 0 3px 4px rgba(0, 0, 0, 0.5);
    display: inline-block;
    float: left;
    height: 100%;
    position: relative;
    z-index: 4;
    padding-bottom: 10px;
    background-color: #FFFFFF;
    width: 680px;
}
.noti-header {
    background: none repeat scroll 0 0 #EEEEEE;
    border-bottom: 1px solid rgba(0, 0, 0, 0.05);
    border-top-left-radius: 5px;
    border-top-right-radius: 0;
    height: 30px;
    padding: 8px 12px;
    position: relative;
    z-index: 2;
}
.noti_left ul{
    margin-top: 10px;
}

.noti-content{
    border-bottom: 1px solid #DEDEDE;
    padding: 5px;
    overflow: hidden;
}
.no-read{
    background-color: #d2d2d2;
}
#new-advices .noti-content:hover{
    border-bottom: 1px solid #DEDEDE;
    padding: 5px;
    overflow: hidden;
    background-color: #CCCCCC;
}
.noti-info{
    font-size: 11px;
    margin-left: 5px;
}
.noti-content a{
    color:#DD3822;
    clear: none!important;
    float: none!important;
    display: inline!important;
}
.noti-content a:hover{
    color:#921100;
    text-decoration: underline;

}
#new-advices .noti-content a:hover{
    color:#ef1c00;
    text-decoration: underline;

}
.noti-content i{
    background-image: url("../../PubsPlugin/images/sprite-icons.png");
    background-repeat: repeat;
    display: inline-block;
    height: 15px;

    outline: medium none;
    overflow: hidden;
    position: relative;
    top: 2px;
    width: 17px;
    float: left;

}
.noti-content i.comment{
    margin-right: 5px;
    background-position: -287px -112px;
}
.noti-content i.text{
    margin-right: 5px;
    background-position: -172px -79px;
}
.noti-content i.audio{
    margin-right: 5px;
    background-position: -128px -239px;
    width: 13px;
}
.noti-content i.album_photo{
    margin-right: 5px;
    background-position: 369px -95px;
}
.noti-content i.photo{
    margin-right: 5px;
    background-position: 369px -95px;
}
.noti-content i.link {
    background-position: 19px -111px;
    margin-right: 5px;
}
.noti-content  i.favlike{
    float: none;
    background-position: -320px -112px;
}
.noti-content  i.follow{
    float: none;
    background-position: 194px -31px;
}
.noti-content ul li img{
    margin-right: 5px;
}
.noti-content img{
    margin-right: 5px;
}
.log-again{
    padding: 10px
}
.log-again button.button i{
    background-image: url("../../PubsPlugin/images/sprite-icons.png");
    background-position: -255px -16px;
    background-repeat: repeat;
    display: inline-block;
    float: left;
    height: 15px;
    outline: medium none;
    overflow: hidden;
    position: relative;
    top: 2px;
    width: 15px;
}
/*SECTIONS*/
.section {
    color: #444444;
    display: none;
    padding: 20px;
    width: 500px;
    text-align: justify;
}
div#main {
    margin: auto;
    width: 980px;
}
/*FOOTER*/
.footer_menubar_container {
    background-color: #444444;
    border-radius: 5px 5px 5px 5px;
    clear: both;
    color: #FFFFFF;
    height: 30px;
    line-height: 30px;
    margin: auto;
    min-width: 980px;
    text-align: center;
    width: 980px;
    margin-top: 18px;
}
.footer_menubar_container a{
    color: #FFFFFF;
}
#sharePub ul{
    margin: 0 0 40px!important;
}

/*SIGNIN*/
#sharePub .form_signin {
    background-color: #444444;
    border-radius: 10px 10px 10px 10px;
    color: #FFFFFF;
    float: right !important;
    margin-bottom: 10px;
    min-width: 400px;
    padding: 10px;
}
#sharePub .form_signin table tr td a{
    color: #FFFFFF;
}
#sharePub .form_signin a:hover{
    text-decoration: underline;
}
#sharePub .register_form {
    background-color: #f1f1f1;
    border-radius: 10px 10px 10px 10px;
    color: #444444;
    float: right;
    padding: 23px 0 20px 15px;
    width: 400px;
    margin-bottom: 18px;
}
#sharePub .register_form div, #sharePub .register_form_page div {
    clear: both;
}
#sharePub .mainTitle {
    font-size: 18px;
    font-weight: bold;
    margin-bottom: 5px;
}
#sharePub .register_form .rows input, #sharePub .register_form_page .rows input {
    height: 25px;
    width: 250px;
}
#sharePub .register_form .label, #sharePub .register_form_page .label {
    float: left;
    line-height: 25px;
    margin-right: 4px;
    text-align: right;
    width: 80px;
}
#sharePub  .register_form .value, #sharePub  .register_form_page .value {
    float: left;
    padding: 2px;
    width: 280px;
}
#sharePub  .submit {
    background: url("../../PubsPlugin/images/bg-btn-signup.png") repeat-x scroll 0 0 #FFAA22;
    border: 1px solid #FFAA22;
    border-radius: 5px 5px 5px 5px;
    color: #333333;
    display: block;
    font: bold 18px Arial,Sans-serif;
    padding: 8px 10px;
    text-align: center;
    text-decoration: none;
    text-shadow: 0 1px 0 #FFEE66;
    margin: 0 !important;
    float: right;
}
#sharePub .register_form #register_form .submit_register .submit{
    margin: 10px !important;
}
/*CONTACT*/
.form_contact{
    background-color: #f1f1f1;
    border-radius:10px;
    width: 450px;
    padding: 10px;
    box-shadow:0 1px 2px rgba(0, 0, 0, 0.6);
}
.form_contact textarea{
    width: 280px;
    height: 110px;
}
.form_contact input, .form_contacttextarea{
    border: 1px solid #D2D2D2;
    min-height: 20px;
    margin-bottom: 4px;
}
.form_signin input[type=text], .form_signin input[type=password]{
    margin-right: 5px;
    max-width: 140px;
    min-height: 20px;
    border: 1px solid #DEDEDE;
}
#signin_remember{
    height: 10px;
}
.share-profile{
    float: right;
    position: relative;
    top:-30px;
}
.location{
    background-color: #FF0000;
    border-radius: 3px 3px 3px 3px;
    color: #FFFFFF;
    cursor: pointer;
    padding: 3px;
}
.disable-location{
    background-color: #a1a1a1!important;
    border-radius: 3px 3px 3px 3px;
    color: #ffffff!important;
    cursor: pointer;
    padding: 3px;
}
.update{
    color: #FF0000;
    font-size: 9px;
}
.disable-update{
    color: #444444;
    font-size: 9px;
}
.city {
    float: left;
}
.city input{
    width: 55px;
    float: left;
}
.country{
    float: left;
}
.country input{
    width: 55px;
    float: left;
}
i.location{
    background-color: transparent!important;
    border-radius: 0px!important;
    cursor: auto!important;
    padding: 0!important;
    background-position: 321px -111px;
}
.access_denied{
    display: block;
    padding: 10px;
    font-size: 15px
}
.access_denied i{
    background-image: url("../../PubsPlugin/images/sprite-icons.png");
    background-position: -252px -13px;
    background-repeat: repeat;
    display: inline-block;
    height: 15px;
    outline: medium none;
    overflow: hidden;
    position: relative;
    top: 2px;
    width: 17px;
    float: left;
}


text:
var path = require('path');
var webpack = require('webpack');
var HtmlWebpackPlugin = require('html-webpack-plugin');

//noinspection JSUnusedGlobalSymbols
module.exports = {
    entry: {test: './index.js', 'debugger': './debugger.js'},
    resolve: {
        modules: ['./node_modules', '../build/kotlin-javascript-dependencies', '../build/classes/main'].map(function (s) {
            return path.resolve(__dirname, s);
        })
    },
    output: {
        path: __dirname + "/build",
        filename: '[name].js'
    },
    devServer: {
        hot: true
    },
    plugins: [
        new HtmlWebpackPlugin({ chunks: ['test'], template: './index.ejs'}),
        new HtmlWebpackPlugin({ chunks: ['debugger'], filename: 'debugger.html'}),
        new webpack.HotModuleReplacementPlugin()
    ]
};


text:
- Add password field styling ([@saveman71](https://github.com/saveman71))
- Add link button styling ([@AleksandarDev](https://github.com/AleksandarDev))


text:
/*
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

export function createDefaultPackage(pkgSearchResult, sce) {
  for (let pkgIdx in pkgSearchResult) {
    if (pkgSearchResult.hasOwnProperty(pkgIdx)) {
      const pkg = pkgSearchResult[pkgIdx];
      pkg.pkg.icon = sce.trustAsHtml(pkg.pkg.icon);
      if (pkg.enabled) {
        pkgSearchResult.splice(pkgIdx, 1);
        return pkg;
      }
    }
  }

  // show first available version if package is not enabled
  const result = pkgSearchResult[0];
  pkgSearchResult.splice(0, 1);
  return result;
}

/**
 * create default packages based on `enabled` field and `latest` version.
 *
 * @param pkgSearchResults
 * @param sce angular `$sce` object
 * @returns {Object} including {name, pkgInfo}
 */
export function createDefaultPackages(pkgSearchResults, sce) {
  const defaultPackages = {};
  // show enabled version if any version of package is enabled
  for (let name in pkgSearchResults) {
    if (pkgSearchResults.hasOwnProperty(name)) {
      const pkgSearchResult = pkgSearchResults[name];
      defaultPackages[name] = createDefaultPackage(pkgSearchResult, sce);
    }
  }

  return defaultPackages;
}


text:
package util

/**
  * Created by j5ik2o on 2017/02/17.
  */
case class DuoWebException(message: String) extends Exception(message)


text:
<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent">

        <RelativeLayout
            android:id="@+id/rl_news_details_header"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_margin="10px">

            <TextView
                android:id="@+id/tv_news_details_from"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:textSize="17sp"
                android:textStyle="bold"
                tools:text="ÉTS - École de technologie supérieure"
                android:layout_centerHorizontal="true" />

            <ImageView
                android:id="@+id/iv_news_details_image"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginLeft="5px"
                android:layout_marginTop="10px"
                android:layout_below="@id/tv_news_details_from"
                tools:src="@drawable/test_nouvelles"
                android:layout_centerHorizontal="true"
                android:layout_marginBottom="10px" />

            <TextView
                android:id="@+id/tv_news_details_updated_time"

                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_below="@id/iv_news_details_image"
                android:layout_marginLeft="60px"
                tools:text="2014-12-16 16:24:20"
                android:layout_centerHorizontal="true" />

        </RelativeLayout>

        <TextView
            android:id="@+id/tv_news_details_title"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_below="@id/rl_news_details_header"
            android:layout_margin="10px"
            tools:text="Une belle promotion du Centre sportif ÉTS pour les étudiants de l'école :" />

        <TextView
            android:id="@+id/tv_news_details_message"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_below="@id/tv_news_details_title"
            android:layout_marginLeft="10px"
            android:layout_marginRight="10px"
            tools:text="Message me message me message me message me message me message me message me message" />

        <TextView
            android:id="@+id/tv_news_details_fb_link"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_below="@id/tv_news_details_message"
            android:layout_margin="10px"
            android:autoLink="web"
            tools:text="http://youtu.be/b2bgm_BfpKw" />

    </RelativeLayout>
</ScrollView>


text:
using System;
/*Write a program that finds the index of given element
 * in a sorted array of integers by using the binary search algorithm */
class BinarySearch
{

    static void Main()
    {
        int n;
        Console.Write("N=");
        while (!int.TryParse(Console.ReadLine(), out n) || n < 0)
        {
            Console.WriteLine("Incorrect input. Please try again:");
        }
        int[] SimpleIntArray = new int[n];
        for (int i = 0; i < n; i++)
        {
            Console.Write("N[{0}]=", i);
            while (!int.TryParse(Console.ReadLine(), out SimpleIntArray[i]) || (i != 0 && SimpleIntArray[i] < SimpleIntArray[i - 1]))
            {
                Console.WriteLine("Incorrect input. Please try again:");
            }
        }

        Console.WriteLine("Search for:");
        int s;
        while (!int.TryParse(Console.ReadLine(), out s))
        {
            Console.WriteLine("Incorrect input. Please try again:");
        }

        int mid = n / 2;
        int top = n;
        int bottom = 0;
        int count = n;
        while (count>0)
        {
            if (SimpleIntArray[mid] == s)
            {
                Console.WriteLine("The index of \"{0}\" is {1}", s, mid);
                break;
            }
            else if (SimpleIntArray[mid] > s)
            {
                top = mid;
                mid = (top + bottom) / 2;
            }
            else
            {
                bottom = mid;
                mid = (top + bottom) / 2;
            }
            count--;
        }
        if (count == 0)
        {
            Console.WriteLine("The number you search for is not a member of the array.");
        }
    }

}


text:
module Fog
  module DNS
    class StormOnDemand
      class Real
        def update_reverse(options = {})
          request(
            :path => "/Network/DNS/Reverse/update",
            :body => Fog::JSON.encode(:params => options)
          )
        end
      end
    end
  end
end


text:
namespace FluentMigrator.Tests.Unit.Generators
{
    using System.Collections.Generic;
    using System.Data;
    using FluentMigrator.Expressions;
    using FluentMigrator.Model;
    using NUnit.Framework;
    using FluentMigrator.Runner.Generators.SQLite;
    using NUnit.Should;

    public class SqliteGeneratorWithConventionsAppliedTests
    {

		[Test]
		public void CanCreateTable()
		{
			var expression = GetCreateTableExpression();
		    ApplyDefaultConventions(expression);
			var sql = generator.Generate(expression);
			sql.ShouldBe(string.Format("CREATE TABLE [{0}] (NewColumn TEXT NOT NULL)", this.TestTableName1));
		}

        [Test]
        public void CanCreateTableWithAutoIncrementPrimaryKey()
        {
            var expression = GetCreateTableWithPrimaryKeyIdentityExpression();
            ApplyDefaultConventions(expression);
            var sql = generator.Generate(expression);
            sql.ShouldBe(string.Format("CREATE TABLE [{0}] (NewColumn INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT)", this.TestTableName1));
        }

        [Test]
        public void CanCreateTableWithMultipartPrimaryKey()
        {
            var expression = GetCreateTableExpression();
            expression.Columns.Add(new ColumnDefinition{Name = "OtherColumn",Type = DbType.String, TableName = expression.TableName});
            expression.Columns[0].IsPrimaryKey = true;
            expression.Columns[1].IsPrimaryKey = true;

            ApplyDefaultConventions(expression);

            var sql = generator.Generate(expression);
            sql.ShouldBe(string.Format("CREATE TABLE [{0}] (NewColumn TEXT NOT NULL, OtherColumn TEXT NOT NULL, CONSTRAINT PK_{0} PRIMARY KEY (NewColumn,OtherColumn))", this.TestTableName1));
        }

	    [Test]
		public void CanRenameTable()
		{
            var expression = new RenameTableExpression { OldName = this.TestTableName1, NewName = this.TestTableName2 };
            ApplyDefaultConventions(expression);
			var sql = generator.Generate(expression);
            sql.ShouldBe(string.Format("ALTER TABLE [{0}] RENAME TO [{1}]", this.TestTableName1, this.TestTableName2));
		}

		[Test]
		public void CanDeleteTable()
		{
            var expression = new DeleteTableExpression { TableName = this.TestTableName1 };
            ApplyDefaultConventions(expression);
			var sql = generator.Generate(expression);
            sql.ShouldBe(string.Format("DROP TABLE [{0}]", this.TestTableName1));
		}

		[Test]
		public void CanCreateColumn()
		{
			var expression = GetCreateColumnExpression();
            ApplyDefaultConventions(expression);
			var sql = generator.Generate(expression);
            sql.ShouldBe(string.Format("ALTER TABLE [{0}] ADD COLUMN {1} TEXT NOT NULL", this.TestTableName1, this.TestColumnName1));
		}

		[Test]
		public void CanAddDecimalColumn()
		{
			var tableName = "NewTable";
			var columnDefinition = new ColumnDefinition {Name = "NewColumn", Size = 19, Precision = 2, Type = DbType.Decimal};
		    var expression = new CreateColumnExpression {Column = columnDefinition, TableName = tableName};

            ApplyDefaultConventions(expression);
		    var sql = generator.Generate(expression);
			sql.ShouldBe("ALTER TABLE [NewTable] ADD COLUMN NewColumn NUMERIC NOT NULL");
		}

		[Test]
		public void CanCreateAutoIncrementColumn()
		{
			var expression = GetCreateAutoIncrementColumnExpression();
            ApplyDefaultConventions(expression);
			var sql = generator.Generate(expression);
            sql.ShouldBe(string.Format("ALTER TABLE [{0}] ADD COLUMN {1} INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT", this.TestTableName1, this.TestColumnName1));
		}

		[Test]
		public void CanDeleteColumn()
		{
            var expression = new DeleteColumnExpression { TableName = this.TestTableName1, ColumnName = this.TestColumnName1 };
            ApplyDefaultConventions(expression);
			var sql = generator.Generate(expression);
            sql.ShouldBe(string.Format("ALTER TABLE [{0}] DROP COLUMN {1}", this.TestTableName1, this.TestColumnName1));
		}

		[Test]
		public void CanCreateBasicIndex()
		{
			var expression = GetCreateIndexExpression();
            ApplyDefaultConventions(expression);
			var sql = generator.Generate(expression);
			sql.ShouldBe(string.Format("CREATE INDEX IF NOT EXISTS {0} ON {1} ({2})", this.TestIndexName, this.TestTableName1, this.TestColumnName1));
		}

        [Test]
		public void CanInsertData()
		{
			var expression = new InsertDataExpression {TableName = "TestTable"};
		    expression.Rows.Add(new InsertionDataDefinition { new KeyValuePair<string, object>("Id", 1),
													new KeyValuePair<string, object>("Name", "Justin"),
													new KeyValuePair<string, object>("Website", "codethinked.com") });
			expression.Rows.Add(new InsertionDataDefinition { new KeyValuePair<string, object>("Id", 2),
													new KeyValuePair<string, object>("Name", "Nate"),
													new KeyValuePair<string, object>("Website", "kohari.org") });

            ApplyDefaultConventions(expression);

            var sql = generator.Generate(expression);

			var expected = "INSERT INTO [TestTable] (Id,Name,Website) VALUES (1,'Justin','codethinked.com');";
			expected += "INSERT INTO [TestTable] (Id,Name,Website) VALUES (2,'Nate','kohari.org');";

			sql.ShouldBe(expected);
		}

        private void ApplyDefaultConventions(IMigrationExpression expression)
        {
            expression.ApplyConventions(new MigrationConventions());
        }
    }
}


text:
import os, sys
sys.path.insert(0, "..")
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "test_sqlite_json")

if __name__ == "__main__":
    from django.core.management import execute_from_command_line
    args = sys.argv
    args.insert(1, "test")
    if len(args) == 2:
        args.insert(2, "redis_backend_testapp")
        args.insert(3, "hashring_test")

    execute_from_command_line(args)


text:
package com.jaquadro.minecraft.storagedrawers.storage;

import com.jaquadro.minecraft.storagedrawers.StorageDrawers;
import com.jaquadro.minecraft.storagedrawers.api.storage.IDrawerGroup;
import com.jaquadro.minecraft.storagedrawers.network.CountUpdateMessage;
import cpw.mods.fml.common.network.NetworkRegistry;
import cpw.mods.fml.common.network.simpleimpl.IMessage;
import net.minecraft.item.ItemStack;
import net.minecraft.tileentity.TileEntity;

public class DefaultStorageProvider implements IStorageProvider
{
    TileEntity tile;
    IDrawerGroup group;

    public DefaultStorageProvider (TileEntity tileEntity, IDrawerGroup drawerGroup) {
        tile = tileEntity;
        group = drawerGroup;
    }

    @Override
    public boolean isCentrallyManaged () {
        return false;
    }

    @Override
    public int getSlotCount (int slot) {
        return 0;
    }

    @Override
    public void setSlotCount (int slot, int amount) { }

    @Override
    public int getSlotStackCapacity (int slot) {
        return 0;
    }

    @Override
    public boolean isLocked (int slot) {
        return false;
    }

    @Override
    public boolean isVoid (int slot) {
        return false;
    }

    @Override
    public void markAmountDirty (int slot) {
        if (tile.getWorldObj().isRemote)
            return;

        int count = group.getDrawer(slot).getStoredItemCount();

        IMessage message = new CountUpdateMessage(tile.xCoord, tile.yCoord, tile.zCoord, slot, count);
        NetworkRegistry.TargetPoint targetPoint = new NetworkRegistry.TargetPoint(tile.getWorldObj().provider.dimensionId, tile.xCoord, tile.yCoord, tile.zCoord, 500);

        StorageDrawers.network.sendToAllAround(message, targetPoint);
    }

    @Override
    public void markDirty (int slot) {
        if (tile.getWorldObj().isRemote)
            return;

        tile.getWorldObj().markBlockForUpdate(tile.xCoord, tile.yCoord, tile.zCoord);
    }
}


text:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
<TITLE>
JAXBUtils.BridgeWrapper (Apache CXF API 2.7.5 API)
</TITLE>

<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style">

      Overview
      Package
    Class
      Use
      Tree
      Deprecated
      Index
      Help

Apache CXF API

 PREV CLASS
 NEXT CLASS

  FRAMES
 NO FRAMES

  All Classes

  SUMMARY: NESTED | FIELD | CONSTR | METHOD

DETAIL: FIELD | CONSTR | METHOD

org.apache.cxf.common.jaxb

Interface JAXBUtils.BridgeWrapper

Enclosing class:
JAXBUtils

public static interface JAXBUtils.BridgeWrapper

Method Summary

 void
marshal(Object elValue,
        Node source,
        AttachmentMarshaller am)

 void
marshal(Object elValue,
        StreamResult s1)

 void
marshal(Object elValue,
        XMLStreamWriter source,
        AttachmentMarshaller m)

 Object
unmarshal(InputStream source)

 Object
unmarshal(Node source,
          AttachmentUnmarshaller am)

 Object
unmarshal(XMLStreamReader source,
          AttachmentUnmarshaller am)

Method Detail

unmarshal

Object unmarshal(XMLStreamReader source,
                 AttachmentUnmarshaller am)
                 throws JAXBException

Throws:

JAXBException

unmarshal

Object unmarshal(InputStream source)
                 throws JAXBException

Throws:

JAXBException

unmarshal

Object unmarshal(Node source,
                 AttachmentUnmarshaller am)
                 throws JAXBException

Throws:

JAXBException

marshal

void marshal(Object elValue,
             XMLStreamWriter source,
             AttachmentMarshaller m)
             throws JAXBException

Throws:

JAXBException

marshal

void marshal(Object elValue,
             StreamResult s1)
             throws JAXBException

Throws:

JAXBException

marshal

void marshal(Object elValue,
             Node source,
             AttachmentMarshaller am)
             throws JAXBException

Throws:

JAXBException

      Overview
      Package
    Class
      Use
      Tree
      Deprecated
      Index
      Help

Apache CXF API

 PREV CLASS
 NEXT CLASS

  FRAMES
 NO FRAMES

  All Classes

  SUMMARY: NESTED | FIELD | CONSTR | METHOD

DETAIL: FIELD | CONSTR | METHOD

Apache CXF


text:
package api

import (
	"fmt"
	"github.com/olekukonko/tablewriter"
	"os"
)

type Language struct {
	ID       int
	Name     string
	Version  string
	Compiler string
}

type LanguagesResponse struct {
	Title     string
	Error     string
	Languages []Language
}

type Languages struct{}

func (languages *Languages) List() {
	lr := LanguagesResponse{}

	err := Cli.GetJSON(APIBase+"/languages", &lr)
	if err != nil {
		fmt.Println(RedBold(err.Error()))
	} else {
		fmt.Println(GreenBold(lr.Title))

		table := tablewriter.NewWriter(os.Stdout)
		table.SetAutoFormatHeaders(false)
		// FIXME - override headers
		table.SetHeader([]string{GreenBold("Name"),
			GreenBold("Version"),
			GreenBold("Compiler")})

		// FIXME - auto-format
		for i := 0; i < len(lr.Languages); i++ {
			table.Append([]string{lr.Languages[i].Name,
				lr.Languages[i].Version,
				lr.Languages[i].Compiler})
		}

		table.Render()

	}

}


text:
package fii.admission.profesori;

public class Profesor {
	private String nume;
	private String prenume;
	private String PCNP;

	public String getNume() {
		return nume;
	}

	public void setNume(String nume) {
		this.nume = nume;
	}

	public String getPrenume() {
		return prenume;
	}

	public void setPrenume(String prenume) {
		this.prenume = prenume;
	}

	public String getPCNP() {
		return PCNP;
	}

	public void setPCNP(String PCNP) {
		this.PCNP = PCNP;
	}
}


text:
#ifndef WebDeviceMotionData_h
#define WebDeviceMotionData_h

#include "WebCommon.h"

#if INSIDE_BLINK
#include "wtf/Assertions.h"
#endif

namespace blink {

#pragma pack(push, 1)

class WebDeviceMotionData {
public:
    BLINK_PLATFORM_EXPORT WebDeviceMotionData();
    ~WebDeviceMotionData() { }

    double accelerationX;
    double accelerationY;
    double accelerationZ;

    double accelerationIncludingGravityX;
    double accelerationIncludingGravityY;
    double accelerationIncludingGravityZ;

    double rotationRateAlpha;
    double rotationRateBeta;
    double rotationRateGamma;

    double interval;

    bool hasAccelerationX : 1;
    bool hasAccelerationY : 1;
    bool hasAccelerationZ : 1;

    bool hasAccelerationIncludingGravityX : 1;
    bool hasAccelerationIncludingGravityY : 1;
    bool hasAccelerationIncludingGravityZ : 1;

    bool hasRotationRateAlpha : 1;
    bool hasRotationRateBeta : 1;
    bool hasRotationRateGamma : 1;

    bool allAvailableSensorsAreActive : 1;
};

#if INSIDE_BLINK
static_assert(sizeof(WebDeviceMotionData) == (10 * sizeof(double) + 2 * sizeof(char)), "WebDeviceMotionData has wrong size");
#endif

#pragma pack(pop)

} // namespace blink

#endif // WebDeviceMotionData_h


text:
class Api::V1::ImagesController < ApplicationController

  after_action :verify_authorized
  before_action :authenticate_user!
  respond_to :json

  def show
    @image = Image.find(params[:id])
    authorize @image
    render 'api/v1/images/show'
  end

  def create
    @image = current_user.images.new(image_params)
    authorize @image
    if @image.save
      render 'api/v1/images/show', status: :created
    else
      render json: @image.errors, status: :unprocessable_entity
    end
  end

  def update
    @image = Image.find(params[:id])
    authorize @image
    if @image.update(image_params)
      render 'api/v1/images/show'
    else
      render json: @image.errors, status: :unprocessable_entity
    end
  end

  def destroy
    @image = Image.find(params[:id])
    authorize @image
    @image.destroy
    head :no_content
  end

  private

  def image_params
    params.require(:image).permit(:title, :caption, :asset)
  end

end


text:
namespace glamour {

	///////////////////////
	// RECT IMPLEMENTATION
	//////////////////////

	double Rect::top() {
		return y;
	}
	double Rect::bottom() {
		return y + height;
	}

	double Rect::left() {
		return x;
	}
	double Rect::right(){
		return x + width;
	}

	Rect* RectMake(double x, double y, int width, int height) {
		Rect* r = new Rect();
		r->x = x;
		r->y = y;
		r->width = width;
		r->height = height;
		return r;
	}

	///////////////////////
	// Window IMPLEMENTATION
	//////////////////////

	// CONSTRUCTORS/DESTRUCTORS

	Window::Window() {}

	Window::Window(double x, double y, int width, int height) {
		rect = RectMake(x,y,width,height);
	}

	Window::~Window() {
		if(win){
			delwin(win);
		}
		if(rect){
			delete rect;
		}
	}

	// SETTERS/GETTERS

	double Window::getX() {
		return rect->x;
	}

	double Window::getY() {
		return rect->y;
	}

	int Window::getWidth() {
		return rect->width;
	}

	int Window::getHeight() {
		return rect->height;
	}

	void Window::setVelocity(double x, double y) {
		vel_x = x;
		vel_y = y;
	}

	double Window::getXVelocity() {
		return vel_x;
	}

	double Window::getYVelocity() {
		return vel_y;
	}

	// WINDOW DRAWING/MOVING METHODS

	int Window::standardBox() {
		int status;
		status = box(win,0,0);
		return status;
	}

	int Window::makebox(chtype verch, chtype horch) {
		int status;
		status = box(win, verch, horch);
		return status;
	}

	int Window::curses_mvwin(int newx, int newy) {
		int status;
		status = mvwin(win, newy, newx);
		return status;
	}
	int Window::translate(double delta_x, double delta_y) {
		int status;

		rect->x += delta_x;
		rect->y += delta_y;
		status = curses_mvwin((int)rect->x, (int)rect->y);
		return status;
	}

	int Window::autoTranslate() {
		return translate(vel_x, vel_y);
	}

	int Window::moveWindow(int newx, int newy) {
		int status;
		rect->x = (double)newx;
		rect->y = (double)newy;
		return curses_mvwin(newx,newy);
	}

	// WINDOW UPDATE METHODS

	int Window::clear() {
		int status;
		status = werase(win);
		return status;
	}

	int Window::refresh() {
		int status;
		status = wnoutrefresh(win);
		return status;
	}
	int Window::addString(const char *string){
		int status;
		status = waddstr(win, string);
	}
	int Window::addString(const char *string, enum Justification justify, int ypos){
		int xpos;
		switch(justify){
			case Left:
				xpos = (int)getX() + 1;
				break;
			case Center:
				xpos = (getWidth() / 2) - (strlen(string) / 2);
				break;
			case Right:
				xpos = (getWidth() - strlen(string)) - 1;
				break;
			default:
				break;
		}
		addStringAt(xpos,ypos,string);
	}
	int Window::addStringAt(int x, int y, const char *str){
		mvwaddstr(win,y,x,str);
	}

} // namespace glamour