text:
/*! paw.js // @version 1.0.6, @license MIT, @author dameleon <dameleon@gmail.com> */
;(function(global, undefined) {
'use strict';

var document = global.document;
var IS_SUPPORT_TOUCH_EVENT = 'ontouchstart' in document;
var IS_SUPPORT_POINTER_EVENT = !!global.PointerEvent;
var EVENTS = {
        START  : IS_SUPPORT_TOUCH_EVENT && 'touchstart'  || IS_SUPPORT_POINTER_EVENT && 'pointerdown'   || 'mousedown',
        MOVE   : IS_SUPPORT_TOUCH_EVENT && 'touchmove'   || IS_SUPPORT_POINTER_EVENT && 'pointermove'   || 'mousemove',
        END    : IS_SUPPORT_TOUCH_EVENT && 'touchend'    || IS_SUPPORT_POINTER_EVENT && 'pointerup'     || 'mouseup',
        CANCEL : IS_SUPPORT_TOUCH_EVENT && 'touchcancel' || IS_SUPPORT_POINTER_EVENT && 'pointercancel' || 'mouseleave'
};
var defaultSetting = {
        pressDuration: 500,
        doubleTapDuration: 400,
        motionThreshold: 5,
        fastClick: true
};
var identifierKey = IS_SUPPORT_TOUCH_EVENT && 'identifier' || IS_SUPPORT_POINTER_EVENT && 'pointerId' || 'button';

function Paw(rootNode, option) {
    if (rootNode && !rootNode.addEventListener) {
        throw new Error('Argument Error: First argument must be Node');
    }
    var setting = this.setting = {};

    rootNode = rootNode || document;
    if (!option) {
        option = {};
    }
    for (var key in defaultSetting) {
        setting[key] = (option[key] !== undefined) ? option[key] : defaultSetting[key];
    }
    setting.view = rootNode.defaultView || rootNode.ownerDocument && rootNode.ownerDocument.defaultView || global;
    this.rootNode = rootNode;
    this.rootNode.addEventListener(EVENTS.START, this);
    this.handlers = {};
    this.timers = {};
}

Paw.IS_SUPPORT_TOUCH_EVENT = IS_SUPPORT_TOUCH_EVENT;
Paw.IS_SUPPORT_POINTER_EVENT = IS_SUPPORT_POINTER_EVENT;
Paw.EVENT_TYPES = {
        TAP: 'tap',
        DOUBLE_TAP: 'doubletap',
        PRESS: 'press',
        CLICK: 'click'
};
Paw.EVENT_INTERFACES = {
    TOUCH_EVENT   : 'touchevent',
    POINTER_EVENT : 'pointerevent',
    MOUSE_EVENT   : 'mouseevent'
};
Paw.keys = Object.keys || (_ && _.keys);

Paw.prototype = {
    constructor: Paw,
    handleEvent: _handleEvent,
    onStart: _onStart,
    onMove: _onMove,
    onEnd: _onEnd,
    onCancel: _onCancel,
    onTimeout: _onTimeout,
    setTimer: _setTimer,
    clearTimer: _clearTimer,
    bindEvents: _bindEvents,
    unbindEvents: _unbindEvents,
    dispose: _dispose
};

function _handleEvent(ev) {
    switch (ev.type) {
        case EVENTS.MOVE:
            this.onMove(ev);
            break;
        case EVENTS.START:
            this.onStart(ev);
            break;
        case EVENTS.END:
            this.onEnd(ev);
            break;
        case EVENTS.CANCEL:
            this.onCancel(ev);
            break;
    }
}

function _onStart(ev) {
    var setting = this.setting;
    var handlers = this.handlers;
    var touches = __getTouchInfoList(ev);
    var handler, touchInfo, id;

    for (var i = 0, iz = touches.length; i < iz; i++) {
        touchInfo = touches[i];
        id = touchInfo[identifierKey];
        handler = new Paw.Touch(id, touchInfo, setting);
        handlers[id] = handler;
        this.setTimer(id);
    }
    this.bindEvents();
}

function _onMove(ev) {
    var handlers = this.handlers;
    var touches = __getTouchInfoList(ev);
    var touchInfo, handler, id;

    for (var i = 0, iz = touches.length; i < iz; i++) {
        touchInfo = touches[i];
        id = touchInfo[identifierKey];
        handler = handlers[id];
        if (handler) {
            handler.move(touchInfo);
        }
    }
}

function _onEnd(ev) {
    var handlers = this.handlers;
    var touches = __getTouchInfoList(ev);
    var touchInfo, handler, id;

    for (var i = 0, iz = touches.length; i < iz; i++) {
        touchInfo = touches[i];
        id = touchInfo[identifierKey];
        handler = handlers[id];
        if (handler) {
            handler.end(touchInfo);
            delete handlers[id];
        }
        this.clearTimer(id);
    }
    this.unbindEvents();
}

function _onCancel(ev) {
    var handlers = this.handlers;
    var touches = __getTouchInfoList(ev);
    var touchInfo, handler, id;

    for (var i = 0, iz = touches.length; i < iz; i++) {
        touchInfo = touches[i];
        id = touchInfo[identifierKey];
        handler = handlers[id];
        if (handler) {
            handler.cancel(touchInfo);
            delete handlers[id];
        }
        this.clearTimer(id);
    }
    this.unbindEvents();
}

function _onTimeout(id) {
    var handlers = this.handlers;
    var handler = handlers[id];

    if (handler) {
        handler.timeout();
        delete handlers[id];
    }
    this.clearTimer(id);
}

function _setTimer(id) {
    var that = this;

    this.timers[id] = global.setTimeout(function() {
        that.onTimeout(id);
    }, this.setting.pressDuration);
}

function _clearTimer(id) {
    var timers = this.timers;

    global.clearTimeout(timers[id]);
    delete timers[id];
}

function _bindEvents() {
    if (this.boundEvents) {
        return;
    }
    var rootNode = this.rootNode;

    this.boundEvents = true;
    rootNode.addEventListener(EVENTS.MOVE, this);
    rootNode.addEventListener(EVENTS.END, this);
    rootNode.addEventListener(EVENTS.CANCEL, this);
}

function _unbindEvents() {
    if (!this.boundEvents || Paw.keys(this.handlers).length > 0) {
        return;
    }
    var rootNode = this.rootNode;

    this.boundEvents = false;
    rootNode.removeEventListener(EVENTS.MOVE, this);
    rootNode.removeEventListener(EVENTS.END, this);
    rootNode.removeEventListener(EVENTS.CANCEL, this);
}

function _dispose(cond) {
    var handlers = this.handlers;

    for (var id in handlers) {
        delete handlers[id];
        this.clearTimer(id);
    }
    this.rootNode.removeEventListener(EVENTS.START);
    this.unbindEvents();
    if (cond) {
        Paw.Touch.dispose();
    }
}

//// private methods
function __getTouchInfoList(ev) {
    return IS_SUPPORT_TOUCH_EVENT && ev.changedTouches || [ev];
}

// exports
global.Paw = Paw;
// for require.js
if (!('process' in global) && (typeof define === 'function' && define.amd)) {
    define([], function() {
        return Paw;
    });
}

})(this.self || global, void 0);

;(function(global, undefined) {
'use strict';

if (!global.Paw) {
    throw new Error('"Paw" does not exist in global');
}
var Paw = global.Paw;
var document = global.document;
var canCreateEvent = true;

// check useragent can use custom event
try {
    document.createEvent('CustomEvent');
} catch (_) {
    canCreateEvent = false;
}

if (canCreateEvent) {
    Paw.Event = function(eventType, canBubble, cancelable, detail) {
        var event = document.createEvent('CustomEvent');

        event.initEvent(eventType, canBubble, cancelable, detail);
        return event;
    };
} else {
    Paw.Event = function(eventType, canBubble, cancelable, detail) {
        var event = document.createEvent('Event');

        event.initEvent(eventType, canBubble, cancelable);
        if (detail) {
            event.detail = detail;
        }
        return event;
    };
}

Paw.MouseEvent = function(eventType, canBubble, cancelable, view,  detail, screenX, screenY, clientX, clientY,  ctrlKey, altKey, shiftKey, metaKey,  button, relatedTarget) {
        var event = document.createEvent('MouseEvent');

        event.initMouseEvent(
            eventType,
            canBubble,
            cancelable,
            view,
            detail,
            screenX,
            screenY,
            clientX,
            clientY,
            ctrlKey,
            altKey,
            shiftKey,
            metaKey,
            button,
            relatedTarget
        );
        return event;
};

})(this.self || global, void 0);

;(function(global, undefined) {
'use strict';

if (!global.Paw) {
    throw new Error('"Paw" does not exist in global');
}
var Paw = global.Paw;
var EVENT_TYPES = Paw.EVENT_TYPES;
var EVENT_INIT_DICT = {
        BUBBLES: true,
        CANCELABLE: true,
        DETAIL_EVENT_INTERFACE: Paw.IS_SUPPORT_TOUCH_EVENT && Paw.EVENT_INTERFACES.TOUCH_EVENT ||
                                Paw.IS_SUPPORT_POINTER_EVENT && Paw.EVENT_INTERFACES.POINTER_EVENT ||
                                Paw.EVENT_INTERFACES.MOUSE_EVENT
};
var DOCUMENT_POSITION_IDENTICAL = 0;
var DOCUMENT_POSITION_ANCESTOR = global.Node.DOCUMENT_POSITION_PRECEDING | global.Node.DOCUMENT_POSITION_CONTAINS;
var DOCUMENT_POSITION_DESCENDANT = global.Node.DOCUMENT_POSITION_FOLLOWING | global.Node.DOCUMENT_POSITION_CONTAINED_BY;
var __sqrt = global.Math.sqrt;
var __lastTapInfo = {
    target: null,
    updatedTime: null
};

function PawTouch(id, touchInfo, setting) {
    this.id = id;
    this.setting = setting;
    this.target = touchInfo.target;
    this.lastTouchInfo = touchInfo;
    this.startX = touchInfo.pageX;
    this.startY = touchInfo.pageY;
    this.disposeTimer = null;
    this.preventClick = false;
    if (setting.fastClick) {
        setting.view.addEventListener(EVENT_TYPES.CLICK, this, true);
    }
}

PawTouch.dispose = function() {
    var info = __lastTapInfo;

    info.target = info.updatedTime = null;
};

PawTouch.prototype = {
    constructor       : PawTouch,
    cancel            : _dispose,
    dispose           : _dispose,
    end               : _end,
    handleEvent       : _handleEvent,
    move              : _move,
    timeout           : _timeout,
    triggerEvent      : _triggerEvent,
    triggerMouseEvent : _triggerMouseEvent,
    unbindClickEvent  : _unbindClickEvent
};

function _move(touchInfo) {
    this.lastTouchInfo = touchInfo;
}

function _end(touchInfo) {
    var setting = this.setting;
    var x = touchInfo.pageX;
    var y = touchInfo.pageY;
    var dx = x - this.startX;
    var dy = y - this.startY;
    var pos, cond;

    if (__sqrt(dx * dx + dy * dy) <= setting.motionThreshold) {
        if (this.target !== touchInfo.target) {
            pos = this.target.compareDocumentPosition(touchInfo.target);
            // NOTE: replace target to the current target in the case of descendants or ancestors
            if (pos === DOCUMENT_POSITION_ANCESTOR || pos === DOCUMENT_POSITION_DESCENDANT) {
                this.target = touchInfo.target;
            }
            // NOTE: not processed in the case of sibling elements
            else if (pos !== DOCUMENT_POSITION_IDENTICAL) {
                return this.dispose();
            }
        }
        cond = this.triggerEvent(EVENT_TYPES.TAP, touchInfo);
        if (cond) {
            if (setting.fastClick) {
                this.triggerMouseEvent(EVENT_TYPES.CLICK, touchInfo);
            }
            if (__isDoubleTap(this.target, setting.doubleTapDuration)) {
                this.triggerEvent(EVENT_TYPES.DOUBLE_TAP, touchInfo);
            }
        }
        // NOTE: tapイベントがpreventされた場合、ネイティブのclickイベントを抑制する
        else if (setting.fastClick) {
            this.preventClick = true;
        }
        __updateLastTapTarget(this.target);
    }
    this.dispose();
}

function _dispose() {
    var that = this;

    if (this.setting.fastClick) {
        this.disposeTimer = global.setTimeout(function() {
            that.unbindClickEvent();
        }, 400);
    } else {
        this.unbindClickEvent();
    }
}

function _timeout() {
    var touchInfo = this.lastTouchInfo;
    var x = touchInfo.pageX;
    var y = touchInfo.pageY;
    var dx = x - this.startX;
    var dy = y - this.startY;
    var pos;

    if (__sqrt(dx * dx + dy * dy) <= this.setting.motionThreshold) {
        if (this.target !== touchInfo.target) {
            pos = this.target.compareDocumentPosition(touchInfo.target);
            // NOTE: replace target to the current target in the case of descendants or ancestors
            if (pos === DOCUMENT_POSITION_ANCESTOR || pos === DOCUMENT_POSITION_DESCENDANT) {
                this.target = touchInfo.target;
            }
            // NOTE: not processed in the case of sibling elements
            else if (pos !== DOCUMENT_POSITION_IDENTICAL) {
                return this.dispose();
            }
        }
        this.triggerEvent(EVENT_TYPES.PRESS, touchInfo);
    }
    this.dispose();
}

function _triggerEvent(type, touchInfo) {
    var detail = {
        identifier : this.id,
        pageX      : touchInfo.pageX,
        pageY      : touchInfo.pageY,
        clientX    : touchInfo.clientX,
        clientY    : touchInfo.clientY,
        screenX    : touchInfo.screenX,
        screenY    : touchInfo.screenY
    };
    var event = Paw.Event(
        type,
        EVENT_INIT_DICT.BUBBLES,
        EVENT_INIT_DICT.CANCELABLE,
        detail
    );

    return this.target.dispatchEvent(event);
}

function _triggerMouseEvent(type, touchInfo) {
    var event = Paw.MouseEvent(
            type,                       // eventType,
            EVENT_INIT_DICT.BUBBLES,    // canBubble,
            EVENT_INIT_DICT.CANCELABLE, // cancelable,
            this.setting.view,          // view,
            1,                          // detail (always 1),
            touchInfo.screenX,          // screenX,
            touchInfo.screenY,          // screenY,
            touchInfo.clientX,          // clientX,
            touchInfo.clientY,          // clientY,
            false,                      // ctrlKey,
            false,                      // altKey,
            false,                      // shiftKey,
            false,                      // metaKey,
            this.id,                    // button,
            null                        // relatedTarget
    );

    return this.target.dispatchEvent(event);
}

function _handleEvent(ev) {
    if (this.preventClick) {
        ev.preventDefault();
        ev.stopImmediatePropagation();
        ev.stopPropagation();
        global.clearTimeout(this.disposeTimer);
        this.unbindClickEvent();
        return false;
    }
    this.preventClick = true;
}

function _unbindClickEvent() {
    this.setting.view.removeEventListener(EVENT_TYPES.CLICK, this, true);
}

//// private methods
function __updateLastTapTarget(target) {
    var info = __lastTapInfo;

    info.target = target;
    info.updatedTime = Date.now();
}

function __isDoubleTap(target, duration) {
    var info = __lastTapInfo;

    if (info.target === target &&
        duration >= (Date.now() - info.updatedTime)) {
            return true;
    }
    return false;
}

// export
Paw.Touch = PawTouch;

})(this.self || global, void 0);


text:
using LMS.Core.Domain.Management;

namespace LMS.Core.Domain.Enrollment
{
    public class CurriculumUser : Entity
    {
        private CurriculumUser() { }

        public CurriculumUser(long curriculumId, long userId)
        {
            CurriculumId = curriculumId;
            UserId = userId;
        }

        public CurriculumUser(Curriculum curriculum, User user)
        {
            Curriculum = curriculum;
            CurriculumId = curriculum.Id;
            User = user;
            UserId = user.Id;
        }

        public long CurriculumId { get; private set; }
        public long UserId { get; private set; }
        public Curriculum Curriculum { get; private set; }
        public virtual User User { get; private set; }
    }
}

redpajama_set_name: RedPajamaGithub


text:
package com.example.rhymedys.intelligencebj.base;

import android.app.Activity;
import android.content.Intent;
import android.graphics.Color;
import android.os.Handler;
import android.os.Message;
import android.support.v4.view.ViewPager;
import android.text.TextUtils;
import android.view.MotionEvent;
import android.view.View;
import android.widget.AdapterView;
import android.widget.TextView;

import com.example.rhymedys.intelligencebj.R;
import com.example.rhymedys.intelligencebj.activity.NewsDetailsActivity;
import com.example.rhymedys.intelligencebj.adapter.NewsAdapter;
import com.example.rhymedys.intelligencebj.adapter.TopNewsAdapter;
import com.example.rhymedys.intelligencebj.bean.NewsMenuBean;
import com.example.rhymedys.intelligencebj.bean.NewsTabBean;
import com.example.rhymedys.intelligencebj.util.CacheUtils;
import com.example.rhymedys.intelligencebj.util.ContantValues;
import com.example.rhymedys.intelligencebj.util.GetMainActivityUtils;
import com.example.rhymedys.intelligencebj.util.LogUtils;
import com.example.rhymedys.intelligencebj.util.SpUtils;
import com.example.rhymedys.intelligencebj.util.ToastUtils;
import com.example.rhymedys.intelligencebj.view.RefreshListView;
import com.google.gson.Gson;
import com.jeremyfeinstein.slidingmenu.lib.SlidingMenu;
import com.viewpagerindicator.CirclePageIndicator;

import org.xutils.common.Callback;
import org.xutils.http.RequestParams;
import org.xutils.view.annotation.ViewInject;
import org.xutils.x;

import java.util.List;

/**
 * Created by Rhymedys on 2016/9/27.
 */

public class BaseTabDetailsPager extends BaseMenuDetailsPager {

    private static final String TAG = "BaseTabDetailsPager";
    private static final int NET_ERROR = 201;
    private static final int SET_TOP_NEWS_DATA = 301;
    private static final int UPDATE_NEWS_ADAPTER = 302;
    private static final int NEXT_PIC = 303;

    private final NewsMenuBean.ChildrenData mTabItemData;

    @ViewInject(R.id.vp_topnews)
    private ViewPager vp_topnews;

    @ViewInject(R.id.lv_toutiao)
    private RefreshListView lv_toutiao;

    @ViewInject(R.id.tv_title)
    private TextView tv_Top_title;

    @ViewInject(R.id.indicator_title)
    private CirclePageIndicator indicator_title;

    private String myUrl;
    private String moreURL;
    private List<NewsTabBean.TopNews> topNewsList;
    private TopNewsAdapter topNewsAdapter;
    private String cache;
    private List<NewsTabBean.News> newsList;
    private NewsAdapter newsAdapter;

    private Handler handler = new Handler() {

        @Override
        public void handleMessage(Message msg) {
            super.handleMessage(msg);
            switch (msg.what) {
                case NET_ERROR:
                    ToastUtils.showToast(myActivity, "网络错误");
                    break;
                case SET_TOP_NEWS_DATA:
                    //ViewPager
                    if (topNewsList != null && topNewsAdapter == null) {
                        LogUtils.i(TAG, "topNewsList!=null  and  topNewsAdapter==null" + vp_topnews);
                        //初始化标题
                        tv_Top_title.setText(topNewsList.get(0).title);

                        topNewsAdapter = new TopNewsAdapter(myActivity, topNewsList);
                        vp_topnews.setAdapter(topNewsAdapter);
                        indicator_title.setViewPager(vp_topnews);
                        indicator_title.setSnap(true);
                        indicator_title.setCurrentItem(0);

                        indicator_title.setOnPageChangeListener(new ViewPager.OnPageChangeListener() {
                            @Override
                            public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {

                            }

                            @Override
                            public void onPageSelected(int position) {
                                tv_Top_title.setText(topNewsList.get(position).title);
                                SlidingMenu slidingMenu = GetMainActivityUtils.getSlidingMenu(myActivity);
                                if (slidingMenu != null) {
                                    if (vp_topnews.getCurrentItem() == 0 && isNewMenuDetailsFisrt) {
                                        slidingMenu.setTouchModeAbove(SlidingMenu.TOUCHMODE_FULLSCREEN);
                                    } else {
                                        slidingMenu.setTouchModeAbove(SlidingMenu.TOUCHMODE_NONE);
                                    }
                                }
                            }

                            @Override
                            public void onPageScrollStateChanged(int state) {

                            }
                        });
                    }

                    if (newsList != null && newsAdapter == null) {
                        newsAdapter = new NewsAdapter(myActivity, newsList);
                        lv_toutiao.setAdapter(newsAdapter);
                    }

                    break;
                case UPDATE_NEWS_ADAPTER:
                    if (newsAdapter != null) {
                        LogUtils.i(TAG, "UPDATE_NEWS_ADAPTER");
                        newsAdapter.notifyDataSetChanged();
                        lv_toutiao.onRefreshComplete();
                    }
                    break;
                case NEXT_PIC:
                    int temp = vp_topnews.getCurrentItem();
                    temp++;
                    if (temp > topNewsList.size() - 1) {
                        temp = 0;
                    }
                    vp_topnews.setCurrentItem(temp);
                    handler.sendEmptyMessageDelayed(NEXT_PIC, 3000);
                    break;
                default:
                    break;
            }
        }
    };

    public BaseTabDetailsPager(Activity activity, NewsMenuBean.ChildrenData mTabMenuItemList) {
        super(activity);
        this.mTabItemData = mTabMenuItemList;
        myUrl = ContantValues.SERVER_URL + mTabMenuItemList.url;
        LogUtils.i(TAG, myUrl);
    }

    @Override
    public View initView() {
        View mainView = View.inflate(myActivity, R.layout.layout_tab_details, null);
        x.view().inject(this, mainView);

        View myHeaderView = View.inflate(myActivity, R.layout.list_item_news_header, null);
        x.view().inject(this, myHeaderView);
        lv_toutiao.addHeaderView(myHeaderView);

        View myFooterView = View.inflate(myActivity, R.layout.layout_footer_list, null);
        x.view().inject(this, myFooterView);
        lv_toutiao.addFooterView(myFooterView);

        //下拉刷新
        lv_toutiao.setOnRefreshListener(new RefreshListView.OnRefreshListener() {
            @Override
            public void onRefresh() {
                LogUtils.i(TAG, "onRefreshing");
                getDataFromServer();
                handler.sendEmptyMessage(UPDATE_NEWS_ADAPTER);
            }

            @Override
            public void onLoadMore() {
                LogUtils.i(TAG, "onLoadMore ");
                LogUtils.i(TAG, moreURL);
                if (!TextUtils.isEmpty(moreURL)) {
                    x.http().get(new RequestParams(moreURL), new org.xutils.common.Callback.CommonCallback<String>() {

                        @Override
                        public void onSuccess(String result) {
                            processData(result, true);
                            if (lv_toutiao != null) {
                                lv_toutiao.onRefreshComplete();
                            }
                        }

                        @Override
                        public void onError(Throwable ex, boolean isOnCallback) {
                            if (lv_toutiao != null) {
                                lv_toutiao.onRefreshComplete();
                            }
                        }

                        @Override
                        public void onCancelled(CancelledException cex) {

                        }

                        @Override
                        public void onFinished() {

                        }
                    });
                } else {
                    ToastUtils.showToast(myActivity, "没有更多数据了");
                }
            }
        });

        //点击事件
        lv_toutiao.setOnItemClickListener(new AdapterView.OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
                int tempPosition = position - 2;
                NewsTabBean.News news = newsList.get(tempPosition);
                String read_ids = SpUtils.getString(myActivity, ContantValues.READ_IDS, "");
                if (!read_ids.contains(news.id + "")) {
                    read_ids = read_ids + news.id + ",";
                    SpUtils.putString(myActivity, ContantValues.READ_IDS, read_ids);
                }
                TextView tv_news_title = (TextView) view.findViewById(R.id.tv_news_title);
                TextView tv_date = (TextView) view.findViewById(R.id.tv_date);
                tv_news_title.setTextColor(Color.GRAY);
                tv_date.setTextColor(Color.GRAY);

                Intent intent = new Intent(myActivity, NewsDetailsActivity.class);
                intent.putExtra("detailsURL", news.url);
                myActivity.startActivity(intent);

            }
        });

        vp_topnews.setOnTouchListener(new View.OnTouchListener() {
            @Override
            public boolean onTouch(View v, MotionEvent event) {
                switch (event.getAction()) {
                    case MotionEvent.ACTION_DOWN:
                        handler.removeCallbacksAndMessages(null);
                        break;
                    case MotionEvent.ACTION_UP:
                        handler.sendEmptyMessageDelayed(NEXT_PIC,3000);
                        break;
                    case MotionEvent.ACTION_CANCEL:
                        handler.sendEmptyMessageDelayed(NEXT_PIC,3000);
                        break;
                    default:
                        break;
                }
                return false;
            }
        });

        return mainView;
    }

    @Override
    public void initData() {

        cache = CacheUtils.getCache(myActivity, myUrl);
        if (!TextUtils.isEmpty(cache)) {
            processData(cache, false);
        }
        getDataFromServer();

    }

    private void getDataFromServer() {
        LogUtils.i(TAG, myUrl);
        x.http().get(new RequestParams(myUrl), new Callback.CommonCallback<String>() {
            @Override
            public void onSuccess(String result) {
                LogUtils.i(TAG, "getDataFromServer onSuccess" + result);
                if (TextUtils.isEmpty(cache) || !result.equals(cache)) {
                    CacheUtils.setCache(myActivity, myUrl, result);
                    processData(result, false);
                    if (lv_toutiao != null) {
                        lv_toutiao.onRefreshComplete();
                    }
                }
            }

            @Override
            public void onError(Throwable ex, boolean isOnCallback) {
                LogUtils.i(TAG, "onError");
                handler.sendEmptyMessage(NET_ERROR);
            }

            @Override
            public void onCancelled(CancelledException cex) {

            }

            @Override
            public void onFinished() {
                LogUtils.i(TAG, "onFinished");
            }
        });
    }

    protected void processData(String strJson, boolean isLoadMore) {
        Gson tempGson = new Gson();
        NewsTabBean newsTabBean = tempGson.fromJson(strJson, NewsTabBean.class);
        LogUtils.i(TAG, "processData" + newsTabBean.toString());
        if (!TextUtils.isEmpty(newsTabBean.data.more)) {
            moreURL = ContantValues.CATAGORY_URL + newsTabBean.data.more;

        }
        LogUtils.i(TAG, moreURL);
        if (!isLoadMore) {
            newsList = newsTabBean.data.news;
            topNewsList = newsTabBean.data.topnews;

            handler.sendEmptyMessage(SET_TOP_NEWS_DATA);
            handler.sendEmptyMessageDelayed(NEXT_PIC, 3000);
        } else {
            List<NewsTabBean.News> moewNews = newsTabBean.data.news;
            newsList.addAll(moewNews);
            newsAdapter.notifyDataSetChanged();
        }
    }
}


text:
//=============================================================================
/**
 *  @file   Naming_Context_Interface.cpp
 *
 *  $Id: Naming_Context_Interface.cpp 2179 2013-05-28 22:16:51Z mesnierp $
 *
 *  @author Marina Spivak <marina@cs.wustl.edu>
 */
//=============================================================================

#include "orbsvcs/Naming/Naming_Context_Interface.h"
#include "ace/ACE.h"
#include "ace/OS_NS_string.h"
#include "ace/OS_NS_ctype.h"

TAO_BEGIN_VERSIONED_NAMESPACE_DECL

TAO_Naming_Context::TAO_Naming_Context (TAO_Naming_Context_Impl *impl)
  : impl_ (impl)
{
}

TAO_Naming_Context::~TAO_Naming_Context (void)
{
  delete impl_;
}

PortableServer::POA_ptr
TAO_Naming_Context::_default_POA (/*env*/)
{
  return impl_->_default_POA ();
}

void
TAO_Naming_Context::bind (const CosNaming::Name &n, CORBA::Object_ptr obj)
{
  impl_->bind (n, obj);
}

void
TAO_Naming_Context::rebind (const CosNaming::Name &n, CORBA::Object_ptr obj)
{
  impl_->rebind (n, obj);
}

void
TAO_Naming_Context::bind_context (const CosNaming::Name &n,
                                  CosNaming::NamingContext_ptr nc)
{
  impl_->bind_context (n, nc);
}

void
TAO_Naming_Context::rebind_context (const CosNaming::Name &n,
                                    CosNaming::NamingContext_ptr nc)
{
  impl_->rebind_context (n, nc);
}

CORBA::Object_ptr
TAO_Naming_Context::resolve (const CosNaming::Name &n)
{
  return impl_->resolve (n);
}

void
TAO_Naming_Context::unbind (const CosNaming::Name &n)
{
  impl_->unbind (n);
}

CosNaming::NamingContext_ptr
TAO_Naming_Context::new_context (void)
{
  return impl_->new_context ();
}

CosNaming::NamingContext_ptr
TAO_Naming_Context::bind_new_context (const CosNaming::Name &n)
{
  return impl_->bind_new_context (n);
}

void
TAO_Naming_Context::destroy (void)
{
  impl_->destroy ();
}

void
TAO_Naming_Context::list (CORBA::ULong how_many,
                          CosNaming::BindingList_out bl,
                          CosNaming::BindingIterator_out bi)
{
  impl_->list (how_many, bl, bi);
}

void
TAO_Naming_Context::
to_string_helper_length (CORBA::ULong &len, const char * &src)
{
  for (const char *j =src; *j != '\0'; ++j)
    {
      ++len;
      if (*j == '.' || *j == '\\' || *j == '/')
        ++len;
    }
  ++len; // '.' seperator or '/' seperator

}

void
TAO_Naming_Context::
to_string_helper_assign (char * &k, const char * &src)
{
  for (; *src != '\0'; ++src)
    {
      if (*src == '.' || *src == '\\' || *src == '/')
        {
          *k = '\\';
          ++k;
        }
      *k = *src;
      ++k;
    }

}

char *
TAO_Naming_Context::to_string (const CosNaming::Name &n)
{
  // Accepts a Name and returns a stringified name.

  // Check for invalid name.
  if (n.length () == 0)
    throw CosNaming::NamingContext::InvalidName();

  // Length of the return string
  CORBA::ULong len = 0;

  CORBA::ULong i;
  for (i=0; i < n.length (); ++i)
    {
      const char *id = n[i].id.in ();

      // Count number of characters in id
      this->to_string_helper_length (len, id);

      const char *kind = n[i].kind.in ();

      // Count number of characters in kind
      this->to_string_helper_length (len, kind);
    }

  // Allocate memory to the return parameter
  //
  char *str_name = CORBA::string_alloc (len);

  // check for memory allocation
  //
  if (str_name == 0)
    {
      throw CORBA::NO_MEMORY ();
    }

  char *k = str_name;

  // Stringify the name
  for (i=0; i < n.length (); ++i)
    {

      // Stringify Id
      //
      const char *id = n[i].id.in ();
      this->to_string_helper_assign (k, id);

      const char *kind = n[i].kind.in ();

      if (*kind != '\0')
        {
          // If 'kind' is set,
          // Append a seperator between the id and kind.
          //
          *k = '.';
          ++k;

          // Stringify Kind
          //
          this->to_string_helper_assign (k, kind);
        }

      // If this is not the last name component, add a seperator
      // between the name components
      //
      if (i != (n.length ()-1))
        {
          *k = '/';
          ++k;
        }

    }
  // Terminate
  *k = '\0';
  ++k;

  return str_name;
}

void
TAO_Naming_Context::
to_name_helper (char *dest, const char*& src, Hint hint)
{
  for (; *src != '\0'; ++src, ++dest)
    {
      if ((hint == HINT_ID && *src == '.') || *src == '/')
        {
          *dest = '\0';
          return;
        }

      if (*src == '\\')
        {
          src++;
          if (*src == '\0')
            {
              // Case: The very last component
              *dest = '\0';
              return;
            }
        }

      // In all cases.
      *dest = *src;
    }

  // Terminate.
  *dest = '\0';
}

CosNaming::Name *
TAO_Naming_Context::to_name (const char *sn)
{
  // Returns the Name from its stringified form.
  CosNaming::Name n;

  // Total number of name components in the name
  CORBA::ULong ncomp = 0;

  // Total length of the unstrigified name
  CORBA::ULong len=0;

  for (const char *j = sn; *j != '\0'; ++j)
    {
      // Make a pass through the Name and count each character
      if (*j == '/')
        {
          ncomp++;
        }
      else if (*j == '\\')
        {
          ++j;

          if (*j == '\0')
            {
              // Case: The very last component
              ++len;
            }
        }

      // In all cases.
      ++len;
    }

  // Check for InvalidName i.e. Invalid stringified name
  //
  if (len == 0)
    throw CosNaming::NamingContext::InvalidName();

  // Assign the length of the return unstringified name.
  //
  n.length (ncomp+1);

  // Keeps track of the number of the name component
  //
  CORBA::ULong count = 0;

  for (const char *k = sn; *k != '\0';)
    {
      if (count > ncomp)
        {
          throw CosNaming::NamingContext::InvalidName();
        }

      char *id = CORBA::string_alloc (len);
      char *kind = CORBA::string_alloc (len);

      // Assign to the id.
      this->to_name_helper (id, k, HINT_ID);

      if (*k == '.')
        {
          k++;
          // Assign to kind
          this->to_name_helper (kind, k, HINT_KIND);
        }
      else
        {
          *kind = '\0';
        }

      n[count].id   = id;
      n[count].kind = kind;

      count++;

      // End
       if (*k == '\0')
         break;
      k++;
    }

  return new CosNaming::Name (n);
}

int
TAO_Naming_Context::to_url_is_alnum_or_punctuation (char c)
{
  if (ACE_OS::ace_isalnum (c))
    return 1;

  // NON US-ASCII characters excluding those in this array are the
  // characters that need to be escaped
  static char non_escaped_punctuation[] =
    { ';', '/', ':', '?', '@', '=', '+', '$', ',', '-',
      '_', '.', '!', '~', '*', '\'', '(', ')' };
  const size_t non_escaped_punctuation_count =
    sizeof(non_escaped_punctuation)/sizeof(non_escaped_punctuation[0]);
  for (const char *j = non_escaped_punctuation;
       j != non_escaped_punctuation + non_escaped_punctuation_count;
       ++j)
    {
      // But if the character is one of the 18 non US-ASCII characters
      // and hence need not be escaped, then don't increment the
      // count.
      if (*j == c)
        return 1;
    }
  return 0;
}

size_t
TAO_Naming_Context::to_url_validate_and_compute_size (
    const char *addr,
    const char *sn)
{
  size_t addr_len = ACE_OS::strlen (addr);

  // Check for invalid address
  if (addr_len == 0)
    throw CosNaming::NamingContextExt::InvalidAddress ();

  // Make a pass through the in string name to count the number of
  // characters and if the character
  // is to be escaped, increment the number of characters by 3.
  size_t sn_len = 0;
  for (const char *i = sn; *i != '\0'; ++i)
    {
      ++sn_len;

      if (TAO_Naming_Context::to_url_is_alnum_or_punctuation (*i))
        continue;
      sn_len += 3;
    }

  if (sn_len == 0)
    throw CosNaming::NamingContextExt::InvalidName ();

  return addr_len + sn_len;
}

char *
TAO_Naming_Context::to_url (const char * addr,
                            const char * sn)
{
  /// Compute how many characters will be required for the URL
  size_t no_char =
    TAO_Naming_Context::to_url_validate_and_compute_size (addr, sn);

  // The 'corbaname:' tag is to be prepended at the starting of the
  // return parameter.
  //
  char prefix []= "corbaname:";

  // Allocate dynamic memory
  //
  char *str_url = CORBA::string_alloc (static_cast<CORBA::ULong> (no_char + sizeof (prefix)));

  // Copy 'prefix' to the return parameter.
  char *dest = ACE_OS::strcpy (str_url , prefix);

  /// move to end of dest string
  dest += ACE_OS::strlen(dest);

  // Concatenate the address
  dest = ACE_OS::strcat (dest, addr);

  /// Concatenate the seperator between the addr and Name
  dest += ACE_OS::strlen(dest);
  dest = ACE_OS::strcat (dest, "#");

  /// move to end of dest string
  dest += ACE_OS::strlen(dest);

  // Now append the stringified object name to the return variable.
  // The percent '%' character is used as an escape. If a character
  // that requires escaping is present in a name component it is
  // encoded as two hexadecimal digits following a '%' character to
  // represent the octet. The first hexadecimal character represents
  // the low-order nibble of the octet and the second hexadecimal
  // character represents the low order nibble.

  for (const char *i = sn; *i != '\0'; ++i)
    {
      if (TAO_Naming_Context::to_url_is_alnum_or_punctuation (*i))
        {
          // If the character is a US-ASCII Alphanumeric value...
          *dest = *i; ++dest;
          continue;
        }
      // this must be an escaped character

      *dest = '%'; ++dest;

      // Append the hexadecimal representation of the character.
      *dest = static_cast<char> (ACE::nibble2hex ((*i) >> 4)); ++dest;
      *dest = static_cast<char> (ACE::nibble2hex (*i)); ++dest;
    }

  // Terminate the string
  *dest = '\0';

  //  ACE_OS::strcat (str_url, dest);
  return str_url;
}

CORBA::Object_ptr
TAO_Naming_Context::resolve_str (const char * n)
{
  // Similar to <resolve> above. It accepts a strigified name as an
  // argument instead of a Name.

  // Get the unstrigified name.
  CosNaming::Name_var name = this->to_name (n);

  // Pass this unstringified name to resolve and return an Object_ptr
  return this->resolve (name.in ());
}

void
TAO_Naming_Context::stale (bool value)
{
  this->impl_->stale (value);
}

TAO_Naming_Context_Impl::~TAO_Naming_Context_Impl (void)
{
}

void
TAO_Naming_Context_Impl::stale (bool value)
{
  ACE_UNUSED_ARG (value);
  // Default implementation is no-op
}

bool
TAO_Naming_Context_Impl::stale (void)
{
  // Default implementation is to reply false
  return false;
}

TAO_END_VERSIONED_NAMESPACE_DECL


text:
/**
 *  Specific container styles; speech bubbles.
 */

.bubble {
    position: relative;
    padding: var(--padding-ratio)em;
    color: var(--text-color-inverse);
    background: white;
    border-radius: .4em;
    }
    .bubble--tl::after {
        content: "";
        position: absolute;
        top: -1.875em;
        left: 10%;
        border: 1em solid transparent;
        border-bottom-color: white;
        display: block;
        width: 0;
    }
    .bubble--tr::after {
        content: "";
        position: absolute;
        top: -1.875em;
        right: 30%;
        border: 1em solid transparent;
        border-bottom-color: white;
        display: block;
        width: 0;
    }

/*  When placing the arrow outside the bubble element, we need to render just
    the pointy bit.
*/

.bubble-arrow {
    position: relative;
    }
    .bubble-arrow--t.is-on::after {
        content: "";
        position: absolute;
        bottom: -1.9375em;
        border: 1em solid transparent;
        border-bottom-color: white;
        display: block;
        width: 0;
    }


text:
//
//    Copyright (c) 2006-2018 Erik Ylvisaker
//
//    Permission is hereby granted, free of charge, to any person obtaining a copy
//    of this software and associated documentation files (the "Software"), to deal
//    in the Software without restriction, including without limitation the rights
//    to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
//    copies of the Software, and to permit persons to whom the Software is
//    furnished to do so, subject to the following conditions:
//
//    The above copyright notice and this permission notice shall be included in all
//    copies or substantial portions of the Software.
//
//    THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
//    IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
//    FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
//    AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
//    LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
//    OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
//    SOFTWARE.
//

using AgateLib.Display;
using AgateLib.UserInterface.Styling.Themes;
using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Graphics;
using System;

namespace AgateLib.UserInterface.Rendering
{
    /// <summary>
    /// Interface for doing basic animation and background/border rendering of widgets.
    /// </summary>
    public interface IUserInterfaceRenderer
    {
        /// <summary>
        /// Updates the animation state of the widget.
        /// </summary>
        /// <param name="renderContext"></param>
        /// <param name="widget"></param>
        void UpdateAnimation(IUserInterfaceRenderContext renderContext, IRenderElement widget);

        /// <summary>
        /// Draws the background of a widget.
        /// </summary>
        /// <param name="renderContext"></param>
        /// <param name="display"></param>
        /// <param name="dest"></param>
        void DrawBackground(IUserInterfaceRenderContext renderContext, RenderElementDisplay display, Rectangle clientDest);

        /// <summary>
        /// Draws the border of a widget.
        /// </summary>
        /// <param name="renderContext"></param>
        /// <param name="display"></param>
        /// <param name="dest"></param>
        void DrawFrame(IUserInterfaceRenderContext renderContext, RenderElementDisplay display, Rectangle clientDest);

        void DrawBackground(ICanvas canvas, ITheme theme, BackgroundStyle background, Rectangle backgroundRect);
    }

    [Transient]
    public class UserInterfaceRenderer : IUserInterfaceRenderer
    {
        private readonly IComponentStyleRenderer styleRenderer;

        private BlendState blendState = new BlendState
        {
            AlphaBlendFunction = BlendFunction.Add,
            AlphaSourceBlend = Blend.One,
            AlphaDestinationBlend = Blend.One,

            ColorBlendFunction = BlendFunction.Add,
            ColorSourceBlend = Blend.SourceAlpha,
            ColorDestinationBlend = Blend.InverseSourceAlpha,
        };

        /// <summary>
        /// Constructs a UserInterfaceRenderer object.
        /// </summary>
        /// <param name="styleRenderer"></param>
        public UserInterfaceRenderer(IComponentStyleRenderer styleRenderer, UserInterfaceConfig config)
        {
            this.styleRenderer = styleRenderer ?? throw new ArgumentNullException(nameof(styleRenderer));

            this.Config = config;
        }

        public UserInterfaceConfig Config { get; set; }

        public void Dispose()
        {
        }

        public void DrawBackground(IUserInterfaceRenderContext renderContext, RenderElementDisplay display, Rectangle clientDest)
        {
            if (display.Style.Background == null)
            {
                return;
            }

            // This draws the background behind the border - a problem for borders which have transparency on their outer edges
            // but important for borders which have transparency on their inner edges. Oh what to do...
            //Rectangle backgroundRect = new Rectangle(
            //                                new Point(dest.X - display.Region.BorderToContentOffset.Left,
            //                                    dest.Y - display.Region.BorderToContentOffset.Top),
            //                                display.Region.BorderRect.Size);

            // Here we make a compromise and set the background rectangle to be slightly smaller than
            // the border rectangle
            var borderLayout = display.Style.Border.ToLayoutBox();

            Rectangle backgroundRect = new Rectangle(
                clientDest.X - display.Region.BorderToContentOffset.Left + borderLayout.Left / 2,
                clientDest.Y - display.Region.BorderToContentOffset.Top + borderLayout.Top / 2,
                display.BorderRect.Width - borderLayout.Width / 2,
                display.BorderRect.Height - borderLayout.Height / 2);

            styleRenderer.DrawBackground(
                renderContext.Canvas,
                display.Theme,
                display.Style.Background,
                backgroundRect);
        }

        public void DrawBackground(ICanvas canvas, ITheme theme, BackgroundStyle background, Rectangle backgroundRect)
        {
            styleRenderer.DrawBackground(canvas, theme, background, backgroundRect);
        }

        public void DrawFrame(IUserInterfaceRenderContext renderContext, RenderElementDisplay display, Rectangle clientDest)
        {
            styleRenderer.DrawFrame(
                renderContext.Canvas,
                display.Theme,
                display.Style.Border,
                new Rectangle(
                    new Point(clientDest.X - display.Region.BorderToContentOffset.Left,
                              clientDest.Y - display.Region.BorderToContentOffset.Top),
                    display.BorderRect.Size),
                Config.VisualScaling);
        }

        public void UpdateAnimation(IUserInterfaceRenderContext renderContext, IRenderElement element)
        {
            var animator = element.Display.Animation;

            bool finished = animator.Transition?.Update(element.Display, renderContext) ?? false;

            if (finished && (animator.State == AnimationState.TransitionIn || animator.State == AnimationState.TransitionOut))
            {
                AdvanceTransitionState(element);
            }
        }

        private void AdvanceTransitionState(IRenderElement widget)
        {
            var animator = widget.Display.Animation;

            switch (animator.State)
            {
                case AnimationState.TransitionIn:
                    animator.State = AnimationState.Static;
                    break;

                case AnimationState.TransitionOut:
                    animator.State = AnimationState.Dead;
                    break;
            }
        }
    }
}


text:
<!doctype html>

    <title>Code coverage report for js/components/InfoViewSelector/index.js</title>
    <meta charset="utf-8" />
    <link rel="stylesheet" href="..\..\..\prettify.css" />
    <link rel="stylesheet" href="..\..\..\base.css" />
    <meta name="viewport" content="width=device-width, initial-scale=1">

      All files / js/components/InfoViewSelector index.js

        100%
        Statements
        10/10

        100%
        Branches
        4/4

        100%
        Functions
        0/0

        100%
        Lines
        10/10

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33	1x
1x
1x

2x

2x
2x

2x

2x
2x

7x

import React from "react";
import { setInfoObjectLocation } from "../../actions/mapActions.js";
import { setInfoIndex } from "../../actions/infoActions.js";

export default class InfoViewSelector extends React.Component {

    previous() {
        const newCounter = this.props.infoId === 0 ?
                            this.props.filteredInfoObjects.length - 1 : this.props.infoId - 1;
        this.props.dispatch(setInfoIndex(newCounter));
        this.props.dispatch(setInfoObjectLocation(this.props.filteredInfoObjects[newCounter]));
    }

    next() {
        const newCounter = this.props.infoId === this.props.filteredInfoObjects.length - 1 ?
                            0 : this.props.infoId + 1;
        this.props.dispatch(setInfoIndex(newCounter));
        this.props.dispatch(setInfoObjectLocation(this.props.filteredInfoObjects[newCounter]));
    }

    render() {
        return (
            <div className="infoViewSelector">
                <button className="iteratorButton"  id="previous"
                    onClick={this.previous.bind(this)}>Previous</button>
                <button className="iteratorButton"  id="next"
                    onClick={this.next.bind(this)}>Next</button>
            </div>
        )
    }
}

  Code coverage
  generated by istanbul at Tue Jul 25 2017 16:31:09 GMT+0100 (GMT Summer Time)


text:
<?php

namespace Predis\Command;

/**
 * @link http://redis.io/commands/getbit
 * @author Daniele Alessandri <suppakilla@gmail.com>
 */
class StringGetBit extends PrefixableCommand
{
    /**
     * {@inheritdoc}
     */
    public function getId()
    {
        return 'GETBIT';
    }
}


text:
package tpl.velocity;

import java.io.IOException;
import java.io.Writer;
import java.util.MissingResourceException;
import java.util.ResourceBundle;

import org.apache.velocity.context.InternalContextAdapter;
import org.apache.velocity.exception.MethodInvocationException;
import org.apache.velocity.exception.ParseErrorException;
import org.apache.velocity.exception.ResourceNotFoundException;
import org.apache.velocity.runtime.directive.Directive;
import org.apache.velocity.runtime.parser.node.Node;
import org.apache.velocity.runtime.parser.node.SimpleNode;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

public class TextDirective
extends Directive {
	private static final Logger logger = LoggerFactory.getLogger(TextDirective.class);

	@Override
	public String getName() {
		return "text";
	}

	@Override
	public int getType() {
		return LINE;
	}

	@Override
	public boolean render(InternalContextAdapter ctx, Writer w, Node n)
			throws IOException, ResourceNotFoundException, ParseErrorException,
			MethodInvocationException {
		String key = getKey(ctx, n);
		if (isEmpty(key)) {
			logger.trace("No key for resource text specified.");
			return false;
		}
		String str;
		try {
			str = getMessage(ctx, key);
		} catch (Exception e) {
			w.write(key);
			return false;
		}
		if (isEmpty(str)) {
			logger.trace("No resource with name {} found.", key);
			//TODO Format string with consequent nodes passed into this directive.
			w.write(key);
			return false;
		}
		logger.trace("Resource found: {} = {}", key, str);
		if (n.jjtGetNumChildren() > 1) {
			str = format(str, ctx, n);
		}
		w.write(str);
		return true;
	}

	private String getMessage(InternalContextAdapter ctx, String key) {
		ResourceBundle bundle = null;
		Object ob;
		InternalContextAdapter itctx = ctx, nctx = null;
		String str = null;
		logger.trace("Beginning bundle iteration for {}...", key);
		while (itctx != nctx) {
			ob = itctx.get(BundleDirective.BUNDLE_KEY);
			logger.trace("Bundle in\n{}:\n    {}", itctx, ob);
			if (ob != null && ResourceBundle.class.isAssignableFrom(ob.getClass())) {
				bundle = (ResourceBundle) ob;
				try {
					str = bundle.getString(key);
				} catch (MissingResourceException e) {
					str = null;
				}
				logger.trace("{} in bundle: {}", key, str);
			}
			if (isEmpty(str)) {
				logger.trace("Message {} not found in context. Searching parent...");
				nctx = itctx;
				itctx = nctx.getBaseContext();
			} else {
				return str;
			}
		}
		return str;
	}

	private boolean isEmpty(String str) {
		return str == null || (str = str.trim()).isEmpty();
	}

	private String getKey(InternalContextAdapter ctx, Node n) {
		if (n.jjtGetNumChildren() < 1) return null;
		SimpleNode nkey = (SimpleNode) n.jjtGetChild(0);
		String key = (String) nkey.value(ctx);
		return key;
	}

	private String format(String str, InternalContextAdapter ctx, Node n) {
		int num = n.jjtGetNumChildren();
		Object[] paramList = new Object[num - 1];
		for (int i = 1; i < num; i ++) {
			paramList[i - 1] = n.jjtGetChild(i).value(ctx);
		}
		try {
			return String.format(str, paramList);
		} catch (Exception e) {
			logger.warn("Error formating resource.", e);
			return str;
		}
	}
}


text:
namespace gfx {

class GLSurface;

// Encapsulates a CGL OpenGL context.
class GLContextCGL : public GLContext {
 public:
  explicit GLContextCGL(GLShareGroup* share_group);
  virtual ~GLContextCGL();

  // Implement GLContext.
  virtual bool Initialize(
      GLSurface* compatible_surface, GpuPreference gpu_preference) OVERRIDE;
  virtual void Destroy() OVERRIDE;
  virtual bool MakeCurrent(GLSurface* surface) OVERRIDE;
  virtual void ReleaseCurrent(GLSurface* surface) OVERRIDE;
  virtual bool IsCurrent(GLSurface* surface) OVERRIDE;
  virtual void* GetHandle() OVERRIDE;
  virtual void SetSwapInterval(int interval) OVERRIDE;

  // Expose ForceUseOfDiscreteGPU only to GLContext implementation.
  friend class GLContext;

 private:
  void* context_;
  GpuPreference gpu_preference_;

  GpuPreference GetGpuPreference();

  // Helper for dual-GPU support on systems where this is necessary
  // for stability reasons.
  static void ForceUseOfDiscreteGPU();

  DISALLOW_COPY_AND_ASSIGN(GLContextCGL);
};

}  // namespace gfx


text:
package org.rediscli

import scala.concurrent.{Await, Future}
import scala.concurrent.duration.Duration

trait Awaitable {
  import scala.concurrent.ExecutionContext.Implicits.global

  def await[T](futures: Future[T]*)(implicit atMost: Duration) = {
    Await.result(Future.sequence(futures), atMost)
  }

}


text:
{-# LANGUAGE MultiParamTypeClasses #-}

module Util
  ( black
  , white
  , flatten
  , mapIndex
  , toSphericalCoords
  , fromSphericalCoords
  , reshape
  , expandDim
  , aeq
  , vecAeq
  , rotateAbs
  , rotateRel
  , contains
  , randomAngle
  , randomRangeList
  , fromTripleArray
  , toTripleArray
  ) where

import Control.Applicative
import Data.Angle
       (Degrees(..), arctangent, arccosine, cosine, sine)
import Data.Array.Repa
       ((:.)(..), Array, D, DIM1, DIM2, DIM3, U, Z(..), (!))
import qualified Data.Array.Repa as R
import qualified Data.Array.Repa.Shape as S
import Data.Fixed (mod')
import qualified Params
import qualified System.Random as Random
import Triple
       (Vec3, Triple(..), tripleToList, listToTriple, normalize, norm2,
        tAnd)

instance Functor Degrees where
  fmap f (Degrees x) = Degrees (f x)

black = pure 0 :: Vec3

white = pure 1 :: Vec3

inferMissing
  :: (Show a, Integral a)
  => [a] -> [a] -> [a]
inferMissing list listWithNeg
  | not valid =
    error
      ((show list) ++ " and " ++ (show listWithNeg) ++ " are not valid inputs.")
  | valid = result
  where
    valid = (product result == product list) && (all (> 0) result)
    missingVal = product list `quot` product (filter (>= 0) listWithNeg)
    result =
      map
        (\x ->
           if x < 0
             then missingVal
             else x)
        listWithNeg

fromTripleArray :: Array D DIM2 (Triple a) -> Array D DIM3 a
fromTripleArray array =
  R.fromFunction
    (Z :. rows :. cols :. 3)
    (\(Z :. i :. j :. k) -> tripleToList (array ! (Z :. i :. j)) !! k)
  where
    (Z :. rows :. cols) = R.extent array

toTripleArray :: Array D DIM3 a -> Array D DIM2 (Triple a)
toTripleArray array =
  R.fromFunction
    (Z :. rows :. cols)
    (\(Z :. i :. j) -> listToTriple [array ! (Z :. i :. j :. k) | k <- [0 .. 2]])
  where
    (Z :. rows :. cols :. _) = R.extent array

mapIndex
  :: (S.Shape sh', R.Source r a)
  => (sh' -> b) -> Array r sh' a -> Array D sh' b
mapIndex f array = R.traverse array id $ const f

reshape
  :: (R.Source r1 e, S.Shape sh1, S.Shape sh2)
  => [Int] -> Array r1 sh1 e -> Array D sh2 e
reshape shape array = R.reshape (S.shapeOfList shape') array
  where
    shape' = inferMissing (S.listOfShape (R.extent array)) shape

flatten
  :: (R.Source r1 e, S.Shape sh1, S.Shape sh2)
  => Array r1 sh1 e -> Array D sh2 e
flatten array = reshape [-1] array

expandDim
  :: (R.Source r1 e, S.Shape sh1, S.Shape sh2)
  => Int -> Array r1 sh1 e -> Array D sh2 e
expandDim dim array = R.reshape shape array
  where
    shape = S.shapeOfList . (insertAt dim 1) . S.listOfShape $ R.extent array

insertAt :: Int -> a -> [a] -> [a]
insertAt n x list = (take n list) ++ [x] ++ (drop n list)

arctan2 :: Double -> Double -> Degrees Double
arctan2 x y = (`mod'` 360) <$> arctan'
  where
    arctan = arctangent $ y / x
    arctan'
      | x < 0 = arctan + Degrees 180
      | x >= 0 = arctan

toSphericalCoords :: Vec3 -> (Degrees Double, Degrees Double)
toSphericalCoords vec
  | all (0 ==) [x, y] && z >= 0 = (0, 0)
  | all (0 ==) [x, y] && z < 0 = (Degrees 180, 0)
  | otherwise = (theta, phi)
  where
    Triple x y z = normalize vec
    theta = arccosine z
    phi = arctan2 x y

fromSphericalCoords :: Degrees Double -> Degrees Double -> Vec3
fromSphericalCoords theta phi = Triple x y z
  where
    x = cosine phi * sine theta
    y = sine phi * sine theta
    z = cosine theta

rotateAbs :: Vec3 -> Degrees Double -> Degrees Double -> Vec3
rotateAbs (Triple x y z) theta phi = Triple x' y' z'
  where
    x' =
      cosine theta * cosine phi * x - sine phi * y + sine theta * cosine phi * z
    y' =
      sine phi * cosine theta * x + cosine phi * y + sine phi * sine theta * z
    z' = -sine theta * x + cosine theta * z

rotateRel :: Degrees Double -> Degrees Double -> Vec3 -> Vec3
rotateRel theta phi vector = (* length) <$> rotateAbs vector' theta' phi'
  where
    vector' = fromSphericalCoords theta phi
    (theta', phi') = toSphericalCoords vector
    length = norm2 vector

aeq
  :: (Num a, Ord a)
  => a -> a -> a -> Bool
aeq tolerance a b = (a - b) * (a - b) < tolerance

vecAeq
  :: (Ord a, Num a)
  => a -> Triple a -> Triple a -> Bool
vecAeq tolerance a b = tAnd $ liftA2 (aeq tolerance) a b

contains
  :: Ord t
  => (t, Bool, t, Bool) -> t -> Bool
contains (low, lowInclusive, high, highInclusive) x = aboveLow && belowHigh
  where
    aboveLow
      | lowInclusive = low <= x
      | otherwise = low < x
    belowHigh
      | highInclusive = x <= high
      | otherwise = x < high

randomAngle
  :: (Random.RandomGen b, Random.Random x, Show x)
  => b -> (x, x) -> (Degrees x, b)
randomAngle gen range = (Degrees angle, gen')
  where
    (angle, gen') = Random.randomR range gen

randomRangeList
  :: (Random.RandomGen b, Random.Random a, Show a)
  => b -> [(a, a)] -> ([a], b)
randomRangeList firstGen ranges = (reverse randoms, lastGen)
  where
    (randoms, lastGen) =
      foldl
        (\(xs, gen) range ->
           let (x, gen') = Random.randomR range gen
           in (x : xs, gen'))
        ([], firstGen)
        ranges


text:
<?php

namespace Chevron\Containers;
/**
 * establishes the minimum signature of Chevron\Containers\Registry
 *
 * @package Chevron\Container
 */
interface DiInterface extends DeferredInterface {}


text:
<!DOCTYPE html>

   <meta charset="utf-8" />
   <title>E-Reporting Application</title>
   <meta content="width=device-width, initial-scale=1.0" name="viewport" />
   <meta content="" name="description" />
   <meta content="Mosaddek" name="author" />
   <link href="<?php echo base_url();?>assets/assets/bootstrap/css/bootstrap.min.css" rel="stylesheet" />
   <link href="<?php echo base_url();?>assets/assets/bootstrap/css/bootstrap-responsive.min.css" rel="stylesheet" />
   <link href="<?php echo base_url();?>assets/assets/bootstrap/css/bootstrap-fileupload.css" rel="stylesheet" />
   <link href="<?php echo base_url();?>assets/assets/font-awesome/css/font-awesome.css" rel="stylesheet" />
   <link href="<?php echo base_url();?>assets/css/style.css" rel="stylesheet" />
   <link href="<?php echo base_url();?>assets/css/style-responsive.css" rel="stylesheet" />
   <link href="<?php echo base_url();?>assets/css/style-default.css" rel="stylesheet" id="style_color" />
   <link href="<?php echo base_url();?>assets/assets/fullcalendar/fullcalendar/bootstrap-fullcalendar.css" rel="stylesheet" />
   <link href="<?php echo base_url();?>assets/assets/jquery-easy-pie-chart/jquery.easy-pie-chart.css" rel="stylesheet" type="text/css" media="screen"/>

               <a class="brand" href="<?php echo base_url();?>">
                   <img src="<?php echo base_url();?>assets/img/logo.png" alt="Metro Lab" />

            <form class="navbar-search visible-phone">
               <input type="text" class="search-query" placeholder="Search" />
            </form>

          <?php $this->load->view('navbar');?>

	  <?php $this->load->view($page);?>

       Copyright © 2015 E-Reporting Apps


text:
YUI.add('top-app', function (Y, NAME) {

"use strict";
/*global alert*/

var CLASS_NAMES = {
		pjax: 'spike-pjax'
	},

	MOCK_CONFIG = [{
		// /hi => Y.use('hi-app') => new Y.SPIKE.HiApp(...)
		contextPath: 'hi',
		moduleName: 'hi-app',
		namespace: 'SPIKE',
		className: 'HiApp'
	}, {
		// /bye => use('bye-app') => new Y.SPIKE.ByeApp(...)
		contextPath: 'bye',
		moduleName: 'bye-app',
		namespace: 'SPIKE',
		className: 'ByeApp'
	}],

	MOCK_PEOPLE = [{
		identifier: {
			id: 'james',
			namespace: 'human'
		},
		name: 'James'
	}, {
		identifier: {
			id: 'spock',
			namespace: 'vulcan'
		},
		name: 'Spock'
	}],

	THROBBER_HTML = '

',

	TopApp,
	_renderMenu,
	updateHref;

_renderMenu = Y.Handlebars.compile(
	'
' +
		'
' +
			'
Home
' +
			'{{#each menuItems}}' +
				'
{{label}}
' +
			'{{/each}}' +
			'

' +
			'{{#each people}}' +
				'
{{name}}
' +
			'{{/each}}' +
		'
' +
	'
');

// IE 9 (at least) exhibits a bug whereby progammatically updating an anchor's href attribute causes all other URL properties (e.g. host,
// port, etc) to be reset to blank. Some of these properties are used by YUI's Pjax utility to check for same-origin to determine whether
// to let a link-click go to the server or navigate via the Router. For this reason we have to (on browsers that exhibit the bug) copy all
// these properties off the anchor element and restore them after updating the href.
// TODO: when this is more than a spike this method should be in its own module and very thoroughly unit tested
updateHref = (function() {
	var updateProperties,
		propertiesToSave = ['hash', 'host', 'hostname', 'port', 'protocol', 'search'];

	return function(anchorNode, newUrl) {
		var href = anchorNode.get('href'),
			pathname = anchorNode.get('pathname'),
			properties = {};

		if (newUrl === href || newUrl === pathname ||
			newUrl === '/' + pathname) { // Some versions of IE don't include the leading "/" in the pathname attribute
			return;
		}

		if (updateProperties === false) {
			// We've been through here before and concluded this browser does not exhibit the bug, we can safely just update the href
			anchorNode.set('href', newUrl);
			return;
		}

		Y.each(propertiesToSave, function(propName) {
			properties[propName] = anchorNode.get(propName);
		});

		anchorNode.set('href', newUrl);

		// TODO: is this an appropriate test for the bug? what if the new URL has a diff protocol? (seems unlikely...)
		//       Maybe check for a blank hostname or something?
		if (updateProperties || anchorNode.get('protocol') !== properties.protocol) {
			updateProperties = true;
			Y.each(properties, function(propVal, propName) {
				if (propVal && anchorNode.get(propName) !== propVal) {
					anchorNode.set(propName, propVal);
				}
			});
		} else {
			// This browser does not exhibit the bug, set updateProperties explicitly to false so we don't bother in future href updates
			updateProperties = false;
		}
	};
}());

TopApp = Y.Base.create('top-app', Y.App, [Y.SPIKE.AppNestanator], {
	views: {
	},

	initializer: function() {
		var modules,
			appConfigByPath = {},
			people;

		modules = Y.Array.map(MOCK_CONFIG, function(appConfig) {
			appConfigByPath[appConfig.contextPath] = appConfig;

			return appConfig.moduleName;
		});

		// Trigger a prefetch of the modules for all the sub-apps
		Y.use(modules);

		this._appConfigByPath = appConfigByPath;

		this._menuItems = [{
			label: 'Hi',
			path: 'hi'
		}, {
			label: 'Welcome',
			path: 'hi/welcome'
		}, {
			label: 'Bye',
			path: 'bye'
		}, {
			label: 'Good Riddance',
			path: 'bye/riddance'
		}];

		people = {};
		Y.each(MOCK_PEOPLE, function(person) {
			var identifier = person.identifier;
			people[identifier.id + '@' + identifier.namespace] =  person;
		});
		this._people = people;

		this.after('activePersonChange', this._updateAppMenuUrls, this);
		this.after('activeAppPathChange', this._updatePersonMenuUrls, this);
	},

	render: function() {
		var menuHtml;

		TopApp.superclass.render.apply(this, arguments);

		menuHtml = _renderMenu({
			menuItems: this._menuItems,
			people: this._people,
			baseUrl: this.get('baseUrl'),
			rootUrl: this.get('rootUrl')
		});

		this.get('container').insertBefore(menuHtml, this.get('viewContainer'));

		return this;
	},

	_updateAppMenuUrls: function() {
		var container = this.get('container'),
			baseUrl;

		if (!container) {
			// Obviously haven't rendered yet, nothing to update
			return;
		}

		baseUrl = this.get('baseUrl');

		Y.each(this._menuItems, function(menuItem) {
			var path = menuItem.path,
				menuItemNode = container.one('> .pure-menu a[data-path="' + path + '"]');

			if (menuItemNode) {
				updateHref(menuItemNode, baseUrl + path + '/');
			}
		}, this);
	},

	_updatePersonMenuUrls: function() {
		var container = this.get('container'),
			rootUrl,
			activeAppPath;

		if (!container) {
			// Obviously haven't rendered yet, nothing to update
			return;
		}

		rootUrl = this.get('rootUrl');
		activeAppPath = this.get('activeAppPath');
		activeAppPath = activeAppPath ? (activeAppPath + '/') : '';

		Y.each(this._people, function(person, personIdentifier) {
			var menuItemNode = container.one('> .pure-menu a[data-personIdentifier="' + personIdentifier + '"]');

			if (menuItemNode) {
				updateHref(menuItemNode, rootUrl + personIdentifier + '/' + activeAppPath);
			}
		}, this);
	},

	_handleTopAppRouteChange: function(req) {
		var params = req.params,
			appPath = params.appPath,
			personId = params.personId && params.personNs ? (params.personId + '@' + params.personNs) : null,
			activePerson = null,
			personChanged;

		if (personId) {
			activePerson = this._people[personId];

			if (!activePerson) {
				// TODO: need to figure out how to safely and appropriately handle this error case
				alert('404! No such person with id "' + personId + '".');
				return;
			}
		}
		personChanged = (activePerson !== this.get('activePerson'));

		if (personChanged) {
			this._set('activePerson', activePerson);
		}

		if (appPath) {
			// If the activePerson and activeAppPath haven't changed, do nothing
			if (!personChanged && this.get('activeAppPath') === appPath) {
				Y.log('App with path "' + appPath + '" already active, doing nothing.');
				return;
			}
			if (!this._appConfigByPath[appPath]) {
				// TODO: need to figure out how to safely and appropriately handle this error case
				alert('404! No registered application with path "' + appPath + '".');
				return;
			}
		}

		if (this._activeApp) {
			this.uprootApp(this._activeApp);
			this._set('activeAppPath', null);
		}

		if (appPath) {
			this._loadAndRenderApp(appPath);
		} else {
			// Alternatively, could have a nominated (or simply first in the list) default app in place of a welcome screen?
			this._renderWelcomeScreen();
		}
	},

	_renderWelcomeScreen: function() {
		this.get('viewContainer').set('text', 'Welcome to the nested Y.Apps spike!');
	},

	_loadAndRenderApp: function(appPath) {
		this.get('viewContainer').setHTML(THROBBER_HTML);
		Y.use(this._appConfigByPath[appPath].moduleName, Y.bind(this._renderApp, this, appPath));
	},

	_renderApp: function(appPath) {
		var cfg = this._appConfigByPath[appPath],
			ns = Y.namespace(cfg.namespace),
			AppFn = ns && ns[cfg.className],
			appConfig = {},
			viewContainer,
			activePerson;

		if (!AppFn) {
			alert('500! Failed to load application with path "' + appPath + '".');
			return;
		}

		viewContainer = this.get('viewContainer');
		viewContainer.empty();

		activePerson = this.get('activePerson');
		if (activePerson) {
			appConfig.componentContext = {
				person: activePerson
			};
		}

		this._activeApp = this.nestApp(AppFn, this.get('baseUrl') + appPath, viewContainer, appConfig);

		this._set('activeAppPath', appPath);
	},

	_getAttrRootUrl: function() {
		return this._normalizePath(this.get('root') + '/');
	},

	_getAttrBaseUrl: function() {
		var baseUrl = this.get('rootUrl'),
			activePerson = this.get('activePerson'),
			identifier;

		if (activePerson) {
			identifier = activePerson.identifier;
			baseUrl += identifier.id + '@' + identifier.namespace + '/';
		}

		return this._normalizePath(baseUrl);
	}
}, {
	ATTRS: {
		// The following four attributes should probably be in a view model of some sort.

		activePerson: {
			readOnly: true
		},

		activeAppPath: {
			readOnly: true
		},

		rootUrl: {
			readOnly: true,
			getter: '_getAttrRootUrl'
		},

		baseUrl: {
			readOnly: true,
			getter: '_getAttrBaseUrl'
		},

		routes: {
			// The order of these routes is important to ensure no confusion between "/appPath" and "/id@ns" as the first part of the URL
			value: [{
				path: '/:personId@:personNs',
				callbacks: '_handleTopAppRouteChange'
			}, {
				path: '/:personId@:personNs/:appPath',
				callbacks: '_handleTopAppRouteChange'
			}, {
				path: '/:personId@:personNs/:appPath/*',
				callbacks: '_handleTopAppRouteChange'
			}, {
				path: '/:appPath',
				callbacks: '_handleTopAppRouteChange'
			}, {
				path: '/:appPath/*',
				callbacks: '_handleTopAppRouteChange'
			}]
		},

		linkSelector: {
			value: 'a.' + CLASS_NAMES.pjax +', .' + CLASS_NAMES.pjax + ' a'
		}
	}
});

Y.namespace('SPIKE').TopApp = TopApp;

}, '@VERSION@', {"requires": ["app-base", "array-extras", "base", "handlebars", "app-nestanator"]});


text:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="cn.lemene.BookTrace">

    <uses-permission android:name="android.permission.INTERNET" />

    <application
        android:name=".manager.MyApplication"
        android:allowBackup="true"
        android:icon="@drawable/logo"
        android:label="@string/app_name"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
        <activity
            android:name=".activity.MainActivity"
            android:label="@string/app_name"
            android:theme="@style/AppTheme.NoActionBar"
            android:windowSoftInputMode="stateAlwaysHidden">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity
            android:name=".activity.DBBookDetailActivity"
            android:theme="@style/AppTheme.NoActionBar" />
        <activity android:name=".activity.SignUpActivity" />
        <activity android:name=".activity.SignInActivity" />
        <activity
            android:name=".activity.UserDetailActivity"
            android:theme="@style/AppTheme.NoActionBar" />
        <activity android:name=".activity.AboutUsActivity" />
        <activity
            android:name=".activity.CommentActivity"
            android:windowSoftInputMode="stateHidden|adjustResize" />
        <activity android:name=".activity.RateActivity"></activity>
    </application>

</manifest>


text:
from distutils.core import setup

setup(
    name='django-eav',
    version=__import__('eav').__version__,
    license = 'GNU Lesser General Public License (LGPL), Version 3',

    requires = ['python (>= 2.5)', 'django (>= 1.2)'],
    provides = ['eav'],

    description='Entity-attribute-value model implementation as a reusable'
                'Django app.',
    long_description=open('README.rst').read(),

    url='http://github.com/mvpdev/django-eav',

    packages=['eav', 'eav.tests'],

    classifiers  = [
        'Development Status :: 4 - Beta',
        'Environment :: Web Environment',
        'Framework :: Django',
        'Intended Audience :: Developers',
        'License :: OSI Approved :: GNU Library or Lesser General Public License (LGPL)',
        'Programming Language :: Python',
        'Topic :: Database',
        'Topic :: Software Development :: Libraries :: Python Modules',
    ],
)


text:
<?xml version="1.0" encoding="UTF-8"?>
<!--
    Copyright 2005-2006 The Apache Software Foundation or its licensors, as applicable

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

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

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

    See the License for the specific language governing permissions and
    limitations under the License.
-->
<!DOCTYPE Test SYSTEM "test.dtd">
<!--
Author:  Maxim V. Makarov
Version: $Revision: 1.2 $
-->
<Test ID="deprecated12" date-of-creation="2006-06-06" timeout="1">
  <Author value="Maxim V. Makarov"/>
  <Description>
   Checks that VM loads without errors a class with valid value of attribute_name_index of Deprecated_attribute structure.
   Covered assertions assert_class605 assert_class606 assert_class599
  </Description>

  <Keyword name="verifier"/>
  <Source name="deprecated12p.ccode"/>

  <Runner ID="Runtime">
    <Param name="toRun" value="org.apache.harmony.vts.test.vm.jvms.share.vmVerifierRun">
				<Option name="load"/>
				<Option name="org.apache.harmony.vts.test.vm.jvms.classFile.attributes.deprecated.deprecated12.deprecated12p"/>
			</Param>
  </Runner>
</Test>