text:
package console

import (
	"fmt"
	"os"
	"strings"

	"github.com/life1347/color"
)

var (
	// global Verbosity of our CLI
	Verbosity int
)

func Error(msg interface{}) {
	os.Stderr.WriteString(fmt.Sprintf("%v: %v\n", color.RedString("Error"), trimNewline(msg)))
}

func Errorf(format string, args ...interface{}) {
	msg := fmt.Sprintf(format, args...)
	os.Stderr.WriteString(fmt.Sprintf("%v: %v\n", color.RedString("Error"), trimNewline(msg)))
}

func Warn(msg interface{}) {
	os.Stdout.WriteString(fmt.Sprintf("%v: %v\n", color.YellowString("Warning"), trimNewline(msg)))
}

func Info(msg interface{}) {
	os.Stdout.WriteString(fmt.Sprintf("%v\n", trimNewline(msg)))
}

func Infof(format string, args ...interface{}) {
	os.Stdout.WriteString(fmt.Sprintf("%v\n", trimNewline(fmt.Sprintf(format, args...))))
}

func Verbose(verbosityLevel int, format string, args ...interface{}) {
	if Verbosity >= verbosityLevel {
		fmt.Printf(format+"\n", args...)
	}
}

func trimNewline(m interface{}) string {
	return strings.TrimSuffix(fmt.Sprintf("%v", m), "\n")
}


text:
using System;

namespace Nimbus.Infrastructure
{
    [Obsolete("We should be able to do away with this entire class if we put strongly-typed properties onto NimbusMessage.")]
    public static class MessagePropertyKeys
    {
        //public const string MessageId = "MessageId";
        //public const string CorrelationId = "CorrelationId";
        public const string RequestTimeoutInMilliseconds = "RequestTimeoutInMilliseconds";
        public const string RequestSuccessful = "RequestSuccessful";
        public const string ExceptionMessage = "ExceptionMessage";
        public const string ExceptionType = "ExceptionType";
        public const string ExceptionStackTrace = "ExceptionStackTrace";
        public const string ExceptionTimestamp = "ExceptionTimestamp";
        public const string ExceptionMachineName = "ExceptionMachineName";
        public const string ExceptionIdentityName = "ExceptionIdentityName";
        public const string LargeBodyBlobIdentifier = "LargeBodyBlobIdentifier";
        //public const string MessageType = "MessageType";
        //public const string InReplyToRequestId = "InReplyToRequestId";
        public const string SentToQueue = "SentToQueue";
        public const string SentToTopic = "SentToTopic";
        //public const string PrecedingMessageId = "PrecedingMessageId";

        public const string RedeliveryToSubscriptionName = "RedeliveryToSubscriptionName";
    }
}

redpajama_set_name: RedPajamaGithub


text:
package org.quartz.jobs;

import org.quartz.core.JobExecutionContext;
import org.quartz.core.Scheduler;
import org.quartz.exceptions.JobExecutionException;
import org.quartz.listeners.JobListener;
import org.quartz.listeners.TriggerListener;
import org.quartz.triggers.Trigger;

/**
 *

 * The interface to be implemented by classes which represent a 'job' to be performed.
 *

 *

 * Instances of Job must have a public no-argument constructor.
 *

 *

 * JobDataMap provides a mechanism for 'instance member data' that may be required by some implementations of this interface.
 *

 *
 * @author James House
 */
public interface Job {

  /*
   * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Interface.
   * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   */

  /**
   *

   * Called by the {@link Scheduler} when a {@link Trigger} fires that is associated with the Job.
   *

   *

   * The implementation may wish to set a {@link JobExecutionContext#setResult(Object) result} object on the {@link JobExecutionContext} before this
   * method exits. The result itself is meaningless to Quartz, but may be informative to {@link JobListener}s or
   * {@link TriggerListener}s that are watching the job's execution.
   *

   *
   * @throws JobExecutionException if there is an exception while executing the job.
   */
  void execute(JobExecutionContext context) throws JobExecutionException;

}


text:
using System;
using DiscUtils.Streams;

namespace DiscUtils.Ntfs.Internals
{
    /// <summary>
    /// Representation of an NTFS File Name attribute.
    /// </summary>
    /// <remarks>
    /// <para>
    /// Each Master File Table entry (MFT Entry) has one of these attributes for each
    /// hard link.  Files with a long name and a short name will have at least two of
    /// these attributes.</para>
    /// <para>
    /// The details in this attribute may be inconsistent with similar information in
    /// the StandardInformationAttribute for a file.  The StandardInformation is
    /// definitive, this attribute holds a 'cache' of the information.
    /// </para>
    /// </remarks>
    public sealed class FileNameAttribute : GenericAttribute
    {
        private readonly FileNameRecord _fnr;

        internal FileNameAttribute(INtfsContext context, AttributeRecord record)
            : base(context, record)
        {
            byte[] content = StreamUtilities.ReadAll(Content);
            _fnr = new FileNameRecord();
            _fnr.ReadFrom(content, 0);
        }

        /// <summary>
        /// Gets the amount of disk space allocated for the file.
        /// </summary>
        public long AllocatedSize
        {
            get { return (long)_fnr.AllocatedSize; }
        }

        /// <summary>
        /// Gets the creation time of the file.
        /// </summary>
        public DateTime CreationTime
        {
            get { return _fnr.CreationTime; }
        }

        /// <summary>
        /// Gets the extended attributes size, or a reparse tag, depending on the nature of the file.
        /// </summary>
        public long ExtendedAttributesSizeOrReparsePointTag
        {
            get { return _fnr.EASizeOrReparsePointTag; }
        }

        /// <summary>
        /// Gets the attributes of the file, as stored by NTFS.
        /// </summary>
        public NtfsFileAttributes FileAttributes
        {
            get { return (NtfsFileAttributes)_fnr.Flags; }
        }

        /// <summary>
        /// Gets the name of the file within the parent directory.
        /// </summary>
        public string FileName
        {
            get { return _fnr.FileName; }
        }

        /// <summary>
        /// Gets the namespace of the FileName property.
        /// </summary>
        public NtfsNamespace FileNameNamespace
        {
            get { return (NtfsNamespace)_fnr.FileNameNamespace; }
        }

        /// <summary>
        /// Gets the last access time of the file.
        /// </summary>
        public DateTime LastAccessTime
        {
            get { return _fnr.LastAccessTime; }
        }

        /// <summary>
        /// Gets the last time the Master File Table entry for the file was changed.
        /// </summary>
        public DateTime MasterFileTableChangedTime
        {
            get { return _fnr.MftChangedTime; }
        }

        /// <summary>
        /// Gets the modification time of the file.
        /// </summary>
        public DateTime ModificationTime
        {
            get { return _fnr.ModificationTime; }
        }

        /// <summary>
        /// Gets the reference to the parent directory.
        /// </summary>
        /// <remarks>
        /// This attribute stores the name of a file within a directory, this field
        /// provides the link back to the directory.
        /// </remarks>
        public MasterFileTableReference ParentDirectory
        {
            get { return new MasterFileTableReference(_fnr.ParentDirectory); }
        }

        /// <summary>
        /// Gets the amount of data stored in the file.
        /// </summary>
        public long RealSize
        {
            get { return (long)_fnr.RealSize; }
        }
    }
}


text:
<?xml version="1.0" encoding="utf-8"?>
<resources>

	<string name="sql_ddl_create">CREATE TABLE t_map(
		_id INTEGER PRIMARY KEY AUTOINCREMENT
		, _last_update INTEGER NOT NULL
		, _name TEXT NOT NULL
		, _json_data TEXT NOT NULL
		);</string>

</resources>


text:
package com.blogspot.nurkiewicz.web

import org.springframework.http.HttpStatus
import org.springframework.web.bind.annotation.ResponseStatus

@ResponseStatus(HttpStatus.NOT_FOUND)
class NotFoundException extends RuntimeException


text:
var stream_create = (function () {

var exports = {};

var created_stream;

exports.reset_created_stream = function () {
    created_stream = undefined;
};

exports.set_name = function (stream) {
    created_stream = stream;
};

exports.get_name = function () {
    return created_stream;
};

var stream_subscription_error = (function () {
    var self = {};

    self.report_no_subs_to_stream = function () {
        $("#stream_subscription_error").text(i18n.t("You cannot create a stream with no subscribers!"));
        $("#stream_subscription_error").show();
    };

    self.cant_create_stream_without_susbscribing = function () {
        $("#stream_subscription_error").text(i18n.t("You must be an organization administrator to create a stream without subscribing."));
        $("#stream_subscription_error").show();
    };

    self.clear_errors = function () {
        $("#stream_subscription_error").hide();
    };

    return self;

}());

var stream_name_error = (function () {
    var self = {};

    self.report_already_exists = function () {
        $("#stream_name_error").text(i18n.t("A stream with this name already exists"));
        $("#stream_name_error").show();
    };

    self.clear_errors = function () {
        $("#stream_name_error").hide();
    };

    self.report_empty_stream = function () {
        $("#stream_name_error").text(i18n.t("A stream needs to have a name"));
        $("#stream_name_error").show();
    };

    self.select = function () {
        $("#create_stream_name").focus().select();
    };

    self.pre_validate = function (stream_name) {
        // Don't worry about empty strings...we just want to call this
        // to warn users early before they start doing too much work
        // after they make the effort to type in a stream name.  (The
        // use case here is that I go to create a stream, only to find
        // out it already exists, and I was just too lazy to look at
        // the public streams that I'm not subscribed to yet.  Once I
        // realize the stream already exists, I may want to cancel.)
        if (stream_name && stream_data.get_sub(stream_name)) {
            self.report_already_exists();
            return;
        }

        self.clear_errors();
    };

    self.validate_for_submit = function (stream_name) {
        if (!stream_name) {
            self.report_empty_stream();
            self.select();
            return false;
        }

        if (stream_data.get_sub(stream_name)) {
            self.report_already_exists();
            self.select();
            return false;
        }

        // If we got this far, then we think we have a new unique stream
        // name, so we'll submit to the server.  (It's still plausible,
        // however, that there's some invite-only stream that we don't
        // know about locally that will cause a name collision.)
        return true;
    };

    return self;
}());

function ajaxSubscribeForCreation(stream_name, description, principals, invite_only,
                                  is_announcement_only, announce, history_public_to_subscribers) {
    // Subscribe yourself and possible other people to a new stream.
    return channel.post({
        url: "/json/users/me/subscriptions",
        data: {subscriptions: JSON.stringify([{name: stream_name,
                                               description: description}]),
               principals: JSON.stringify(principals),
               invite_only: JSON.stringify(invite_only),
               is_announcement_only: JSON.stringify(is_announcement_only),
               announce: JSON.stringify(announce),
               history_public_to_subscribers: JSON.stringify(history_public_to_subscribers),
        },
        success: function () {
            $("#create_stream_name").val("");
            $("#create_stream_description").val("");
            ui_report.success(i18n.t("Stream successfully created!"), $(".stream_create_info"));
            loading.destroy_indicator($('#stream_creating_indicator'));
            // The rest of the work is done via the subscribe event we will get
        },
        error: function (xhr) {
            var msg = JSON.parse(xhr.responseText).msg;
            if (msg.indexOf('access') >= 0) {
                // If we can't access the stream, we can safely assume it's
                // a duplicate stream that we are not invited to.
                stream_name_error.report_already_exists(stream_name);
                stream_name_error.select();
            }

            ui_report.error(i18n.t("Error creating stream"), xhr, $(".stream_create_info"));
            loading.destroy_indicator($('#stream_creating_indicator'));
        },
    });
}

// Within the new stream modal...
function update_announce_stream_state() {

    // If there is no notifications_stream, we simply hide the widget.
    if (!page_params.notifications_stream) {
        $('#announce-new-stream').hide();
        return;
    }

    // If the stream is invite only, disable the "Announce stream" option.
    // Otherwise enable it.
    var announce_stream_checkbox = $('#announce-new-stream input');
    var announce_stream_label = $('#announce-new-stream');
    var disable_it = false;
    var privacy_type = $('input:radio[name=privacy]:checked').val();
    var is_invite_only = privacy_type === "invite-only" || privacy_type === "invite-only-public-history";
    announce_stream_label.removeClass("control-label-disabled");

    if (is_invite_only) {
        disable_it = true;
        announce_stream_checkbox.prop('checked', false);
        announce_stream_label.addClass("control-label-disabled");
    }

    announce_stream_checkbox.prop('disabled', disable_it);
    $('#announce-new-stream').show();
}

function get_principals() {
    return _.map(
        $("#stream_creation_form input:checkbox[name=user]:checked"),
        function (elem) {
            return $(elem).val();
        }
    );
}

function create_stream() {
    var stream_name = $.trim($("#create_stream_name").val());
    var description = $.trim($("#create_stream_description").val());
    var privacy_setting = $('#stream_creation_form input[name=privacy]:checked').val();
    var is_announcement_only = $('#stream_creation_form input[name=is-announcement-only]').prop('checked');
    var principals = get_principals();

    var invite_only;
    var history_public_to_subscribers;

    if (privacy_setting === 'invite-only') {
        invite_only = true;
        history_public_to_subscribers = false;
    } else if (privacy_setting === 'invite-only-public-history') {
        invite_only = true;
        history_public_to_subscribers = true;
    } else {
        invite_only = false;
        history_public_to_subscribers = true;
    }

    created_stream = stream_name;

    var announce = !!page_params.notifications_stream &&
        $('#announce-new-stream input').prop('checked');

    // Even though we already check to make sure that while typing the user cannot enter
    // newline characters (by pressing the enter key) it would still be possible to copy
    // and paste over a description with newline characters in it. Prevent that.
    if (description.indexOf('\n') !== -1) {
        ui_report.message(i18n.t("The stream description cannot contain newline characters."), $(".stream_create_info"), 'alert-error');
        return;
    }

    loading.make_indicator($('#stream_creating_indicator'), {text: i18n.t('Creating stream...')});

    ajaxSubscribeForCreation(
        stream_name,
        description,
        principals,
        invite_only,
        is_announcement_only,
        announce,
        history_public_to_subscribers
    );
}

exports.new_stream_clicked = function (stream_name) {
    // this changes the tab switcher (settings/preview) which isn't necessary
    // to a add new stream title.
    $(".display-type #add_new_stream_title").show();
    $(".display-type #stream_settings_title").hide();

    $(".stream-row.active").removeClass("active");

    $("#stream_settings_title, .subscriptions-container .settings, .nothing-selected").hide();
    $("#stream-creation, #add_new_stream_title").show();

    if (stream_name !== '') {
        $('#create_stream_name').val(stream_name);
    }
    exports.show_new_stream_modal();

    // at less than 700px we have a @media query that when you tap the
    // .create_stream_button, the stream prompt slides in. However, when you
    // focus  the button on that page, the entire app view jumps over to
    // the other tab, and the animation breaks.
    // it is unclear whether this is a browser bug or "feature", however what
    // is clear is that this shoudn't be touched unless you're also changing
    // the mobile @media query at 700px.
    if (window.innerWidth > 700) {
        $('#create_stream_name').focus();
    }
};

function clear_error_display() {
    stream_name_error.clear_errors();
    $(".stream_create_info").hide();
    stream_subscription_error.clear_errors();
}

exports.show_new_stream_modal = function () {
    $("#stream-creation").removeClass("hide");
    $(".right .settings").hide();

    var all_users = people.get_rest_of_realm();
    // Add current user on top of list
    all_users.unshift(people.get_person_from_user_id(page_params.user_id));
    var html = templates.render('new_stream_users', {
        users: all_users,
        streams: stream_data.get_streams_for_settings_page(),
        is_admin: page_params.is_admin,
    });

    var container = $('#people_to_add');
    container.html(html);
    exports.create_handlers_for_users(container);

    // Make the options default to the same each time:
    // public, "announce stream" on.
    $('#make-invite-only input:radio[value=public]').prop('checked', true);

    if (page_params.notifications_stream) {
        $('#announce-new-stream').show();
        $('#announce-new-stream input').prop('disabled', false);
        $('#announce-new-stream input').prop('checked', true);
    } else {
        $('#announce-new-stream').hide();
    }
    clear_error_display();

    $("#stream-checkboxes label.checkbox").on('change', function (e) {
        var elem = $(this);
        var stream_id = elem.attr('data-stream-id');
        var checked = elem.find('input').prop('checked');
        var subscriber_ids = stream_data.get_sub_by_id(stream_id).subscribers;

        $('#user-checkboxes label.checkbox').each(function () {
            var user_elem = $(this);
            var user_id = user_elem.attr('data-user-id');

            if (subscriber_ids.has(user_id)) {
                user_elem.find('input').prop('checked', checked);
            }
        });

        e.preventDefault();
    });
};

exports.create_handlers_for_users = function (container) {
    // container should be $('#people_to_add')...see caller to verify
    container.on('change', '#user-checkboxes input', update_announce_stream_state);

    // 'Check all' and 'Uncheck all' visible users
    container.on('click', '.subs_set_all_users', function (e) {
        $('#user-checkboxes .checkbox').each(function (idx, li) {
            if  (li.style.display !== "none") {
                $(li.firstElementChild).prop('checked', true);
            }
        });
        e.preventDefault();
        update_announce_stream_state();
    });

    container.on('click', '.subs_unset_all_users', function (e) {
        $('#user-checkboxes .checkbox').each(function (idx, li) {
            if (li.style.display !== "none") {
                // The first checkbox is the one for ourself; this is the code path for:
                // `stream_subscription_error.cant_create_stream_without_susbscribing`
                if (idx === 0 && !page_params.is_admin) {
                    return;
                }
                $(li.firstElementChild).prop('checked', false);
            }
        });
        e.preventDefault();
        update_announce_stream_state();
    });

    container.on('click', '#copy-from-stream-expand-collapse', function (e) {
        $('#stream-checkboxes').toggle();
        $("#copy-from-stream-expand-collapse .toggle").toggleClass('fa-caret-right fa-caret-down');
        e.preventDefault();
    });

    // Search People or Streams
    container.on('input', '.add-user-list-filter', function (e) {
        var user_list = $(".add-user-list-filter");
        if (user_list === 0) {
            return;
        }
        var search_term = user_list.expectOne().val().trim();
        var search_terms = search_term.toLowerCase().split(",");

        (function filter_user_checkboxes() {
            var user_labels = $("#user-checkboxes label.add-user-label");

            if (search_term === '') {
                user_labels.css({display: 'block'});
                return;
            }

            var users = people.get_rest_of_realm();
            var filtered_users = people.filter_people_by_search_terms(users, search_terms);

            // Be careful about modifying the follow code.  A naive implementation
            // will work very poorly with a large user population (~1000 users).
            //
            // I tested using: `./manage.py populate_db --extra-users 3500`
            //
            // This would break the previous implementation, whereas the new
            // implementation is merely sluggish.
            user_labels.each(function () {
                var elem = $(this);
                var user_id = elem.attr('data-user-id');
                var user_checked = filtered_users.has(user_id);
                var display = user_checked ? "block" : "none";
                elem.css({display: display});
            });
        }());

        e.preventDefault();
    });
};

exports.set_up_handlers = function () {
    var container = $('#stream-creation').expectOne();

    container.on('change', '#make-invite-only input', update_announce_stream_state);

    container.on("submit", "#stream_creation_form", function (e) {
        e.preventDefault();
        clear_error_display();

        var stream_name = $.trim($("#create_stream_name").val());
        var name_ok = stream_name_error.validate_for_submit(stream_name);

        if (!name_ok) {
            return;
        }

        var principals = get_principals();
        if (principals.length === 0) {
            stream_subscription_error.report_no_subs_to_stream();
            return;
        }
        if (principals.indexOf(people.my_current_email()) < 0 && !page_params.is_admin) {
            stream_subscription_error.cant_create_stream_without_susbscribing();
            return;
        }

        if (principals.length >= 50) {
            var invites_warning_modal = templates.render('subscription_invites_warning_modal',
                                                         {stream_name: stream_name,
                                                          count: principals.length});
            $('#stream-creation').append(invites_warning_modal);
        } else {
            create_stream();
        }
    });

    container.on("click", ".close-invites-warning-modal", function () {
        $("#invites-warning-overlay").remove();
    });

    container.on("click", ".confirm-invites-warning-modal", function () {
        create_stream();
        $("#invites-warning-overlay").remove();
    });

    container.on("input", "#create_stream_name", function () {
        var stream_name = $.trim($("#create_stream_name").val());

        // This is an inexpensive check.
        stream_name_error.pre_validate(stream_name);
    });

    container.on("mouseover", "#announce-stream-docs", function (e) {
        var announce_stream_docs = $("#announce-stream-docs");
        announce_stream_docs.popover({
            placement: "right",
            content: templates.render('announce_stream_docs', {
                notifications_stream: page_params.notifications_stream}),
            trigger: "manual"});
        announce_stream_docs.popover('show');
        announce_stream_docs.data('popover').tip().css('z-index', 2000);
        announce_stream_docs.data('popover').tip().find('.popover-content').css('margin', '9px 14px');
        e.stopPropagation();
    });
    container.on("mouseout", "#announce-stream-docs", function (e) {
        $("#announce-stream-docs").popover('hide');
        e.stopPropagation();
    });

    // Do not allow the user to enter newline characters while typing out the
    // stream's description during it's creation.
    container.on("keydown", "#create_stream_description", function (e) {
        if ((e.keyCode || e.which) === 13) {
            e.preventDefault();
        }
    });

};

return exports;

}());
if (typeof module !== 'undefined') {
    module.exports = stream_create;
}
window.stream_create = stream_create;


text:
<Module>
	<Texture>BulkheadCarbonium_4x4</Texture>
	<SizeX>4</SizeX>
	<SizeY>4</SizeY>

	<ProductionCost>48</ProductionCost>
	<AlloyCost>32</AlloyCost>
	<AdvancedAlloyCost>16</AdvancedAlloyCost>

	<Health>134400</Health>
	<Mass>48</Mass>
</Module>


text:
@protocol DFPCustomRenderedBannerViewDelegate;
@protocol GADAdSizeDelegate;
@protocol GADAppEventDelegate;

/// The view that displays DoubleClick For Publishers banner ads.
@interface DFPBannerView : GADBannerView

/// Required value created on the DFP website. Create a new ad unit for every unique placement of an
/// ad in your application. Set this to the ID assigned for this placement. Ad units are important
/// for targeting and statistics.
///
/// Example DFP ad unit ID: @"/6499/example/banner"
@property(nonatomic, copy) NSString *adUnitID;

/// Optional delegate that is notified when creatives send app events.
@property(nonatomic, weak) IBOutlet id<GADAppEventDelegate> appEventDelegate;

/// Optional delegate that is notified when creatives cause the banner to change size.
@property(nonatomic, weak) IBOutlet id<GADAdSizeDelegate> adSizeDelegate;

/// Optional array of NSValue encoded GADAdSize structs, specifying all valid sizes that are
/// appropriate for this slot. Never create your own GADAdSize directly. Use one of the predefined
/// standard ad sizes (such as kGADAdSizeBanner), or create one using the GADAdSizeFromCGSize
/// method.
///
/// \see setValidAdSizesWithSizes:
///
/// Example:
///   \code
///   NSArray *validSizes = @[
///     NSValueFromGADAdSize(kGADAdSizeBanner),
///     NSValueFromGADAdSize(kGADAdSizeLargeBanner)
///   ];
///
///   bannerView.validAdSizes = validSizes;
///   \endcode
@property(nonatomic, copy) NSArray *validAdSizes;

/// Correlator object for correlating this object to other ad objects.
@property(nonatomic, strong) GADCorrelator *correlator;

/// Indicates that the publisher will record impressions manually when the ad becomes visible to the
/// user.
@property(nonatomic, assign) BOOL enableManualImpressions;

/// Optional delegate object for custom rendered ads.
@property(nonatomic, weak)
    IBOutlet id<DFPCustomRenderedBannerViewDelegate> customRenderedBannerViewDelegate;

/// If you've set enableManualImpressions to YES, call this method when the ad is visible.
- (void)recordImpression;

/// Use this function to resize the banner view without launching a new ad request.
- (void)resize:(GADAdSize)size;

#pragma mark Deprecated

/// Sets the receiver's valid ad sizes to the values pointed to by the provided NULL terminated list
/// of GADAdSize pointers.
///
/// Example:
///   \code
///   GADAdSize size1 = kGADAdSizeBanner;
///   GADAdSize size2 = kGADAdSizeLargeBanner;
///   [bannerView setValidAdSizesWithSizes:&size1, &size2, NULL];
///   \endcode
- (void)setValidAdSizesWithSizes:(GADAdSize *)firstSize, ... NS_REQUIRES_NIL_TERMINATION
                                 GAD_DEPRECATED_MSG_ATTRIBUTE("Use validAdSizes property.");

@end


text:
<?xml version="1.0" encoding="utf-8"?>

<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:scrollbarStyle="outsideOverlay">

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical">

        <include layout="@layout/ew_sgs" />

        <include layout="@layout/ew_acaf_resaf" />

        <include layout="@layout/ew_cocas_has" />

        <include layout="@layout/ew_iar_speaker" />

        <include layout="@layout/ew_lit_arts" />

        <include layout="@layout/ew_sports" />

        <include layout="@layout/ew_mitr_cfi" />

    </LinearLayout>
</ScrollView>


text:
package org.kuali.kpme.tklm.leave.transfer.authorization;

import java.util.Map;

import org.kuali.kpme.core.authorization.KPMEMaintenanceDocumentAuthorizerBase;
import org.kuali.kpme.core.role.KPMERoleMemberAttribute;
import org.kuali.rice.kew.api.document.DocumentStatus;
import org.kuali.rice.kim.api.identity.Person;
import org.kuali.rice.krad.document.Document;

@SuppressWarnings("deprecation")
public class BalanceTransferAuthorizer extends KPMEMaintenanceDocumentAuthorizerBase {

	private static final long serialVersionUID = 6208655211538912184L;

	protected void addRoleQualification(Object dataObject, Map<String, String> attributes) {
		super.addRoleQualification(dataObject, attributes);

		attributes.put(KPMERoleMemberAttribute.DEPARTMENT.getRoleMemberAttributeName(), "%");
        attributes.put(KPMERoleMemberAttribute.GROUP_KEY_CODE.getRoleMemberAttributeName(), "%");
		attributes.put(KPMERoleMemberAttribute.LOCATION.getRoleMemberAttributeName(), "%");
	}

	@Override
	public boolean canEdit(Document document, Person user) {
		if(document.getDocumentHeader().hasWorkflowDocument()) {
			return(document.getDocumentHeader().getWorkflowDocument().getStatus().equals(DocumentStatus.INITIATED));
		}
		return false;
	}

}


text:
package commons.swing;

import javax.swing.SpinnerNumberModel;
import javax.swing.event.ChangeEvent;
import javax.swing.event.ChangeListener;

import org.makagiga.commons.swing.MNumberSpinner;
import org.makagiga.commons.swing.MText;
import org.makagiga.test.Test;
import org.makagiga.test.TestConstructor;
import org.makagiga.test.TestMethod;
import org.makagiga.test.Tester;
import org.makagiga.test.UITest;

@Test(className = MNumberSpinner.class)
public final class TestMNumberSpinner extends UITest {

	// public

	@Test
	public void test_example() {
		// <EXAMPLE>
		MNumberSpinner<Integer> month = new MNumberSpinner<Integer>();

		// set minimum and maximum
		month.setRange(1, 12);

		// set value
		month.setNumber(7);
		assert month.getNumber() == 7;

		// listen for value change
		month.addChangeListener(new ChangeListener() {
			@Override
			public void stateChanged(ChangeEvent e) {
				Number n = MNumberSpinner.class.cast(e.getSource()).getNumber();
				System.out.println(n);
			}
		} );
		// </EXAMPLE>

		//createDocScreenshot(month, null, new File());
	}

	@Test(
		constructors = @TestConstructor
	)
	public void test_constructor() {
		MNumberSpinner<Integer> integerNumber = new MNumberSpinner<Integer>();
		assert MText.getUndoManager(integerNumber.getTextField()) != null;
		assert integerNumber.getFormat().getGroupingSize() == 0;
		assert integerNumber.getModel() instanceof SpinnerNumberModel;
		//Tester.testSerializable(integerNumber);
	}

	@Test(
		methods = @TestMethod(name = "getFormat")
	)
	public void test_getFormat() {
		MNumberSpinner<Integer> integerNumber = new MNumberSpinner<Integer>();

		assertNotNull(integerNumber.getFormat());
	}

	@Test(
		methods = {
			@TestMethod(name = "getNumber"),
			@TestMethod(name = "setNumber", parameters = "Number")
		}
	)
	public void test_property_number() {
		assertIllegalArgumentException(new Tester.Code() {
			@Override
			public void run() throws Throwable {
				MNumberSpinner<Integer> integerNumber = new MNumberSpinner<Integer>();
				integerNumber.setNumber(null);
			}
		} );

		// Integer

		MNumberSpinner<Integer> integerNumber = new MNumberSpinner<Integer>();
		Integer i = integerNumber.getNumber();
		assert i != null;
		assert i == 0;

		integerNumber.setNumber(666);
		i = integerNumber.getNumber();
		assert i != null;
		assert i == 666;

		// Float

		Tester.testException(ClassCastException.class, new Tester.Code() {
			@Override
			public void run() throws Throwable {
				MNumberSpinner<Float> floatNumber = new MNumberSpinner<Float>();
				Float f = floatNumber.getNumber();
			}
		} );

		MNumberSpinner<Float> floatNumber = new MNumberSpinner<Float>();
		floatNumber.setNumber(0.5f);
		Float f = floatNumber.getNumber();
		assert f != null;
		assert f == 0.5f;
	}

	@Test(
		methods = @TestMethod(name = "setRange", parameters = "Comparable, Comparable")
	)
	public void test_setRange() {
		MNumberSpinner<Integer> integerNumber = new MNumberSpinner<Integer>();
		assert integerNumber.getModel().getMinimum() == null;
		assert integerNumber.getModel().getMaximum() == null;

		integerNumber.setRange(100, 200);
		assert integerNumber.getModel().getMinimum().equals(100);
		assert integerNumber.getModel().getMaximum().equals(200);

		integerNumber.setRange(200, 100);
		assert integerNumber.getModel().getMinimum().equals(200);
		assert integerNumber.getModel().getMaximum().equals(100);

		integerNumber.setRange(0, 0);
		assertEquals(2, integerNumber.getTextField().getColumns());

		integerNumber.setRange(0, 10);
		assertEquals(3, integerNumber.getTextField().getColumns());

		integerNumber.setRange(0, null);
		assertEquals(3, integerNumber.getTextField().getColumns()); // no change
	}

}


text:
<?php
namespace Dwf\PronosticsBundle\Entity;

use Doctrine\ORM\Mapping as ORM;

/** @ORM\Entity
 * @ORM\Table("invitations")
 * @ORM\HasLifecycleCallbacks
 * @ORM\Entity(repositoryClass="Dwf\PronosticsBundle\Entity\InvitationRepository")
 * */
class Invitation
{
	/** @ORM\Id @ORM\Column(type="string", length=6) */
	protected $code;

	/** @ORM\Column(type="string", length=256, nullable=true) */
	protected $email;

	/**
	 * When sending invitation be sure to set this value to `true`
	 *
	 * It can prevent invitations from being sent twice
	 *
	 * @ORM\Column(type="boolean")
	 */
	protected $sent = false;

	/** @ORM\ManyToOne(targetEntity="User", inversedBy="invitation", cascade={"persist", "merge"}) */
	protected $user;

	/**
	 * @ORM\ManyToOne(targetEntity="Dwf\PronosticsBundle\Entity\Contest")
	 * @ORM\JoinColumn(nullable=true)
	 */
	private $contest;

	public function __construct()
	{
		// generate identifier only once, here a 6 characters length code
// 		$this->code = substr(md5(uniqid(rand(), true)), 0, 6);
	}

	public function getCode()
	{
		return $this->code;
	}

	public function getEmail()
	{
		return $this->email;
	}

	public function setEmail($email)
	{
		$this->email = $email;
	}

	public function isSent()
	{
		return $this->sent;
	}

	public function send()
	{
		$this->sent = true;
	}

	public function getUser()
	{
		return $this->user;
	}

	public function setUser(User $user)
	{
		$this->user = $user;
	}

	public function setInvitationCode()
	{
		$this->code = substr(md5(uniqid(rand(), true)), 0, 6);
	}

	public function getId()
	{
		return $this->code;
	}

    /**
     * Set code
     *
     * @param string $code
     * @return Invitation
     */
    public function setCode($code)
    {
        $this->code = $code;

        return $this;
    }

    /**
     * Set sent
     *
     * @param boolean $sent
     * @return Invitation
     */
    public function setSent($sent)
    {
        $this->sent = $sent;

        return $this;
    }

    /**
     * Get sent
     *
     * @return boolean
     */
    public function getSent()
    {
        return $this->sent;
    }

    /**
     * Set contest
     *
     * @param \Dwf\PronosticsBundle\Entity\Contest $contest
     * @return Invitation
     */
    public function setContest(\Dwf\PronosticsBundle\Entity\Contest $contest = null)
    {
        $this->contest = $contest;

        return $this;
    }

    /**
     * Get contest
     *
     * @return \Dwf\PronosticsBundle\Entity\Contest
     */
    public function getContest()
    {
        return $this->contest;
    }

    /**
     * Add user
     *
     * @param \Dwf\PronosticsBundle\Entity\User $user
     *
     * @return Invitation
     */
    public function addUser(\Dwf\PronosticsBundle\Entity\User $user)
    {
        $this->user[] = $user;

        return $this;
    }

    /**
     * Remove user
     *
     * @param \Dwf\PronosticsBundle\Entity\User $user
     */
    public function removeUser(\Dwf\PronosticsBundle\Entity\User $user)
    {
        $this->user->removeElement($user);
    }
}


text:
package jdbreport.util.xml;

import org.w3c.dom.Element;

/**
 * @version 1.0 06/24/06
 * @author Andrey Kholmanskih
 *
 */
public interface XMLStored {

	void store(Element parent);

	void load(Element parent);

}


text:
#include <aws/customer-profiles/model/AddProfileKeyRequest.h>
#include <aws/core/utils/json/JsonSerializer.h>

#include <utility>

using namespace Aws::CustomerProfiles::Model;
using namespace Aws::Utils::Json;
using namespace Aws::Utils;

AddProfileKeyRequest::AddProfileKeyRequest() :
    m_profileIdHasBeenSet(false),
    m_keyNameHasBeenSet(false),
    m_valuesHasBeenSet(false),
    m_domainNameHasBeenSet(false)
{
}

Aws::String AddProfileKeyRequest::SerializePayload() const
{
  JsonValue payload;

  if(m_profileIdHasBeenSet)
  {
   payload.WithString("ProfileId", m_profileId);

  }

  if(m_keyNameHasBeenSet)
  {
   payload.WithString("KeyName", m_keyName);

  }

  if(m_valuesHasBeenSet)
  {
   Aws::Utils::Array<JsonValue> valuesJsonList(m_values.size());
   for(unsigned valuesIndex = 0; valuesIndex < valuesJsonList.GetLength(); ++valuesIndex)
   {
     valuesJsonList[valuesIndex].AsString(m_values[valuesIndex]);
   }
   payload.WithArray("Values", std::move(valuesJsonList));

  }

  return payload.View().WriteReadable();
}


text:
/*
 *  ___
 * /\_ \
 * \//\ \      __      ___   __  __    ___     ___
 *   \ \ \   /'__`\  /' _ `\/\ \/\ \  / __`\ /' _ `\
 *    \_\ \_/\ \_\.\_/\ \/\ \ \ \_\ \/\ \_\ \/\ \/\ \
 *    /\____\ \__/.\_\ \_\ \_\/`____ \ \____/\ \_\ \_\
 *    \/____/\/__/\/_/\/_/\/_/`/___/> \/___/  \/_/\/_/
 *                               /\___/
 *                               \/__/
 *
 * Designed, built, and released under MIT license by @mdo. Learn more at
 * https://github.com/poole/lanyon.
 */

/*
 * Contents
 *
 * Global resets
 * Masthead
 * Sidebar
 * Slide effect
 * Posts and pages
 * Pagination
 * Reverse layout
 * Themes
 */

/*
 * Global resets
 *
 * Update the foundational and global aspects of the page.
 */

/* Prevent scroll on narrow devices */
html,
body {
  overflow-x: hidden;
}

html {
  font-family: "PT Serif", Georgia, "Times New Roman", serif;
}

h1, h2, h3, h4, h5, h6 {
  font-family: "PT Sans", Helvetica, Arial, sans-serif;
  font-weight: 400;
  color: #313131;
  letter-spacing: -.025rem;
  text-transform: capitalize;
}

a:hover{
  text-decoration: none;
}

/*
 * Wrapper
 *
 * The wrapper is used to position site content when the sidebar is toggled. We
 * use an outter wrap to position the sidebar without interferring with the
 * regular page content.
 */

.wrap {
  position: relative;
  width: 100%;
}

/*
 * Container
 *
 * Center the page content.
 */

.container {
  max-width: 28rem;
}
@media (min-width: 38em) {
  .container {
    max-width: 32rem;
  }
}
@media (min-width: 56em) {
  .container {
    max-width: 38rem;
  }
}

/*
 * Masthead
 *
 * Super small header above the content for site name and short description.
 */

.masthead {
  padding-top:    1rem;
  padding-bottom: 1rem;
  margin-bottom: 1rem;
  border-bottom: 1px solid #eee;
}
.masthead-title {
  margin-top: 0;
  margin-bottom: 0;
  color: #505050;
}
.masthead-title a {
  color: #505050;
}
.masthead-title small {
  font-size: 75%;
  font-weight: 400;
  color: #c0c0c0;
  letter-spacing: 0;
}

@media (max-width: 48em) {
  .masthead-title {
    text-align: center;
  }
  .masthead-title small {
    display: none;
  }
}

/*
 * Sidebar
 *
 * The sidebar is the drawer, the item we are toggling with our handy hamburger
 * button in the corner of the page.
 *
 * This particular sidebar implementation was inspired by Chris Coyier's
 * "Offcanvas Menu with CSS Target" article, and the checkbox variation from the
 * comments by a reader. It modifies both implementations to continue using the
 * checkbox (no change in URL means no polluted browser history), but this uses
 * `position` for the menu to avoid some potential content reflow issues.
 *
 * Source: http://css-tricks.com/off-canvas-menu-with-css-target/#comment-207504
 */

/* Style and "hide" the sidebar */
.sidebar {
  position: fixed;
  top: 0;
  bottom: 0;
  left: -14rem;
  width: 14rem;
  visibility: hidden;
  overflow-y: auto;
  font-family: "PT Sans", Helvetica, Arial, sans-serif;
  font-size: .875rem; /* 15px */
  color: rgba(255,255,255,.6);
  background-color: #202020;
  -webkit-transition: all .3s ease-in-out;
          transition: all .3s ease-in-out;
}
@media (min-width: 30em) {
  .sidebar {
    font-size: .75rem; /* 14px */
  }
}

/* Sidebar content */
.sidebar a {
  font-weight: normal;
  color: #fff;
}
.sidebar-item {
  padding: 1rem;
}
.sidebar-item p:last-child {
  margin-bottom: 0;
}

/* Sidebar nav */
.sidebar-nav {
  border-bottom: 1px solid rgba(255,255,255,.1);
}
.sidebar-nav-item {
  display: block;
  padding: .5rem 1rem;
  border-top: 1px solid rgba(255,255,255,.1);
}
.sidebar-nav-item.active,
a.sidebar-nav-item:hover,
a.sidebar-nav-item:focus {
  text-decoration: none;
  background-color: rgba(255,255,255,.1);
  border-color: transparent;
}

@media (min-width: 48em) {
  .sidebar-item {
    padding: 1.5rem;
  }
  .sidebar-nav-item {
    padding-left:  1.5rem;
    padding-right: 1.5rem;
  }
}

/* Hide the sidebar checkbox that we toggle with `.sidebar-toggle` */
.sidebar-checkbox {
  display: none;
}

/* Style the `label` that we use to target the `.sidebar-checkbox` */
.sidebar-toggle {
  position: absolute;
  top:  1rem;
  left: 1rem;
  display: block;
  width: 2.2rem;
  padding: .5rem .65rem;
  color: #505050;
  background-color: #fff;
  border-radius: 4px;
  cursor: pointer;
}
.sidebar-toggle:before {
  display: block;
  content: "";
  width: 100%;
  padding-bottom: .125rem;
  border-top: .375rem double;
  border-bottom: .125rem solid;

  /* Make the border inside the box */
  -webkit-box-sizing: border-box;
     -moz-box-sizing: border-box;
          box-sizing: border-box;
}

.sidebar-toggle:active,
#sidebar-checkbox:checked ~ .sidebar-toggle {
  color: #fff;
  background-color: #505050;
}

@media (min-width: 30.1em) {
  .sidebar-toggle {
    position: fixed;
    width: 2.25rem;
  }
  .sidebar-toggle:before {
    padding-bottom: .15rem;
    border-top-width: .45rem;
    border-bottom-width: .15rem;
  }
}

/* Slide effect
 *
 * Handle the sliding effects of the sidebar and content in one spot, seperate
 * from the default styles.
 *
 * As an a heads up, we don't use `transform: translate3d()` here because when
 * mixed with `position: fixed;` for the sidebar toggle, it creates a new
 * containing block. Put simply, the fixed sidebar toggle behaves like
 * `position: absolute;` when transformed.
 *
 * Read more about it at http://meyerweb.com/eric/thoughts/2011/09/12/.
 */

.wrap,
.sidebar,
.sidebar-toggle {
  -webkit-backface-visibility: hidden;
      -ms-backface-visibility: hidden;
          backface-visibility: hidden;
}
.wrap,
.sidebar-toggle {
  -webkit-transition: -webkit-transform .3s ease-in-out;
          transition: transform .3s ease-in-out;
}

#sidebar-checkbox:checked + .sidebar {
  z-index: 10;
  visibility: visible;
}
#sidebar-checkbox:checked ~ .sidebar,
#sidebar-checkbox:checked ~ .wrap,
#sidebar-checkbox:checked ~ .sidebar-toggle {
  -webkit-transform: translateX(14rem);
      -ms-transform: translateX(14rem);
          transform: translateX(14rem);
}

/*
 * Posts and pages
 *
 * Each post is wrapped in `.post` and is used on default and post layouts. Each
 * page is wrapped in `.page` and is only used on the page layout.
 */

.page,
.post {
  margin-bottom: 4em;
}
.post p{
  font-size: 18px;
}

/* Blog post or page title */
.page-title,
.post-title,
.post-title a {
  color: #303030;
}
.page-title,
.post-title {
  margin-top: 0;
}

/* Meta data line below post title */
.post-date {
  display: block;
  margin-top: -.5rem;
  margin-bottom: 1rem;
  color: #9a9a9a;
}

/* Related posts */
.related {
  padding-top: 2rem;
  padding-bottom: 2rem;
  border-top: 1px solid #eee;
}
.related-posts {
  padding-left: 0;
  list-style: none;
}
.related-posts h3 {
  margin-top: 0;
}
.related-posts li small {
  font-size: 60%;
  color: #999;

}
.related-posts li a:hover {
  color: #268bd2;
  text-decoration: none;
}
.related-posts li a:hover small {
  color: inherit;
}

/*
 * Pagination
 *
 * Super lightweight (HTML-wise) blog pagination. `span`s are provide for when
 * there are no more previous or next posts to show.
 */

.pagination {
  overflow: hidden; /* clearfix */
  margin-left: -1rem;
  margin-right: -1rem;
  font-family: "PT Sans", Helvetica, Arial, sans-serif;
  color: #ccc;
  text-align: center;
}

/* Pagination items can be `span`s or `a`s */
.pagination-item {
  display: block;
  padding: 1rem;
  border: 1px solid #eee;
}
.pagination-item:first-child {
  margin-bottom: -1px;
}

/* Only provide a hover state for linked pagination items */
a.pagination-item:hover {
  background-color: #f5f5f5;
}

@media (min-width: 30em) {
  .pagination {
    margin: 3rem 0;
  }
  .pagination-item {
    float: left;
    width: 50%;
  }
  .pagination-item:first-child {
    margin-bottom: 0;
    border-top-left-radius:    4px;
    border-bottom-left-radius: 4px;
  }
  .pagination-item:last-child {
    margin-left: -1px;
    border-top-right-radius:    4px;
    border-bottom-right-radius: 4px;
  }
}

/*
 * Reverse layout
 *
 * Flip the orientation of the page by placing the `.sidebar` and sidebar toggle
 * on the right side.
 */

.layout-reverse .sidebar {
  left: auto;
  right: -14rem;
}
.layout-reverse .sidebar-toggle {
  left: auto;
  right: 1rem;
}

.layout-reverse #sidebar-checkbox:checked ~ .sidebar,
.layout-reverse #sidebar-checkbox:checked ~ .wrap,
.layout-reverse #sidebar-checkbox:checked ~ .sidebar-toggle {
  -webkit-transform: translateX(-14rem);
      -ms-transform: translateX(-14rem);
          transform: translateX(-14rem);
}

/*
 * Themes
 *
 * Apply custom color schemes by adding the appropriate class to the `body`.
 * Based on colors from Base16: http://chriskempson.github.io/base16/#default.
 */

/* Red */
.theme-base-08 .sidebar,
.theme-base-08 .sidebar-toggle:active,
.theme-base-08 #sidebar-checkbox:checked ~ .sidebar-toggle {
  background-color: #ac4142;
}
.theme-base-08 .container a,
.theme-base-08 .sidebar-toggle,
.theme-base-08 .related-posts li a:hover {
  color: #ac4142;
}

/* Orange */
.theme-base-09 .sidebar,
.theme-base-09 .sidebar-toggle:active,
.theme-base-09 #sidebar-checkbox:checked ~ .sidebar-toggle {
  background-color: #d28445;
}
.theme-base-09 .container a,
.theme-base-09 .sidebar-toggle,
.theme-base-09 .related-posts li a:hover {
  color: #d28445;
}

/* Yellow */
.theme-base-0a .sidebar,
.theme-base-0a .sidebar-toggle:active,
.theme-base-0a #sidebar-checkbox:checked ~ .sidebar-toggle {
  background-color: #f4bf75;
}
.theme-base-0a .container a,
.theme-base-0a .sidebar-toggle,
.theme-base-0a .related-posts li a:hover {
  color: #f4bf75;
}

/* Green */
.theme-base-0b .sidebar,
.theme-base-0b .sidebar-toggle:active,
.theme-base-0b #sidebar-checkbox:checked ~ .sidebar-toggle {
  background-color: #90a959;
}
.theme-base-0b .container a,
.theme-base-0b .sidebar-toggle,
.theme-base-0b .related-posts li a:hover {
  color: #90a959;
}

/* Cyan */
.theme-base-0c .sidebar,
.theme-base-0c .sidebar-toggle:active,
.theme-base-0c #sidebar-checkbox:checked ~ .sidebar-toggle {
  background-color: #75b5aa;
}
.theme-base-0c .container a,
.theme-base-0c .sidebar-toggle,
.theme-base-0c .related-posts li a:hover {
  color: #75b5aa;
}

/* Blue */
.theme-base-0d .sidebar,
.theme-base-0d .sidebar-toggle:active,
.theme-base-0d #sidebar-checkbox:checked ~ .sidebar-toggle {
  background-color: #6a9fb5;
}
.theme-base-0d .container a,
.theme-base-0d .sidebar-toggle,
.theme-base-0d .related-posts li a:hover {
  color: #6a9fb5;
}

/* Magenta */
.theme-base-0e .sidebar,
.theme-base-0e .sidebar-toggle:active,
.theme-base-0e #sidebar-checkbox:checked ~ .sidebar-toggle {
  background-color: #aa759f;
}
.theme-base-0e .container a,
.theme-base-0e .sidebar-toggle,
.theme-base-0e .related-posts li a:hover {
  color: #aa759f;
}

/* Brown */
.theme-base-0f .sidebar,
.theme-base-0f .sidebar-toggle:active,
.theme-base-0f #sidebar-checkbox:checked ~ .sidebar-toggle {
  background-color: #8f5536;
}
.theme-base-0f .container a,
.theme-base-0f .sidebar-toggle,
.theme-base-0f .related-posts li a:hover {
  color: #8f5536;
}

/*
 * Overlay sidebar
 *
 * Make the sidebar content overlay the viewport content instead of pushing it
 * aside when toggled.
 */

.sidebar-overlay #sidebar-checkbox:checked ~ .wrap {
  -webkit-transform: translateX(0);
      -ms-transform: translateX(0);
          transform: translateX(0);
}
.sidebar-overlay #sidebar-checkbox:checked ~ .sidebar-toggle {
  box-shadow: 0 0 0 .25rem #fff;
}
.sidebar-overlay #sidebar-checkbox:checked ~ .sidebar {
  box-shadow: .25rem 0 .5rem rgba(0,0,0,.1);
}

/* Only one tweak for a reverse layout */
.layout-reverse.sidebar-overlay #sidebar-checkbox:checked ~ .sidebar {
  box-shadow: -.25rem 0 .5rem rgba(0,0,0,.1);
}

/** 修改添加css **/
.entry-meta {
  font-size: 12px;
  font-size: 0.75rem;
  color: #bbbbbb;
  text-transform: uppercase;
}

.entry-meta a {
  color: #bbbbbb;
}

.entry-meta .vcard:before {
  content: " by ";
}

.entry-meta .tag {
  display: inline-block;
  padding: 2px 6px;
  margin: 4px;
  color: #ffffff;
  background-color: #000000;
  -webkit-border-radius: 3px;
     -moz-border-radius: 3px;
          border-radius: 3px;
}

.entry-meta .tag span {
  font-size: 10px;
  font-size: 0.625rem;
  vertical-align: super;
}

.entry-meta .tag:hover {
  background-color: #268bd2;
  color: #FFFFFF;
}

.entry-meta .tag:active {
  -webkit-transform: translate(0, 1px);
     -moz-transform: translate(0, 1px);
      -ms-transform: translate(0, 1px);
       -o-transform: translate(0, 1px);
          transform: translate(0, 1px);
  -webkit-box-shadow: 0 0 1px rgba(34, 34, 34, 0.2);
     -moz-box-shadow: 0 0 1px rgba(34, 34, 34, 0.2);
          box-shadow: 0 0 1px rgba(34, 34, 34, 0.2);
}

.inline-list {
  padding-left: 0;
  margin-left: 0;
  list-style: none;
}

.inline-list li {
  display: inline;
  list-style-type: none;
}
article{
  display: block;
}

article {
  padding: 25px 15px;
  margin-bottom: 20px;
  background-color: #ffffff;
  -webkit-border-radius: 3px;
     -moz-border-radius: 3px;
          border-radius: 3px;
  box-shadow: 0 0 0 0, 0 6px 12px rgba(34, 34, 34, 0.1);
  border-top:6px solid rgb(38, 139, 210);
  -webkit-box-shadow: 0 0 10px 0 #cfcfcf;
}

@media only screen and (min-width: 48em) {
  article {
    padding: 30px;
  }
}

@media only screen and (min-width: 62.5em) {
  article {
    padding: 50px 80px;
    margin-bottom: 30px;
  }
}
.entry,
.hentry {
  *zoom: 1;
}

.entry:before,
.hentry:before,
.entry:after,
.hentry:after {
  display: table;
  line-height: 0;
  content: "";
}

.entry:after,
.hentry:after {
  clear: both;
}

/** 分页 **/
.paginator {
font: 20px Arial,Helvetica,sans-serif;
color: #AAA;
margin: 20px 0;
line-height: 150%;
display: block;
}

.paginator a,.paginator span{
padding: 0 4px;
margin: 2px;
text-decoration: none;
border-radius: 3px;
color:#000;
}

.paginator .current-page {
color: white;
background: #000;
}

.paginator a:hover{
color: white;
background: #000;
}

/** read more **/

.read-more {
  position: relative;
  padding: 40px 15px 25px;
  margin: 40px 2px 20px 2px;
  text-align: center;
  background-color: #ffffff;
  -webkit-border-radius: 3px;
     -moz-border-radius: 3px;
          border-radius: 3px;
  *zoom: 1;
  box-shadow: 0 0 0 1px rgba(187, 187, 187, 0.1), 0 6px 12px rgba(0, 0, 0, 0.1);
  -webkit-box-shadow: 0 0 10px 0 #cfcfcf;
  box-shadow: 0 0 0 0, 0 6px 12px rgba(34, 34, 34, 0.1);

}

@media only screen and (min-width: 48em) {
  .read-more {
    padding: 50px 40px 25px;
    margin: 50px 10px 20px 10px;
  }
}

@media only screen and (min-width: 62.5em) {
  .read-more {
    max-width: 800px;
    padding: 50px 80px;
    margin: 60px auto;
  }
}

.read-more:before,
.read-more:after {
  display: table;
  line-height: 0;
  content: "";
}

.read-more:after {
  clear: both;
}

.read-more-header {
  position: absolute;
  top: -25px;
  right: 0;
  left: 0;
  height: 35px;
}

.read-more-header a {
  display: inline-block;
  padding: 8px 20px;
  margin-bottom: 20px;
  font-size: 14px;
  font-size: 0.875rem;
  color: #ffffff;
  background-color: #222222;
  border-color: #222222;
  border-style: solid !important;
  border-width: 2px !important;
  -webkit-border-radius: 3px;
     -moz-border-radius: 3px;
          border-radius: 3px;
}

.read-more-header a:visited {
  color: #ffffff;
}

.read-more-header a:hover {
  color: #222222;
  background-color: #ffffff;
}

.read-more-content {
  margin-bottom: 26px;
  margin-bottom: 1.625rem;
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.625;
}

.read-more-content h3 {
  margin: 0;
  font-size: 28px;
  font-size: 1.75rem;
}

.read-more-content h3 a {
  color: #222222;
}

@media only screen and (min-width: 48em) {
  .read-more-content h3 {
    font-size: 30px;
    font-size: 2rem;
  }
}

.read-more-list {
  border-top: solid 1px #bbbbbb;

}
.list-item {
  width: 100%;
  text-align: left;
}

.list-item h4 {
  margin-bottom: 0;
  font-size: 18px;
  font-size: 1.125rem;
}

.list-item span {
  display: block;
  font-size: 14px;
  color: #a2a2a2;
}

@media only screen and (min-width: 48em) {
  .list-item {
    float: left;
    width: 49%;

  }
  .list-item:nth-child(2) {
    text-align: right;
  }
}
.icons{
  float:right;
  width:20px;
  height:20px;
}
.icons img{
  width:20px;
  height:20px;
}
.topdiv{
  height: 40px;
bottom: 90px;
line-height: 40px;
right: 10px;
position: fixed;
text-align: center;
display: block;
}
.top{
  height: 40px;
width: 40px;
right: 0px;
display: block;
background: url(http://pic.woowen.com/top.png) 50% 50% no-repeat rgb(255, 255, 255);
position: absolute;
border: 1px #cccccc solid;
display: none;
cursor: pointer;
}
.extra-right{
  margin-left:1rem;
}


text:
package unversioned

import (
	"testing"
	"time"

	"k8s.io/kubernetes/pkg/util"
)

type fakeFlagSet struct {
	t   *testing.T
	set util.StringSet
}

func (f *fakeFlagSet) StringVar(p *string, name, value, usage string) {
	if p == nil {
		f.t.Errorf("unexpected nil pointer")
	}
	if usage == "" {
		f.t.Errorf("unexpected empty usage")
	}
	f.set.Insert(name)
}

func (f *fakeFlagSet) BoolVar(p *bool, name string, value bool, usage string) {
	if p == nil {
		f.t.Errorf("unexpected nil pointer")
	}
	if usage == "" {
		f.t.Errorf("unexpected empty usage")
	}
	f.set.Insert(name)
}

func (f *fakeFlagSet) UintVar(p *uint, name string, value uint, usage string) {
	if p == nil {
		f.t.Errorf("unexpected nil pointer")
	}
	if usage == "" {
		f.t.Errorf("unexpected empty usage")
	}
	f.set.Insert(name)
}

func (f *fakeFlagSet) DurationVar(p *time.Duration, name string, value time.Duration, usage string) {
	if p == nil {
		f.t.Errorf("unexpected nil pointer")
	}
	if usage == "" {
		f.t.Errorf("unexpected empty usage")
	}
	f.set.Insert(name)
}

func (f *fakeFlagSet) IntVar(p *int, name string, value int, usage string) {
	if p == nil {
		f.t.Errorf("unexpected nil pointer")
	}
	if usage == "" {
		f.t.Errorf("unexpected empty usage")
	}
	f.set.Insert(name)
}

func TestBindKubeletClientConfigFlags(t *testing.T) {
	flags := &fakeFlagSet{t, util.StringSet{}}
	config := &KubeletConfig{}
	BindKubeletClientConfigFlags(flags, config)
	if len(flags.set) != 6 {
		t.Errorf("unexpected flag set: %#v", flags)
	}
}


text:
const extend = require('./extend');
const win    = require('./window');

const utils = {
  warnOnce: function (method, message) {
    let warned = false;

    return function () {
      if (!warned) {
        win.window.console.warn(message);
        warned = true;
      }

      return method.apply(this, arguments);
    };
  },

  // http://stackoverflow.com/a/5634528/2280888
  _getQBezierValue: function (t, p1, p2, p3) {
    const iT = 1 - t;
    return iT * iT * p1 + 2 * iT * t * p2 + t * t * p3;
  },

  getQuadraticCurvePoint: function (startX, startY, cpX, cpY, endX, endY, position) {
    return {
      x:  utils._getQBezierValue(position, startX, cpX, endX),
      y:  utils._getQBezierValue(position, startY, cpY, endY),
    };
  },

  // http://gizma.com/easing/
  easeOutQuad: function (t, b, c, d) {
    t /= d;
    return -c * t*(t-2) + b;
  },

  copyAction: function (dest, src) {
    dest.name  = src.name;
    dest.axis  = src.axis;
    dest.edges = src.edges;

    return dest;
  },

  extend     : extend,
  hypot      : require('./hypot'),
  getOriginXY: require('./getOriginXY'),
};

extend(utils, require('./arr'));
extend(utils, require('./isType'));
extend(utils, require('./domUtils'));
extend(utils, require('./pointerUtils'));

module.exports = utils;


text:
package com.netflix.hollow.core.write;

import com.netflix.hollow.core.memory.ByteData;
import com.netflix.hollow.core.memory.ByteDataArray;
import com.netflix.hollow.core.memory.ThreadSafeBitSet;
import com.netflix.hollow.core.memory.encoding.FixedLengthElementArray;
import com.netflix.hollow.core.memory.encoding.HashCodes;
import com.netflix.hollow.core.memory.encoding.VarInt;
import com.netflix.hollow.core.memory.pool.WastefulRecycler;
import com.netflix.hollow.core.schema.HollowSetSchema;
import java.io.DataOutputStream;
import java.io.IOException;

public class HollowSetTypeWriteState extends HollowTypeWriteState {

    /// statistics required for writing fixed length set data
    private int bitsPerSetPointer;
    private int bitsPerElement;
    private int bitsPerSetSizeValue;
    private long totalOfSetBuckets[];

    /// data required for writing snapshot or delta
    private int maxOrdinal;
    private int maxShardOrdinal[];
    private FixedLengthElementArray setPointersAndSizesArray[];
    private FixedLengthElementArray elementArray[];

    /// additional data required for writing delta
    private int numSetsInDelta[];
    private long numBucketsInDelta[];
    private ByteDataArray deltaAddedOrdinals[];
    private ByteDataArray deltaRemovedOrdinals[];

    public HollowSetTypeWriteState(HollowSetSchema schema) {
        this(schema, -1);
    }

    public HollowSetTypeWriteState(HollowSetSchema schema, int numShards) {
        super(schema, numShards);
    }

    @Override
    public HollowSetSchema getSchema() {
        return (HollowSetSchema)schema;
    }

    public void prepareForWrite() {
        super.prepareForWrite();

        gatherStatistics();
    }

    private void gatherStatistics() {
        if(numShards == -1)
            calculateNumShards();

        int maxElementOrdinal = 0;

        int maxOrdinal = ordinalMap.maxOrdinal();

        maxShardOrdinal = new int[numShards];
        int minRecordLocationsPerShard = (maxOrdinal + 1) / numShards;
        for(int i=0;i<numShards;i++)
            maxShardOrdinal[i] = (i < ((maxOrdinal + 1) & (numShards - 1))) ? minRecordLocationsPerShard : minRecordLocationsPerShard - 1;

        int maxSetSize = 0;
        ByteData data = ordinalMap.getByteData().getUnderlyingArray();

        totalOfSetBuckets = new long[numShards];

        for(int i=0;i<=maxOrdinal;i++) {
            if(currentCyclePopulated.get(i) || previousCyclePopulated.get(i)) {
                long pointer = ordinalMap.getPointerForData(i);
                int size = VarInt.readVInt(data, pointer);

                int numBuckets = HashCodes.hashTableSize(size);

                if(size > maxSetSize)
                    maxSetSize = size;

                pointer += VarInt.sizeOfVInt(size);

                int elementOrdinal = 0;

                for(int j=0;j<size;j++) {
                    int elementOrdinalDelta = VarInt.readVInt(data, pointer);
                    elementOrdinal += elementOrdinalDelta;
                    if(elementOrdinal > maxElementOrdinal)
                        maxElementOrdinal = elementOrdinal;
                    pointer += VarInt.sizeOfVInt(elementOrdinalDelta);
                    pointer += VarInt.nextVLongSize(data, pointer);  /// discard hashed bucket
                }

                totalOfSetBuckets[i & (numShards-1)] += numBuckets;
            }
        }

        long maxShardTotalOfSetBuckets = 0;
        for(int i=0;i<numShards;i++) {
            if(totalOfSetBuckets[i] > maxShardTotalOfSetBuckets)
                maxShardTotalOfSetBuckets = totalOfSetBuckets[i];
        }

        bitsPerElement = 64 - Long.numberOfLeadingZeros(maxElementOrdinal + 1);
        bitsPerSetSizeValue = 64 - Long.numberOfLeadingZeros(maxSetSize);
        bitsPerSetPointer = 64 - Long.numberOfLeadingZeros(maxShardTotalOfSetBuckets);
    }

    private void calculateNumShards() {
        int maxOrdinal = ordinalMap.maxOrdinal();
        int maxSetSize = 0;
        int maxElementOrdinal = 0;

        ByteData data = ordinalMap.getByteData().getUnderlyingArray();

        long totalOfSetBuckets = 0;

        for(int i=0;i<=maxOrdinal;i++) {
            if(currentCyclePopulated.get(i)) {
                long pointer = ordinalMap.getPointerForData(i);
                int size = VarInt.readVInt(data, pointer);

                int numBuckets = HashCodes.hashTableSize(size);

                if(size > maxSetSize)
                    maxSetSize = size;

                pointer += VarInt.sizeOfVInt(size);

                int elementOrdinal = 0;

                for(int j=0;j<size;j++) {
                    int elementOrdinalDelta = VarInt.readVInt(data, pointer);
                    elementOrdinal += elementOrdinalDelta;
                    if(elementOrdinal > maxElementOrdinal)
                        maxElementOrdinal = elementOrdinal;
                    pointer += VarInt.sizeOfVInt(elementOrdinalDelta);
                    pointer += VarInt.nextVLongSize(data, pointer);  /// discard hashed bucket
                }

                totalOfSetBuckets += numBuckets;
            }
        }

        long bitsPerElement = 64 - Long.numberOfLeadingZeros(maxElementOrdinal + 1);
        long bitsPerSetSizeValue = 64 - Long.numberOfLeadingZeros(maxSetSize);
        long bitsPerSetPointer = 64 - Long.numberOfLeadingZeros(totalOfSetBuckets);

        long projectedSizeOfType = (bitsPerSetSizeValue + bitsPerSetPointer) * (maxOrdinal + 1) / 8;
        projectedSizeOfType += (bitsPerElement * totalOfSetBuckets) / 8;

        numShards = 1;
        while(stateEngine.getTargetMaxTypeShardSize() * numShards < projectedSizeOfType)
            numShards *= 2;
    }

    @Override
    public void calculateSnapshot() {
        maxOrdinal = ordinalMap.maxOrdinal();
        int bitsPerSetFixedLengthPortion = bitsPerSetSizeValue + bitsPerSetPointer;

        setPointersAndSizesArray = new FixedLengthElementArray[numShards];
        elementArray = new FixedLengthElementArray[numShards];

        for(int i=0;i<numShards;i++) {
            setPointersAndSizesArray[i] = new FixedLengthElementArray(WastefulRecycler.DEFAULT_INSTANCE, (long)bitsPerSetFixedLengthPortion * (maxShardOrdinal[i] + 1));
            elementArray[i] = new FixedLengthElementArray(WastefulRecycler.DEFAULT_INSTANCE, (long)bitsPerElement * totalOfSetBuckets[i]);
        }

        ByteData data = ordinalMap.getByteData().getUnderlyingArray();

        int bucketCounter[] = new int[numShards];
        int shardMask = numShards - 1;

        HollowWriteStateEnginePrimaryKeyHasher primaryKeyHasher = null;

        if(getSchema().getHashKey() != null)
            primaryKeyHasher = new HollowWriteStateEnginePrimaryKeyHasher(getSchema().getHashKey(), getStateEngine());

        for(int ordinal=0;ordinal<=maxOrdinal;ordinal++) {
            int shardNumber = ordinal & shardMask;
            int shardOrdinal = ordinal / numShards;

            if(currentCyclePopulated.get(ordinal)) {
                long readPointer = ordinalMap.getPointerForData(ordinal);

                int size = VarInt.readVInt(data, readPointer);
                readPointer += VarInt.sizeOfVInt(size);

                int numBuckets = HashCodes.hashTableSize(size);

                setPointersAndSizesArray[shardNumber].setElementValue(((long)bitsPerSetFixedLengthPortion * shardOrdinal) + bitsPerSetPointer, bitsPerSetSizeValue, size);

                int elementOrdinal = 0;

                for(int j=0;j<numBuckets;j++) {
                    elementArray[shardNumber].setElementValue((long)bitsPerElement * (bucketCounter[shardNumber] + j), bitsPerElement, (1L << bitsPerElement) - 1);
                }

                for(int j=0;j<size;j++) {
                    int elementOrdinalDelta = VarInt.readVInt(data, readPointer);
                    readPointer += VarInt.sizeOfVInt(elementOrdinalDelta);
                    int hashedBucket = VarInt.readVInt(data, readPointer);
                    readPointer += VarInt.sizeOfVInt(hashedBucket);

                    elementOrdinal += elementOrdinalDelta;

                    if(primaryKeyHasher != null)
                        hashedBucket = primaryKeyHasher.getRecordHash(elementOrdinal) & (numBuckets - 1);

                    while(elementArray[shardNumber].getElementValue((long)bitsPerElement * (bucketCounter[shardNumber] + hashedBucket), bitsPerElement) != ((1L << bitsPerElement) - 1)) {
                        hashedBucket++;
                        hashedBucket &= (numBuckets - 1);
                    }

                    elementArray[shardNumber].clearElementValue((long)bitsPerElement * (bucketCounter[shardNumber] + hashedBucket), bitsPerElement);
                    elementArray[shardNumber].setElementValue((long)bitsPerElement * (bucketCounter[shardNumber] + hashedBucket), bitsPerElement, elementOrdinal);
                }

                bucketCounter[shardNumber] += numBuckets;
            }

            setPointersAndSizesArray[shardNumber].setElementValue((long)bitsPerSetFixedLengthPortion * shardOrdinal, bitsPerSetPointer, bucketCounter[shardNumber]);
        }
    }

    @Override
    public void writeSnapshot(DataOutputStream os) throws IOException {
        /// for unsharded blobs, support pre v2.1.0 clients
        if(numShards == 1) {
            writeSnapshotShard(os, 0);
        } else {
            /// overall max ordinal
            VarInt.writeVInt(os, maxOrdinal);

            for(int i=0;i<numShards;i++) {
                writeSnapshotShard(os, i);
            }
        }

        /// Populated bits
        currentCyclePopulated.serializeBitsTo(os);

        setPointersAndSizesArray = null;
        elementArray = null;
    }

    private void writeSnapshotShard(DataOutputStream os, int shardNumber) throws IOException {
        int bitsPerSetFixedLengthPortion = bitsPerSetSizeValue + bitsPerSetPointer;

        /// 1) max ordinal
        VarInt.writeVInt(os, maxShardOrdinal[shardNumber]);

        /// 2) statistics
        VarInt.writeVInt(os, bitsPerSetPointer);
        VarInt.writeVInt(os, bitsPerSetSizeValue);
        VarInt.writeVInt(os, bitsPerElement);
        VarInt.writeVLong(os, totalOfSetBuckets[shardNumber]);

        /// 3) set pointer array
        int numSetFixedLengthLongs = maxShardOrdinal[shardNumber] == -1 ? 0 : (int)((((long)(maxShardOrdinal[shardNumber] + 1) * bitsPerSetFixedLengthPortion) - 1) / 64) + 1;
        VarInt.writeVInt(os, numSetFixedLengthLongs);
        for(int i=0;i<numSetFixedLengthLongs;i++) {
            os.writeLong(setPointersAndSizesArray[shardNumber].get(i));
        }

        /// 4) element array
        int numElementLongs = totalOfSetBuckets[shardNumber] == 0 ? 0 : (int)(((totalOfSetBuckets[shardNumber] * bitsPerElement) - 1) / 64) + 1;
        VarInt.writeVInt(os, numElementLongs);
        for(int i=0;i<numElementLongs;i++) {
            os.writeLong(elementArray[shardNumber].get(i));
        }
    }

    @Override
    public void calculateDelta() {
        calculateDelta(previousCyclePopulated, currentCyclePopulated);
    }

    @Override
    public void writeDelta(DataOutputStream dos) throws IOException {
        writeCalculatedDelta(dos);
    }

    @Override
    public void calculateReverseDelta() {
        calculateDelta(currentCyclePopulated, previousCyclePopulated);
    }

    @Override
    public void writeReverseDelta(DataOutputStream dos) throws IOException {
        writeCalculatedDelta(dos);
    }

    public void calculateDelta(ThreadSafeBitSet fromCyclePopulated, ThreadSafeBitSet toCyclePopulated) {
        maxOrdinal = ordinalMap.maxOrdinal();
        int bitsPerSetFixedLengthPortion = bitsPerSetSizeValue + bitsPerSetPointer;

        numSetsInDelta = new int[numShards];
        numBucketsInDelta = new long[numShards];
        setPointersAndSizesArray = new FixedLengthElementArray[numShards];
        elementArray = new FixedLengthElementArray[numShards];
        deltaAddedOrdinals = new ByteDataArray[numShards];
        deltaRemovedOrdinals = new ByteDataArray[numShards];

        ThreadSafeBitSet deltaAdditions = toCyclePopulated.andNot(fromCyclePopulated);

        int shardMask = numShards - 1;

        int addedOrdinal = deltaAdditions.nextSetBit(0);
        while(addedOrdinal != -1) {
            numSetsInDelta[addedOrdinal & shardMask]++;
            long readPointer = ordinalMap.getPointerForData(addedOrdinal);
            int size = VarInt.readVInt(ordinalMap.getByteData().getUnderlyingArray(), readPointer);
            numBucketsInDelta[addedOrdinal & shardMask] += HashCodes.hashTableSize(size);

            addedOrdinal = deltaAdditions.nextSetBit(addedOrdinal + 1);
        }

        for(int i=0;i<numShards;i++) {
            setPointersAndSizesArray[i] = new FixedLengthElementArray(WastefulRecycler.DEFAULT_INSTANCE, (long)numSetsInDelta[i] * bitsPerSetFixedLengthPortion);
            elementArray[i] = new FixedLengthElementArray(WastefulRecycler.DEFAULT_INSTANCE, (long)numBucketsInDelta[i] * bitsPerElement);
            deltaAddedOrdinals[i] = new ByteDataArray(WastefulRecycler.DEFAULT_INSTANCE);
            deltaRemovedOrdinals[i] = new ByteDataArray(WastefulRecycler.DEFAULT_INSTANCE);
        }

        ByteData data = ordinalMap.getByteData().getUnderlyingArray();

        int setCounter[] = new int[numShards];
        long bucketCounter[] = new long[numShards];
        int previousRemovedOrdinal[] = new int[numShards];
        int previousAddedOrdinal[] = new int[numShards];

        HollowWriteStateEnginePrimaryKeyHasher primaryKeyHasher = null;

        if(getSchema().getHashKey() != null)
            primaryKeyHasher = new HollowWriteStateEnginePrimaryKeyHasher(getSchema().getHashKey(), getStateEngine());

        for(int ordinal=0;ordinal<=maxOrdinal;ordinal++) {
            int shardNumber = ordinal & shardMask;
            if(deltaAdditions.get(ordinal)) {
                long readPointer = ordinalMap.getPointerForData(ordinal);

                int size = VarInt.readVInt(data, readPointer);
                readPointer += VarInt.sizeOfVInt(size);

                int numBuckets = HashCodes.hashTableSize(size);

                long endBucketPosition = bucketCounter[shardNumber] + numBuckets;

                setPointersAndSizesArray[shardNumber].setElementValue((long)bitsPerSetFixedLengthPortion * setCounter[shardNumber], bitsPerSetPointer, endBucketPosition);
                setPointersAndSizesArray[shardNumber].setElementValue(((long)bitsPerSetFixedLengthPortion * setCounter[shardNumber]) + bitsPerSetPointer, bitsPerSetSizeValue, size);

                int elementOrdinal = 0;

                for(int j=0;j<numBuckets;j++) {
                    elementArray[shardNumber].setElementValue((long)bitsPerElement * (bucketCounter[shardNumber] + j), bitsPerElement, (1L << bitsPerElement) - 1);
                }

                for(int j=0;j<size;j++) {
                    int elementOrdinalDelta = VarInt.readVInt(data, readPointer);
                    readPointer += VarInt.sizeOfVInt(elementOrdinalDelta);
                    int hashedBucket = VarInt.readVInt(data, readPointer);
                    readPointer += VarInt.sizeOfVInt(hashedBucket);
                    elementOrdinal += elementOrdinalDelta;

                    if(primaryKeyHasher != null)
                        hashedBucket = primaryKeyHasher.getRecordHash(elementOrdinal) & (numBuckets - 1);

                    while(elementArray[shardNumber].getElementValue((long)bitsPerElement * (bucketCounter[shardNumber] + hashedBucket), bitsPerElement) != ((1L << bitsPerElement) - 1)) {
                        hashedBucket++;
                        hashedBucket &= (numBuckets - 1);
                    }

                    elementArray[shardNumber].clearElementValue((long)bitsPerElement * (bucketCounter[shardNumber] + hashedBucket), bitsPerElement);
                    elementArray[shardNumber].setElementValue((long)bitsPerElement * (bucketCounter[shardNumber] + hashedBucket), bitsPerElement, elementOrdinal);
                }

                bucketCounter[shardNumber] += numBuckets;
                setCounter[shardNumber]++;

                int shardOrdinal = ordinal / numShards;
                VarInt.writeVInt(deltaAddedOrdinals[shardNumber], shardOrdinal - previousAddedOrdinal[shardNumber]);
                previousAddedOrdinal[shardNumber] = shardOrdinal;
            } else if(fromCyclePopulated.get(ordinal) && !toCyclePopulated.get(ordinal)) {
                int shardOrdinal = ordinal / numShards;
                VarInt.writeVInt(deltaRemovedOrdinals[shardNumber], shardOrdinal - previousRemovedOrdinal[shardNumber]);
                previousRemovedOrdinal[shardNumber] = shardOrdinal;
            }
        }
    }

    private void writeCalculatedDelta(DataOutputStream os) throws IOException {
        /// for unsharded blobs, support pre v2.1.0 clients
        if(numShards == 1) {
            writeCalculatedDeltaShard(os, 0);
        } else {
            /// overall max ordinal
            VarInt.writeVInt(os, maxOrdinal);

            for(int i=0;i<numShards;i++) {
                writeCalculatedDeltaShard(os, i);
            }
        }

        setPointersAndSizesArray = null;
        elementArray = null;
        deltaAddedOrdinals = null;
        deltaRemovedOrdinals = null;
    }

    private void writeCalculatedDeltaShard(DataOutputStream os, int shardNumber) throws IOException {

        int bitsPerSetFixedLengthPortion = bitsPerSetSizeValue + bitsPerSetPointer;

        /// 1) max ordinal
        VarInt.writeVInt(os, maxShardOrdinal[shardNumber]);

        /// 2) removal / addition ordinals.
        VarInt.writeVLong(os, deltaRemovedOrdinals[shardNumber].length());
        deltaRemovedOrdinals[shardNumber].getUnderlyingArray().writeTo(os, 0, deltaRemovedOrdinals[shardNumber].length());
        VarInt.writeVLong(os, deltaAddedOrdinals[shardNumber].length());
        deltaAddedOrdinals[shardNumber].getUnderlyingArray().writeTo(os, 0, deltaAddedOrdinals[shardNumber].length());

        /// 3) statistics
        VarInt.writeVInt(os, bitsPerSetPointer);
        VarInt.writeVInt(os, bitsPerSetSizeValue);
        VarInt.writeVInt(os, bitsPerElement);
        VarInt.writeVLong(os, totalOfSetBuckets[shardNumber]);

        /// 4) set pointer array
        int numSetFixedLengthLongs = numSetsInDelta[shardNumber] == 0 ? 0 : (int)((((long)numSetsInDelta[shardNumber] * bitsPerSetFixedLengthPortion) - 1) / 64) + 1;
        VarInt.writeVInt(os, numSetFixedLengthLongs);
        for(int i=0;i<numSetFixedLengthLongs;i++) {
            os.writeLong(setPointersAndSizesArray[shardNumber].get(i));
        }

        /// 5) element array
        int numElementLongs = numBucketsInDelta[shardNumber] == 0 ? 0 : (int)(((numBucketsInDelta[shardNumber] * bitsPerElement) - 1) / 64) + 1;
        VarInt.writeVInt(os, numElementLongs);
        for(int i=0;i<numElementLongs;i++) {
            os.writeLong(elementArray[shardNumber].get(i));
        }
    }

}


text:
package com.vzome.core.zomic.program;

import com.vzome.core.math.symmetry.Axis;
import com.vzome.core.zomic.ZomicException;

public class Reflect extends Permute{

    @Override
	public  void accept( Visitor visitor ) throws ZomicException
	{
		visitor .visitReflect( getAxis() );
	}

	public Reflect()
	{
		super( null );
	}

    @Override
	public  void setAxis( Axis axis )
	{
		super .setAxis( axis );
	}

}


text:
@implementation KWAsyncVerifier

@synthesize timeout;

+ (id)asyncVerifierWithExpectationType:(KWExpectationType)anExpectationType callSite:(KWCallSite *)aCallSite matcherFactory:(KWMatcherFactory *)aMatcherFactory reporter:(id<KWReporting>)aReporter probeTimeout:(NSInteger)probeTimeout;
{
  KWAsyncVerifier *verifier = [[self alloc] initWithExpectationType:anExpectationType callSite:aCallSite matcherFactory:aMatcherFactory reporter:aReporter];
  verifier.timeout = probeTimeout;
  return [verifier autorelease];
}

- (id)initWithExpectationType:(KWExpectationType)anExpectationType callSite:(KWCallSite *)aCallSite matcherFactory:(KWMatcherFactory *)aMatcherFactory reporter:(id<KWReporting>)aReporter {
  if ((self = [super initWithExpectationType:anExpectationType callSite:aCallSite matcherFactory:aMatcherFactory reporter:aReporter])) {
    self.timeout = kKW_DEFAULT_PROBE_TIMEOUT;
  }
  return self;
}

- (void)verifyWithProbe:(KWAsyncMatcherProbe *)aProbe {
  @try {
    KWProbePoller *poller = [[KWProbePoller alloc] initWithTimeout:self.timeout delay:kKW_DEFAULT_PROBE_DELAY];

    if (![poller check:aProbe]) {
      if (self.expectationType == KWExpectationTypeShould) {
        NSString *message = [aProbe.matcher failureMessageForShould];
        KWFailure *failure = [KWFailure failureWithCallSite:self.callSite message:message];
        [self.reporter reportFailure:failure];
      } else if (self.expectationType == KWExpectationTypeShouldNot) {
        NSString *message = [aProbe.matcher failureMessageForShouldNot];
        KWFailure *failure = [KWFailure failureWithCallSite:self.callSite message:message];
        [self.reporter reportFailure:failure];
      } else if (self.expectationType == KWExpectationTypeMaybe) {
        // don't do anything
      }
    }
    [poller release];

  } @catch (NSException *exception) {
    KWFailure *failure = [KWFailure failureWithCallSite:self.callSite message:[exception description]];
    [self.reporter reportFailure:failure];
  }
}

- (void)verifyWithMatcher:(id<KWMatching>)aMatcher {
  KWAsyncMatcherProbe *probe = [[[KWAsyncMatcherProbe alloc] initWithMatcher:aMatcher] autorelease];
  [self verifyWithProbe:probe];
}

@end

@implementation KWAsyncMatcherProbe

@synthesize matcher;

- (id)initWithMatcher:(id<KWMatching>)aMatcher;
{
  if ((self = [super init])) {
    matcher = [aMatcher retain];

    // make sure the matcher knows we are going to evaluate it multiple times
    if ([aMatcher respondsToSelector:@selector(willEvaluateMultipleTimes)]) {
      [aMatcher setWillEvaluateMultipleTimes:YES];
    }
  }
  return self;
}

- (void)dealloc
{
  [matcher release];
  [super dealloc];
}

- (BOOL)isSatisfied;
{
  return matchResult;
}

- (void)sample;
{
  matchResult = [matcher evaluate];
}

@end


text:
When /^I delete the (\d+)(?:st|nd|rd|th) "([^\"]*)"$/ do |pos, resource_name|
  visit eval("#{resource_name.pluralize}_path")

  within(:row, pos.to_i) { find(:xpath, ".//a[contains(text(), 'Actions')]").click }

  page.execute_script 'window.confirm = function () { return true }'
  click_link I18n.t('general.destroy')
end


text:
<?php
/**
 * Label class
 * Converts a QLabel to be drawn as a bootstrap "Static Control".
 */
namespace QCubed\Plugin\Bootstrap;

class Label extends \QLabel {
	protected $strCssClass = "form-control-static";
	protected $strTagName = "p";
}


text:
<!--
Copyright 2013 The Polymer Authors. All rights reserved.
Use of this source code is governed by a BSD-style
license that can be found in the LICENSE file.
-->
<!--
/**
 * @module Polymer Elements
 */
/**
 * polymer-ajax can be used to perform XMLHttpRequests.
 *
 * Example:
 *
 *     <polymer-ajax auto url="http://gdata.youtube.com/feeds/api/videos/"
 *         params='{"alt":"json", "q":"chrome"}'
 *         handleAs="json"
 *         on-polymer-response="{{handleResponse}}">
 *     </polymer-ajax>
 *
 * @class polymer-ajax
 */
/**
 * Fired when a response is received.
 *
 * @event polymer-response
 */
/**
 * Fired when an error is received.
 *
 * @event polymer-error
 */
/**
 * Fired whenever a response or an error is received.
 *
 * @event polymer-complete
 */
-->
<link rel="import" href="../polymer/polymer.html">
<link rel="import" href="polymer-xhr.html">

<polymer-element name="polymer-ajax" attributes="url handleAs auto params response method headers body contentType">
  <script>
    Polymer('polymer-ajax', {
      /**
       * The URL target of the request.
       *
       * @attribute url
       * @type string
       * @default ''
       */
      url: '',
      /**
       * Specifies what data to store in the 'response' property, and
       * to deliver as 'event.response' in 'response' events.
       *
       * One of:
       *
       *    `text`: uses XHR.responseText
       *
       *    `xml`: uses XHR.responseXML
       *
       *    `json`: uses XHR.responseText parsed as JSON
       *
       * @attribute handleAs
       * @type string
       * @default 'text'
       */
      handleAs: '',
      /**
       * If true, automatically performs an Ajax request when either url or params has changed.
       *
       * @attribute auto
       * @type boolean
       * @default false
       */
      auto: false,
      /**
       * Parameters to send to the specified URL, as JSON.
       *
       * @attribute params
       * @type string (JSON)
       * @default ''
       */
      params: '',
      /**
       * Returns the response object.
       *
       * @attribute response
       * @type Object
       * @default null
       */
      response: null,
      /**
       * The HTTP method to use such as 'GET', 'POST', 'PUT', 'DELETE'.
       * Default is 'GET'.
       *
       * @attribute method
       * @type string
       * @default ''
       */
      method: '',
      /**
       * HTTP request headers to send.
       *
       * Example:
       *
       *     <polymer-ajax auto url="http://somesite.com"
       *         headers='{"X-Requested-With": "XMLHttpRequest"}'
       *         handleAs="json"
       *         on-polymer-response="{{handleResponse}}">
       *     </polymer-ajax>
       *
       * @attribute headers
       * @type Object
       * @default null
       */
      headers: null,
      /**
       * Optional raw body content to send when method === "POST"
       *
       * Example:
       *
       *     <polymer-ajax method="POST" auto url="http://somesite.com"
       *         body='{"foo":1, "bar":2}'>
       *     </polymer-ajax>
       *
       * @attribute body
       * @type Object
       * @default null
       */
      body: null,
      /**
       * Content type to use when sending data.
       *
       * @attribute contentType
       * @type string
       * @default 'application/x-www-form-urlencoded'
       */
      contentType: 'application/x-www-form-urlencoded',
      ready: function() {
        this.xhr = document.createElement('polymer-xhr');
      },
      receive: function(response, xhr) {
        if (this.isSuccess(xhr)) {
          this.processResponse(xhr);
        } else {
          this.error(xhr);
        }
        this.complete(xhr);
      },
      isSuccess: function(xhr) {
        var status = xhr.status || 0;
        return !status || (status >= 200 && status < 300);
      },
      processResponse: function(xhr) {
        var response = this.evalResponse(xhr);
        this.response = response;
        this.fire('polymer-response', {response: response, xhr: xhr});
      },
      error: function(xhr) {
        var response = xhr.status + ': ' + xhr.responseText;
        this.fire('polymer-error', {response: response, xhr: xhr});
      },
      complete: function(xhr) {
        this.fire('polymer-complete', {response: xhr.status, xhr: xhr});
      },
      evalResponse: function(xhr) {
        return this[(this.handleAs || 'text') + 'Handler'](xhr);
      },
      xmlHandler: function(xhr) {
        return xhr.responseXML;
      },
      textHandler: function(xhr) {
        return xhr.responseText;
      },
      jsonHandler: function(xhr) {
        var r = xhr.responseText;
        try {
          return JSON.parse(r);
        } catch (x) {
          return r;
        }
      },
      urlChanged: function() {
        if (!this.handleAs) {
          var ext = String(this.url).split('.').pop();
          switch (ext) {
            case 'json':
              this.handleAs = 'json';
              break;
          }
        }
        this.autoGo();
      },
      paramsChanged: function() {
        this.autoGo();
      },
      autoChanged: function() {
        this.autoGo();
      },
      // TODO(sorvell): multiple side-effects could call autoGo
      // during one micro-task, use a job to have only one action
      // occur
      autoGo: function() {
        if (this.auto) {
          this.goJob = this.job(this.goJob, this.go, 0);
        }
      },
      /**
       * Performs an Ajax request to the url specified.
       *
       * @method go
       */
      go: function() {
        var args = this.xhrArgs || {};
        // TODO(sjmiles): alternatively, we could force POST if body is set
        if (this.method === 'POST') {
          args.body = this.body || args.body;
        }
        args.params = this.params || args.params;
        if (args.params && typeof(args.params) == 'string') {
          args.params = JSON.parse(args.params);
        }
        args.headers = this.headers || args.headers || {};
        if (args.headers && typeof(args.headers) == 'string') {
          args.headers = JSON.parse(args.headers);
        }
        if (this.contentType) {
          args.headers['content-type'] = this.contentType;
        }
        args.callback = this.receive.bind(this);
        args.url = this.url;
        args.method = this.method;
        return args.url && this.xhr.request(args);
      }
    });
  </script>
</polymer-element>


text:
boardinghouse.signals module
============================

.. automodule:: boardinghouse.signals
    :members:
    :show-inheritance:


text:
sap.ui.define(function() {
	"use strict";
	return "dependency1";
});


text:
package org.mbari.vars.services;

import org.slf4j.LoggerFactory;
import retrofit2.Call;
import retrofit2.Callback;
import retrofit2.Response;

import java.util.concurrent.CompletableFuture;

/**
 * @author Brian Schlining
 * @since 2017-05-27T11:55:00
 */
public interface RetrofitWebService {

    /**
     * Wraps a retrofit call with a CompletableFuture and does an async request using
     * the Call object. This keeps us from polluting the code base with retrofit specific
     * code.
     * @param call
     * @param <T>
     * @return
     */
    default <T> CompletableFuture<T> sendRequest(Call<T> call) {
        CompletableFuture<T> f = new CompletableFuture<>();
        call.enqueue(new Callback<T>() {
            @Override
            public void onResponse(Call<T> call, Response<T> response) {
                f.complete(response.body());
            }

            @Override
            public void onFailure(Call<T> call, Throwable throwable) {
                LoggerFactory.getLogger(getClass())
                        .warn("Exception thrown when making a REST call", throwable);
                f.completeExceptionally(throwable);
            }
        });
        return f;
    }

    /**
     * Convert an object to it's string form or null if the object is null
     * @param obj
     * @return
     */
    default String asString(Object obj) {
        return (obj == null) ? null : obj.toString();
    }

}


text:
<!DOCTYPE html>

ARGO WEB UI

                    Terms of Use
                     -- 10/10/2016

                        This policy is effective from 10/10/2016 and replaces an earlier version of this document.

                        This policy is one of a set of documents that together define  the Security Policy.

                        This individual document must be considered in conjunction with all the policy documents in the set.

                        By registering as a user you declare that you have read, understood and will abide by the following conditions of use:

You shall only use the resources/services to perform work, or transmit or store data consistent with the stated goals, policies and conditions of use as defined by the body or bodies granting you access.

You shall provide appropriate acknowledgement of support or citation for your use of the resources/services provided as required by the body or bodies granting you access.

You shall not use the resources/services for any purpose that is unlawful and not (attempt to) breach or circumvent any administrative or security controls.

You shall respect intellectual property and confidentiality agreements.

You shall protect your access credentials (e.g. private keys or passwords).

You shall keep all your registered information correct and up to date.

You shall immediately report any known or suspected security breach or misuse of the resources/services or access credentials to the specified incident reporting locations and to the relevant credential issuing authorities.

You use the resources/services at your own risk. There is no guarantee that the resources/services will be available at any time or that their integrity or confidentiality will be preserved or that they will suit any purpose.

You agree that logged information, including personal data provided by you for registration purposes, may be used for administrative, operational, accounting, monitoring and security purposes. You agree that this logged information may be disclosed to other authorised participants via secured mechanisms, only for the same purposes and only as far as necessary to provide the services.

You agree that the body or bodies granting you access and resource/service providers are entitled to regulate, suspend or terminate your access without prior notice and without compensation, within their domain of authority, and you shall immediately comply with their instructions.

You are liable for the consequences of your violation of any of these conditions of use, which may include but are not limited to the reporting of your violation to your home institute and, if the activities are thought to be illegal, to appropriate law enforcement agencies.


text: Exemplo de Consumo da API REST Marvel com Xamarin.Forms


text:
import Route from '@ember/routing/route';
import { inject as service } from '@ember/service';
import { get } from '@ember/object';
import { hash } from 'rsvp';

export default Route.extend({
  globalStore: service(),
  model: function() {
    let gs = get(this, 'globalStore');
    return hash({
      githubConfig: gs.find('authconfig', 'github'),
      principals: gs.all('principal')
    }).catch( e => {
      return e;
    })
  },

  setupController: function(controller, model) {
    let hostname = get(model, 'githubConfig.hostname')
    controller.setProperties({
      model: model,
      confirmDisable: false,
      testing: false,
      organizations: get(this, 'session.orgs')||[],
      errors: null,
      isEnterprise: ( hostname && hostname !== 'github.com' ? true : false),
    });

    controller.set('saved',true);
  }
});


text:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace SyncProgrammingProblems
{
    class SyncProgrammingProblems
    {
        static List<int> PrimesInRange(int rangeFirst, int rangeLast)
        {
            List<int> primes = new List<int>();

            for (int number = rangeFirst; number < rangeLast; number++)
            {
                bool isPrime = true;
                for (int divider = 2; divider < number; divider++)
                {
                    if (number % divider == 0)
                    {
                        isPrime = false;
                        break;
                    }
                }
                if (isPrime)
                {
                    primes.Add(number);
                }
            }

            return primes;
        }

        static void PrintPrimesInRange(int rangeFirst, int rangeLast)
        {
            List<int> primesInRange = PrimesInRange(rangeFirst, rangeLast);

            Console.WriteLine("Primes from {0} to {1} calculated. Print now (y/n)?", rangeFirst, rangeLast);
            string userAnswer = Console.ReadLine();

            if (userAnswer == "y" || userAnswer == "Y")
            {
                foreach (var prime in primesInRange)
                {
                    Console.WriteLine(prime);
                }
            }
        }

        static void Main(string[] args)
        {
            Console.WriteLine("Enter range first:");
            int rangeFirst = int.Parse(Console.ReadLine());
            Console.WriteLine("Enter range last:");
            int rangeLast = int.Parse(Console.ReadLine());

            Console.WriteLine("Calculating primes... you can't do anything now");
            PrintPrimesInRange(rangeFirst, rangeLast);

            while (true)
            {
                Console.WriteLine("Here, write some text:");
                Console.ReadLine();
            }
        }
    }
}


text:
require 'spec_helper'

describe "authentications/show" do
  before(:each) do
    @authentication = assign(:authentication, stub_model(Authentication,
      :user_id => "User",
      :provider => "Provider",
      :uid => "Uid",
      :token => "Token",
      :token_secret => "Token Secret"
    ))
  end

  it "renders attributes in <p>" do
    render
    # Run the generator again with the --webrat flag if you want to use webrat matchers
    rendered.should match(/User/)
    rendered.should match(/Provider/)
    rendered.should match(/Uid/)
    rendered.should match(/Token/)
    rendered.should match(/Token Secret/)
  end
end


text:
import riffle
import time
import os
import sys
import random
import argparse
import json
import math
import struct
import binascii

parser = argparse.ArgumentParser(description="A script for spamming the Exis node backend with random data")
parser.add_argument('-p','--parser',default='../app/parser.json',help="Location of parser json file",metavar="parser")
parser.add_argument('-f','--frequency_hz',default=1, help="Frequency in hertz of messages sent over the network. Defaults to 10",metavar="frequency_hz")
parser.add_argument('-b','--batch_size',default=5, help="Size of CAN message batches. Defaults to 5",metavar="batch_size")
parser.add_argument('-i','--can_interface',default="can1", help="can interface used to read message from the bus",metavar="can_interface")
parser.add_argument('-l','--backend_location',default="ws://192.168.1.99:9000", help="Location of backend.  Defaults to ws://192.168.1.99:9000",metavar="backend")
parser.add_argument('-sb','--spam_bus',default=True, help="Boolean: spam CAN bus on the WCM. Defaults to True",metavar="spam_bus")
args = vars(parser.parse_args())

with open(args['parser']) as parser_file:
    parser = json.load(parser_file)

def pick_message():
    rand_msg_type = random.choice(parser['msg_type'].keys())
    return rand_msg_type, parser['msg_type'][rand_msg_type]

def generate_sid(module):
    if module is not 'ALL' and 'from' in parser['SID'][module]:
        int_sid = parser['SID'][module]['from']
        sid = "{0:0{1}X}".format(int_sid,3)
        print(sid)
    else:
        sid = '000'
    return sid

def encode_data(data, bytes):
    byte_mask= {
                1: 0xFF,
                2: 0xFFFF,
                3: 0xFFFFFF,
                4: 0xFFFFFFFF,
                5: 0xFFFFFFFFFF,
                6: 0xFFFFFFFFFFFF,
                7: 0xFFFFFFFFFFFFFF
                }
    data = int(data & byte_mask[bytes])
    encoded = format(data, 'x')
    length = len(encoded)
    encoded = encoded.zfill(length+length%2)
    print("Data: %s Byte Size: %s length %s" %(encoded ,bytes, len(encoded)))
    return encoded

def generate_message():
    print("Generating random message")
    data_hex = ""
    msg_type,msg_spec = pick_message()

    while 'cmd' in msg_spec:
        msg_type,msg_spec = pick_message()

    module = msg_spec['module']

    for val in msg_spec['values']:
        spec = val[val.keys()[0]]
        #print(val.keys()[0])
        if 'nominal_high' in spec and 'nominal_low' in spec and 'scalar' in spec and 'byte_size' in spec and str(spec['units']) != 'str':
            off = spec['nominal_high'] * .1
            high = spec['nominal_high'] + off
            low = spec['nominal_low'] - off
            byte_size = spec['byte_size']
            scalar = spec['scalar']
            data = int(random.uniform(low,high)/scalar)
            data_hex = data_hex + encode_data(data,byte_size)
        else:
            data_hex = "00"

    sid = generate_sid(module)
    print("SID: %s Type: %s Data: %s " %(sid,msg_type,data_hex))
    return sid, msg_type, data_hex

class spammer(riffle.Domain):

    def onJoin(self):
        print("Connected to Exis Node at %s" % args['backend_location'])
        sleep_time = math.pow(int(args['frequency_hz']), -1)
        while True:
            if args['spam_bus']:
                sid, msg_type, data = generate_message()
                self.publish("cmd", "%s#%s%s" %(sid,msg_type,data))
                #subprocess.call('cansend %s %s#%s%s'%(args['can_interface'],sid,msg_type,data) , shell=True)
            else:
                batch = []
                for i in range(0,args['batch_size']):
                    sid, msg_type, data  = generate_message()
                    batch.append(mock_msg)
            #self.publish("can",[[str(current_milli_time()),"100","00","00 00"],[str(current_milli_time()),"100","00","00 00"]]) # Using for tests
            wait_time = (1/int(args['frequency_hz']))
            time.sleep(sleep_time)

if __name__ == '__main__':
    print("Starting exis node spammer")
    print(args['backend_location'])
    riffle.SetFabric(args['backend_location'])
    spammer('xs.node').join()


text:
module Mortise
  class Issue
    attr_reader :bp_id, :certainty, :error_description, :error_snippet,
                :error_title, :position, :priority, :result_title, :signature,
                :standards, :t_id, :xpath

    def initialize(data)
      @bp_id             = data['bpID']
      @certainty         = data['certainty']
      @error_description = data['errorDescription']
      @error_snippet     = data['errorSnippet']
      @error_title       = data['errorTitle']
      @position          = data['position']
      @priority          = data['priority']
      @result_title      = data['resultTitle']
      @signature         = data['signature']
      @standards         = data['standards']
      @t_id              = data['tID']
      @xpath             = data['xpath']
    end

  end
end