import { html } from '../../../../node_modules/@polymer/polymer/lib/utils/html-tag.js';

const style = html`
    <style>
        .hint {
            font-size: 12px;
            line-height: 14px;
            color: var(--secondary-text-color);
        }

        paper-input[hidden] + .hint {
            display: none;
        }
    </style>
`;

export default style;

{'repo_name': 'frigus02/RESTer', 'stars': '161', 'repo_language': 'JavaScript', 'file_name': 'settings.json', 'mime_type': 'text/plain', 'hash': 4234503329458662432, 'source_dataset': 'data'}


// seedrandom.js version 2.0.
// Author: David Bau 4/2/2011
//
// Defines a method Math.seedrandom() that, when called, substitutes
// an explicitly seeded RC4-based algorithm for Math.random().  Also
// supports automatic seeding from local or network sources of entropy.
//
// Usage:
//
//   <script src=http://davidbau.com/encode/seedrandom-min.js></script>
//
//   Math.seedrandom('yipee'); Sets Math.random to a function that is
//                             initialized using the given explicit seed.
//
//   Math.seedrandom();        Sets Math.random to a function that is
//                             seeded using the current time, dom state,
//                             and other accumulated local entropy.
//                             The generated seed string is returned.
//
//   Math.seedrandom('yowza', true);
//                             Seeds using the given explicit seed mixed
//                             together with accumulated entropy.
//
//   <script src="http://bit.ly/srandom-512"></script>
//                             Seeds using physical random bits downloaded
//                             from random.org.
//
//   <script src="https://jsonlib.appspot.com/urandom?callback=Math.seedrandom">
//   </script>                 Seeds using urandom bits from call.jsonlib.com,
//                             which is faster than random.org.
//
// Examples:
//
//   Math.seedrandom("hello");            // Use "hello" as the seed.
//   document.write(Math.random());       // Always 0.5463663768140734
//   document.write(Math.random());       // Always 0.43973793770592234
//   var rng1 = Math.random;              // Remember the current prng.
//
//   var autoseed = Math.seedrandom();    // New prng with an automatic seed.
//   document.write(Math.random());       // Pretty much unpredictable.
//
//   Math.random = rng1;                  // Continue "hello" prng sequence.
//   document.write(Math.random());       // Always 0.554769432473455
//
//   Math.seedrandom(autoseed);           // Restart at the previous seed.
//   document.write(Math.random());       // Repeat the 'unpredictable' value.
//
// Notes:
//
// Each time seedrandom('arg') is called, entropy from the passed seed
// is accumulated in a pool to help generate future seeds for the
// zero-argument form of Math.seedrandom, so entropy can be injected over
// time by calling seedrandom with explicit data repeatedly.
//
// On speed - This javascript implementation of Math.random() is about
// 3-10x slower than the built-in Math.random() because it is not native
// code, but this is typically fast enough anyway.  Seeding is more expensive,
// especially if you use auto-seeding.  Some details (timings on Chrome 4):
//
// Our Math.random()            - avg less than 0.002 milliseconds per call
// seedrandom('explicit')       - avg less than 0.5 milliseconds per call
// seedrandom('explicit', true) - avg less than 2 milliseconds per call
// seedrandom()                 - avg about 38 milliseconds per call
//
// LICENSE (BSD):
//
// Copyright 2010 David Bau, all rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are met:
//
//   1. Redistributions of source code must retain the above copyright
//      notice, this list of conditions and the following disclaimer.
//
//   2. Redistributions in binary form must reproduce the above copyright
//      notice, this list of conditions and the following disclaimer in the
//      documentation and/or other materials provided with the distribution.
//
//   3. Neither the name of this module nor the names of its contributors may
//      be used to endorse or promote products derived from this software
//      without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
//
/**
 * All code is in an anonymous closure to keep the global namespace clean.
 *
 * @param {number=} overflow
 * @param {number=} startdenom
 */
(function (pool, math, width, chunks, significance, overflow, startdenom)
{

    //
    // seedrandom()
    // This is the seedrandom function described above.
    //
    math['seedrandom'] = function seedrandom(seed, use_entropy)
    {
        var key = [];
        var arc4;

        // Flatten the seed string or build one from local entropy if needed.
        seed = mixkey(flatten(
        use_entropy ? [seed, pool] : arguments.length ? seed : [new Date().getTime(), pool, window], 3), key);

        // Use the seed to initialize an ARC4 generator.
        arc4 = new ARC4(key);

        // Mix the randomness into accumulated entropy.
        mixkey(arc4.S, pool);

        // Override Math.random
        // This function returns a random double in [0, 1) that contains
        // randomness in every bit of the mantissa of the IEEE 754 value.
        math['random'] = function random()
        { // Closure to return a random double:
            var n = arc4.g(chunks); // Start with a numerator n < 2 ^ 48
            var d = startdenom; //   and denominator d = 2 ^ 48.
            var x = 0; //   and no 'extra last byte'.
            while (n < significance)
            { // Fill up all significant digits by
                n = (n + x) * width; //   shifting numerator and
                d *= width; //   denominator and generating a
                x = arc4.g(1); //   new least-significant-byte.
            }
            while (n >= overflow)
            { // To avoid rounding up, before adding
                n /= 2; //   last byte, shift everything
                d /= 2; //   right using integer math until
                x >>>= 1; //   we have exactly the desired bits.
            }
            return (n + x) / d; // Form the number within [0, 1).
        };

        // Return the seed that was used
        return seed;
    };

    //
    // ARC4
    //
    // An ARC4 implementation.  The constructor takes a key in the form of
    // an array of at most (width) integers that should be 0 <= x < (width).
    //
    // The g(count) method returns a pseudorandom integer that concatenates
    // the next (count) outputs from ARC4.  Its return value is a number x
    // that is in the range 0 <= x < (width ^ count).
    //
    /** @constructor */

    function ARC4(key)
    {
        var t, u, me = this,
            keylen = key.length;
        var i = 0,
            j = me.i = me.j = me.m = 0;
        me.S = [];
        me.c = [];

        // The empty key [] is treated as [0].
        if (!keylen)
        {
            key = [keylen++];
        }

        // Set up S using the standard key scheduling algorithm.
        while (i < width)
        {
            me.S[i] = i++;
        }
        for (i = 0; i < width; i++)
        {
            t = me.S[i];
            j = lowbits(j + t + key[i % keylen]);
            u = me.S[j];
            me.S[i] = u;
            me.S[j] = t;
        }

        // The "g" method returns the next (count) outputs as one number.
        me.g = function getnext(count)
        {
            var s = me.S;
            var i = lowbits(me.i + 1);
            var t = s[i];
            var j = lowbits(me.j + t);
            var u = s[j];
            s[i] = u;
            s[j] = t;
            var r = s[lowbits(t + u)];
            while (--count)
            {
                i = lowbits(i + 1);
                t = s[i];
                j = lowbits(j + t);
                u = s[j];
                s[i] = u;
                s[j] = t;
                r = r * width + s[lowbits(t + u)];
            }
            me.i = i;
            me.j = j;
            return r;
        };
        // For robust unpredictability discard an initial batch of values.
        // See http://www.rsa.com/rsalabs/node.asp?id=2009
        me.g(width);
    }

    //
    // flatten()
    // Converts an object tree to nested arrays of strings.
    //
    /** @param {Object=} result
     * @param {string=} prop
     * @param {string=} typ */

    function flatten(obj, depth, result, prop, typ)
    {
        result = [];
        typ = typeof (obj);
        if (depth && typ == 'object')
        {
            for (prop in obj)
            {
                if (prop.indexOf('S') < 5)
                { // Avoid FF3 bug (local/sessionStorage)
                    try
                    {
                        result.push(flatten(obj[prop], depth - 1));
                    }
                    catch (e)
                    {}
                }
            }
        }
        return (result.length ? result : obj + (typ != 'string' ? '\0' : ''));
    }

    //
    // mixkey()
    // Mixes a string seed into a key that is an array of integers, and
    // returns a shortened string seed that is equivalent to the result key.
    //
    /** @param {number=} smear
     * @param {number=} j */

    function mixkey(seed, key, smear, j)
    {
        seed += ''; // Ensure the seed is a string
        smear = 0;
        for (j = 0; j < seed.length; j++)
        {
            key[lowbits(j)] = lowbits((smear ^= key[lowbits(j)] * 19) + seed.charCodeAt(j));
        }
        seed = '';
        for (j in key)
        {
            seed += String.fromCharCode(key[j]);
        }
        return seed;
    }

    //
    // lowbits()
    // A quick "n mod width" for width a power of 2.
    //

    function lowbits(n)
    {
        return n & (width - 1);
    }

    //
    // The following constants are related to IEEE 754 limits.
    //
    startdenom = math.pow(width, chunks);
    significance = math.pow(2, significance);
    overflow = significance * 2;

    //
    // When seedrandom.js is loaded, we immediately mix a few bits
    // from the built-in RNG into the entropy pool.  Because we do
    // not want to intefere with determinstic PRNG state later,
    // seedrandom will not call math.random on its own again after
    // initialization.
    //
    mixkey(math.random(), pool);

    // End anonymous scope, and pass initial values.
})([], // pool: entropy pool starts empty
Math, // math: package containing random, pow, and seedrandom
256, // width: each RC4 output is 0 <= x < 256
6, // chunks: at least six RC4 outputs for each double
52 // significance: there are 52 significant digits in a double
);

// This is not really a random number generator object, and two SeededRandom
// objects will conflict with one another, but it's good enough for generating
// the rsa key.
function SeededRandom(){}

function SRnextBytes(ba)
{
    var i;
    for(i = 0; i < ba.length; i++)
    {
        ba[i] = Math.floor(Math.random() * 256);
    }
}

SeededRandom.prototype.nextBytes = SRnextBytes;

// prng4.js - uses Arcfour as a PRNG

function Arcfour() {
  this.i = 0;
  this.j = 0;
  this.S = new Array();
}

// Initialize arcfour context from key, an array of ints, each from [0..255]
function ARC4init(key) {
  var i, j, t;
  for(i = 0; i < 256; ++i)
    this.S[i] = i;
  j = 0;
  for(i = 0; i < 256; ++i) {
    j = (j + this.S[i] + key[i % key.length]) & 255;
    t = this.S[i];
    this.S[i] = this.S[j];
    this.S[j] = t;
  }
  this.i = 0;
  this.j = 0;
}

function ARC4next() {
  var t;
  this.i = (this.i + 1) & 255;
  this.j = (this.j + this.S[this.i]) & 255;
  t = this.S[this.i];
  this.S[this.i] = this.S[this.j];
  this.S[this.j] = t;
  return this.S[(t + this.S[this.i]) & 255];
}

Arcfour.prototype.init = ARC4init;
Arcfour.prototype.next = ARC4next;

// Plug in your RNG constructor here
function prng_newstate() {
  return new Arcfour();
}

// Pool size must be a multiple of 4 and greater than 32.
// An array of bytes the size of the pool will be passed to init()
var rng_psize = 256;

// Random number generator - requires a PRNG backend, e.g. prng4.js

// For best results, put code like
// <body onClick='rng_seed_time();' onKeyPress='rng_seed_time();'>
// in your main HTML document.

var rng_state;
var rng_pool;
var rng_pptr;

// Mix in a 32-bit integer into the pool
function rng_seed_int(x) {
  rng_pool[rng_pptr++] ^= x & 255;
  rng_pool[rng_pptr++] ^= (x >> 8) & 255;
  rng_pool[rng_pptr++] ^= (x >> 16) & 255;
  rng_pool[rng_pptr++] ^= (x >> 24) & 255;
  if(rng_pptr >= rng_psize) rng_pptr -= rng_psize;
}

// Mix in the current time (w/milliseconds) into the pool
function rng_seed_time() {
  rng_seed_int(new Date().getTime());
}

// Initialize the pool with junk if needed.
if(rng_pool == null) {
  rng_pool = new Array();
  rng_pptr = 0;
  var t;
  if(navigator.appName == "Netscape" && navigator.appVersion < "5" && window.crypto) {
    // Extract entropy (256 bits) from NS4 RNG if available
    var z = window.crypto.random(32);
    for(t = 0; t < z.length; ++t)
      rng_pool[rng_pptr++] = z.charCodeAt(t) & 255;
  }
  while(rng_pptr < rng_psize) {  // extract some randomness from Math.random()
    t = Math.floor(65536 * Math.random());
    rng_pool[rng_pptr++] = t >>> 8;
    rng_pool[rng_pptr++] = t & 255;
  }
  rng_pptr = 0;
  rng_seed_time();
  //rng_seed_int(window.screenX);
  //rng_seed_int(window.screenY);
}

function rng_get_byte() {
  if(rng_state == null) {
    rng_seed_time();
    rng_state = prng_newstate();
    rng_state.init(rng_pool);
    for(rng_pptr = 0; rng_pptr < rng_pool.length; ++rng_pptr)
      rng_pool[rng_pptr] = 0;
    rng_pptr = 0;
    //rng_pool = null;
  }
  // TODO: allow reseeding after first request
  return rng_state.next();
}

function rng_get_bytes(ba) {
  var i;
  for(i = 0; i < ba.length; ++i) ba[i] = rng_get_byte();
}

function SecureRandom() {}

SecureRandom.prototype.nextBytes = rng_get_bytes;

{'repo_name': 'FriendUPCloud/friendup', 'stars': '216', 'repo_language': 'C', 'file_name': 'filesystem_action_event.sql', 'mime_type': 'text/plain', 'hash': 4357457299649975276, 'source_dataset': 'data'}


<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <ItemGroup>
    <Filter Include="Source Files">
      <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
      <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
    </Filter>
    <Filter Include="Header Files">
      <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
      <Extensions>h;hh;hpp;hxx;hm;inl;inc;ipp;xsd</Extensions>
    </Filter>
    <Filter Include="Resource Files">
      <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
      <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
    </Filter>
  </ItemGroup>
  <ItemGroup>
    <ClCompile Include="snake.cpp">
      <Filter>Source Files</Filter>
    </ClCompile>
    <ClCompile Include="notepad_frontend.cpp">
      <Filter>Source Files</Filter>
    </ClCompile>
  </ItemGroup>
  <ItemGroup>
    <ClInclude Include="notepad_frontend.h">
      <Filter>Source Files</Filter>
    </ClInclude>
  </ItemGroup>
</Project>

{'repo_name': 'khalladay/render-with-notepad', 'stars': '227', 'repo_language': 'C++', 'file_name': 'HookKeyboard_Injector.vcxproj', 'mime_type': 'text/xml', 'hash': -4989851101190395741, 'source_dataset': 'data'}


/**
 * Copyright (c) Facebook, Inc. and its affiliates.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 */

#import <UIKit/UIKit.h>

@interface RCTInputAccessoryViewContent : UIView

@end

{'repo_name': 'ctripcorp/CRN', 'stars': '1241', 'repo_language': 'JavaScript', 'file_name': 'ReactAndroid-0.59.0-01-20190327.110133-2.pom', 'mime_type': 'text/xml', 'hash': 2507952919810669020, 'source_dataset': 'data'}


// RUN: %clang_cc1 < %s -emit-llvm -triple i686-pc-linux-gnu > %t
// RUN: grep "div i32" %t
// RUN: grep "shl i32" %t

unsigned char a,b;
void c(void) {a <<= b;}
void d(void) {a /= b;}

{'repo_name': 'metashell/metashell', 'stars': '394', 'repo_language': 'C++', 'file_name': 'c-general.test', 'mime_type': 'text/plain', 'hash': -1443799907256193571, 'source_dataset': 'data'}


<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    package="com.malin.service.plugin">

    <application tools:ignore="AllowBackup,GoogleAppIndexingWarning,MissingApplicationIcon">
        <activity android:name=".MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

        <service
            android:name=".TargetService1"
            android:exported="true"
            tools:ignore="ExportedService" />
        <service
            android:name=".TargetService2"
            android:exported="true"
            tools:ignore="ExportedService" />
    </application>
</manifest>

{'repo_name': 'androidmalin/AndroidComponentPlugin', 'stars': '268', 'repo_language': 'Java', 'file_name': 'PluginActivity.java', 'mime_type': 'text/x-java', 'hash': -8008205022212984043, 'source_dataset': 'data'}


<?xml version='1.0' encoding='utf-8'?>

<AUTOSAR>
<OS>
<General Comment="*" Conformance="ECC1" ErrorHook="ErrorHook" PTHREAD="0" PTHREAD_PRIORITY="32" PostTaskHook="PostTaskHook" PreTaskHook="PreTaskHook" ProtectionHook="NULL" ShutdownHook="ShutdownHook" StartupHook="StartupHook" Status="EXTENDED" />
<ApplicationModeList Max="TBD" />
<ApplicationList Max="TBD" />
<TaskList Max="TBD" />
<AlarmList Max="TBD" />
<CounterList Max="TBD" />
<ResourceList Max="TBD" />
<InternalResourceList Max="TBD" />
</OS>
<EcuC>
<PduList Max="TBD">
<Pdu Comment="*" Name="TxDiagP2P" Size="64" />
<Pdu Comment="*" Name="RxDiagP2P" Size="64" />
#ifdef USE_XCP
<Pdu Comment="*" Name="XCP_RX" Size="64" />
<Pdu Comment="*" Name="XCP_TX" Size="64" />
#endif
#ifdef USE_SOAD
<Pdu Comment="*" Name="SOAD_RX" Size="64" />
<Pdu Comment="*" Name="SOAD_TX" Size="64" />
#endif
</PduList>
</EcuC>
<Can>
<General Comment="*" DevelopmentErrorDetection="ON" VersionInfoApi="ON" />
<ControllerList Max="TBD">
<Controller Baudrate="250" Comment="*" Name="CAN_CTRL_0" Seg1="12" Seg2="1">
<HohList Max="TBD">
<Hoh Comment="*" HohType="BASIC" IdentifierType="STANDARD" Name="Can0Hrh" ObjectType="RECEIVE" />
<Hoh Comment="*" HohType="BASIC" IdentifierType="STANDARD" Name="Can0Hth" ObjectType="TRANSMIT" />
</HohList>
</Controller>
</ControllerList>
</Can>
<CanIf>
<General BusOffNotification="NULL" Comment="*" DataLengthCodeCheck="ON" DevelopmentErrorDetection="ON" ErrorNotification="NULL" RxFifoSize="32" TaskFifoMode="ON" TxFifoSize="32" VersionInfoApi="OFF" />
<ChannelList Max="TBD">
<Channel Comment="*" ControllerRef="CAN_CTRL_0" Name="CANIF_CHL_LS">
<HthList Max="TBD">
<Hth Comment="*" HthRef="Can0Hth" Name="LS_Hth" />
</HthList>
<TxPduList Max="TBD">
<Pdu Comment="*" DataLengthCode="8" EcuCPduRef="TxDiagP2P" HthRef="LS_Hth" Identifier="0x732" Name="P2P" TransmitNotifier="CanTp" UserNotification="CanIf_User" />
#ifdef USE_XCP
<Pdu Comment="*" DataLengthCode="8" EcuCPduRef="XCP_TX" HthRef="LS_Hth" Identifier="0x555" Name="XCP_TX" TransmitNotifier="Xcp" UserNotification="CanIf_User" />
#endif
</TxPduList>
<HrhList Max="TBD">
<Hrh Comment="*" HrhRef="Can0Hrh" Name="LS_Hrh" SoftwareFilterUsed="True" />
</HrhList>
<RxPduList Max="TBD">
<Pdu Comment="*" DataLengthCode="8" EcuCPduRef="RxDiagP2P" FilterMask="0x7FF" HrhRef="LS_Hrh" Identifier="0x731" Name="P2P" ReceivedNotifier="CanTp" UserNotification="CanIf_UserRxIndication" />
#ifdef USE_XCP
<Pdu Comment="*" DataLengthCode="1" EcuCPduRef="XCP_RX" FilterMask="0x7FF" HrhRef="LS_Hrh" Identifier="0x554" Name="XCP_RX" ReceivedNotifier="Xcp" UserNotification="CanIf_UserRxIndication" />
#endif
</RxPduList>
</Channel>
</ChannelList>
</CanIf>
<CanTp>
<General Comment="*" DevelopmentErrorDetection="ON" VersionInfoApi="OFF" />
<RxSduList Max="TBD">
<Sdu BS="8" Comment="*" CommunicationType="PHYSICAL" MaxBusyTransmission="10" Name="SduP2P" Nar="25" Nbr="25" Ncr="150" Padding="ON" RxPduRef="RxDiagP2P" STmin="1" TxFcPduRef="TxDiagP2P" ll_dl="64" />
</RxSduList>
<TxSduList Max="TBD">
<Sdu Comment="Generally for Nbs, it's 75ms, here as the qemu CAN simulation is not real time, so set it to a bigger value ." CommunicationType="PHYSICAL" Name="SduP2P" Nas="25" Nbs="250" Ncs="25" Padding="ON" RxFcPduRef="RxDiagP2P" TxPduRef="TxDiagP2P" ll_dl="64" />
</TxSduList>
</CanTp>
<PduR>
<General CanIfUsed="False" CanTpUsed="True" ComUsed="False" Comment="*" DcmUsed="True" DevelopmentErrorDetection="ON" J1939TpUsed="False" LinIfUsed="False" LinTpUsed="False" VersionInfoApi="OFF" ZeroCostIf="CanIf" ZeroCostOperationMode="OFF" ZeroCostTp="CanTp" />
<RoutineList Max="TBD">
<Source Comment="*" Module="Dcm" Name="DcmP2P" PduRef="TxDiagP2P">
<DestinationList Max="TBD">
<Destination Comment="*" Module="CanTp" Name="CanTpP2P" PduRef="TxDiagP2P" />
</DestinationList>
</Source>
<Source Comment="*" Module="CanTp" Name="CanTpP2P" PduRef="RxDiagP2P">
<DestinationList Max="TBD">
<Destination Comment="*" Module="Dcm" Name="DcmP2P" PduRef="RxDiagP2P" />
</DestinationList>
</Source>
#ifdef USE_SOAD
<Source Comment="*" Module="Dcm" Name="DoIP_TX" PduRef="SOAD_TX">
<DestinationList Max="TBD">
<Destination Comment="*" Module="SoAdTp" Name="Destination1" PduRef="SOAD_TX" />
</DestinationList>
</Source>
<Source Comment="*" Module="SoAdTp" Name="DoIP_RX" PduRef="SOAD_RX">
<DestinationList Max="TBD">
<Destination Comment="*" Module="Dcm" Name="Destination1" PduRef="SOAD_RX" />
</DestinationList>
</Source>
#endif
</RoutineList>
</PduR>
<Com>
<General Comment="*" DevelopmentErrorDetection="ON" VersionInfoApi="OFF" />
<PduGroupList Max="TBD" />
<IPduList Max="TBD" />
</Com>
<Dcm>
<General Comment="*" DevelopmentErrorDetection="ON" MaxPeriodDIDNumber="8" PeriodicDIDFastModeTime="50" PeriodicDIDMediumModeTime="100" PeriodicDIDSlowModeTime="200" VersionInfoApi="OFF" />
<BufferList Max="TBD">
<Buffer Comment="rx buffer" Name="Buffer1" Size="4095" />
<Buffer Comment="tx buffer" Name="Buffer2" Size="4095" />
</BufferList>
<SessionList Max="TBD">
<Session Comment="*" Identifier="1" Name="DS" P2ServerMaxTimeMs="100" P2StartServerMaxTimeMs="100" />
<Session Comment="*" Identifier="2" Name="PRGS" P2ServerMaxTimeMs="100" P2StartServerMaxTimeMs="100" />
<Session Comment="*" Identifier="3" Name="EXTDS" P2ServerMaxTimeMs="100" P2StartServerMaxTimeMs="100" />
</SessionList>
<SecurityList Max="TBD">
<Security Comment="*" CompareKeyCallback="BL_CompareProgramSessionKey" GetSeedCallback="BL_GetProgramSessionSeed" Identifier="2" KeySize="4" Name="PRGS" SeedSize="4" />
<Security Comment="*" CompareKeyCallback="BL_CompareExtendedSessionKey" GetSeedCallback="BL_GetExtendedSessionSeed" Identifier="1" KeySize="4" Name="EXTDS" SeedSize="4" />
<Security Comment="Level 0, is the default for each session when enterred" CompareKeyCallback="NULL" GetSeedCallback="NULL" Identifier="0" KeySize="4" Name="Default" SeedSize="4" />
</SecurityList>
<DIDControlRecordList Max="TBD" />
<DIDInfoList Max="TBD" />
<DIDList Max="TBD" />
<RoutineInfoList Max="TBD">
<RoutineInfo Comment="*" Name="RoutineInfo_EraseFlash">
<SessionList Max="TBD">
<Session Comment="*" Name="PRGS" />
</SessionList>
<SecurityList Max="TBD">
<Security Comment="*" Name="PRGS" />
</SecurityList>
<Start Comment="4 byte address, 4 byte size, 1 byte identifier" RecordSizeOfRequest="9" RecordSizeOfResponse="0" />
</RoutineInfo>
<RoutineInfo Comment="*" Name="RoutineInfo_TestJumpToApplication">
<SessionList Max="TBD">
<Session Comment="*" Name="PRGS" />
</SessionList>
<SecurityList Max="TBD">
<Security Comment="*" Name="PRGS" />
</SecurityList>
<Start Comment="direct jump to application and no response" RecordSizeOfRequest="0" RecordSizeOfResponse="0" />
</RoutineInfo>
</RoutineInfoList>
<RoutineList Max="TBD">
<Routine Comment="*" Identifier="0xFF01" Name="EraseFlash" RoutineInfoRef="RoutineInfo_EraseFlash" RoutineResultCbk="NULL" StartRoutineCbk="BL_StartEraseFlash" StopRoutineCbk="NULL" />
<Routine Comment="*" Identifier="0xFF03" Name="TestJumpToApplication" RoutineInfoRef="RoutineInfo_TestJumpToApplication" RoutineResultCbk="NULL" StartRoutineCbk="BL_TestJumpToApplicatin" StopRoutineCbk="NULL" />
</RoutineList>
<MemoryList Max="TBD">
<Memory Comment="*" Identifier="0xFF" Name="Flash">
<MemoryReadInfoList Max="TBD">
<MemoryInfo AddressHigh="0x00010000" AddressLow="0x00000000" Comment="0~64K for bootloader for STM32F107VC" Name="Bootloader">
<SecurityList Max="TBD">
<Security Comment="*" Name="PRGS" />
</SecurityList>
</MemoryInfo>
<MemoryInfo AddressHigh="0x00040000" AddressLow="0x00010000" Comment="64K~256K for application for STM32F017VC" Name="Application">
<SecurityList Max="TBD">
<Security Comment="*" Name="PRGS" />
</SecurityList>
</MemoryInfo>
<MemoryInfo AddressHigh="0x08000000" AddressLow="0x00040000" Comment="*" Name="AppBcm2835">
<SecurityList Max="TBD">
<Security Comment="*" Name="PRGS" />
</SecurityList>
</MemoryInfo>
<MemoryInfo AddressHigh="0x00180000" AddressLow="0x00020000" Comment="*" Name="MPC56xx">
<SecurityList Max="TBD">
<Security Comment="*" Name="PRGS" />
</SecurityList>
</MemoryInfo>
</MemoryReadInfoList>
<MemoryWriteInfoList Max="TBD">
<MemoryInfo AddressHigh="0x00040000" AddressLow="0x00010000" Comment="*" Name="Application">
<SecurityList Max="TBD">
<Security Comment="*" Name="PRGS" />
</SecurityList>
</MemoryInfo>
<MemoryInfo AddressHigh="0x08000000" AddressLow="0x00040000" Comment="*" Name="AppBcm2835">
<SecurityList Max="TBD">
<Security Comment="*" Name="PRGS" />
</SecurityList>
</MemoryInfo>
<MemoryInfo AddressHigh="0x00180000" AddressLow="0x00020000" Comment="*" Name="MPC56xx">
<SecurityList Max="TBD">
<Security Comment="*" Name="PRGS" />
</SecurityList>
</MemoryInfo>
</MemoryWriteInfoList>
</Memory>
<Memory Comment="*" Identifier="0xEE" Name="Eeprom">
<MemoryReadInfoList Max="TBD">
<MemoryInfo AddressHigh="256" AddressLow="0" Comment="0~256 for bootloader information storage" Name="Bootloader">
<SecurityList Max="TBD">
<Security Comment="*" Name="PRGS" />
</SecurityList>
</MemoryInfo>
<MemoryInfo AddressHigh="4096" AddressLow="256" Comment="*" Name="Application">
<SecurityList Max="TBD">
<Security Comment="*" Name="PRGS" />
</SecurityList>
</MemoryInfo>
</MemoryReadInfoList>
<MemoryWriteInfoList Max="TBD">
<MemoryInfo AddressHigh="256" AddressLow="0" Comment="*" Name="Bootloader">
<SecurityList Max="TBD">
<Security Comment="*" Name="PRGS" />
</SecurityList>
</MemoryInfo>
<MemoryInfo AddressHigh="4096" AddressLow="256" Comment="*" Name="Application">
<SecurityList Max="TBD">
<Security Comment="*" Name="PRGS" />
</SecurityList>
</MemoryInfo>
</MemoryWriteInfoList>
</Memory>
<Memory Comment="*" Identifier="0xFD" Name="FlashDriver">
<MemoryReadInfoList Max="TBD">
<MemoryInfo AddressHigh="4096" AddressLow="0" Comment="*" Name="FlashDriver">
<SecurityList Max="TBD">
<Security Comment="*" Name="PRGS" />
</SecurityList>
</MemoryInfo>
</MemoryReadInfoList>
<MemoryWriteInfoList Max="TBD">
<MemoryInfo AddressHigh="4096" AddressLow="0" Comment="*" Name="FlashDriver">
<SecurityList Max="TBD">
<Security Comment="*" Name="PRGS" />
</SecurityList>
</MemoryInfo>
</MemoryWriteInfoList>
</Memory>
</MemoryList>
<ProtocolList Max="TBD">
<Protocol Comment="*" Name="P2P" ProtocolID="UDS_ON_CAN" RxBufferRef="Buffer1" ServiceTableRef="ServiceTable1" TimingLimitRef="Timing1" TransmissionType="TYPE_1" TxBufferRef="Buffer2">
<ConnectionList Max="TBD">
<Connection Comment="*" Name="Connection1">
<RxChannelList Max="TBD">
<RxChannel AddressingType="PHYSICAL" Comment="*" Name="RxChannel1" PduRef="RxDiagP2P" />
</RxChannelList>
<TxChannel Comment="*" Name="TxChannel2" PduRef="TxDiagP2P" />
</Connection>
</ConnectionList>
</Protocol>
#ifdef USE_SOAD
<Protocol Comment="*" Name="DoIP" ProtocolID="UDS_ON_DOIP" RxBufferRef="Buffer1" ServiceTableRef="ServiceTable1" TimingLimitRef="Timing1" TransmissionType="TYPE_1" TxBufferRef="Buffer2">
<ConnectionList Max="TBD">
<Connection Comment="*" Name="Connection1">
<RxChannelList Max="TBD">
<RxChannel AddressingType="PHYSICAL" Comment="*" Name="RxChannel1" PduRef="SOAD_RX" />
</RxChannelList>
<TxChannel Comment="*" Name="TBD" PduRef="SOAD_TX" />
</Connection>
</ConnectionList>
</Protocol>
#endif
</ProtocolList>
<RequestServiceList Max="TBD">
<RequestService Comment="*" Name="RequestService1" ProtocolIndicationCbk="BL_ProtocolIndicationCbk" StartProtocolCbk="BL_StartProtocolCbk" StopProtocolCbk="BL_StopProtocolCbk" />
</RequestServiceList>
<ServiceTableList Max="TBD">
<ServiceTable Comment="*" Name="ServiceTable1">
<ServiceList Max="TBD">
<Service Comment="*" Name="DIAGNOSTIC_SESSION_CONTROL" SubFunctionSupported="True">
<SecurityList Max="TBD">
<Security Comment="*" Name="PRGS" />
<Security Comment="*" Name="EXTDS" />
<Security Comment="*" Name="Default" />
</SecurityList>
<SessionList Max="TBD">
<Session Comment="*" Name="DS" />
<Session Comment="*" Name="PRGS" />
<Session Comment="*" Name="EXTDS" />
</SessionList>
</Service>
<Service Comment="*" Name="SECURITY_ACCESS" SubFunctionSupported="True">
<SecurityList Max="TBD">
<Security Comment="*" Name="PRGS" />
<Security Comment="*" Name="EXTDS" />
<Security Comment="*" Name="Default" />
</SecurityList>
<SessionList Max="TBD">
<Session Comment="*" Name="PRGS" />
<Session Comment="*" Name="EXTDS" />
</SessionList>
</Service>
<Service Comment="*" Name="TESTER_PRESENT" SubFunctionSupported="True">
<SecurityList Max="TBD">
<Security Comment="*" Name="PRGS" />
<Security Comment="*" Name="EXTDS" />
</SecurityList>
<SessionList Max="TBD">
<Session Comment="*" Name="PRGS" />
<Session Comment="*" Name="EXTDS" />
</SessionList>
</Service>
<Service Comment="*" Name="ROUTINE_CONTROL" SubFunctionSupported="True">
<SecurityList Max="TBD">
<Security Comment="*" Name="PRGS" />
<Security Comment="*" Name="EXTDS" />
</SecurityList>
<SessionList Max="TBD">
<Session Comment="*" Name="PRGS" />
<Session Comment="*" Name="EXTDS" />
</SessionList>
</Service>
<Service Comment="*" Name="ECU_RESET" SubFunctionSupported="True">
<SecurityList Max="TBD">
<Security Comment="*" Name="PRGS" />
<Security Comment="*" Name="EXTDS" />
</SecurityList>
<SessionList Max="TBD">
<Session Comment="*" Name="PRGS" />
<Session Comment="*" Name="EXTDS" />
</SessionList>
</Service>
<Service Comment="*" Name="REQUEST_DOWNLOAD" SubFunctionSupported="False">
<SecurityList Max="TBD">
<Security Comment="*" Name="PRGS" />
</SecurityList>
<SessionList Max="TBD">
<Session Comment="*" Name="PRGS" />
</SessionList>
</Service>
<Service Comment="*" Name="REQUEST_UPLOAD" SubFunctionSupported="False">
<SecurityList Max="TBD">
<Security Comment="*" Name="PRGS" />
</SecurityList>
<SessionList Max="TBD">
<Session Comment="*" Name="PRGS" />
</SessionList>
</Service>
<Service Comment="*" Name="TRANSFER_DATA" SubFunctionSupported="False">
<SecurityList Max="TBD">
<Security Comment="*" Name="PRGS" />
</SecurityList>
<SessionList Max="TBD">
<Session Comment="*" Name="PRGS" />
</SessionList>
</Service>
<Service Comment="*" Name="REQUEST_TRANSFER_EXIT" SubFunctionSupported="False">
<SecurityList Max="TBD">
<Security Comment="*" Name="PRGS" />
</SecurityList>
<SessionList Max="TBD">
<Session Comment="*" Name="PRGS" />
</SessionList>
</Service>
</ServiceList>
</ServiceTable>
</ServiceTableList>
<SessionControlList Max="TBD">
<SessionControl Comment="*" GetSessionChangePermissionCbk="BL_GetSessionChangePermission" Name="SessionControl" />
</SessionControlList>
<TimingList Max="TBD">
#ifdef USE_USB_CAN
<Timing Comment="*" Name="Timing1" P2ServerMaxTimeMs="100" P2ServerMinTimeMs="20" S3ServerTimeMs="10000" />
#else
<Timing Comment="*" Name="Timing1" P2ServerMaxTimeMs="100" P2ServerMinTimeMs="20" S3ServerTimeMs="5000" />
#endif
</TimingList>
</Dcm>
<Fls>
<General Comment="*" DevelopmentErrorDetection="OFF" FlashBaseAddress="0" MaxFastReadSize="512" MaxFastWriteSize="32" MaxNormalReadSize="32" MaxNormalWriteSize="8" VersionInfoApi="OFF" />
<SectorList Max="TBD" />
</Fls>
<Fee>
<General Comment="*" DevelopmentErrorDetection="OFF" NvmJobEndNotification="NULL" NvmJobErrorNotification="NULL" PollingMode="ON" VersionInfoApi="OFF" VirtualPageSize="8" />
<BlockList Max="TBD" />
</Fee>
<Ea>
<General Comment="*" DevelopmentErrorDetection="OFF" NvmJobEndNotification="NULL" NvmJobErrorNotification="NULL" SetModeApi="ON" VersionInfoApi="OFF" VirtualPageSize="8" />
<BlockList Max="TBD" />
</Ea>
<NvM>
<General Comment="*" ConfigClass="CLASS_2" DevelopmentErrorDetection="OFF" ImmediateJobQueueSize="8" MultiBlockCallback="NULL" PollingMode="ON" RamBlockStatusApi="ON" StandardJobQueueSize="8" VersionInfoApi="OFF" />
<BlockList Max="TBD" />
</NvM>
<Xcp>
<General Comment="*" DevelopmentErrorDetection="OFF" VersionInfoApi="OFF" XcpCounterRef="TBD" XcpDaqConfigType="DAQ_STATIC" XcpDaqCount="8" XcpFlashProgrammingEnabled="True" XcpIdentificationFieldType="ABSOLUTE" XcpMainFunctionPeriod="10" XcpMaxCto="8" XcpMaxDto="8" XcpMaxEventChannel="8" XcpMaxRxTxQueue="32" XcpMinDaq="0" XcpNvRamBlockIdRef="TBD" XcpOdtCount="56" XcpOdtEntriesCount="112" XcpOdtEntrySizeDaq="0" XcpOdtEntrySizeStim="0" XcpPrescalerSupported="True" XcpProtocal="CAN" XcpSuppressTxSupport="True" XcpTimestampTicks="1" XcpTimestampType="FOUR_BYTE" XcpTimestampUnit="1ms" />
<XcpStaticDaqList Max="TBD" />
<XcpEventChannelList Max="TBD" />
</Xcp>
<Rte>
<DataTypeList Max="TBD" />
<ConstantList Max="TBD" />
<SwcList Max="TBD" />
</Rte>
<Dem>
<General Comment="*" DEM_CLEAR_ALL_EVENTS="OFF" DEM_DTC_STATUS_AVAILABILITY_MASK="0xFF" DEM_MAX_NUMBER_FF_DATA_PRI_MEM="5" DEM_OBD_SUPPORT="OFF" DEM_PTO_SUPPORT="OFF" DEM_TYPE_OF_DTC_SUPPORTED="0x01" DEM_USE_NVM="ON" DevelopmentErrorDetection="OFF" NvMFreezeFrameBlock="TBD" NvMHealingBlock="TBD" VersionInfoApi="OFF" />
<ExtendedDataRecordClassList Max="TBD" />
<DTCClassList Max="TBD" />
<FFIdClassList Max="TBD" />
<FreezeFrameClassList Max="TBD" />
<EventClassList Max="TBD" />
<EventParameterList Max="TBD" />
</Dem>
<J1939Tp>
<General Comment="*" DevelopmentErrorDetection="OFF" PACKETS_PER_BLOCK="8" TX_CONF_TIMEOUT="1000" VersionInfoApi="OFF" />
<ChannelList Max="TBD" />
<ParameterGroupList Max="TBD" />
<PduInfoList Max="TBD" />
</J1939Tp>
</AUTOSAR>

{'repo_name': 'autoas/as', 'stars': '467', 'repo_language': 'C', 'file_name': 'Makefile', 'mime_type': 'text/x-makefile', 'hash': 3241650302040266797, 'source_dataset': 'data'}


// Generated by the protocol buffer compiler.  DO NOT EDIT!
// source: POGOProtos/Enums/ItemCategory.proto
#pragma warning disable 1591, 0612, 3021
#region Designer generated code

using pb = global::Google.Protobuf;
using pbc = global::Google.Protobuf.Collections;
using pbr = global::Google.Protobuf.Reflection;
using scg = global::System.Collections.Generic;
namespace POGOProtos.Enums {

  /// Holder for reflection information generated from POGOProtos/Enums/ItemCategory.proto
  public static partial class ItemCategoryReflection {

    #region Descriptor
    /// File descriptor for POGOProtos/Enums/ItemCategory.proto
    public static pbr::FileDescriptor Descriptor {
      get { return descriptor; }
    }
    private static pbr::FileDescriptor descriptor;

    static ItemCategoryReflection() {
      byte[] descriptorData = global::System.Convert.FromBase64String(
          string.Concat(
            "CiNQT0dPUHJvdG9zL0VudW1zL0l0ZW1DYXRlZ29yeS5wcm90bxIQUE9HT1By",
            "b3Rvcy5FbnVtcyrWAgoMSXRlbUNhdGVnb3J5EhYKEklURU1fQ0FURUdPUllf",
            "Tk9ORRAAEhoKFklURU1fQ0FURUdPUllfUE9LRUJBTEwQARIWChJJVEVNX0NB",
            "VEVHT1JZX0ZPT0QQAhIaChZJVEVNX0NBVEVHT1JZX01FRElDSU5FEAMSFwoT",
            "SVRFTV9DQVRFR09SWV9CT09TVBAEEhoKFklURU1fQ0FURUdPUllfVVRJTElU",
            "RVMQBRIYChRJVEVNX0NBVEVHT1JZX0NBTUVSQRAGEhYKEklURU1fQ0FURUdP",
            "UllfRElTSxAHEhsKF0lURU1fQ0FURUdPUllfSU5DVUJBVE9SEAgSGQoVSVRF",
            "TV9DQVRFR09SWV9JTkNFTlNFEAkSGgoWSVRFTV9DQVRFR09SWV9YUF9CT09T",
            "VBAKEiMKH0lURU1fQ0FURUdPUllfSU5WRU5UT1JZX1VQR1JBREUQC2IGcHJv",
            "dG8z"));
      descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData,
          new pbr::FileDescriptor[] { },
          new pbr::GeneratedClrTypeInfo(new[] {typeof(global::POGOProtos.Enums.ItemCategory), }, null));
    }
    #endregion

  }
  #region Enums
  public enum ItemCategory {
    [pbr::OriginalName("ITEM_CATEGORY_NONE")] None = 0,
    [pbr::OriginalName("ITEM_CATEGORY_POKEBALL")] Pokeball = 1,
    [pbr::OriginalName("ITEM_CATEGORY_FOOD")] Food = 2,
    [pbr::OriginalName("ITEM_CATEGORY_MEDICINE")] Medicine = 3,
    [pbr::OriginalName("ITEM_CATEGORY_BOOST")] Boost = 4,
    [pbr::OriginalName("ITEM_CATEGORY_UTILITES")] Utilites = 5,
    [pbr::OriginalName("ITEM_CATEGORY_CAMERA")] Camera = 6,
    [pbr::OriginalName("ITEM_CATEGORY_DISK")] Disk = 7,
    [pbr::OriginalName("ITEM_CATEGORY_INCUBATOR")] Incubator = 8,
    [pbr::OriginalName("ITEM_CATEGORY_INCENSE")] Incense = 9,
    [pbr::OriginalName("ITEM_CATEGORY_XP_BOOST")] XpBoost = 10,
    [pbr::OriginalName("ITEM_CATEGORY_INVENTORY_UPGRADE")] InventoryUpgrade = 11,
  }

  #endregion

}

#endregion Designer generated code

{'repo_name': 'd-haxton/HaxtonBot', 'stars': '188', 'repo_language': 'C#', 'file_name': 'AssemblyInfo.cs', 'mime_type': 'text/plain', 'hash': 597654525581383453, 'source_dataset': 'data'}


// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2008-2009 Gael Guennebaud <gael.guennebaud@inria.fr>
// Copyright (C) 2010 Konstantinos Margaritis <markos@freevec.org>
// Heavily based on Gael's SSE version.
//
// This Source Code Form is subject to the terms of the Mozilla
// Public License v. 2.0. If a copy of the MPL was not distributed
// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.

#ifndef EIGEN_PACKET_MATH_NEON_H
#define EIGEN_PACKET_MATH_NEON_H

namespace Eigen {

namespace internal {

#ifndef EIGEN_CACHEFRIENDLY_PRODUCT_THRESHOLD
#define EIGEN_CACHEFRIENDLY_PRODUCT_THRESHOLD 8
#endif

#ifndef EIGEN_HAS_SINGLE_INSTRUCTION_MADD
#define EIGEN_HAS_SINGLE_INSTRUCTION_MADD
#endif

#ifndef EIGEN_HAS_SINGLE_INSTRUCTION_CJMADD
#define EIGEN_HAS_SINGLE_INSTRUCTION_CJMADD
#endif

#ifndef EIGEN_ARCH_DEFAULT_NUMBER_OF_REGISTERS
#if EIGEN_ARCH_ARM64
#define EIGEN_ARCH_DEFAULT_NUMBER_OF_REGISTERS 32
#else
#define EIGEN_ARCH_DEFAULT_NUMBER_OF_REGISTERS 16
#endif
#endif

typedef float32x2_t Packet2f;
typedef float32x4_t Packet4f;
typedef int32x4_t   Packet4i;
typedef int32x2_t   Packet2i;
typedef uint32x4_t  Packet4ui;

#define _EIGEN_DECLARE_CONST_Packet4f(NAME,X) \
  const Packet4f p4f_##NAME = pset1<Packet4f>(X)

#define _EIGEN_DECLARE_CONST_Packet4f_FROM_INT(NAME,X) \
  const Packet4f p4f_##NAME = vreinterpretq_f32_u32(pset1<int32_t>(X))

#define _EIGEN_DECLARE_CONST_Packet4i(NAME,X) \
  const Packet4i p4i_##NAME = pset1<Packet4i>(X)

#if EIGEN_ARCH_ARM64
  // __builtin_prefetch tends to do nothing on ARM64 compilers because the
  // prefetch instructions there are too detailed for __builtin_prefetch to map
  // meaningfully to them.
  #define EIGEN_ARM_PREFETCH(ADDR)  __asm__ __volatile__("prfm pldl1keep, [%[addr]]\n" ::[addr] "r"(ADDR) : );
#elif EIGEN_HAS_BUILTIN(__builtin_prefetch) || EIGEN_COMP_GNUC
  #define EIGEN_ARM_PREFETCH(ADDR) __builtin_prefetch(ADDR);
#elif defined __pld
  #define EIGEN_ARM_PREFETCH(ADDR) __pld(ADDR)
#elif EIGEN_ARCH_ARM32
  #define EIGEN_ARM_PREFETCH(ADDR) __asm__ __volatile__ ("pld [%[addr]]\n" :: [addr] "r" (ADDR) : );
#else
  // by default no explicit prefetching
  #define EIGEN_ARM_PREFETCH(ADDR)
#endif

template<> struct packet_traits<float>  : default_packet_traits
{
  typedef Packet4f type;
  typedef Packet4f half; // Packet2f intrinsics not implemented yet
  enum {
    Vectorizable = 1,
    AlignedOnScalar = 1,
    size = 4,
    HasHalfPacket=0, // Packet2f intrinsics not implemented yet

    HasDiv  = 1,
    // FIXME check the Has*
    HasSin  = 0,
    HasCos  = 0,
    HasLog  = 0,
    HasExp  = 1,
    HasSqrt = 0
  };
};
template<> struct packet_traits<int32_t>    : default_packet_traits
{
  typedef Packet4i type;
  typedef Packet4i half; // Packet2i intrinsics not implemented yet
  enum {
    Vectorizable = 1,
    AlignedOnScalar = 1,
    size=4,
    HasHalfPacket=0 // Packet2i intrinsics not implemented yet
    // FIXME check the Has*
  };
};

#if EIGEN_GNUC_AT_MOST(4,4) && !EIGEN_COMP_LLVM
// workaround gcc 4.2, 4.3 and 4.4 compilatin issue
EIGEN_STRONG_INLINE float32x4_t vld1q_f32(const float* x) { return ::vld1q_f32((const float32_t*)x); }
EIGEN_STRONG_INLINE float32x2_t vld1_f32 (const float* x) { return ::vld1_f32 ((const float32_t*)x); }
EIGEN_STRONG_INLINE float32x2_t vld1_dup_f32 (const float* x) { return ::vld1_dup_f32 ((const float32_t*)x); }
EIGEN_STRONG_INLINE void        vst1q_f32(float* to, float32x4_t from) { ::vst1q_f32((float32_t*)to,from); }
EIGEN_STRONG_INLINE void        vst1_f32 (float* to, float32x2_t from) { ::vst1_f32 ((float32_t*)to,from); }
#endif

template<> struct unpacket_traits<Packet4f> { typedef float   type; enum {size=4, alignment=Aligned16}; typedef Packet4f half; };
template<> struct unpacket_traits<Packet4i> { typedef int32_t type; enum {size=4, alignment=Aligned16}; typedef Packet4i half; };

template<> EIGEN_STRONG_INLINE Packet4f pset1<Packet4f>(const float&  from) { return vdupq_n_f32(from); }
template<> EIGEN_STRONG_INLINE Packet4i pset1<Packet4i>(const int32_t&    from)   { return vdupq_n_s32(from); }

template<> EIGEN_STRONG_INLINE Packet4f plset<Packet4f>(const float& a)
{
  const float f[] = {0, 1, 2, 3};
  Packet4f countdown = vld1q_f32(f);
  return vaddq_f32(pset1<Packet4f>(a), countdown);
}
template<> EIGEN_STRONG_INLINE Packet4i plset<Packet4i>(const int32_t& a)
{
  const int32_t i[] = {0, 1, 2, 3};
  Packet4i countdown = vld1q_s32(i);
  return vaddq_s32(pset1<Packet4i>(a), countdown);
}

template<> EIGEN_STRONG_INLINE Packet4f padd<Packet4f>(const Packet4f& a, const Packet4f& b) { return vaddq_f32(a,b); }
template<> EIGEN_STRONG_INLINE Packet4i padd<Packet4i>(const Packet4i& a, const Packet4i& b) { return vaddq_s32(a,b); }

template<> EIGEN_STRONG_INLINE Packet4f psub<Packet4f>(const Packet4f& a, const Packet4f& b) { return vsubq_f32(a,b); }
template<> EIGEN_STRONG_INLINE Packet4i psub<Packet4i>(const Packet4i& a, const Packet4i& b) { return vsubq_s32(a,b); }

template<> EIGEN_STRONG_INLINE Packet4f pnegate(const Packet4f& a) { return vnegq_f32(a); }
template<> EIGEN_STRONG_INLINE Packet4i pnegate(const Packet4i& a) { return vnegq_s32(a); }

template<> EIGEN_STRONG_INLINE Packet4f pconj(const Packet4f& a) { return a; }
template<> EIGEN_STRONG_INLINE Packet4i pconj(const Packet4i& a) { return a; }

template<> EIGEN_STRONG_INLINE Packet4f pmul<Packet4f>(const Packet4f& a, const Packet4f& b) { return vmulq_f32(a,b); }
template<> EIGEN_STRONG_INLINE Packet4i pmul<Packet4i>(const Packet4i& a, const Packet4i& b) { return vmulq_s32(a,b); }

template<> EIGEN_STRONG_INLINE Packet4f pdiv<Packet4f>(const Packet4f& a, const Packet4f& b)
{
#if EIGEN_ARCH_ARM64
  return vdivq_f32(a,b);
#else
  Packet4f inv, restep, div;

  // NEON does not offer a divide instruction, we have to do a reciprocal approximation
  // However NEON in contrast to other SIMD engines (AltiVec/SSE), offers
  // a reciprocal estimate AND a reciprocal step -which saves a few instructions
  // vrecpeq_f32() returns an estimate to 1/b, which we will finetune with
  // Newton-Raphson and vrecpsq_f32()
  inv = vrecpeq_f32(b);

  // This returns a differential, by which we will have to multiply inv to get a better
  // approximation of 1/b.
  restep = vrecpsq_f32(b, inv);
  inv = vmulq_f32(restep, inv);

  // Finally, multiply a by 1/b and get the wanted result of the division.
  div = vmulq_f32(a, inv);

  return div;
#endif
}

template<> EIGEN_STRONG_INLINE Packet4i pdiv<Packet4i>(const Packet4i& /*a*/, const Packet4i& /*b*/)
{ eigen_assert(false && "packet integer division are not supported by NEON");
  return pset1<Packet4i>(0);
}

// Clang/ARM wrongly advertises __ARM_FEATURE_FMA even when it's not available,
// then implements a slow software scalar fallback calling fmaf()!
// Filed LLVM bug:
//     https://llvm.org/bugs/show_bug.cgi?id=27216
#if (defined __ARM_FEATURE_FMA) && !(EIGEN_COMP_CLANG && EIGEN_ARCH_ARM)
// See bug 936.
// FMA is available on VFPv4 i.e. when compiling with -mfpu=neon-vfpv4.
// FMA is a true fused multiply-add i.e. only 1 rounding at the end, no intermediate rounding.
// MLA is not fused i.e. does 2 roundings.
// In addition to giving better accuracy, FMA also gives better performance here on a Krait (Nexus 4):
// MLA: 10 GFlop/s ; FMA: 12 GFlops/s.
template<> EIGEN_STRONG_INLINE Packet4f pmadd(const Packet4f& a, const Packet4f& b, const Packet4f& c) { return vfmaq_f32(c,a,b); }
#else
template<> EIGEN_STRONG_INLINE Packet4f pmadd(const Packet4f& a, const Packet4f& b, const Packet4f& c) {
#if EIGEN_COMP_CLANG && EIGEN_ARCH_ARM
  // Clang/ARM will replace VMLA by VMUL+VADD at least for some values of -mcpu,
  // at least -mcpu=cortex-a8 and -mcpu=cortex-a7. Since the former is the default on
  // -march=armv7-a, that is a very common case.
  // See e.g. this thread:
  //     http://lists.llvm.org/pipermail/llvm-dev/2013-December/068806.html
  // Filed LLVM bug:
  //     https://llvm.org/bugs/show_bug.cgi?id=27219
  Packet4f r = c;
  asm volatile(
    "vmla.f32 %q[r], %q[a], %q[b]"
    : [r] "+w" (r)
    : [a] "w" (a),
      [b] "w" (b)
    : );
  return r;
#else
  return vmlaq_f32(c,a,b);
#endif
}
#endif

// No FMA instruction for int, so use MLA unconditionally.
template<> EIGEN_STRONG_INLINE Packet4i pmadd(const Packet4i& a, const Packet4i& b, const Packet4i& c) { return vmlaq_s32(c,a,b); }

template<> EIGEN_STRONG_INLINE Packet4f pmin<Packet4f>(const Packet4f& a, const Packet4f& b) { return vminq_f32(a,b); }
template<> EIGEN_STRONG_INLINE Packet4i pmin<Packet4i>(const Packet4i& a, const Packet4i& b) { return vminq_s32(a,b); }

template<> EIGEN_STRONG_INLINE Packet4f pmax<Packet4f>(const Packet4f& a, const Packet4f& b) { return vmaxq_f32(a,b); }
template<> EIGEN_STRONG_INLINE Packet4i pmax<Packet4i>(const Packet4i& a, const Packet4i& b) { return vmaxq_s32(a,b); }

// Logical Operations are not supported for float, so we have to reinterpret casts using NEON intrinsics
template<> EIGEN_STRONG_INLINE Packet4f pand<Packet4f>(const Packet4f& a, const Packet4f& b)
{
  return vreinterpretq_f32_u32(vandq_u32(vreinterpretq_u32_f32(a),vreinterpretq_u32_f32(b)));
}
template<> EIGEN_STRONG_INLINE Packet4i pand<Packet4i>(const Packet4i& a, const Packet4i& b) { return vandq_s32(a,b); }

template<> EIGEN_STRONG_INLINE Packet4f por<Packet4f>(const Packet4f& a, const Packet4f& b)
{
  return vreinterpretq_f32_u32(vorrq_u32(vreinterpretq_u32_f32(a),vreinterpretq_u32_f32(b)));
}
template<> EIGEN_STRONG_INLINE Packet4i por<Packet4i>(const Packet4i& a, const Packet4i& b) { return vorrq_s32(a,b); }

template<> EIGEN_STRONG_INLINE Packet4f pxor<Packet4f>(const Packet4f& a, const Packet4f& b)
{
  return vreinterpretq_f32_u32(veorq_u32(vreinterpretq_u32_f32(a),vreinterpretq_u32_f32(b)));
}
template<> EIGEN_STRONG_INLINE Packet4i pxor<Packet4i>(const Packet4i& a, const Packet4i& b) { return veorq_s32(a,b); }

template<> EIGEN_STRONG_INLINE Packet4f pandnot<Packet4f>(const Packet4f& a, const Packet4f& b)
{
  return vreinterpretq_f32_u32(vbicq_u32(vreinterpretq_u32_f32(a),vreinterpretq_u32_f32(b)));
}
template<> EIGEN_STRONG_INLINE Packet4i pandnot<Packet4i>(const Packet4i& a, const Packet4i& b) { return vbicq_s32(a,b); }

template<> EIGEN_STRONG_INLINE Packet4f pload<Packet4f>(const float*    from) { EIGEN_DEBUG_ALIGNED_LOAD return vld1q_f32(from); }
template<> EIGEN_STRONG_INLINE Packet4i pload<Packet4i>(const int32_t*  from) { EIGEN_DEBUG_ALIGNED_LOAD return vld1q_s32(from); }

template<> EIGEN_STRONG_INLINE Packet4f ploadu<Packet4f>(const float*   from) { EIGEN_DEBUG_UNALIGNED_LOAD return vld1q_f32(from); }
template<> EIGEN_STRONG_INLINE Packet4i ploadu<Packet4i>(const int32_t* from) { EIGEN_DEBUG_UNALIGNED_LOAD return vld1q_s32(from); }

template<> EIGEN_STRONG_INLINE Packet4f ploaddup<Packet4f>(const float* from)
{
  float32x2_t lo, hi;
  lo = vld1_dup_f32(from);
  hi = vld1_dup_f32(from+1);
  return vcombine_f32(lo, hi);
}
template<> EIGEN_STRONG_INLINE Packet4i ploaddup<Packet4i>(const int32_t* from)
{
  int32x2_t lo, hi;
  lo = vld1_dup_s32(from);
  hi = vld1_dup_s32(from+1);
  return vcombine_s32(lo, hi);
}

template<> EIGEN_STRONG_INLINE void pstore<float>  (float*    to, const Packet4f& from) { EIGEN_DEBUG_ALIGNED_STORE vst1q_f32(to, from); }
template<> EIGEN_STRONG_INLINE void pstore<int32_t>(int32_t*  to, const Packet4i& from) { EIGEN_DEBUG_ALIGNED_STORE vst1q_s32(to, from); }

template<> EIGEN_STRONG_INLINE void pstoreu<float>  (float*   to, const Packet4f& from) { EIGEN_DEBUG_UNALIGNED_STORE vst1q_f32(to, from); }
template<> EIGEN_STRONG_INLINE void pstoreu<int32_t>(int32_t* to, const Packet4i& from) { EIGEN_DEBUG_UNALIGNED_STORE vst1q_s32(to, from); }

template<> EIGEN_DEVICE_FUNC inline Packet4f pgather<float, Packet4f>(const float* from, Index stride)
{
  Packet4f res = pset1<Packet4f>(0.f);
  res = vsetq_lane_f32(from[0*stride], res, 0);
  res = vsetq_lane_f32(from[1*stride], res, 1);
  res = vsetq_lane_f32(from[2*stride], res, 2);
  res = vsetq_lane_f32(from[3*stride], res, 3);
  return res;
}
template<> EIGEN_DEVICE_FUNC inline Packet4i pgather<int32_t, Packet4i>(const int32_t* from, Index stride)
{
  Packet4i res = pset1<Packet4i>(0);
  res = vsetq_lane_s32(from[0*stride], res, 0);
  res = vsetq_lane_s32(from[1*stride], res, 1);
  res = vsetq_lane_s32(from[2*stride], res, 2);
  res = vsetq_lane_s32(from[3*stride], res, 3);
  return res;
}

template<> EIGEN_DEVICE_FUNC inline void pscatter<float, Packet4f>(float* to, const Packet4f& from, Index stride)
{
  to[stride*0] = vgetq_lane_f32(from, 0);
  to[stride*1] = vgetq_lane_f32(from, 1);
  to[stride*2] = vgetq_lane_f32(from, 2);
  to[stride*3] = vgetq_lane_f32(from, 3);
}
template<> EIGEN_DEVICE_FUNC inline void pscatter<int32_t, Packet4i>(int32_t* to, const Packet4i& from, Index stride)
{
  to[stride*0] = vgetq_lane_s32(from, 0);
  to[stride*1] = vgetq_lane_s32(from, 1);
  to[stride*2] = vgetq_lane_s32(from, 2);
  to[stride*3] = vgetq_lane_s32(from, 3);
}

template<> EIGEN_STRONG_INLINE void prefetch<float>  (const float*    addr) { EIGEN_ARM_PREFETCH(addr); }
template<> EIGEN_STRONG_INLINE void prefetch<int32_t>(const int32_t*  addr) { EIGEN_ARM_PREFETCH(addr); }

// FIXME only store the 2 first elements ?
template<> EIGEN_STRONG_INLINE float   pfirst<Packet4f>(const Packet4f& a) { float   EIGEN_ALIGN16 x[4]; vst1q_f32(x, a); return x[0]; }
template<> EIGEN_STRONG_INLINE int32_t pfirst<Packet4i>(const Packet4i& a) { int32_t EIGEN_ALIGN16 x[4]; vst1q_s32(x, a); return x[0]; }

template<> EIGEN_STRONG_INLINE Packet4f preverse(const Packet4f& a) {
  float32x2_t a_lo, a_hi;
  Packet4f a_r64;

  a_r64 = vrev64q_f32(a);
  a_lo = vget_low_f32(a_r64);
  a_hi = vget_high_f32(a_r64);
  return vcombine_f32(a_hi, a_lo);
}
template<> EIGEN_STRONG_INLINE Packet4i preverse(const Packet4i& a) {
  int32x2_t a_lo, a_hi;
  Packet4i a_r64;

  a_r64 = vrev64q_s32(a);
  a_lo = vget_low_s32(a_r64);
  a_hi = vget_high_s32(a_r64);
  return vcombine_s32(a_hi, a_lo);
}

template<> EIGEN_STRONG_INLINE Packet4f pabs(const Packet4f& a) { return vabsq_f32(a); }
template<> EIGEN_STRONG_INLINE Packet4i pabs(const Packet4i& a) { return vabsq_s32(a); }

template<> EIGEN_STRONG_INLINE float predux<Packet4f>(const Packet4f& a)
{
  float32x2_t a_lo, a_hi, sum;

  a_lo = vget_low_f32(a);
  a_hi = vget_high_f32(a);
  sum = vpadd_f32(a_lo, a_hi);
  sum = vpadd_f32(sum, sum);
  return vget_lane_f32(sum, 0);
}

template<> EIGEN_STRONG_INLINE Packet4f preduxp<Packet4f>(const Packet4f* vecs)
{
  float32x4x2_t vtrn1, vtrn2, res1, res2;
  Packet4f sum1, sum2, sum;

  // NEON zip performs interleaving of the supplied vectors.
  // We perform two interleaves in a row to acquire the transposed vector
  vtrn1 = vzipq_f32(vecs[0], vecs[2]);
  vtrn2 = vzipq_f32(vecs[1], vecs[3]);
  res1 = vzipq_f32(vtrn1.val[0], vtrn2.val[0]);
  res2 = vzipq_f32(vtrn1.val[1], vtrn2.val[1]);

  // Do the addition of the resulting vectors
  sum1 = vaddq_f32(res1.val[0], res1.val[1]);
  sum2 = vaddq_f32(res2.val[0], res2.val[1]);
  sum = vaddq_f32(sum1, sum2);

  return sum;
}

template<> EIGEN_STRONG_INLINE int32_t predux<Packet4i>(const Packet4i& a)
{
  int32x2_t a_lo, a_hi, sum;

  a_lo = vget_low_s32(a);
  a_hi = vget_high_s32(a);
  sum = vpadd_s32(a_lo, a_hi);
  sum = vpadd_s32(sum, sum);
  return vget_lane_s32(sum, 0);
}

template<> EIGEN_STRONG_INLINE Packet4i preduxp<Packet4i>(const Packet4i* vecs)
{
  int32x4x2_t vtrn1, vtrn2, res1, res2;
  Packet4i sum1, sum2, sum;

  // NEON zip performs interleaving of the supplied vectors.
  // We perform two interleaves in a row to acquire the transposed vector
  vtrn1 = vzipq_s32(vecs[0], vecs[2]);
  vtrn2 = vzipq_s32(vecs[1], vecs[3]);
  res1 = vzipq_s32(vtrn1.val[0], vtrn2.val[0]);
  res2 = vzipq_s32(vtrn1.val[1], vtrn2.val[1]);

  // Do the addition of the resulting vectors
  sum1 = vaddq_s32(res1.val[0], res1.val[1]);
  sum2 = vaddq_s32(res2.val[0], res2.val[1]);
  sum = vaddq_s32(sum1, sum2);

  return sum;
}

// Other reduction functions:
// mul
template<> EIGEN_STRONG_INLINE float predux_mul<Packet4f>(const Packet4f& a)
{
  float32x2_t a_lo, a_hi, prod;

  // Get a_lo = |a1|a2| and a_hi = |a3|a4|
  a_lo = vget_low_f32(a);
  a_hi = vget_high_f32(a);
  // Get the product of a_lo * a_hi -> |a1*a3|a2*a4|
  prod = vmul_f32(a_lo, a_hi);
  // Multiply prod with its swapped value |a2*a4|a1*a3|
  prod = vmul_f32(prod, vrev64_f32(prod));

  return vget_lane_f32(prod, 0);
}
template<> EIGEN_STRONG_INLINE int32_t predux_mul<Packet4i>(const Packet4i& a)
{
  int32x2_t a_lo, a_hi, prod;

  // Get a_lo = |a1|a2| and a_hi = |a3|a4|
  a_lo = vget_low_s32(a);
  a_hi = vget_high_s32(a);
  // Get the product of a_lo * a_hi -> |a1*a3|a2*a4|
  prod = vmul_s32(a_lo, a_hi);
  // Multiply prod with its swapped value |a2*a4|a1*a3|
  prod = vmul_s32(prod, vrev64_s32(prod));

  return vget_lane_s32(prod, 0);
}

// min
template<> EIGEN_STRONG_INLINE float predux_min<Packet4f>(const Packet4f& a)
{
  float32x2_t a_lo, a_hi, min;

  a_lo = vget_low_f32(a);
  a_hi = vget_high_f32(a);
  min = vpmin_f32(a_lo, a_hi);
  min = vpmin_f32(min, min);

  return vget_lane_f32(min, 0);
}

template<> EIGEN_STRONG_INLINE int32_t predux_min<Packet4i>(const Packet4i& a)
{
  int32x2_t a_lo, a_hi, min;

  a_lo = vget_low_s32(a);
  a_hi = vget_high_s32(a);
  min = vpmin_s32(a_lo, a_hi);
  min = vpmin_s32(min, min);

  return vget_lane_s32(min, 0);
}

// max
template<> EIGEN_STRONG_INLINE float predux_max<Packet4f>(const Packet4f& a)
{
  float32x2_t a_lo, a_hi, max;

  a_lo = vget_low_f32(a);
  a_hi = vget_high_f32(a);
  max = vpmax_f32(a_lo, a_hi);
  max = vpmax_f32(max, max);

  return vget_lane_f32(max, 0);
}

template<> EIGEN_STRONG_INLINE int32_t predux_max<Packet4i>(const Packet4i& a)
{
  int32x2_t a_lo, a_hi, max;

  a_lo = vget_low_s32(a);
  a_hi = vget_high_s32(a);
  max = vpmax_s32(a_lo, a_hi);
  max = vpmax_s32(max, max);

  return vget_lane_s32(max, 0);
}

// this PALIGN_NEON business is to work around a bug in LLVM Clang 3.0 causing incorrect compilation errors,
// see bug 347 and this LLVM bug: http://llvm.org/bugs/show_bug.cgi?id=11074
#define PALIGN_NEON(Offset,Type,Command) \
template<>\
struct palign_impl<Offset,Type>\
{\
    EIGEN_STRONG_INLINE static void run(Type& first, const Type& second)\
    {\
        if (Offset!=0)\
            first = Command(first, second, Offset);\
    }\
};\

PALIGN_NEON(0,Packet4f,vextq_f32)
PALIGN_NEON(1,Packet4f,vextq_f32)
PALIGN_NEON(2,Packet4f,vextq_f32)
PALIGN_NEON(3,Packet4f,vextq_f32)
PALIGN_NEON(0,Packet4i,vextq_s32)
PALIGN_NEON(1,Packet4i,vextq_s32)
PALIGN_NEON(2,Packet4i,vextq_s32)
PALIGN_NEON(3,Packet4i,vextq_s32)

#undef PALIGN_NEON

EIGEN_DEVICE_FUNC inline void
ptranspose(PacketBlock<Packet4f,4>& kernel) {
  float32x4x2_t tmp1 = vzipq_f32(kernel.packet[0], kernel.packet[1]);
  float32x4x2_t tmp2 = vzipq_f32(kernel.packet[2], kernel.packet[3]);

  kernel.packet[0] = vcombine_f32(vget_low_f32(tmp1.val[0]), vget_low_f32(tmp2.val[0]));
  kernel.packet[1] = vcombine_f32(vget_high_f32(tmp1.val[0]), vget_high_f32(tmp2.val[0]));
  kernel.packet[2] = vcombine_f32(vget_low_f32(tmp1.val[1]), vget_low_f32(tmp2.val[1]));
  kernel.packet[3] = vcombine_f32(vget_high_f32(tmp1.val[1]), vget_high_f32(tmp2.val[1]));
}

EIGEN_DEVICE_FUNC inline void
ptranspose(PacketBlock<Packet4i,4>& kernel) {
  int32x4x2_t tmp1 = vzipq_s32(kernel.packet[0], kernel.packet[1]);
  int32x4x2_t tmp2 = vzipq_s32(kernel.packet[2], kernel.packet[3]);
  kernel.packet[0] = vcombine_s32(vget_low_s32(tmp1.val[0]), vget_low_s32(tmp2.val[0]));
  kernel.packet[1] = vcombine_s32(vget_high_s32(tmp1.val[0]), vget_high_s32(tmp2.val[0]));
  kernel.packet[2] = vcombine_s32(vget_low_s32(tmp1.val[1]), vget_low_s32(tmp2.val[1]));
  kernel.packet[3] = vcombine_s32(vget_high_s32(tmp1.val[1]), vget_high_s32(tmp2.val[1]));
}

//---------- double ----------

// Clang 3.5 in the iOS toolchain has an ICE triggered by NEON intrisics for double.
// Confirmed at least with __apple_build_version__ = 6000054.
#ifdef __apple_build_version__
// Let's hope that by the time __apple_build_version__ hits the 601* range, the bug will be fixed.
// https://gist.github.com/yamaya/2924292 suggests that the 3 first digits are only updated with
// major toolchain updates.
#define EIGEN_APPLE_DOUBLE_NEON_BUG (__apple_build_version__ < 6010000)
#else
#define EIGEN_APPLE_DOUBLE_NEON_BUG 0
#endif

#if EIGEN_ARCH_ARM64 && !EIGEN_APPLE_DOUBLE_NEON_BUG

// Bug 907: workaround missing declarations of the following two functions in the ADK
// Defining these functions as templates ensures that if these intrinsics are
// already defined in arm_neon.h, then our workaround doesn't cause a conflict
// and has lower priority in overload resolution.
template <typename T>
uint64x2_t vreinterpretq_u64_f64(T a)
{
  return (uint64x2_t) a;
}

template <typename T>
float64x2_t vreinterpretq_f64_u64(T a)
{
  return (float64x2_t) a;
}

typedef float64x2_t Packet2d;
typedef float64x1_t Packet1d;

template<> struct packet_traits<double>  : default_packet_traits
{
  typedef Packet2d type;
  typedef Packet2d half;
  enum {
    Vectorizable = 1,
    AlignedOnScalar = 1,
    size = 2,
    HasHalfPacket=0,

    HasDiv  = 1,
    // FIXME check the Has*
    HasSin  = 0,
    HasCos  = 0,
    HasLog  = 0,
    HasExp  = 0,
    HasSqrt = 0
  };
};

template<> struct unpacket_traits<Packet2d> { typedef double  type; enum {size=2, alignment=Aligned16}; typedef Packet2d half; };

template<> EIGEN_STRONG_INLINE Packet2d pset1<Packet2d>(const double&  from) { return vdupq_n_f64(from); }

template<> EIGEN_STRONG_INLINE Packet2d plset<Packet2d>(const double& a)
{
  const double countdown_raw[] = {0.0,1.0};
  const Packet2d countdown = vld1q_f64(countdown_raw);
  return vaddq_f64(pset1<Packet2d>(a), countdown);
}
template<> EIGEN_STRONG_INLINE Packet2d padd<Packet2d>(const Packet2d& a, const Packet2d& b) { return vaddq_f64(a,b); }

template<> EIGEN_STRONG_INLINE Packet2d psub<Packet2d>(const Packet2d& a, const Packet2d& b) { return vsubq_f64(a,b); }

template<> EIGEN_STRONG_INLINE Packet2d pnegate(const Packet2d& a) { return vnegq_f64(a); }

template<> EIGEN_STRONG_INLINE Packet2d pconj(const Packet2d& a) { return a; }

template<> EIGEN_STRONG_INLINE Packet2d pmul<Packet2d>(const Packet2d& a, const Packet2d& b) { return vmulq_f64(a,b); }

template<> EIGEN_STRONG_INLINE Packet2d pdiv<Packet2d>(const Packet2d& a, const Packet2d& b) { return vdivq_f64(a,b); }

#ifdef __ARM_FEATURE_FMA
// See bug 936. See above comment about FMA for float.
template<> EIGEN_STRONG_INLINE Packet2d pmadd(const Packet2d& a, const Packet2d& b, const Packet2d& c) { return vfmaq_f64(c,a,b); }
#else
template<> EIGEN_STRONG_INLINE Packet2d pmadd(const Packet2d& a, const Packet2d& b, const Packet2d& c) { return vmlaq_f64(c,a,b); }
#endif

template<> EIGEN_STRONG_INLINE Packet2d pmin<Packet2d>(const Packet2d& a, const Packet2d& b) { return vminq_f64(a,b); }

template<> EIGEN_STRONG_INLINE Packet2d pmax<Packet2d>(const Packet2d& a, const Packet2d& b) { return vmaxq_f64(a,b); }

// Logical Operations are not supported for float, so we have to reinterpret casts using NEON intrinsics
template<> EIGEN_STRONG_INLINE Packet2d pand<Packet2d>(const Packet2d& a, const Packet2d& b)
{
  return vreinterpretq_f64_u64(vandq_u64(vreinterpretq_u64_f64(a),vreinterpretq_u64_f64(b)));
}

template<> EIGEN_STRONG_INLINE Packet2d por<Packet2d>(const Packet2d& a, const Packet2d& b)
{
  return vreinterpretq_f64_u64(vorrq_u64(vreinterpretq_u64_f64(a),vreinterpretq_u64_f64(b)));
}

template<> EIGEN_STRONG_INLINE Packet2d pxor<Packet2d>(const Packet2d& a, const Packet2d& b)
{
  return vreinterpretq_f64_u64(veorq_u64(vreinterpretq_u64_f64(a),vreinterpretq_u64_f64(b)));
}

template<> EIGEN_STRONG_INLINE Packet2d pandnot<Packet2d>(const Packet2d& a, const Packet2d& b)
{
  return vreinterpretq_f64_u64(vbicq_u64(vreinterpretq_u64_f64(a),vreinterpretq_u64_f64(b)));
}

template<> EIGEN_STRONG_INLINE Packet2d pload<Packet2d>(const double* from) { EIGEN_DEBUG_ALIGNED_LOAD return vld1q_f64(from); }

template<> EIGEN_STRONG_INLINE Packet2d ploadu<Packet2d>(const double* from) { EIGEN_DEBUG_UNALIGNED_LOAD return vld1q_f64(from); }

template<> EIGEN_STRONG_INLINE Packet2d ploaddup<Packet2d>(const double*   from)
{
  return vld1q_dup_f64(from);
}
template<> EIGEN_STRONG_INLINE void pstore<double>(double*   to, const Packet2d& from) { EIGEN_DEBUG_ALIGNED_STORE vst1q_f64(to, from); }

template<> EIGEN_STRONG_INLINE void pstoreu<double>(double*  to, const Packet2d& from) { EIGEN_DEBUG_UNALIGNED_STORE vst1q_f64(to, from); }

template<> EIGEN_DEVICE_FUNC inline Packet2d pgather<double, Packet2d>(const double* from, Index stride)
{
  Packet2d res = pset1<Packet2d>(0.0);
  res = vsetq_lane_f64(from[0*stride], res, 0);
  res = vsetq_lane_f64(from[1*stride], res, 1);
  return res;
}
template<> EIGEN_DEVICE_FUNC inline void pscatter<double, Packet2d>(double* to, const Packet2d& from, Index stride)
{
  to[stride*0] = vgetq_lane_f64(from, 0);
  to[stride*1] = vgetq_lane_f64(from, 1);
}
template<> EIGEN_STRONG_INLINE void prefetch<double>(const double* addr) { EIGEN_ARM_PREFETCH(addr); }

// FIXME only store the 2 first elements ?
template<> EIGEN_STRONG_INLINE double pfirst<Packet2d>(const Packet2d& a) { return vgetq_lane_f64(a, 0); }

template<> EIGEN_STRONG_INLINE Packet2d preverse(const Packet2d& a) { return vcombine_f64(vget_high_f64(a), vget_low_f64(a)); }

template<> EIGEN_STRONG_INLINE Packet2d pabs(const Packet2d& a) { return vabsq_f64(a); }

#if EIGEN_COMP_CLANG && defined(__apple_build_version__)
// workaround ICE, see bug 907
template<> EIGEN_STRONG_INLINE double predux<Packet2d>(const Packet2d& a) { return (vget_low_f64(a) + vget_high_f64(a))[0]; }
#else
template<> EIGEN_STRONG_INLINE double predux<Packet2d>(const Packet2d& a) { return vget_lane_f64(vget_low_f64(a) + vget_high_f64(a), 0); }
#endif

template<> EIGEN_STRONG_INLINE Packet2d preduxp<Packet2d>(const Packet2d* vecs)
{
  float64x2_t trn1, trn2;

  // NEON zip performs interleaving of the supplied vectors.
  // We perform two interleaves in a row to acquire the transposed vector
  trn1 = vzip1q_f64(vecs[0], vecs[1]);
  trn2 = vzip2q_f64(vecs[0], vecs[1]);

  // Do the addition of the resulting vectors
  return vaddq_f64(trn1, trn2);
}
// Other reduction functions:
// mul
#if EIGEN_COMP_CLANG && defined(__apple_build_version__)
template<> EIGEN_STRONG_INLINE double predux_mul<Packet2d>(const Packet2d& a) { return (vget_low_f64(a) * vget_high_f64(a))[0]; }
#else
template<> EIGEN_STRONG_INLINE double predux_mul<Packet2d>(const Packet2d& a) { return vget_lane_f64(vget_low_f64(a) * vget_high_f64(a), 0); }
#endif

// min
template<> EIGEN_STRONG_INLINE double predux_min<Packet2d>(const Packet2d& a) { return vgetq_lane_f64(vpminq_f64(a, a), 0); }

// max
template<> EIGEN_STRONG_INLINE double predux_max<Packet2d>(const Packet2d& a) { return vgetq_lane_f64(vpmaxq_f64(a, a), 0); }

// this PALIGN_NEON business is to work around a bug in LLVM Clang 3.0 causing incorrect compilation errors,
// see bug 347 and this LLVM bug: http://llvm.org/bugs/show_bug.cgi?id=11074
#define PALIGN_NEON(Offset,Type,Command) \
template<>\
struct palign_impl<Offset,Type>\
{\
    EIGEN_STRONG_INLINE static void run(Type& first, const Type& second)\
    {\
        if (Offset!=0)\
            first = Command(first, second, Offset);\
    }\
};\

PALIGN_NEON(0,Packet2d,vextq_f64)
PALIGN_NEON(1,Packet2d,vextq_f64)
#undef PALIGN_NEON

EIGEN_DEVICE_FUNC inline void
ptranspose(PacketBlock<Packet2d,2>& kernel) {
  float64x2_t trn1 = vzip1q_f64(kernel.packet[0], kernel.packet[1]);
  float64x2_t trn2 = vzip2q_f64(kernel.packet[0], kernel.packet[1]);

  kernel.packet[0] = trn1;
  kernel.packet[1] = trn2;
}
#endif // EIGEN_ARCH_ARM64

} // end namespace internal

} // end namespace Eigen

#endif // EIGEN_PACKET_MATH_NEON_H

{'repo_name': 'ryfeus/lambda-packs', 'stars': '940', 'repo_language': 'Python', 'file_name': 'six.py', 'mime_type': 'text/x-python', 'hash': 4855719578894584542, 'source_dataset': 'data'}


// Copyright 2017 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.

package message_test

import (
	"net/http"

	"golang.org/x/text/language"
	"golang.org/x/text/message"
)

func Example_http() {
	// languages supported by this service:
	matcher := language.NewMatcher(message.DefaultCatalog.Languages())

	http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {
		lang, _ := r.Cookie("lang")
		accept := r.Header.Get("Accept-Language")
		fallback := "en"
		tag, _ := language.MatchStrings(matcher, lang.String(), accept, fallback)

		p := message.NewPrinter(tag)

		p.Fprintln(w, "User language is", tag)
	})
}

func ExamplePrinter_numbers() {
	for _, lang := range []string{"en", "de", "de-CH", "fr", "bn"} {
		p := message.NewPrinter(language.Make(lang))
		p.Printf("%-6s %g\n", lang, 123456.78)
	}

	// Output:
	// en     123,456.78
	// de     123.456,78
	// de-CH  123’456.78
	// fr     123 456,78
	// bn     ১,২৩,৪৫৬.৭৮
}

{'repo_name': 'cloud66-oss/habitus', 'stars': '1123', 'repo_language': 'Go', 'file_name': 'server.go', 'mime_type': 'text/plain', 'hash': -2863549824243146682, 'source_dataset': 'data'}


package io.ku8.docker.registry;

import java.io.ByteArrayInputStream;
import java.io.File;
import java.util.Collection;
import java.util.Iterator;
import java.util.LinkedHashMap;
import java.util.LinkedList;

import org.codehaus.jackson.map.ObjectMapper;

public class RegistryUtil {
	public static void genImageManifestFile(File unzipedImagePath, String imageName, String tag) throws Exception {
		ImageManifest manifest = new ImageManifest();
		manifest.setName(imageName);
		manifest.setTag(tag);
		Collection<LayerPair> fslayers = new LinkedList<LayerPair>();

		File[] layerFiles = unzipedImagePath.listFiles();
		for (File theFile : layerFiles) {
			if (theFile.getName().equals("manifest.json") || theFile.getName().equals("repositories")) {
				continue;
			}
			File layFile = new File(theFile, "layer.tar");
			File jsonFile = new File(theFile, "json");
			V1LayerJson layerJson = new V1LayerJson();
			layerJson.setV1Compatibility(new String(Util.readFile(jsonFile), "utf-8"));

			String sharDigit = SHA256Digit.hash(layFile);
			FsLayer curLayer = new FsLayer();
			curLayer.setBlobSum("sha256:" + sharDigit);
			LayerPair layerPari = new LayerPair(layerJson, curLayer);
			fslayers.add(layerPari);
		}
		fslayers = reOrderLayers(fslayers);
		manifest.setFsLayers(toFsLayers(fslayers));
		manifest.setHistory(toJsonLayers(fslayers));
		// , Util.generateECKeyPair()
		String signMenifest = Util
				.signMenifest(new ObjectMapper().writerWithDefaultPrettyPrinter().writeValueAsString(manifest));
		ByteArrayInputStream menifestStream = new ByteArrayInputStream(signMenifest.getBytes("utf-8"));
		File meinfestFile = new File(unzipedImagePath, "manifest.json");
		Util.writeFile(menifestStream, meinfestFile);

	}

	private static Collection<LayerPair> reOrderLayers(Collection<LayerPair> allLayers) throws Exception {
		LinkedHashMap<String, LayerPair> resultLayers = new LinkedHashMap<String, LayerPair>(allLayers.size());
		ObjectMapper objMapper = new ObjectMapper();

		while (!allLayers.isEmpty()) {
			Iterator<LayerPair> itor = allLayers.iterator();
			while (itor.hasNext()) {
				LayerPair theLayer = itor.next();
				String v1Json = theLayer.layerJson.getV1Compatibility();
				V1JsonObj v1Obj = objMapper.readValue(v1Json, V1JsonObj.class);
				String layerId = null;
				if (v1Obj.getParent() == null) {
					layerId = v1Obj.getId();
				} else {
					if (resultLayers.containsKey(v1Obj.getParent())) {
						layerId = v1Obj.getId();
					}
				}
				if (layerId != null) {
					resultLayers.put(layerId, theLayer);
					itor.remove();
				}

			}
		}
		Collection<LayerPair> result=resultLayers.values();
		return result;

	}

	private static FsLayer[] toFsLayers(Collection<LayerPair> layerPairs) {
		FsLayer[] allLayers = new FsLayer[layerPairs.size()];
		int ind = allLayers.length-1;
		for (LayerPair pair : layerPairs) {
			allLayers[ind--] = pair.fsLayer;
		}
		return allLayers;
		// fsLayers.toArray(new FsLayer[fsLayers.size()])
	}

	private static V1LayerJson[] toJsonLayers(Collection<LayerPair> fslayers) {
		V1LayerJson[] allLayers = new V1LayerJson[fslayers.size()];
		int ind = allLayers.length-1;
		for (LayerPair pair : fslayers) {
			allLayers[ind--] = pair.layerJson;
		}
		return allLayers;
	}
}

class LayerPair {
	public V1LayerJson layerJson;
	public FsLayer fsLayer;

	public LayerPair(V1LayerJson layerJson, FsLayer fsLayer) {
		super();
		this.layerJson = layerJson;
		this.fsLayer = fsLayer;
	}

}

{'repo_name': 'bestcloud/ku8eye', 'stars': '413', 'repo_language': 'JavaScript', 'file_name': 'ku8-projectbuilder.md', 'mime_type': 'text/plain', 'hash': -1886807232738607913, 'source_dataset': 'data'}


/*
 * ====================================================================
 * Licensed to the Apache Software Foundation (ASF) under one
 * or more contributor license agreements.  See the NOTICE file
 * distributed with this work for additional information
 * regarding copyright ownership.  The ASF licenses this file
 * to you 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.
 * ====================================================================
 *
 * This software consists of voluntary contributions made by many
 * individuals on behalf of the Apache Software Foundation.  For more
 * information on the Apache Software Foundation, please see
 * <http://www.apache.org/>.
 *
 */
package org.apache.hc.client5.http.async.methods;

import java.io.IOException;

import org.apache.hc.core5.http.ContentType;
import org.apache.hc.core5.http.HttpException;
import org.apache.hc.core5.http.HttpResponse;
import org.apache.hc.core5.http.nio.AsyncEntityConsumer;
import org.apache.hc.core5.http.nio.support.AbstractAsyncResponseConsumer;
import org.apache.hc.core5.http.protocol.HttpContext;

/**
 * HTTP response consumer that generates a {@link SimpleHttpResponse} instance based on events
 * of an incoming data stream.
 *
 * @since 5.0
 *
 * @see SimpleBody
 */
public final class SimpleResponseConsumer extends AbstractAsyncResponseConsumer<SimpleHttpResponse, byte[]> {

    SimpleResponseConsumer(final AsyncEntityConsumer<byte[]> entityConsumer) {
        super(entityConsumer);
    }

    public static SimpleResponseConsumer create() {
        return new SimpleResponseConsumer(new SimpleAsyncEntityConsumer());
    }

    @Override
    public void informationResponse(final HttpResponse response, final HttpContext context) throws HttpException, IOException {
    }

    @Override
    protected SimpleHttpResponse buildResult(final HttpResponse response, final byte[] entity, final ContentType contentType) {
        final SimpleHttpResponse simpleResponse = SimpleHttpResponse.copy(response);
        if (entity != null) {
            simpleResponse.setBody(entity, contentType);
        }
        return simpleResponse;
    }

}

{'repo_name': 'apache/httpcomponents-client', 'stars': '960', 'repo_language': 'Java', 'file_name': 'TestConcurrentCountMap.java', 'mime_type': 'text/x-java', 'hash': 2330633981839769327, 'source_dataset': 'data'}


from __future__ import print_function
import sys

#dynamic build flags for generic compile options
if __name__ == "__main__":
  args = " ".join([ "-std=gnu11",
                    "-Os",
                    "-mcpu=cortex-m3",
                    "-mthumb",

                    "-fsigned-char",
                    "-fno-move-loop-invariants",
                    "-fno-strict-aliasing",

                    "--specs=nano.specs",
                    "--specs=nosys.specs",

                    "-IMarlin/src/HAL/STM32F1",

                    "-MMD",
                    "-MP",
                    "-DTARGET_STM32F1"
                  ])

  for i in range(1, len(sys.argv)):
    args += " " + sys.argv[i]

  print(args)

# extra script for linker options
else:
  from SCons.Script import DefaultEnvironment
  env = DefaultEnvironment()
  env.Append(
      ARFLAGS=["rcs"],

      ASFLAGS=["-x", "assembler-with-cpp"],

      CXXFLAGS=[
          "-fabi-version=0",
          "-fno-use-cxa-atexit",
          "-fno-threadsafe-statics"
      ],
      LINKFLAGS=[
          "-Os",
          "-mcpu=cortex-m3",
          "-ffreestanding",
          "-mthumb",
          "--specs=nano.specs",
          "--specs=nosys.specs",
          "-u_printf_float",
      ],
  )

{'repo_name': 'bigtreetech/BIGTREETECH-SKR-V1.3', 'stars': '568', 'repo_language': 'C++', 'file_name': 'index.html', 'mime_type': 'text/html', 'hash': 2312742805447428312, 'source_dataset': 'data'}


# pty

Pty is a Go package for using unix pseudo-terminals.

## Install

    go get github.com/kr/pty

## Example

```go
package main

import (
	"github.com/kr/pty"
	"io"
	"os"
	"os/exec"
)

func main() {
	c := exec.Command("grep", "--color=auto", "bar")
	f, err := pty.Start(c)
	if err != nil {
		panic(err)
	}

	go func() {
		f.Write([]byte("foo\n"))
		f.Write([]byte("bar\n"))
		f.Write([]byte("baz\n"))
		f.Write([]byte{4}) // EOT
	}()
	io.Copy(os.Stdout, f)
}
```

{'repo_name': 'redspread/localkube', 'stars': '179', 'repo_language': 'Go', 'file_name': 'main.go', 'mime_type': 'text/x-c', 'hash': 755256035733948483, 'source_dataset': 'data'}


2.0.4 / 2018-07-26
==================

  * deps: ipaddr.js@1.8.0

2.0.3 / 2018-02-19
==================

  * deps: ipaddr.js@1.6.0

2.0.2 / 2017-09-24
==================

  * deps: forwarded@~0.1.2
    - perf: improve header parsing
    - perf: reduce overhead when no `X-Forwarded-For` header

2.0.1 / 2017-09-10
==================

  * deps: forwarded@~0.1.1
    - Fix trimming leading / trailing OWS
    - perf: hoist regular expression
  * deps: ipaddr.js@1.5.2

2.0.0 / 2017-08-08
==================

  * Drop support for Node.js below 0.10

1.1.5 / 2017-07-25
==================

  * Fix array argument being altered
  * deps: ipaddr.js@1.4.0

1.1.4 / 2017-03-24
==================

  * deps: ipaddr.js@1.3.0

1.1.3 / 2017-01-14
==================

  * deps: ipaddr.js@1.2.0

1.1.2 / 2016-05-29
==================

  * deps: ipaddr.js@1.1.1
    - Fix IPv6-mapped IPv4 validation edge cases

1.1.1 / 2016-05-03
==================

  * Fix regression matching mixed versions against multiple subnets

1.1.0 / 2016-05-01
==================

  * Fix accepting various invalid netmasks
    - IPv4 netmasks must be contingous
    - IPv6 addresses cannot be used as a netmask
  * deps: ipaddr.js@1.1.0

1.0.10 / 2015-12-09
===================

  * deps: ipaddr.js@1.0.5
    - Fix regression in `isValid` with non-string arguments

1.0.9 / 2015-12-01
==================

  * deps: ipaddr.js@1.0.4
    - Fix accepting some invalid IPv6 addresses
    - Reject CIDRs with negative or overlong masks
  * perf: enable strict mode

1.0.8 / 2015-05-10
==================

  * deps: ipaddr.js@1.0.1

1.0.7 / 2015-03-16
==================

  * deps: ipaddr.js@0.1.9
    - Fix OOM on certain inputs to `isValid`

1.0.6 / 2015-02-01
==================

  * deps: ipaddr.js@0.1.8

1.0.5 / 2015-01-08
==================

  * deps: ipaddr.js@0.1.6

1.0.4 / 2014-11-23
==================

  * deps: ipaddr.js@0.1.5
    - Fix edge cases with `isValid`

1.0.3 / 2014-09-21
==================

  * Use `forwarded` npm module

1.0.2 / 2014-09-18
==================

  * Fix a global leak when multiple subnets are trusted
  * Support Node.js 0.6
  * deps: ipaddr.js@0.1.3

1.0.1 / 2014-06-03
==================

  * Fix links in npm package

1.0.0 / 2014-05-08
==================

  * Add `trust` argument to determine proxy trust on
    * Accepts custom function
    * Accepts IPv4/IPv6 address(es)
    * Accepts subnets
    * Accepts pre-defined names
  * Add optional `trust` argument to `proxyaddr.all` to
    stop at first untrusted
  * Add `proxyaddr.compile` to pre-compile `trust` function
    to make subsequent calls faster

0.0.1 / 2014-05-04
==================

  * Fix bad npm publish

0.0.0 / 2014-05-04
==================

  * Initial release

{'repo_name': 'SunGodAppollo/node.js', 'stars': '112', 'repo_language': 'JavaScript', 'file_name': 'relativize.js', 'mime_type': 'text/plain', 'hash': 3772528489417766343, 'source_dataset': 'data'}


### 46 款机上盒 NCC 呼吁别买 小米‧安博都上榜(图)
------------------------

#### [首页](https://github.com/gfw-breaker/banned-news/blob/master/README.md)   |   [手把手翻墙教程](https://github.com/gfw-breaker/guides/wiki)   |   [禁闻聚合安卓版](https://github.com/gfw-breaker/bn-android)   |   [网门安卓版](https://github.com/oGate2/oGate)   |   [神州正道安卓版](https://github.com/SzzdOgate/update)

    NCC

   公布无线多媒体

    机上盒

   （俗称机上盒）的最新抽验结果，截至8月13日止，市售共计有15款机型违反审验规范。（图片来源：Adobe stock）

  近年

   串流、OTT

  相当盛行，不少民众选择切断第四台，改买第三方业者提供的数位机上盒，但要小心产品恐怕有

   侵权

  、不符合规定的疑虑。

   NCC

  最新黑名单出炉，一共有 46 款机上盒被废止认证资格。

  消费者透过购买

   机上盒

  ，连结萤幕、电视就能享有许多数位内容，但有些恐怕是未经授权的盗版影片。NCC 最新抽验，再度于 108 年加入 20 款不合格名单，目前总计废止了 46 款产品的审验证明，知名品牌小米、安博、千寻都在其中。

  NCC 表示，由于机上盒具备无线射频功能（Wi-Fi 或蓝牙），属电信管制射频器材，依法需通过认证才能在国内公开贩售，但审验仅限于硬件规格，并没有包含影音内容是否合法。NCC 指出，基于行政一体、避免部分人士恶意混淆视听，已加强宣导、并要求业者签署“切结书”(软件不违反著作权法)，才能接受产品认证。

  现阶段不合格名单，可于

   NCC 网站

  查看，NCC 也呼吁民众，购买前最好可以上网检查是否有通过检验，以避免买到劣质的产品。倘若是网拍业者，贩售被废止、未通过认证审验产品，恐被处新台币 10 万元以上 50 万元以下罚锾。

手机上长按并复制下列链接或二维码分享本文章：

https://github.com/gfw-breaker/banned-news/blob/master/pages/p8/921278.md

原文地址（需翻墙访问）：https://www.secretchina.com/news/gb/2020/01/31/921278.html

------------------------
#### [首页](https://github.com/gfw-breaker/banned-news/blob/master/README.md)  |  [一键翻墙软件](https://github.com/gfw-breaker/nogfw/blob/master/README.md)  | [《九评共产党》](https://github.com/gfw-breaker/9ping.md/blob/master/README.md#九评之一评共产党是什么) | [《解体党文化》](https://github.com/gfw-breaker/jtdwh.md/blob/master/README.md) | [《共产主义的终极目的》](https://github.com/gfw-breaker/gczydzjmd.md/blob/master/README.md)

{'repo_name': 'gfw-breaker/banned-news', 'stars': '105', 'repo_language': 'Python', 'file_name': 'hp-12202019112936.md', 'mime_type': 'text/plain', 'hash': -5516754906109389749, 'source_dataset': 'data'}


require 'common/version/semi_semantic_version'

module Bosh::Common::Version
  describe SemiSemanticVersion do

    describe 'parse' do
      it 'creates a new object' do
        expect(described_class.parse('1.0.1')).to be_instance_of(described_class)
      end

      it 'fails for non-SemiSemantic version' do
        expect{described_class.parse(nil)}.to raise_error(ArgumentError)
        expect{described_class.parse('')}.to raise_error(ArgumentError)
      end

      it 'delegates to SemiSemantic::Version' do
        expect(SemiSemantic::Version).to receive(:parse).with('1.0.1').and_call_original

        described_class.parse('1.0.1')
      end

      it 'stringifies objects before parsing' do
        model = double(:fake_version, to_s: '1.0.1')
        expect(described_class.parse(model).to_s).to eq('1.0.1')
      end
    end

    describe 'described_class.parse_and_compare' do
      let(:a) { described_class.parse('1.0.1') }
      let(:b) { described_class.parse('1.0.2+dev.10') }

      it 'compares strings as SemiSemantic versions' do
        expect(described_class.parse_and_compare(a, b)).to eq(-1)
        expect(described_class.parse_and_compare(b, a)).to eq(1)
        expect(described_class.parse_and_compare(a, a)).to eq(0)
      end
    end

    describe '#default_post_release' do
      let(:a) { described_class.parse('1.0.1') }
      let(:b) { described_class.parse('1.0.2+dev.10') }

      it 'creates a new version object with the post-release segement set to the default value' do
        expect(a.default_post_release).to eq described_class.parse('1.0.1+build.1')
        expect(b.default_post_release).to eq described_class.parse('1.0.2+build.1')
      end

      it 'allows chaining' do
        expect(described_class.parse('1.0.1').
          default_post_release.
          version.post_release.
          components[0]).to eq 'build'
      end

      it 'returns a new object and does not change the old one' do
        c = a.default_post_release
        expect(c).to_not be(a)
        expect(c.to_s).to_not eq(a.to_s)
        expect(a.to_s).to eq('1.0.1')
      end
    end

    describe '#increment_post_release' do
      let(:a) { described_class.parse('1.0.1') }
      let(:b) { described_class.parse('1.0.2+dev.10') }

      it 'fails when post-release is nil' do
        expect{a.increment_post_release}.to raise_error(Bosh::Common::Version::UnavailableMethodError)
      end

      it 'creates a new version object with the post-release segment incremented by 1' do
        expect(b.increment_post_release).to eq described_class.parse('1.0.2+dev.11')
      end

      it 'allows chaining' do
        expect(described_class.parse('1.0.1+dev.11').
          increment_post_release.
          version.post_release.
          components[0]).to eq 'dev'
      end

      it 'returns a new object and does not change the old one' do
        c = b.increment_post_release
        expect(c).to_not be(b)
        expect(c.to_s).to_not eq(b.to_s)
        expect(b.to_s).to eq('1.0.2+dev.10')
      end
    end

    describe 'increment_release' do
      let(:a) { described_class.parse('1.0.1') }

      it 'creates a new version object with the release segment incremented by 1' do
        expect(a.increment_release).to eq described_class.parse('1.0.2')
      end

      it 'allows chaining' do
        expect(described_class.parse('1.0.1+dev.11').
          increment_release.
          version.release.
          components[0]).to eq 1
      end

      it 'returns a new object and does not change the old one' do
        c = a.increment_release
        expect(c).to_not be(a)
        expect(c.to_s).to_not eq(a.to_s)
        expect(a.to_s).to eq('1.0.1')
      end
    end

    describe '#<=>' do
      let(:a) { described_class.parse('1.0.1') }
      let(:a2) { described_class.parse('1.0.1') }
      let(:b) { described_class.parse('1.0.2') }

      it 'compares two versions' do
        expect(a).to be < b
        expect(b).to be > a
        expect(a).to eq a2
      end
    end

    describe '#to_s' do
      let(:a) { described_class.parse('1.0.1') }

      it 'returns the string value' do
        expect(a.to_s).to eq '1.0.1'
      end
    end

    describe 'parse_and_compare' do
      describe 'only major version numbers' do
        context 'when version are strings' do
          it 'casts to and compares as integers' do
            expect(described_class.parse_and_compare('10', '9')).to eq(1)
            expect(described_class.parse_and_compare('009', '10')).to eq(-1)
            expect(described_class.parse_and_compare('10', '10')).to eq(0)
          end
        end

        context 'when versions are integers' do
          it 'compares' do
            expect(described_class.parse_and_compare(10, 11)).to eq(-1)
            expect(described_class.parse_and_compare(43, 42)).to eq(1)
            expect(described_class.parse_and_compare(7, 7)).to eq(0)
          end
        end
      end

      describe 'major.minor version numbers' do
        it 'compares each component as integers' do
          expect(described_class.parse_and_compare('1.2', '1.3')).to eq(-1)
          expect(described_class.parse_and_compare('1.2', '1.2')).to eq(0)
          expect(described_class.parse_and_compare('1.3', '1.2')).to eq(1)
        end
      end

      describe 'major.minor.patch.and.beyond version numbers' do
        it 'compares each component as integers' do
          expect(described_class.parse_and_compare('0.1.7', '0.1.7')).to eq(0)
          expect(described_class.parse_and_compare('0.1.7', '0.1.7.0')).to eq(0)
          expect(described_class.parse_and_compare('0.2.3', '0.2.3.0.8')).to eq(-1)
          expect(described_class.parse_and_compare('0.1.7', '0.9.2')).to eq(-1)
          expect(described_class.parse_and_compare('0.1.7.5', '0.1.7')).to eq(1)
          expect(described_class.parse_and_compare('0.1.7.4.9.9', '0.1.7.5')).to eq(-1)
        end
      end
    end
  end
end

{'repo_name': 'cloudfoundry/bosh', 'stars': '1900', 'repo_language': 'Ruby', 'file_name': 'index.yml', 'mime_type': 'text/plain', 'hash': -8973868471052636306, 'source_dataset': 'data'}


<template>

            <svg ref="card" class="rotate" stroke="#fafaf1" stroke-width="24" viewBox="0 0 1024 1024"
                 width="200" height="240">
                <path stroke="white" stroke-width="30"
                      d="M512 30.117647C246.964706 30.117647 30.117647 246.964706 30.117647 512s216.847059 481.882353 481.882353 481.882353 481.882353-216.847059 481.882353-481.882353S777.035294 30.117647 512 30.117647z m0 903.529412C280.094118 933.647059 90.352941 743.905882 90.352941 512S280.094118 90.352941 512 90.352941s421.647059 189.741176 421.647059 421.647059-189.741176 421.647059-421.647059 421.647059z"
                      fill="white" p-id="3712"></path>
                <path class="path" stroke="white" stroke-width="30"
                      d="M256 768l382.494118-126.494118 126.494117-382.494117-382.494117 126.494117-126.494118 382.494118z m415.623529-415.623529L602.352941 560.188235 463.811765 421.647059l207.811764-69.270588zM560.188235 602.352941l-207.811764 69.270588 69.270588-207.811764 138.541176 138.541176z"
                      fill="white" p-id="3713"></path>
            </svg>

                指南

               从安装到使用

              <router-link  to="components/install">
                更多
              </router-link>
                <f-icon color="white" name="right"></f-icon>

</template>

{'repo_name': 'livelyPeng/pl-table', 'stars': '637', 'repo_language': 'JavaScript', 'file_name': 'config.js', 'mime_type': 'text/plain', 'hash': 6770109384200267570, 'source_dataset': 'data'}


# Change the following lines if you want dnsmasq to serve SRV
# records.
# You may add multiple srv-host lines.
# The fields are <name>,<target>,<port>,<priority>,<weight>

# A SRV record sending LDAP for the example.com domain to
# ldapserver.example.com port 289
#srv-host=_ldap._tcp.example.com,ldapserver.example.com,389

# Two SRV records for LDAP, each with different priorities
#srv-host=_ldap._tcp.example.com,ldapserver.example.com,389,1
#srv-host=_ldap._tcp.example.com,ldapserver.example.com,389,2

# A SRV record indicating that there is no LDAP server for the domain
# example.com
#srv-host=_ldap._tcp.example.com

# The following line shows how to make dnsmasq serve an arbitrary PTR
# record. This is useful for DNS-SD.
# The fields are <name>,<target>
#ptr-record=_http._tcp.dns-sd-services,"New Employee Page._http._tcp.dns-sd-services"

# Change the following lines to enable dnsmasq to serve TXT records.
# These are used for things like SPF and zeroconf.
# The fields are <name>,<text>,<text>...

#Example SPF.
#txt-record=example.com,"v=spf1 a -all"

#Example zeroconf
#txt-record=_http._tcp.example.com,name=value,paper=A4

# Provide an alias for a "local" DNS name. Note that this _only_ works
# for targets which are names from DHCP or /etc/hosts. Give host
# "bert" another name, bertrand
# The fields are <cname>,<target>
#cname=bertand,bert

{'repo_name': 'scriptingxss/IoTGoat', 'stars': '149', 'repo_language': 'C', 'file_name': 'cdefs.h', 'mime_type': 'text/x-c', 'hash': -1909579608185315127, 'source_dataset': 'data'}


# Needed by ipaddr()
- name: Install netaddr
  local_action:
    module: pip
    name: netaddr
  tags:
    - docker

- name: Include Journald tasks
  include_tasks: journald.yml
  tags:
    - docker
    - journald

- name: Include Docker daemon tasks
  include_tasks: dockerd.yml
  tags:
    - docker
    - dockerd

- name: Include iptables tasks
  include_tasks: iptables.yml
  tags:
    - docker
    - iptables

{'repo_name': 'berkmancenter/mediacloud', 'stars': '177', 'repo_language': 'Python', 'file_name': 'topics_api_2_0_spec.md', 'mime_type': 'text/plain', 'hash': -1626218210674186246, 'source_dataset': 'data'}


/*
 * Copyright (C) 2011 The Android Open Source Project
 *
 * 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.
 */

package android.filterpacks.imageproc;

import android.filterfw.core.Filter;
import android.filterfw.core.FilterContext;
import android.filterfw.core.Frame;
import android.filterfw.core.FrameFormat;
import android.filterfw.core.GenerateFieldPort;
import android.filterfw.core.Program;
import android.filterfw.core.ShaderProgram;
import android.filterfw.format.ImageFormat;
import android.graphics.Color;

public class DuotoneFilter extends Filter {

    @GenerateFieldPort(name = "first_color", hasDefault = true)
    private int mFirstColor = 0xFFFF0000;

    @GenerateFieldPort(name = "second_color", hasDefault = true)
    private int mSecondColor = 0xFFFFFF00;

    @GenerateFieldPort(name = "tile_size", hasDefault = true)
    private int mTileSize = 640;

    private Program mProgram;
    private int mTarget = FrameFormat.TARGET_UNSPECIFIED;

    private final String mDuotoneShader =
            "precision mediump float;\n" +
            "uniform sampler2D tex_sampler_0;\n" +
            "uniform vec3 first;\n" +
            "uniform vec3 second;\n" +
            "varying vec2 v_texcoord;\n" +
            "void main() {\n" +
            "  vec4 color = texture2D(tex_sampler_0, v_texcoord);\n" +
            "  float energy = (color.r + color.g + color.b) * 0.3333;\n" +
            "  vec3 new_color = (1.0 - energy) * first + energy * second;\n" +
            "  gl_FragColor = vec4(new_color.rgb, color.a);\n" +
            "}\n";

    public DuotoneFilter(String name) {
      super(name);
    }

    @Override
    public void setupPorts() {
        addMaskedInputPort("image", ImageFormat.create(ImageFormat.COLORSPACE_RGBA));
        addOutputBasedOnInput("image", "image");
    }

    @Override
    public FrameFormat getOutputFormat(String portName, FrameFormat inputFormat) {
        return inputFormat;
    }

    public void initProgram(FilterContext context, int target) {
        switch (target) {
            case FrameFormat.TARGET_GPU:
                ShaderProgram shaderProgram = new ShaderProgram(context, mDuotoneShader);
                shaderProgram.setMaximumTileSize(mTileSize);
                mProgram = shaderProgram;
                break;

            default:
                throw new RuntimeException("Filter Duotone does not support frames of " +
                    "target " + target + "!");
        }
        mTarget = target;
    }

    @Override
    public void process(FilterContext context) {
        // Get input frame
        Frame input = pullInput("image");
        FrameFormat inputFormat = input.getFormat();

        // Create output frame
        Frame output = context.getFrameManager().newFrame(inputFormat);

        // Create program if not created already
        if (mProgram == null || inputFormat.getTarget() != mTarget) {
            initProgram(context, inputFormat.getTarget());
        }
        updateParameters();

        // Process
        mProgram.process(input, output);

        // Push output
        pushOutput("image", output);

        // Release pushed frame
        output.release();
    }

    private void updateParameters() {
        float first[] = { Color.red(mFirstColor)/255f,
                Color.green(mFirstColor)/255f,
                Color.blue(mFirstColor)/255f };
        float second[] = { Color.red(mSecondColor)/255f,
                Color.green(mSecondColor)/255f,
                Color.blue(mSecondColor)/255f };

        mProgram.setHostValue("first", first);
        mProgram.setHostValue("second", second);
    }
}

{'repo_name': 'aosp-mirror/platform_frameworks_base', 'stars': '9245', 'repo_language': 'Java', 'file_name': 'DatabaseCursorTest.java', 'mime_type': 'text/x-java', 'hash': -425303124382440674, 'source_dataset': 'data'}