2009-11-09  David Hoerl <dhoerl@mac.com>

	* fileio.c: ihex2bin did not properly handle files > 64K bytes
	* usb_libusb.c: re-enabled usb_reset for Macs (no reset causes lots of failures)
	* avrdude.1: spacing issue for avr32 fixed.

2009-11-09  Michal Ludvig  <mludvig@logix.net.nz>

	* buspirate.c: Implemented reset= and speed= extended parameters.
	* avrdude.1: Document the change.

2009-11-04  Michal Ludvig  <mludvig@logix.net.nz>

	* configure.ac, Makefile.am: Test if GCC accepts -Wno-pointer-sign

2009-11-04  Michal Ludvig  <mludvig@logix.net.nz>

	* buspirate.c: Implemented 'BinMode' support for
	  firmware 2.7 and higher.
	* avrdude.1: Added info about BusPirate.

2009-11-03  Michal Ludvig  <mludvig@logix.net.nz>

	* arduino.c: Add on to bug #26703 / patch #6866 - clear DTR/RTS
	  when closing the port.
	* Makefile.am: Silent warnings about signedness - they're useless
	  and annoying, especially for 'char' vars.

2009-10-22  David Hoerl <dhoerl@mac.com>

	* usb_libusb.c: disabled usb_reset for Macs (same as FreeBSD)

2009-10-12  Michal Ludvig  <mludvig@logix.net.nz>

	* main.c: Re-added default to serial port for BusPirate.

2009-10-12  David Hoerl <dhoerl@mac.com>

	*  main.c: removed some avr32 code that was pushed into jtagmkII.c
	*  jtagmkII.c: consolodated the avr32 reset code and avr32_chipreset
	*  avrpart.h: modified AVRPART flags for avr32
	*  lexer.l: added is_avr32 flag - only way to get yacc code to set flag
	*  avrdude.conf.in: updated avr32 section to include "is_avr32" flag

2009-10-12  David Hoerl <dhoerl@mac.com>

	*  config_gram.y: Restored inadvertantly removed buspirate entry
	*  lexer.l: Restored inadvertantly removed buspirate entry

2009-10-12  Michal Ludvig  <mludvig@logix.net.nz>

	* buspirate.c: Replace GNU-only %as with %s in sscanf call.
	* ser_win32.c(ser_set_dtr_rts): Fixed typo in parameter name.
	* NEWS: Announce BusPirate.

2009-10-11  David Hoerl <dhoerl@mac.com>

	Support for AVR32

	* AUTHORS: added myself
	* NEWS: announced AVR32 support
	* main.c: AVR32 flag tests to avoid several code blocks
	* fileio.c: mods to ihex read function to handle address offsets and
	  size of avr32
	* jtagmkI.c: added cast to printf call to remove warning
	* arduino.c: added header file to bring in prototype for usleep()
	* config_gram.y: added defines for avr32, new jtag_mkii variant for avr32
	* jtagmkII_private.h: new jtag_mkii message types defined (used by
	  avr32program)
	* jtagmkII.h: extern jtagmkII_avr32_initpgm() addition
	* jtagmkII.c: huge amount of code in support of avr32
	* avrpart.h: additional flags to AVRPART for avr32
	* usb_libusb.c: modified verbose test for USB read per-byte messages by
	  by one, so with verbose=3 you get just full messages, 4 gives you bytes
	  too
	* lexer.l: additions for avr32

2009-10-10  Michal Ludvig  <mludvig@logix.net.nz>

	Support for Arduino auto-reset:
	* serial.h, ser_avrdoper.c, ser_posix.c, ser_win32.c: Added
	  serial_device.set_dtr_rts implementations.
	* arduino.c, stk500.c, stk500.h: Call serial_set_dtr_rts()
	  to reset Arduino board before program upload.
	Inspired by patch #6866, resolves bug #26703

2009-10-08  Michal Ludvig  <mludvig@logix.net.nz>

	* buspirate.c: Optimised buspirate_cmd() - reading 1kB EEPROM now
	  takes only 14 sec instead of almost 2 mins with the original
	  implementation.

2009-10-08  Michal Ludvig  <mludvig@logix.net.nz>

	* buspirate.c, buspirate.h: Support for the BusPirate programmer
	* config_gram.y, avrdude.conf.in, main.c, lexer.l, Makefile.am:
	  Glue for BusPirate.

2009-08-17  Joerg Wunsch <j.gnu@uriah.heep.sax.de>

	* usb_libusb.c (usbdev_close): Repair the logic around the
	conditional compilation of usb_reset() introduced in r798.

2009-07-11  Joerg Wunsch <j.gnu@uriah.heep.sax.de>

	* configure.ac: We are post-5.8 now.

2009-07-11  Joerg Wunsch <j.gnu@uriah.heep.sax.de>

	* configure.ac: Prepare for releasing version 5.8

2009-07-11  Joerg Wunsch <j.gnu@uriah.heep.sax.de>

	Submitted by Roger Wolff:
	bug #26527: bug in unicode conversion
	* ser_avrdoper.c (convertUniToAscii): when encountering a UTF-16
	character that cannot be converted to ASCII, increment the UTF-16
	pointer anyway when proceeding.

2009-07-11  Joerg Wunsch <j.gnu@uriah.heep.sax.de>

	* jtagmkI.c (jtagmkI_send): Replace %zd format by %u since not all
	implementations do understand the C99 formatting options (sigh).
	* jtagmkII.c (jtagmkII_send): (Ditto.)
	* stk500v2.c (stk500v2_recv): (Ditto.)

2009-07-11  Joerg Wunsch <j.gnu@uriah.heep.sax.de>

	bug #26002: HVPP of EEPROM with AVR Dragon and ATmega8 Fails
	* avrdude.conf.in (ATmega8): add page size for EEPROM.

2009-07-07  Joerg Wunsch <j.gnu@uriah.heep.sax.de>

	* stk500v2.c: Fix a serious memory corruption problem resulting
	out of the chaining of both, the stk500v2 and the jtagmkII
	programmers for some programming hardware (JTAG ICE mkII and AVR
	Dragon running in ISP, HVSP or PP mode), where both programmers
	have to maintain their private programmer data.

2009-07-02  Joerg Wunsch <j.gnu@uriah.heep.sax.de>

	* configure.ac: Post-release (is pre-release...)

2009-07-02  Joerg Wunsch <j.gnu@uriah.heep.sax.de>

	* configure.ac: Prepare for releasing version 5.7

2009-07-02  Joerg Wunsch <j.gnu@uriah.heep.sax.de>

	* main.c: Add my name to the copyright output when being verbose.

2009-07-02  Joerg Wunsch <j.gnu@uriah.heep.sax.de>

	Contributed by Shaun Jackman  <sjackman@gmail.com>
	bug #21798: Fix both XSLT scripts
	* tools/get-dw-params.xsl (format-hex): Add the parameter count.
	* tools/get-hv-params.xsl (format_cstack): Ditto.

2009-07-02  Joerg Wunsch <j.gnu@uriah.heep.sax.de>

	bug #21922: ATmega163 still not working in version 5.5
	* avrdude.conf.in (atmega163): fill in stk500v2 parameters, correct
	some flash programming parameters as well.

2009-07-02  Joerg Wunsch <j.gnu@uriah.heep.sax.de>

	bug #22206: avrdude: ser_setspeed(): tcsetattr() failed
	* ser_posix.c (ser_setspeed): Don't pass TCSAFLUSH to tcsetattr() as
	it apparently fails to work on Solaris.  After reading the
	documentation again, it seems TCSAFLUSH and TCSANOW are indeed
	mutually exclusive.

2009-07-02  Joerg Wunsch <j.gnu@uriah.heep.sax.de>

	bug #22234: WINDOWS version: HOWTO: Specify Serial Ports Larger than COM9
	* ser_win32.c (ser_open): prepend \\.\ to any COM port name, so it is
	safe to be used for COM ports above 9.

2009-07-02  Joerg Wunsch <j.gnu@uriah.heep.sax.de>

	bug #26408: Crash in stk500v2_open()
	* stk500generic.c: Implement setup and teardown hooks, calling in turn
	the respective hooks of the stk500v2 implementation.

2009-07-02  Joerg Wunsch <j.gnu@uriah.heep.sax.de>

	bug #26130: Avrdude doesn't display it's version.
	* main.c (usage): add a version number display to the default usage
	message.

2009-07-01  Joerg Wunsch <j.gnu@uriah.heep.sax.de>

	bug #26412: avrdude segfaults when called with a programmer that does not
	support it
	* main.c: do not call pgm->perform_osccal() unless it is != 0.

2009-06-24  Joerg Wunsch <j.gnu@uriah.heep.sax.de>

	Contributed by Zoltan Laday:
	patch #6825: xmega problems with JTAGICEmkII
	* jtagmkII.c: Many fixes for Xmega devices.
	* jtagmkII_private.h: Add various new constants required for
	Xmega devices.
	* avrdude.conf.in: New devices: ATXMEGA64A1, ATXMEGA192A1,
	ATXMEGA256A1, ATXMEGA64A3, ATXMEGA128A3, ATXMEGA192A3,
	ATXMEGA256A3, ATXMEGA256A3B, ATXMEGA16A4, ATXMEGA32A4,
	ATXMEGA64A4, ATXMEGA128A4
	* avr.c (avr_read, avr_write): Add more names for (Xmega)
	memory areas that require paged operation.

2009-06-24  Joerg Wunsch <j.gnu@uriah.heep.sax.de>

	* stk500v2.c (stk600_xprog_write_byte): Handle writing fuse bytes.

2009-04-28  Joerg Wunsch <j.gnu@uriah.heep.sax.de>

	Submitted by Carl Hamilton:
	* update.c (parse_op): correctly \0-terminate buf after filling
	it, before it is potentially used as the source of a call to
	strlen or strcpy.

2009-04-14  Joerg Wunsch <j.gnu@uriah.heep.sax.de>

	* doc/avrdude.texi: Merge the -P 0xXXX option description from
	avrdude.1.

2009-04-14  Joerg Wunsch <j.gnu@uriah.heep.sax.de>

	* configure.ac: declare AM_PROG_CC_C_O to avoid the warning
	"compiling `config_gram.c' with per-target flags
	requires `AM_PROG_CC_C_O' in `configure.ac'"

2009-03-22  Joerg Wunsch <j.gnu@uriah.heep.sax.de>

	bug #25971: "error writing to <stdout>" with multiple -U params.
	* fileio.c: Do not close the input/output stream when working on an
	stdio stream.

2009-02-28  Thomas Fischl <tfischl@gmx.de>

	Based on patch #6484 commited by Jurgis Brigmanis:
	* usbasp.c: added software control for ISP speed
	* usbasp.h: (Ditto.)

2009-02-28  Joerg Wunsch <j.gnu@uriah.heep.sax.de>

	* avr910.c (avr910_read_byte_flash): Eliminate a static variable that
	hasn't been in use for 5 years.

2009-02-27  Joerg Wunsch <j.gnu@uriah.heep.sax.de>

	* configure.ac: Post-release 5.6.

2009-02-27  Joerg Wunsch <j.gnu@uriah.heep.sax.de>

	* configure.ac: Prepare for releasing version 5.6.

2009-02-27  Joerg Wunsch <j.gnu@uriah.heep.sax.de>

	Submitted by Ed Okerson:
	* jtagmkII.c (jtagmkII_read_byte): Fix signature reading of
	Xmega.

2009-02-26  Joerg Wunsch <j.gnu@uriah.heep.sax.de>

	Submitted by Mikael Hermansson:
	* avrdude.conf.in (ATxmega256A3): new device.
	* stk500v2 (stk500v2_initialize): Enable the AVRISPmkII as a
	PDI-capable device for ATxmega parts.

2009-02-25  Joerg Wunsch <j.gnu@uriah.heep.sax.de>

	Submitted by Lars Immisch:
	patch #6750: Arduino support - new programmer-id
	* arduino.c: New file, inherits stk500.c.
	* arduino.h: New file.
	* Makefile.am: Add arduino.c and arduino.h.
	* config_gram.y: Add arduino keyword.
	* lexer.l: (Ditto.)
	* avrdude.conf.in: (Ditto.)
	* avrdude.1: Document the new programmer type.
	* doc/avrdude.texi: (Ditto.)

2009-02-25  Joerg Wunsch <j.gnu@uriah.heep.sax.de>

	* stk500v2.c: Turn all non-const static data into instance data.

2009-02-25  Joerg Wunsch <j.gnu@uriah.heep.sax.de>

	* Makefile.am: Move term.[ch] from the library into the CLI
	application section, as it is not useful for anything else but
	the CLI frontend.

2009-02-25  Joerg Wunsch <j.gnu@uriah.heep.sax.de>

	* avrdude.conf.in (ATmega1284P): new device.

2009-02-23  Joerg Wunsch <j.gnu@uriah.heep.sax.de>

	More fixes for Solaris, including fixes for the Sunpro compiler:
	* avr.h: Remove stray semicolon.
	* configure.ac: Add check for predefined types uint_t and ulong_t.
	* confwin.c: Include "avrdude.h" on top to avoid empty translation
	unit warning.
	* ppwin.c: (Ditto.)
	* ser_win32.c: (Ditto.)
	* serbb_win32.c: (Ditto.)
	* jtagmkII.c (jtagmkII_recv): remove unreachable "return".
	* stk500.c (stk500_initialize): (Ditto.)
	* par.c: Test for both, __sun__ and __sun to see whether we are
	being compiled on Solaris.
	* ppi.c: (Ditto.)
	* stk500v2.c: Implement the DEBUG and DEBUGRECV macros in a way
	that is compatible with the ISO C99 standard.
	* usbtiny.c: Only typedef uint_t and ulong_t if they have not
	been found already by the autoconf checks.

2009-02-23  Joerg Wunsch <j.gnu@uriah.heep.sax.de>

	bug #22204: Solaris10/11 Undefiniertes Symbol gethostbyname socket
	connect
	* configure.ac: Add checks for gethostent() and socket().
	While being here, remove some old cruft left from ancient days.

2009-02-22  Joerg Wunsch <j.gnu@uriah.heep.sax.de>

	* lexer.l: Bump the %p size so AT&T lex will continue to work.

2009-02-19  Joerg Wunsch <j.gnu@uriah.heep.sax.de>

	(Partially) submitted by John Voltz:
	bug #20004: AVRDUDE update (-U) operations do not close files
	* fileio.c (fmt_autodetect, fileio): fclose() files.

2009-02-18  Joerg Wunsch <j.gnu@uriah.heep.sax.de>

	* usbtiny.c: Replace all but one (very unlikely to trigger) exit(1)
	by return -1.

2009-02-18  Joerg Wunsch <j.gnu@uriah.heep.sax.de>

	Submitted by Dick Streefland:
	patch #6749: make reading from the USBtinyISP programmer more robust
	* usbtiny.c: Add code to retry failed communication attempts.

2009-02-17  Joerg Wunsch <j.gnu@uriah.heep.sax.de>

	Submitted by Nick Hibma:
	bug #22271: usb_reset in usb_libusb.c not necessary in FreeBSD 6.x
	* usb_libusb.c (usbdev_close): Do not call usb_reset() on FreeBSD.
	It is not necessary there.

2009-02-17  Joerg Wunsch <j.gnu@uriah.heep.sax.de>

	Submitted by Andrew O. Shadoura:
	bug #25156: add direct SPI transfer mode
	* bitbang.c: Implement direct SPI transfers.
	* bitbang.h: (Ditto.)
	* par.c: (Ditto.)
	* pgm.c: (Ditto.)
	* pgm.h: (Ditto.)
	* term.c: Add the "spi" and "pgm" commands.
	* avrdude.1: Document the changes.
	* doc/avrdude.texi: (Ditto.)

2009-02-17  Joerg Wunsch <j.gnu@uriah.heep.sax.de>

	Submitted by Limor ("Lady Ada"):
	bug #24749: add support for '328p
	* avrdude.conf.in (ATmega328P): new device support.

2009-02-17  Joerg Wunsch <j.gnu@uriah.heep.sax.de>

	Submitted by "Womo":
	bug #25241: AT90USB162, AT90USB82 device support patch for avrdude-5.5
	(also: bug #21745: AT90USBxx2 support)
	* avrdude.conf.in (AT90USB162, AT90USB82): new device support.

2009-02-17  Joerg Wunsch <j.gnu@uriah.heep.sax.de>

	Submitted by Evangelos Arkalis:
	patch #6069: Atmel AT89ISP Cable
	* avrdude.conf.in (89isp): new programmer support.

2009-02-16  Joerg Wunsch <j.gnu@uriah.heep.sax.de>

	Submitted by Bob Paddock:
	patch #6748: ATTiny88 Config
	* avrdude.conf.in (ATtiny88): new device support.

2009-02-16  Joerg Wunsch <j.gnu@uriah.heep.sax.de>

	Submitted by Mark Litwack:
	patch #6261: avrdude won't use dragon/debugwire to write a file
	to eeprom
	* jtagmkII.c (jtagmkII_paged_write): when in debugWire mode,
	implement a paged write to EEPROM as a series of byte writes.

2009-02-16  Joerg Wunsch <j.gnu@uriah.heep.sax.de>

	Submitted by Janos Sallai:
	patch #6542: paged_load fails on the MIB510 programming board
	* stk500.c: Add a workaround for the different signon sequence on
	MIB510 programmers.

2009-02-05  Joerg Wunsch <j.gnu@uriah.heep.sax.de>

	* avrdude.conf.in: Add the ATmega128RFA1.
	* avrdude.1: document the addition of ATmega128RFA1.
	* doc/avrdude.texi: (Ditto.)

{'repo_name': 'prusa3d/PrusaSlicer', 'stars': '2257', 'repo_language': 'C++', 'file_name': 'Catch.cmake', 'mime_type': 'text/plain', 'hash': -2050169590131860695, 'source_dataset': 'data'}


<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@mipmap/bg"
    android:gravity="center_vertical"
    android:orientation="horizontal"
    >

    <com.hyl.accountbook.CircleMenuLayout
        android:id="@+id/id_menulayout"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:padding="100dp"
        android:background="@mipmap/circle_bg3"
        >

        <RelativeLayout
            android:id="@id/id_circle_menu_item_center"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            >

            <ImageView
                android:layout_width="104.0dip"
                android:layout_height="104.0dip"
                android:layout_centerInParent="true"
                android:background="@mipmap/turnplate_center_unlogin"
                />

            <ImageView
                android:layout_width="116.0dip"
                android:layout_height="116.0dip"
                android:layout_centerInParent="true"
                android:background="@mipmap/turnplate_mask_unlogin_normal"
                />
        </RelativeLayout>
    </com.hyl.accountbook.CircleMenuLayout>

</LinearLayout>

{'repo_name': 'AnneHan/accountBook', 'stars': '110', 'repo_language': 'Java', 'file_name': 'ExampleUnitTest.java', 'mime_type': 'text/x-java', 'hash': 7504221002300634109, 'source_dataset': 'data'}


import Foundation
import UIKit
import Display
import AsyncDisplayKit
import Postbox
import TelegramCore
import SyncCore
import TelegramPresentationData
import TelegramStringFormatting
import AccountContext
import ShareController
import SolidRoundedButtonNode
import PresentationDataUtils

class ChatScheduleTimeControllerNode: ViewControllerTracingNode, UIScrollViewDelegate {
    private let context: AccountContext
    private let mode: ChatScheduleTimeControllerMode
    private let controllerStyle: ChatScheduleTimeControllerStyle
    private var presentationData: PresentationData
    private let dismissByTapOutside: Bool
    private let minimalTime: Int32?

    private let dimNode: ASDisplayNode
    private let wrappingScrollNode: ASScrollNode
    private let contentContainerNode: ASDisplayNode
    private let effectNode: ASDisplayNode
    private let backgroundNode: ASDisplayNode
    private let contentBackgroundNode: ASDisplayNode
    private let titleNode: ASTextNode
    private let cancelButton: HighlightableButtonNode
    private let doneButton: SolidRoundedButtonNode
    private let onlineButton: SolidRoundedButtonNode

    private var pickerView: UIDatePicker?
    private let dateFormatter: DateFormatter

    private var containerLayout: (ContainerViewLayout, CGFloat)?

    var completion: ((Int32) -> Void)?
    var dismiss: (() -> Void)?
    var cancel: (() -> Void)?

    init(context: AccountContext, mode: ChatScheduleTimeControllerMode, style: ChatScheduleTimeControllerStyle, currentTime: Int32?, minimalTime: Int32?, dismissByTapOutside: Bool) {
        self.context = context
        self.mode = mode
        self.controllerStyle = style
        self.presentationData = context.sharedContext.currentPresentationData.with { $0 }
        self.dismissByTapOutside = dismissByTapOutside
        self.minimalTime = minimalTime

        self.wrappingScrollNode = ASScrollNode()
        self.wrappingScrollNode.view.alwaysBounceVertical = true
        self.wrappingScrollNode.view.delaysContentTouches = false
        self.wrappingScrollNode.view.canCancelContentTouches = true

        self.dimNode = ASDisplayNode()
        self.dimNode.backgroundColor = UIColor(white: 0.0, alpha: 0.5)

        self.contentContainerNode = ASDisplayNode()
        self.contentContainerNode.isOpaque = false

        self.backgroundNode = ASDisplayNode()
        self.backgroundNode.clipsToBounds = true
        self.backgroundNode.cornerRadius = 16.0

        let backgroundColor: UIColor
        let textColor: UIColor
        let accentColor: UIColor
        let buttonColor: UIColor
        let buttonTextColor: UIColor
        let blurStyle: UIBlurEffect.Style
        switch style {
            case .default:
                backgroundColor = self.presentationData.theme.actionSheet.itemBackgroundColor
                textColor = self.presentationData.theme.actionSheet.primaryTextColor
                accentColor = self.presentationData.theme.actionSheet.controlAccentColor
                buttonColor = self.presentationData.theme.actionSheet.opaqueItemBackgroundColor
                buttonTextColor = accentColor
                blurStyle = self.presentationData.theme.actionSheet.backgroundType == .light ? .light : .dark
            case .media:
                backgroundColor = UIColor(rgb: 0x1c1c1e)
                textColor = .white
                accentColor = self.presentationData.theme.actionSheet.controlAccentColor
                buttonColor = UIColor(rgb: 0x2b2b2f)
                buttonTextColor = .white
                blurStyle = .dark
        }

        self.effectNode = ASDisplayNode(viewBlock: {
            return UIVisualEffectView(effect: UIBlurEffect(style: blurStyle))
        })

        self.contentBackgroundNode = ASDisplayNode()
        self.contentBackgroundNode.backgroundColor = backgroundColor

        let title: String
        switch mode {
            case .scheduledMessages:
                title = self.presentationData.strings.Conversation_ScheduleMessage_Title
            case .reminders:
                title = self.presentationData.strings.Conversation_SetReminder_Title
        }

        self.titleNode = ASTextNode()
        self.titleNode.attributedText = NSAttributedString(string: title, font: Font.bold(17.0), textColor: textColor)

        self.cancelButton = HighlightableButtonNode()
        self.cancelButton.setTitle(self.presentationData.strings.Common_Cancel, with: Font.regular(17.0), with: accentColor, for: .normal)

        self.doneButton = SolidRoundedButtonNode(theme: SolidRoundedButtonTheme(theme: self.presentationData.theme), height: 52.0, cornerRadius: 11.0, gloss: false)

        self.onlineButton = SolidRoundedButtonNode(theme: SolidRoundedButtonTheme(backgroundColor: buttonColor, foregroundColor: buttonTextColor), font: .regular, height: 52.0, cornerRadius: 11.0, gloss: false)
        self.onlineButton.title = self.presentationData.strings.Conversation_ScheduleMessage_SendWhenOnline

        self.dateFormatter = DateFormatter()
        self.dateFormatter.timeStyle = .none
        self.dateFormatter.dateStyle = .short
        self.dateFormatter.timeZone = TimeZone.current

        super.init()

        self.backgroundColor = nil
        self.isOpaque = false

        self.dimNode.view.addGestureRecognizer(UITapGestureRecognizer(target: self, action: #selector(self.dimTapGesture(_:))))
        self.addSubnode(self.dimNode)

        self.wrappingScrollNode.view.delegate = self
        self.addSubnode(self.wrappingScrollNode)

        self.wrappingScrollNode.addSubnode(self.backgroundNode)
        self.wrappingScrollNode.addSubnode(self.contentContainerNode)

        self.backgroundNode.addSubnode(self.effectNode)
        self.backgroundNode.addSubnode(self.contentBackgroundNode)
        self.contentContainerNode.addSubnode(self.titleNode)
        self.contentContainerNode.addSubnode(self.cancelButton)
        self.contentContainerNode.addSubnode(self.doneButton)
        if case .scheduledMessages(true) = self.mode {
            self.contentContainerNode.addSubnode(self.onlineButton)
        }

        self.cancelButton.addTarget(self, action: #selector(self.cancelButtonPressed), forControlEvents: .touchUpInside)
        self.doneButton.pressed = { [weak self] in
            if let strongSelf = self, let pickerView = strongSelf.pickerView {
                if pickerView.date < Date() {
                    strongSelf.updateMinimumDate()
                    strongSelf.updateButtonTitle()
                    pickerView.layer.addShakeAnimation()
                } else {
                    strongSelf.doneButton.isUserInteractionEnabled = false
                    strongSelf.completion?(Int32(pickerView.date.timeIntervalSince1970))
                }
            }
        }
        self.onlineButton.pressed = { [weak self] in
            if let strongSelf = self {
                strongSelf.onlineButton.isUserInteractionEnabled = false
                strongSelf.completion?(scheduleWhenOnlineTimestamp)
            }
        }

        self.setupPickerView(currentTime: currentTime)
        self.updateButtonTitle()
    }

    func setupPickerView(currentTime: Int32? = nil) {
        var currentDate: Date?
        if let pickerView = self.pickerView {
            currentDate = pickerView.date
            pickerView.removeFromSuperview()
        }

        let textColor: UIColor
        switch self.controllerStyle {
            case .default:
                textColor = self.presentationData.theme.actionSheet.primaryTextColor
            case .media:
                textColor = UIColor.white
        }

        let pickerView = UIDatePicker()
        pickerView.timeZone = TimeZone(secondsFromGMT: 0)
        pickerView.setValue(textColor, forKey: "textColor")
        pickerView.datePickerMode = .countDownTimer
        pickerView.datePickerMode = .dateAndTime
        pickerView.locale = Locale.current
        pickerView.timeZone = TimeZone.current
        pickerView.minuteInterval = 1
        self.contentContainerNode.view.addSubview(pickerView)
        pickerView.addTarget(self, action: #selector(self.datePickerUpdated), for: .valueChanged)
        self.pickerView = pickerView

        self.updateMinimumDate(currentTime: currentTime)
        if let currentDate = currentDate {
            pickerView.date = currentDate
        }
    }

    func updatePresentationData(_ presentationData: PresentationData) {
        let previousTheme = self.presentationData.theme
        self.presentationData = presentationData

        guard case .default = self.controllerStyle else {
            return
        }

        if let effectView = self.effectNode.view as? UIVisualEffectView {
            effectView.effect = UIBlurEffect(style: presentationData.theme.actionSheet.backgroundType == .light ? .light : .dark)
        }

        self.contentBackgroundNode.backgroundColor = self.presentationData.theme.actionSheet.itemBackgroundColor
        self.titleNode.attributedText = NSAttributedString(string: self.titleNode.attributedText?.string ?? "", font: Font.bold(17.0), textColor: self.presentationData.theme.actionSheet.primaryTextColor)

        if previousTheme !== presentationData.theme, let (layout, navigationBarHeight) = self.containerLayout {
            self.setupPickerView()
            self.containerLayoutUpdated(layout, navigationBarHeight: navigationBarHeight, transition: .immediate)
        }

        self.cancelButton.setTitle(self.presentationData.strings.Common_Cancel, with: Font.regular(17.0), with: self.presentationData.theme.actionSheet.controlAccentColor, for: .normal)
        self.doneButton.updateTheme(SolidRoundedButtonTheme(theme: self.presentationData.theme))
        self.onlineButton.updateTheme(SolidRoundedButtonTheme(backgroundColor: self.presentationData.theme.actionSheet.opaqueItemBackgroundColor, foregroundColor: self.presentationData.theme.actionSheet.controlAccentColor))
    }

    private func updateMinimumDate(currentTime: Int32? = nil) {
        let timeZone = TimeZone(secondsFromGMT: 0)!
        var calendar = Calendar(identifier: .gregorian)
        calendar.timeZone = timeZone
        let currentDate = Date()
        var components = calendar.dateComponents(Set([.era, .year, .month, .day, .hour, .minute, .second]), from: currentDate)
        components.second = 0
        let minute = (components.minute ?? 0) % 5

        let next1MinDate = calendar.date(byAdding: .minute, value: 1, to: calendar.date(from: components)!)
        let next5MinDate = calendar.date(byAdding: .minute, value: 5 - minute, to: calendar.date(from: components)!)

        if let date = calendar.date(byAdding: .day, value: 365, to: currentDate) {
            self.pickerView?.maximumDate = date
        }

        if let next1MinDate = next1MinDate, let next5MinDate = next5MinDate {
            let minimalTime = self.minimalTime.flatMap(Double.init) ?? 0.0
            self.pickerView?.minimumDate = max(next1MinDate, Date(timeIntervalSince1970: minimalTime))
            if let currentTime = currentTime, Double(currentTime) > max(currentDate.timeIntervalSince1970, minimalTime) {
                self.pickerView?.date = Date(timeIntervalSince1970: Double(currentTime))
            } else {
                self.pickerView?.date = next5MinDate
            }
        }
    }

    override func didLoad() {
        super.didLoad()

        if #available(iOSApplicationExtension 11.0, iOS 11.0, *) {
            self.wrappingScrollNode.view.contentInsetAdjustmentBehavior = .never
        }
    }

    private func updateButtonTitle() {
        guard let date = self.pickerView?.date else {
            return
        }

        let calendar = Calendar(identifier: .gregorian)
        let time = stringForMessageTimestamp(timestamp: Int32(date.timeIntervalSince1970), dateTimeFormat: self.presentationData.dateTimeFormat)
        switch mode {
            case .scheduledMessages:
                if calendar.isDateInToday(date) {
                    self.doneButton.title = self.presentationData.strings.Conversation_ScheduleMessage_SendToday(time).0
                } else if calendar.isDateInTomorrow(date) {
                    self.doneButton.title = self.presentationData.strings.Conversation_ScheduleMessage_SendTomorrow(time).0
                } else {
                    self.doneButton.title = self.presentationData.strings.Conversation_ScheduleMessage_SendOn(self.dateFormatter.string(from: date), time).0
                }
            case .reminders:
                if calendar.isDateInToday(date) {
                    self.doneButton.title = self.presentationData.strings.Conversation_SetReminder_RemindToday(time).0
                } else if calendar.isDateInTomorrow(date) {
                    self.doneButton.title = self.presentationData.strings.Conversation_SetReminder_RemindTomorrow(time).0
                } else {
                    self.doneButton.title = self.presentationData.strings.Conversation_SetReminder_RemindOn(self.dateFormatter.string(from: date), time).0
                }
        }
    }

    @objc private func datePickerUpdated() {
        self.updateButtonTitle()
        if let date = self.pickerView?.date, date < Date() {
            self.doneButton.alpha = 0.4
            self.doneButton.isUserInteractionEnabled = false
        } else {
            self.doneButton.alpha = 1.0
            self.doneButton.isUserInteractionEnabled = true
        }
    }

    @objc func cancelButtonPressed() {
        self.cancel?()
    }

    @objc func dimTapGesture(_ recognizer: UITapGestureRecognizer) {
        if self.dismissByTapOutside, case .ended = recognizer.state {
            self.cancelButtonPressed()
        }
    }

    func animateIn() {
        self.dimNode.layer.animateAlpha(from: 0.0, to: 1.0, duration: 0.4)

        let offset = self.bounds.size.height - self.contentBackgroundNode.frame.minY

        let dimPosition = self.dimNode.layer.position
        self.dimNode.layer.animatePosition(from: CGPoint(x: dimPosition.x, y: dimPosition.y - offset), to: dimPosition, duration: 0.3, timingFunction: kCAMediaTimingFunctionSpring)
        self.layer.animateBoundsOriginYAdditive(from: -offset, to: 0.0, duration: 0.3, timingFunction: kCAMediaTimingFunctionSpring)
    }

    func animateOut(completion: (() -> Void)? = nil) {
        var dimCompleted = false
        var offsetCompleted = false

        let internalCompletion: () -> Void = { [weak self] in
            if let strongSelf = self, dimCompleted && offsetCompleted {
                strongSelf.dismiss?()
            }
            completion?()
        }

        self.dimNode.layer.animateAlpha(from: 1.0, to: 0.0, duration: 0.3, removeOnCompletion: false, completion: { _ in
            dimCompleted = true
            internalCompletion()
        })

        let offset = self.bounds.size.height - self.contentBackgroundNode.frame.minY
        let dimPosition = self.dimNode.layer.position
        self.dimNode.layer.animatePosition(from: dimPosition, to: CGPoint(x: dimPosition.x, y: dimPosition.y - offset), duration: 0.3, timingFunction: kCAMediaTimingFunctionSpring, removeOnCompletion: false)
        self.layer.animateBoundsOriginYAdditive(from: 0.0, to: -offset, duration: 0.3, timingFunction: kCAMediaTimingFunctionSpring, removeOnCompletion: false, completion: { _ in
            offsetCompleted = true
            internalCompletion()
        })
    }

    override func hitTest(_ point: CGPoint, with event: UIEvent?) -> UIView? {
        if self.bounds.contains(point) {
            if !self.contentBackgroundNode.bounds.contains(self.convert(point, to: self.contentBackgroundNode)) {
                return self.dimNode.view
            }
        }
        return super.hitTest(point, with: event)
    }

    func scrollViewDidEndDragging(_ scrollView: UIScrollView, willDecelerate decelerate: Bool) {
        let contentOffset = scrollView.contentOffset
        let additionalTopHeight = max(0.0, -contentOffset.y)

        if additionalTopHeight >= 30.0 {
            self.cancelButtonPressed()
        }
    }

    func containerLayoutUpdated(_ layout: ContainerViewLayout, navigationBarHeight: CGFloat, transition: ContainedViewLayoutTransition) {
        self.containerLayout = (layout, navigationBarHeight)

        var insets = layout.insets(options: [.statusBar, .input])
        let cleanInsets = layout.insets(options: [.statusBar])
        insets.top = max(10.0, insets.top)

        var buttonOffset: CGFloat = 0.0
        if case .scheduledMessages(true) = self.mode {
            buttonOffset += 64.0
        }

        let bottomInset: CGFloat = 10.0 + cleanInsets.bottom
        let titleHeight: CGFloat = 54.0
        var contentHeight = titleHeight + bottomInset + 52.0 + 17.0
        let pickerHeight: CGFloat = min(216.0, layout.size.height - contentHeight)
        contentHeight = titleHeight + bottomInset + 52.0 + 17.0 + pickerHeight + buttonOffset

        let width = horizontalContainerFillingSizeForLayout(layout: layout, sideInset: layout.safeInsets.left)

        let sideInset = floor((layout.size.width - width) / 2.0)
        let contentContainerFrame = CGRect(origin: CGPoint(x: sideInset, y: layout.size.height - contentHeight), size: CGSize(width: width, height: contentHeight))
        let contentFrame = contentContainerFrame

        var backgroundFrame = CGRect(origin: CGPoint(x: contentFrame.minX, y: contentFrame.minY), size: CGSize(width: contentFrame.width, height: contentFrame.height + 2000.0))
        if backgroundFrame.minY < contentFrame.minY {
            backgroundFrame.origin.y = contentFrame.minY
        }
        transition.updateFrame(node: self.backgroundNode, frame: backgroundFrame)
        transition.updateFrame(node: self.effectNode, frame: CGRect(origin: CGPoint(), size: backgroundFrame.size))
        transition.updateFrame(node: self.contentBackgroundNode, frame: CGRect(origin: CGPoint(), size: backgroundFrame.size))
        transition.updateFrame(node: self.wrappingScrollNode, frame: CGRect(origin: CGPoint(), size: layout.size))
        transition.updateFrame(node: self.dimNode, frame: CGRect(origin: CGPoint(), size: layout.size))

        let titleSize = self.titleNode.measure(CGSize(width: width, height: titleHeight))
        let titleFrame = CGRect(origin: CGPoint(x: floor((contentFrame.width - titleSize.width) / 2.0), y: 16.0), size: titleSize)
        transition.updateFrame(node: self.titleNode, frame: titleFrame)

        let cancelSize = self.cancelButton.measure(CGSize(width: width, height: titleHeight))
        let cancelFrame = CGRect(origin: CGPoint(x: 16.0, y: 16.0), size: cancelSize)
        transition.updateFrame(node: self.cancelButton, frame: cancelFrame)

        let buttonInset: CGFloat = 16.0
        let doneButtonHeight = self.doneButton.updateLayout(width: contentFrame.width - buttonInset * 2.0, transition: transition)
        transition.updateFrame(node: self.doneButton, frame: CGRect(x: buttonInset, y: contentHeight - doneButtonHeight - insets.bottom - 16.0 - buttonOffset, width: contentFrame.width, height: doneButtonHeight))

        let onlineButtonHeight = self.onlineButton.updateLayout(width: contentFrame.width - buttonInset * 2.0, transition: transition)
        transition.updateFrame(node: self.onlineButton, frame: CGRect(x: buttonInset, y: contentHeight - onlineButtonHeight - insets.bottom - 16.0, width: contentFrame.width, height: onlineButtonHeight))

        self.pickerView?.frame = CGRect(origin: CGPoint(x: 0.0, y: 54.0), size: CGSize(width: contentFrame.width, height: pickerHeight))

        transition.updateFrame(node: self.contentContainerNode, frame: contentContainerFrame)
    }
}

{'repo_name': 'TelegramMessenger/Telegram-iOS', 'stars': '1614', 'repo_language': 'Swift', 'file_name': 'prepare_buck_source.sh', 'mime_type': 'text/x-shellscript', 'hash': 4596652684361623191, 'source_dataset': 'data'}


//
//  SINUser.m
//  PLMMPRJK
//
//  Created by HuXuPeng on 2017/6/21.
//  Copyright © 2017年 GoMePrjk. All rights reserved.
//

#import "SINUser.h"

@implementation SINUser

/**
 *  将属性名换为其他key去字典中取值
 *
 *  @return 字典中的key是属性名，value是从字典中取值用的key
 */
+ (NSDictionary *)mj_replacedKeyFromPropertyName
{
    return @{@"userDesText" : @"description"};
}

/**
 *  这个数组中的属性名将会被忽略：不进行字典和模型的转换
 */
+ (NSArray *)mj_ignoredPropertyNames
{
    return @[];
}

/**
 *  数组中需要转换的模型类
 *
 *  @return 字典中的key是数组属性名，value是数组中存放模型的Class（Class类型或者NSString类型）
 */
+ (NSDictionary *)mj_objectClassInArray
{
    return @{};
}

@end

{'repo_name': 'NJHu/iOSProject', 'stars': '5246', 'repo_language': 'Objective-C', 'file_name': 'accesstoken.json', 'mime_type': 'text/plain', 'hash': -164893294958231860, 'source_dataset': 'data'}


/*
 * vim:ts=4:sw=4:expandtab
 *
 * i3 - an improved dynamic tiling window manager
 * © 2009 Michael Stapelberg and contributors (see also: LICENSE)
 *
 * drag.c: click and drag.
 *
 */
#include "all.h"

/* Custom data structure used to track dragging-related events. */
struct drag_x11_cb {
    ev_prepare prepare;

    /* Whether this modal event loop should be exited and with which result. */
    drag_result_t result;

    /* The container that is being dragged or resized, or NULL if this is a
     * drag of the resize handle. */
    Con *con;

    /* The original event that initiated the drag. */
    const xcb_button_press_event_t *event;

    /* The dimensions of con when the loop was started. */
    Rect old_rect;

    /* The callback to invoke after every pointer movement. */
    callback_t callback;

    /* Drag distance threshold exceeded. If use_threshold is not set, then
     * threshold_exceeded is always true. */
    bool threshold_exceeded;

    /* Cursor to set after the threshold is exceeded. */
    xcb_cursor_t xcursor;

    /* User data pointer for callback. */
    const void *extra;
};

static bool threshold_exceeded(uint32_t x1, uint32_t y1,
                               uint32_t x2, uint32_t y2) {
    const uint32_t threshold = 9;
    return (x1 - x2) * (x1 - x2) + (y1 - y2) * (y1 - y2) > threshold * threshold;
}

static bool drain_drag_events(EV_P, struct drag_x11_cb *dragloop) {
    xcb_motion_notify_event_t *last_motion_notify = NULL;
    xcb_generic_event_t *event;

    while ((event = xcb_poll_for_event(conn)) != NULL) {
        if (event->response_type == 0) {
            xcb_generic_error_t *error = (xcb_generic_error_t *)event;
            DLOG("X11 Error received (probably harmless)! sequence 0x%x, error_code = %d\n",
                 error->sequence, error->error_code);
            free(event);
            continue;
        }

        /* Strip off the highest bit (set if the event is generated) */
        int type = (event->response_type & 0x7F);

        switch (type) {
            case XCB_BUTTON_RELEASE:
                dragloop->result = DRAG_SUCCESS;
                break;

            case XCB_KEY_PRESS:
                DLOG("A key was pressed during drag, reverting changes.\n");
                dragloop->result = DRAG_REVERT;
                handle_event(type, event);
                break;

            case XCB_UNMAP_NOTIFY: {
                xcb_unmap_notify_event_t *unmap_event = (xcb_unmap_notify_event_t *)event;
                Con *con = con_by_window_id(unmap_event->window);

                if (con != NULL) {
                    DLOG("UnmapNotify for window 0x%08x (container %p)\n", unmap_event->window, con);

                    if (con_get_workspace(con) == con_get_workspace(focused)) {
                        DLOG("UnmapNotify for a managed window on the current workspace, aborting\n");
                        dragloop->result = DRAG_ABORT;
                    }
                }

                handle_event(type, event);
                break;
            }

            case XCB_MOTION_NOTIFY:
                /* motion_notify events are saved for later */
                FREE(last_motion_notify);
                last_motion_notify = (xcb_motion_notify_event_t *)event;
                break;

            default:
                DLOG("Passing to original handler\n");
                handle_event(type, event);
                break;
        }

        if (last_motion_notify != (xcb_motion_notify_event_t *)event)
            free(event);

        if (dragloop->result != DRAGGING) {
            ev_break(EV_A_ EVBREAK_ONE);
            if (dragloop->result == DRAG_SUCCESS) {
                /* Ensure motion notify events are handled. */
                break;
            } else {
                free(last_motion_notify);
                return true;
            }
        }
    }

    if (last_motion_notify == NULL) {
        return true;
    }

    if (!dragloop->threshold_exceeded &&
        threshold_exceeded(last_motion_notify->root_x, last_motion_notify->root_y,
                           dragloop->event->root_x, dragloop->event->root_y)) {
        if (dragloop->xcursor != XCB_NONE) {
            xcb_change_active_pointer_grab(
                conn,
                dragloop->xcursor,
                XCB_CURRENT_TIME,
                XCB_EVENT_MASK_BUTTON_RELEASE | XCB_EVENT_MASK_POINTER_MOTION);
        }
        dragloop->threshold_exceeded = true;
    }

    /* Ensure that we are either dragging the resize handle (con is NULL) or that the
     * container still exists. The latter might not be true, e.g., if the window closed
     * for any reason while the user was dragging it. */
    if (dragloop->threshold_exceeded && (!dragloop->con || con_exists(dragloop->con))) {
        dragloop->callback(
            dragloop->con,
            &(dragloop->old_rect),
            last_motion_notify->root_x,
            last_motion_notify->root_y,
            dragloop->event,
            dragloop->extra);
    }
    FREE(last_motion_notify);

    xcb_flush(conn);
    return dragloop->result != DRAGGING;
}

static void xcb_drag_prepare_cb(EV_P_ ev_prepare *w, int revents) {
    struct drag_x11_cb *dragloop = (struct drag_x11_cb *)w->data;
    while (!drain_drag_events(EV_A, dragloop)) {
        /* repeatedly drain events: draining might produce additional ones */
    }
}

/*
 * This function grabs your pointer and keyboard and lets you drag stuff around
 * (borders). Every time you move your mouse, an XCB_MOTION_NOTIFY event will
 * be received and the given callback will be called with the parameters
 * specified (client, the original event), the original rect of the client,
 * and the new coordinates (x, y).
 *
 * If use_threshold is set, dragging only starts after the user moves the
 * pointer past a certain threshold. That is, the cursor will not be set and the
 * callback will not be called until then.
 *
 */
drag_result_t drag_pointer(Con *con, const xcb_button_press_event_t *event,
                           xcb_window_t confine_to, int cursor,
                           bool use_threshold, callback_t callback,
                           const void *extra) {
    xcb_cursor_t xcursor = cursor ? xcursor_get_cursor(cursor) : XCB_NONE;

    /* Grab the pointer */
    xcb_grab_pointer_cookie_t cookie;
    xcb_grab_pointer_reply_t *reply;
    xcb_generic_error_t *error;

    cookie = xcb_grab_pointer(conn,
                              false,                                                         /* get all pointer events specified by the following mask */
                              root,                                                          /* grab the root window */
                              XCB_EVENT_MASK_BUTTON_RELEASE | XCB_EVENT_MASK_POINTER_MOTION, /* which events to let through */
                              XCB_GRAB_MODE_ASYNC,                                           /* pointer events should continue as normal */
                              XCB_GRAB_MODE_ASYNC,                                           /* keyboard mode */
                              confine_to,                                                    /* confine_to = in which window should the cursor stay */
                              use_threshold ? XCB_NONE : xcursor,                            /* possibly display a special cursor */
                              XCB_CURRENT_TIME);

    if ((reply = xcb_grab_pointer_reply(conn, cookie, &error)) == NULL) {
        ELOG("Could not grab pointer (error_code = %d)\n", error->error_code);
        free(error);
        return DRAG_ABORT;
    }

    free(reply);

    /* Grab the keyboard */
    xcb_grab_keyboard_cookie_t keyb_cookie;
    xcb_grab_keyboard_reply_t *keyb_reply;

    keyb_cookie = xcb_grab_keyboard(conn,
                                    false, /* get all keyboard events */
                                    root,  /* grab the root window */
                                    XCB_CURRENT_TIME,
                                    XCB_GRAB_MODE_ASYNC, /* continue processing pointer events as normal */
                                    XCB_GRAB_MODE_ASYNC  /* keyboard mode */
    );

    if ((keyb_reply = xcb_grab_keyboard_reply(conn, keyb_cookie, &error)) == NULL) {
        ELOG("Could not grab keyboard (error_code = %d)\n", error->error_code);
        free(error);
        xcb_ungrab_pointer(conn, XCB_CURRENT_TIME);
        return DRAG_ABORT;
    }

    free(keyb_reply);

    /* Go into our own event loop */
    struct drag_x11_cb loop = {
        .result = DRAGGING,
        .con = con,
        .event = event,
        .callback = callback,
        .threshold_exceeded = !use_threshold,
        .xcursor = xcursor,
        .extra = extra,
    };
    ev_prepare *prepare = &loop.prepare;
    if (con)
        loop.old_rect = con->rect;
    ev_prepare_init(prepare, xcb_drag_prepare_cb);
    prepare->data = &loop;
    main_set_x11_cb(false);
    ev_prepare_start(main_loop, prepare);

    ev_loop(main_loop, 0);

    ev_prepare_stop(main_loop, prepare);
    main_set_x11_cb(true);

    xcb_ungrab_keyboard(conn, XCB_CURRENT_TIME);
    xcb_ungrab_pointer(conn, XCB_CURRENT_TIME);
    xcb_flush(conn);

    return loop.result;
}

{'repo_name': 'i3/i3', 'stars': '5641', 'repo_language': 'C', 'file_name': 'get_mod_mask.c', 'mime_type': 'text/x-c', 'hash': -3250364040317274088, 'source_dataset': 'data'}


//using System;
//using Microsoft.VisualStudio.Text;
//using Microsoft.VisualStudio.Utilities;

//namespace MadsKristensen.EditorExtensions.Compilers
//{
//    ///Exposes compiled results from a source file to consumers.  This will initiate compilation automatically, as appropriate, and notify consumers when it's ready.
//    public interface ICompilationNotifier : IDisposable
//    {
//        ///
//        /// Requests that the notifier raise <see cref="CompilationReady"/> with the last available result.
//        /// The notifier may ignore the request, raise the event later, or raise it re-entrantly.
//        ///<param name="cached">
//        /// If true, the compiler may return cached output from an older compilation;
//        /// if false, the compiler should try to recompile if possible.
//        /// The implementation may ignore this parameter.
//        /// Either way, no result will be saved to disk.
//        ///</param>
//        void RequestCompilationResult(bool cached);
//        ///Raised whenever new compiled output is available.
//        event EventHandler<CompilerResultEventArgs> CompilationReady;
//    }
//    ///Provides data for CompilerResult events.
//    public class CompilerResultEventArgs : EventArgs
//    {
//        ///Creates a new CompilerResultEventArgs instance.
//        public CompilerResultEventArgs(CompilerResult result) { CompilerResult = result; }

//        ///Gets the result.
//        public CompilerResult CompilerResult { get; private set; }
//    }

//    ///Creates <see cref="ICompilationNotifier"/> implementations for a specific content type.
//    interface ICompilationNotifierProvider
//    {
//        ICompilationNotifier GetCompilationNotifier(ITextDocument doc);
//    }
//    ///Creates <see cref="CompilerRunnerBase"/> implementations for a specific content type.
//    interface ICompilerRunnerProvider
//    {
//        CompilerRunnerBase GetCompiler(IContentType contentType);
//    }
//}

{'repo_name': 'madskristensen/WebEssentials2015', 'stars': '309', 'repo_language': 'C#', 'file_name': 'BrowserInfo.cs', 'mime_type': 'text/plain', 'hash': 8775649345023177411, 'source_dataset': 'data'}


/*
*
* 这里填写用户自定义的表达式
* 可用在Online表单的默认值表达式中使用
* 需要外部使用的变量或方法一定要 export，否则无法识别
* 示例：
*   export const name = '张三'; // const 是常量
*   export let age = 17; // 看情况 export const 还是 let ，两者都可正常使用
*   export function content(arg) { // export 方法，可传参数，使用时要加括号，值一定要return回去，可以返回Promise
*     return 'content' + arg;
*   }
*   export const address = (arg) => content(arg) + ' | 北京市'; // export 箭头函数也可以
*
*/

/** 字段默认值官方示例：获取地址 */
export function demoFieldDefVal_getAddress(arg) {
  if (!arg) {
    arg = '朝阳区'
  }
  return `北京市 ${arg}`
}

{'repo_name': 'zhangdaiscott/jeecg-boot', 'stars': '14071', 'repo_language': 'Java', 'file_name': 'SampleTest.java', 'mime_type': 'text/x-java', 'hash': 6255879189136450847, 'source_dataset': 'data'}


*fbsql_field_len* -- Returns the length of the specified field

  int fbsql_field_len(resource result [, int field_offset])~

Returns the length of the specified field.

{result} A result pointer returned by |fbsql_list_fields|.

{field_offset} The numerical offset of the field. The field index starts at 0.

Returns the length of the specified field.

vim:ft=help:

{'repo_name': 'spf13/PIV', 'stars': '256', 'repo_language': 'VimL', 'file_name': 'php.vim', 'mime_type': 'text/plain', 'hash': -2538008685675462502, 'source_dataset': 'data'}


========================================
Buildroot
========================================

.. contents:: 目錄

介紹
========================================

:Repo: https://github.com/buildroot/buildroot
:Site: https://buildroot.org/

「Buildroot 做出的是一個 root filesystem image」

Buildroot 維護一系列設定來編譯各個專案，
使用 menuconfig 做選擇，
最後做出很小的 rootfs。

跟 Yocto 比起來編譯比較快，
結果通常比較小，
但是支援的套件比 Yocto 少，
也不支援做出數個套件。

.. code-block:: sh

    make menuconfig
    # 選擇要的 toolchain、架構、系統、套件

    make -j8

    ls output/images

* `文件 <https://www.buildroot.net/docs.html>`_

{'repo_name': 'wdv4758h/notes', 'stars': '101', 'repo_language': 'C++', 'file_name': 'README.rst', 'mime_type': 'text/plain', 'hash': 3744888650010821431, 'source_dataset': 'data'}


<?php defined('C5_EXECUTE') or die("Access Denied.");
$h = Loader::helper('concrete/dashboard');
$ih = Loader::helper('concrete/interface');
$form = Loader::helper('form');
echo $h->getDashboardPaneHeaderWrapper(t('Maintenance Mode'), false, 'span6 offset3', false);?>
<form id="maintenance-mode-form" action="<?php echo $this->action('')?>" method="post">

	<?php echo $this->controller->token->output('update_maintenance')?>
	<?php if (!empty($token_error) && is_array($token_error)) { ?>

<?php echo $token_error[0]?>

	<?php } ?>

		<?php echo $form->label('site_maintenance_mode', t('Maintenance Mode'))?>

						<?php echo $form->radio('site_maintenance_mode', '1', $site_maintenance_mode)?>
						<?php echo t('Enabled')?>

						<?php echo $form->radio('site_maintenance_mode', '0', $site_maintenance_mode)?>
						<?php echo t('Disabled')?>

<?php
	$submit = $ih->submit( t('Save'), 'maintenance-mode-form', 'right', 'primary');
	print $submit;
?>

</form>
<?php echo $h->getDashboardPaneFooterWrapper(false);?>

{'repo_name': 'concrete5/concrete5-legacy', 'stars': '577', 'repo_language': 'PHP', 'file_name': 'PageTest.php', 'mime_type': 'text/x-php', 'hash': 9039288461389910345, 'source_dataset': 'data'}


    <form (ngSubmit)="onSubmit()" [formGroup]="form">

            {{tab.displayName}}

                <app-df-property
                        [property]="property"
                        [form]="form"
                        [gadgetTags]="gadgetTags"
                >

                </app-df-property>

            <button class="ui green submit button" type="submit" [disabled]="!form.valid || !form.dirty"> Save</button>

    </form>

Saved!

{'repo_name': 'catalogicsoftware/ngx-dynamic-dashboard-framework', 'stars': '146', 'repo_language': 'TypeScript', 'file_name': 'app.e2e-spec.ts', 'mime_type': 'text/x-java', 'hash': 9041364198010723737, 'source_dataset': 'data'}


<?php

// Bhutan

function location_province_list_bt() {
  return array('BUM' => "Bumthang",
    'CHU' => "Chukha",
    'DAG' => "Dagana",
    'GAS' => "Gasa",
    'HAA' => "Haa",
    'LHU' => "Lhuntse",
    'MON' => "Mongar",
    'PAR' => "Paro",
    'PEM' => "Pemagatshel",
    'PUN' => "Punakha",
    'SJO' => "Samdrup Jongkhar",
    'SAT' => "Samtse",
    'SAR' => "Sarpang",
    'THI' => "Thimphu",
    'TRG' => "Trashigang",
    'TRY' => "Trashiyangste",
    'TRO' => "Trongsa",
    'TSI' => "Tsirang",
    'WPH' => "Wangdue Phodrang",
    'ZHE' => "Zhemgang");
}

/**
 * Returns minimum and maximum latitude and longitude needed to create a bounding box.
 */
function location_bounds_bt() {
  return array(
    'minlng' => 88.668547,
    'minlat' => 26.804233,
    'maxlng' => 92.08275,
    'maxlat' => 28.342233,
  );
}

{'repo_name': 'fossasia/phimpme-drupal', 'stars': '1111', 'repo_language': 'PHP', 'file_name': 'jquery.ui.datepicker.css', 'mime_type': 'text/plain', 'hash': 6499819856701758588, 'source_dataset': 'data'}


var baseIsFunction = require('../internal/baseIsFunction'),
    isNative = require('./isNative');

/** `Object#toString` result references. */
var funcTag = '[object Function]';

/** Used for native method references. */
var objectProto = Object.prototype;

/**
 * Used to resolve the [`toStringTag`](https://people.mozilla.org/~jorendorff/es6-draft.html#sec-object.prototype.tostring)
 * of values.
 */
var objToString = objectProto.toString;

/** Native method references. */
var Uint8Array = isNative(Uint8Array = global.Uint8Array) && Uint8Array;

/**
 * Checks if `value` is classified as a `Function` object.
 *
 * @static
 * @memberOf _
 * @category Lang
 * @param {*} value The value to check.
 * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.
 * @example
 *
 * _.isFunction(_);
 * // => true
 *
 * _.isFunction(/abc/);
 * // => false
 */
var isFunction = !(baseIsFunction(/x/) || (Uint8Array && !baseIsFunction(Uint8Array))) ? baseIsFunction : function(value) {
  // The use of `Object#toString` avoids issues with the `typeof` operator
  // in older versions of Chrome and Safari which return 'function' for regexes
  // and Safari 8 equivalents which return 'object' for typed array constructors.
  return objToString.call(value) == funcTag;
};

module.exports = isFunction;

{'repo_name': 'houdunwang/video', 'stars': '323', 'repo_language': 'PHP', 'file_name': 'phpcms.sql', 'mime_type': 'text/plain', 'hash': -8730598004030086666, 'source_dataset': 'data'}


#include "FLA_lapack2flame_return_defs.h"
#include "FLA_f2c.h" /* Table of constant values */

int slauu2_check(char *uplo, int *n, float *a, int *lda, int *info)
{
    /* System generated locals */
    int a_dim1, a_offset, i__1;
    /* Local variables */
    logical upper;

    /* Parameter adjustments */
    a_dim1 = *lda;
    a_offset = 1 + a_dim1;
    a -= a_offset;
    /* Function Body */
    *info = 0;
    upper = lsame_(uplo, "U");
    if (! upper && ! lsame_(uplo, "L"))
    {
        *info = -1;
    }
    else if (*n < 0)
    {
        *info = -2;
    }
    else if (*lda < max(1,*n))
    {
        *info = -4;
    }
    if (*info != 0)
    {
        i__1 = -(*info);
        xerbla_("SLAUU2", &i__1);
        return LAPACK_FAILURE;
    }
    /* Quick return if possible */
    if (*n == 0)
    {
        return LAPACK_QUICK_RETURN;
    }
    return LAPACK_SUCCESS;
}

{'repo_name': 'flame/libflame', 'stars': '182', 'repo_language': 'Fortran', 'file_name': 'zlatme.f', 'mime_type': 'text/plain', 'hash': 2826814066133347993, 'source_dataset': 'data'}


syntax = "proto3";

package envoy.config.core.v4alpha;

import "google/protobuf/struct.proto";

import "udpa/annotations/status.proto";
import "udpa/annotations/versioning.proto";
import "validate/validate.proto";

option java_package = "io.envoyproxy.envoy.config.core.v4alpha";
option java_outer_classname = "SubstitutionFormatStringProto";
option java_multiple_files = true;
option (udpa.annotations.file_status).package_version_status = NEXT_MAJOR_VERSION_CANDIDATE;

// [#protodoc-title: Substitution format string]

// Configuration to use multiple :ref:`command operators <config_access_log_command_operators>`
// to generate a new string in either plain text or JSON format.
message SubstitutionFormatString {
  option (udpa.annotations.versioning).previous_message_type =
      "envoy.config.core.v3.SubstitutionFormatString";

  oneof format {
    option (validate.required) = true;

    // Specify a format with command operators to form a text string.
    // Its details is described in :ref:`format string<config_access_log_format_strings>`.
    //
    // .. code-block::
    //
    //   text_format: %LOCAL_REPLY_BODY%:%RESPONSE_CODE%:path=$REQ(:path)%
    //
    // The following plain text will be created:
    //
    // .. code-block::
    //
    //   upstream connect error:204:path=/foo
    //
    string text_format = 1 [(validate.rules).string = {min_bytes: 1}];

    // Specify a format with command operators to form a JSON string.
    // Its details is described in :ref:`format dictionary<config_access_log_format_dictionaries>`.
    // Values are rendered as strings, numbers, or boolean values as appropriate.
    // Nested JSON objects may be produced by some command operators (e.g. FILTER_STATE or DYNAMIC_METADATA).
    // See the documentation for a specific command operator for details.
    //
    // .. code-block::
    //
    //  json_format:
    //    status: %RESPONSE_CODE%
    //    message: %LOCAL_REPLY_BODY%
    //
    // The following JSON object would be created:
    //
    // .. code-block:: json
    //
    //  {
    //    "status": 500,
    //    "message": "My error message"
    //  }
    //
    google.protobuf.Struct json_format = 2 [(validate.rules).message = {required: true}];
  }

  // If set to true, when command operators are evaluated to null,
  //
  // * for ``text_format``, the output of the empty operator is changed from ``-`` to an
  //   empty string, so that empty values are omitted entirely.
  // * for ``json_format`` the keys with null values are omitted in the output structure.
  bool omit_empty_values = 3;

  // Specify a *content_type* field.
  // If this field is not set then ``text/plain`` is used for *text_format* and
  // ``application/json`` is used for *json_format*.
  //
  // .. code-block::
  //
  //   content_type: "text/html; charset=UTF-8"
  //
  string content_type = 4;
}

{'repo_name': 'envoyproxy/envoy-wasm', 'stars': '167', 'repo_language': 'C++', 'file_name': 'statusor.h', 'mime_type': 'text/x-c++', 'hash': 5460254804148464486, 'source_dataset': 'data'}


diff --git a/gettext-runtime/src/gettext.sh.in b/gettext-runtime/src/gettext.sh.in
index 1dfa3bb..d6ef8a8 100644
--- a/gettext-runtime/src/gettext.sh.in
+++ b/gettext-runtime/src/gettext.sh.in
@@ -86,14 +86,14 @@ fi
 # looks up the translation of MSGID and substitutes shell variables in the
 # result.
 eval_gettext () {
-  gettext "$1" | (export PATH `envsubst --variables "$1"`; envsubst "$1")
+  @out@/bin/gettext "$1" | (export PATH `@out@/bin/envsubst --variables "$1"`; @out@/bin/envsubst "$1")
 }

 # eval_ngettext MSGID MSGID-PLURAL COUNT
 # looks up the translation of MSGID / MSGID-PLURAL for COUNT and substitutes
 # shell variables in the result.
 eval_ngettext () {
-  ngettext "$1" "$2" "$3" | (export PATH `envsubst --variables "$1 $2"`; envsubst "$1 $2")
+  @out@/bin/ngettext "$1" "$2" "$3" | (export PATH `@out@/bin/envsubst --variables "$1 $2"`; @out@/bin/envsubst "$1 $2")
 }

 # Note: This use of envsubst is much safer than using the shell built-in 'eval'

{'repo_name': 'NixOS/nixpkgs', 'stars': '5317', 'repo_language': 'Nix', 'file_name': 'default.nix', 'mime_type': 'text/plain', 'hash': 7293769144642724932, 'source_dataset': 'data'}


package com.tencent.mm.ui.account.mobile;

import android.content.DialogInterface;
import android.content.DialogInterface.OnCancelListener;
import com.tencent.mm.model.ax;
import com.tencent.mm.modelsimple.x;
import com.tencent.mm.q.l;

final class bn
  implements DialogInterface.OnCancelListener
{
  bn(MobileLoginOrForceReg paramMobileLoginOrForceReg, x paramx) {}

  public final void onCancel(DialogInterface paramDialogInterface)
  {
    ax.tm().c(izt);
  }
}

/* Location:
 * Qualified Name:     com.tencent.mm.ui.account.mobile.bn
 * Java Class Version: 6 (50.0)
 * JD-Core Version:    0.7.1
 */

{'repo_name': 'reverseengineeringer/com.tencent.mm', 'stars': '201', 'repo_language': 'Smali', 'file_name': 'LibCardRecog.smali', 'mime_type': 'text/plain', 'hash': 6290435130989229363, 'source_dataset': 'data'}


fileFormatVersion: 2
guid: 0df4a524803b2f24ca3edfa136607c17
timeCreated: 1545679535
licenseType: Store
TextureImporter:
  fileIDToRecycleName: {}
  serializedVersion: 4
  mipmaps:
    mipMapMode: 0
    enableMipMap: 1
    sRGBTexture: 1
    linearTexture: 0
    fadeOut: 0
    borderMipMap: 0
    mipMapsPreserveCoverage: 0
    alphaTestReferenceValue: 0.5
    mipMapFadeDistanceStart: 1
    mipMapFadeDistanceEnd: 3
  bumpmap:
    convertToNormalMap: 0
    externalNormalMap: 0
    heightScale: 0.25
    normalMapFilter: 0
  isReadable: 0
  grayScaleToAlpha: 0
  generateCubemap: 6
  cubemapConvolution: 0
  seamlessCubemap: 0
  textureFormat: 1
  maxTextureSize: 2048
  textureSettings:
    serializedVersion: 2
    filterMode: -1
    aniso: -1
    mipBias: -1
    wrapU: -1
    wrapV: -1
    wrapW: -1
  nPOTScale: 1
  lightmap: 0
  compressionQuality: 50
  spriteMode: 0
  spriteExtrude: 1
  spriteMeshType: 1
  alignment: 0
  spritePivot: {x: 0.5, y: 0.5}
  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
  spritePixelsToUnits: 100
  alphaUsage: 1
  alphaIsTransparency: 0
  spriteTessellationDetail: -1
  textureType: 0
  textureShape: 1
  maxTextureSizeSet: 0
  compressionQualitySet: 0
  textureFormatSet: 0
  platformSettings:
  - buildTarget: DefaultTexturePlatform
    maxTextureSize: 512
    textureFormat: -1
    textureCompression: 2
    compressionQuality: 50
    crunchedCompression: 0
    allowsAlphaSplitting: 0
    overridden: 0
  - buildTarget: Standalone
    maxTextureSize: 512
    textureFormat: -1
    textureCompression: 2
    compressionQuality: 50
    crunchedCompression: 0
    allowsAlphaSplitting: 0
    overridden: 0
  spriteSheet:
    serializedVersion: 2
    sprites: []
    outline: []
    physicsShape: []
  spritePackingTag:
  userData:
  assetBundleName:
  assetBundleVariant:

{'repo_name': 'tawnkramer/sdsandbox', 'stars': '341', 'repo_language': 'C#', 'file_name': 'AudioManager.asset', 'mime_type': 'text/plain', 'hash': -6072030030374295090, 'source_dataset': 'data'}


package com.vanniktech.lintrules.android

import com.android.tools.lint.checks.infrastructure.TestFiles.xml
import com.android.tools.lint.checks.infrastructure.TestLintTask.lint
import org.junit.Test

class ColorCasingDetectorTest {
  @Test fun uppercaseColor() {
    lint()
        .files(xml("res/layout/layout.xml", """
          <TextView xmlns:tools="http://schemas.android.com/tools"
              tools:textColor="#FFF"/>""").indented())
        .issues(ISSUE_COLOR_CASING)
        .run()
        .expectClean()
  }

  @Test fun lowercaseColor() {
    lint()
        .files(xml("res/layout/layout.xml", """
          <TextView xmlns:tools="http://schemas.android.com/tools"
              tools:textColor="#fff"/>""").indented())
        .issues(ISSUE_COLOR_CASING)
        .run()
        .expect("""
            |res/layout/layout.xml:2: Warning: Should be using uppercase letters [ColorCasing]
            |    tools:textColor="#fff"/>
            |                     ~~~~
            |0 errors, 1 warnings""".trimMargin())
        .expectFixDiffs("""
            |Fix for res/layout/layout.xml line 2: Convert to uppercase:
            |@@ -2 +2
            |-     tools:textColor="#fff"/>
            |@@ -3 +2
            |+     tools:textColor="#FFF"/>
            |""".trimMargin())
  }

  @Test fun halfUppercaseColor() {
    lint()
        .files(xml("res/drawable/drawable.xml", """
          <shape
              xmlns:android="http://schemas.android.com/apk/res/android"
              android:shape="rectangle">
            <solid android:color="#1Aeebf"/>
            <size android:height="4dp"/>
          </shape>""").indented())
        .issues(ISSUE_COLOR_CASING)
        .run()
        .expect("""
            |res/drawable/drawable.xml:4: Warning: Should be using uppercase letters [ColorCasing]
            |  <solid android:color="#1Aeebf"/>
            |                        ~~~~~~~
            |0 errors, 1 warnings""".trimMargin())
        .expectFixDiffs("""
            |Fix for res/drawable/drawable.xml line 4: Convert to uppercase:
            |@@ -4 +4
            |-   <solid android:color="#1Aeebf"/>
            |+   <solid android:color="#1AEEBF"/>
            |""".trimMargin())
  }
}

{'repo_name': 'vanniktech/lint-rules', 'stars': '218', 'repo_language': 'Kotlin', 'file_name': 'AndroidManifest.xml', 'mime_type': 'text/plain', 'hash': -8858228821350387255, 'source_dataset': 'data'}


@/**************************************************************************/
@/*                                                                        */
@/*       Copyright (c) Microsoft Corporation. All rights reserved.        */
@/*                                                                        */
@/*       This software is licensed under the Microsoft Software License   */
@/*       Terms for Microsoft Azure RTOS. Full text of the license can be  */
@/*       found in the LICENSE file at https://aka.ms/AzureRTOS_EULA       */
@/*       and in the root directory of this software.                      */
@/*                                                                        */
@/**************************************************************************/
@
@
@/**************************************************************************/
@/**************************************************************************/
@/**                                                                       */
@/** ThreadX Component                                                     */
@/**                                                                       */
@/**   Initialize                                                          */
@/**                                                                       */
@/**************************************************************************/
@/**************************************************************************/
@
@
    .global     _tx_thread_system_stack_ptr
    .global     _tx_initialize_unused_memory
    .global     __RAM_segment_used_end__
    .global     _tx_timer_interrupt
    .global     __main
    .global     __tx_SVCallHandler
    .global     __tx_PendSVHandler
    .global     _vectors
    .global     __tx_NMIHandler                     @ NMI
    .global     __tx_BadHandler                     @ HardFault
    .global     __tx_SVCallHandler                  @ SVCall
    .global     __tx_DBGHandler                     @ Monitor
    .global     __tx_PendSVHandler                  @ PendSV
    .global     __tx_SysTickHandler                 @ SysTick
    .global     __tx_IntHandler                     @ Int 0
@
@
SYSTEM_CLOCK      =   6000000
SYSTICK_CYCLES    =   ((SYSTEM_CLOCK / 100) -1)

    .text 32
    .align 4
    .syntax unified
@/**************************************************************************/
@/*                                                                        */
@/*  FUNCTION                                               RELEASE        */
@/*                                                                        */
@/*    _tx_initialize_low_level                          Cortex-M7/GNU     */
@/*                                                           6.0.2        */
@/*  AUTHOR                                                                */
@/*                                                                        */
@/*    William E. Lamie, Microsoft Corporation                             */
@/*                                                                        */
@/*  DESCRIPTION                                                           */
@/*                                                                        */
@/*    This function is responsible for any low-level processor            */
@/*    initialization, including setting up interrupt vectors, setting     */
@/*    up a periodic timer interrupt source, saving the system stack       */
@/*    pointer for use in ISR processing later, and finding the first      */
@/*    available RAM memory address for tx_application_define.             */
@/*                                                                        */
@/*  INPUT                                                                 */
@/*                                                                        */
@/*    None                                                                */
@/*                                                                        */
@/*  OUTPUT                                                                */
@/*                                                                        */
@/*    None                                                                */
@/*                                                                        */
@/*  CALLS                                                                 */
@/*                                                                        */
@/*    None                                                                */
@/*                                                                        */
@/*  CALLED BY                                                             */
@/*                                                                        */
@/*    _tx_initialize_kernel_enter           ThreadX entry function        */
@/*                                                                        */
@/*  RELEASE HISTORY                                                       */
@/*                                                                        */
@/*    DATE              NAME                      DESCRIPTION             */
@/*                                                                        */
@/*  05-19-2020     William E. Lamie         Initial Version 6.0           */
@/*  06-30-2020     William E. Lamie         Modified Comment(s), fixed    */
@/*                                            GNU assembly comment,       */
@/*                                            resulting in version 6.0.1  */
@/*  08-14-2020     William E. Lamie         Modified Comment(s), clean    */
@/*                                            up whitespace, resulting    */
@/*                                            in version 6.0.2            */
@/*                                                                        */
@/**************************************************************************/
@VOID   _tx_initialize_low_level(VOID)
@{
    .global  _tx_initialize_low_level
    .thumb_func
_tx_initialize_low_level:
@
@    /* Disable interrupts during ThreadX initialization.  */
@
    CPSID   i
@
@    /* Set base of available memory to end of non-initialised RAM area.  */
@
    LDR     r0, =_tx_initialize_unused_memory       @ Build address of unused memory pointer
    LDR     r1, =__RAM_segment_used_end__           @ Build first free address
    ADD     r1, r1, #4                              @
    STR     r1, [r0]                                @ Setup first unused memory pointer
@
@    /* Setup Vector Table Offset Register.  */
@
    MOV     r0, #0xE000E000                         @ Build address of NVIC registers
    LDR     r1, =_vectors                           @ Pickup address of vector table
    STR     r1, [r0, #0xD08]                        @ Set vector table address
@
@    /* Set system stack pointer from vector value.  */
@
    LDR     r0, =_tx_thread_system_stack_ptr        @ Build address of system stack pointer
    LDR     r1, =_vectors                           @ Pickup address of vector table
    LDR     r1, [r1]                                @ Pickup reset stack pointer
    STR     r1, [r0]                                @ Save system stack pointer
@
@    /* Enable the cycle count register.  */
@
    LDR     r0, =0xE0001000                         @ Build address of DWT register
    LDR     r1, [r0]                                @ Pickup the current value
    ORR     r1, r1, #1                              @ Set the CYCCNTENA bit
    STR     r1, [r0]                                @ Enable the cycle count register
@
@    /* Configure SysTick for 100Hz clock, or 16384 cycles if no reference.  */
@
    MOV     r0, #0xE000E000                         @ Build address of NVIC registers
    LDR     r1, =SYSTICK_CYCLES
    STR     r1, [r0, #0x14]                         @ Setup SysTick Reload Value
    MOV     r1, #0x7                                @ Build SysTick Control Enable Value
    STR     r1, [r0, #0x10]                         @ Setup SysTick Control
@
@    /* Configure handler priorities.  */
@
    LDR     r1, =0x00000000                         @ Rsrv, UsgF, BusF, MemM
    STR     r1, [r0, #0xD18]                        @ Setup System Handlers 4-7 Priority Registers

    LDR     r1, =0xFF000000                         @ SVCl, Rsrv, Rsrv, Rsrv
    STR     r1, [r0, #0xD1C]                        @ Setup System Handlers 8-11 Priority Registers
                                                    @ Note: SVC must be lowest priority, which is 0xFF

    LDR     r1, =0x40FF0000                         @ SysT, PnSV, Rsrv, DbgM
    STR     r1, [r0, #0xD20]                        @ Setup System Handlers 12-15 Priority Registers
                                                    @ Note: PnSV must be lowest priority, which is 0xFF
@
@    /* Return to caller.  */
@
    BX      lr
@}
@

@/* Define shells for each of the unused vectors.  */
@
    .global  __tx_BadHandler
    .thumb_func
__tx_BadHandler:
    B       __tx_BadHandler

@ /* added to catch the hardfault */

    .global  __tx_HardfaultHandler
    .thumb_func
__tx_HardfaultHandler:
    B       __tx_HardfaultHandler

@ /* added to catch the SVC */

    .global  __tx_SVCallHandler
    .thumb_func
__tx_SVCallHandler:
    B       __tx_SVCallHandler

@ /* Generic interrupt handler template */
    .global  __tx_IntHandler
    .thumb_func
__tx_IntHandler:
@ VOID InterruptHandler (VOID)
@ {
    PUSH    {r0, lr}
#ifdef TX_ENABLE_EXECUTION_CHANGE_NOTIFY
    BL      _tx_execution_isr_enter             @ Call the ISR enter function
#endif

@    /* Do interrupt handler work here */
@    /* BL <your C Function>.... */

#ifdef TX_ENABLE_EXECUTION_CHANGE_NOTIFY
    BL      _tx_execution_isr_exit              @ Call the ISR exit function
#endif
    POP     {r0, lr}
    BX      LR
@ }

@ /* System Tick timer interrupt handler */
    .global  __tx_SysTickHandler
    .global  SysTick_Handler
    .thumb_func
__tx_SysTickHandler:
    .thumb_func
SysTick_Handler:
@ VOID TimerInterruptHandler (VOID)
@ {
@
    PUSH    {r0, lr}
#ifdef TX_ENABLE_EXECUTION_CHANGE_NOTIFY
    BL      _tx_execution_isr_enter             @ Call the ISR enter function
#endif
    BL      _tx_timer_interrupt
#ifdef TX_ENABLE_EXECUTION_CHANGE_NOTIFY
    BL      _tx_execution_isr_exit              @ Call the ISR exit function
#endif
    POP     {r0, lr}
    BX      LR
@ }

@ /* NMI, DBG handlers */
    .global  __tx_NMIHandler
    .thumb_func
__tx_NMIHandler:
    B       __tx_NMIHandler

    .global  __tx_DBGHandler
    .thumb_func
__tx_DBGHandler:
    B       __tx_DBGHandler

{'repo_name': 'azure-rtos/threadx', 'stars': '591', 'repo_language': 'Assembly', 'file_name': 'arm-none-eabi.cmake', 'mime_type': 'text/plain', 'hash': 6746339741588187195, '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.
 */

package org.apache.solr.util;

/**
 * This class is scheduled for deletion.  Please update your code to the moved package.
 *
 * @deprecated Use org.apache.solr.common.util.StrUtils.
 */
@Deprecated
public class StrUtils extends org.apache.solr.common.util.StrUtils
{

}

{'repo_name': 'alibaba/mdrill', 'stars': '1429', 'repo_language': 'Java', 'file_name': 'INSTALL_SINGLE.txt', 'mime_type': 'text/plain', 'hash': 5956476305731416582, 'source_dataset': 'data'}


/* Webcamoid, webcam capture application.
 * Copyright (C) 2016  Gonzalo Exequiel Pedone
 *
 * Webcamoid is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 *
 * Webcamoid is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with Webcamoid. If not, see <http://www.gnu.org/licenses/>.
 *
 * Web-Site: http://webcamoid.github.io/
 */

#include "multisrcelementsettings.h"
#include "multisrcglobals.h"

Q_GLOBAL_STATIC(MultiSrcGlobals, globalMultiSrc)

MultiSrcElementSettings::MultiSrcElementSettings(QObject *parent):
    QObject(parent)
{
    QObject::connect(globalMultiSrc,
                     &MultiSrcGlobals::codecLibChanged,
                     this,
                     &MultiSrcElementSettings::codecLibChanged);
}

QString MultiSrcElementSettings::codecLib() const
{
    return globalMultiSrc->codecLib();
}

QStringList MultiSrcElementSettings::subModules() const
{
    return globalMultiSrc->subModules();
}

void MultiSrcElementSettings::setCodecLib(const QString &codecLib)
{
    globalMultiSrc->setCodecLib(codecLib);
}

void MultiSrcElementSettings::resetCodecLib()
{
    globalMultiSrc->resetCodecLib();
}

#include "moc_multisrcelementsettings.cpp"

{'repo_name': 'webcamoid/webcamoid', 'stars': '1059', 'repo_language': 'C++', 'file_name': 'build.sh', 'mime_type': 'text/x-shellscript', 'hash': -9003566149126025458, 'source_dataset': 'data'}


/*
 * Copyright (c) 2012, 2015, Oracle and/or its affiliates. All rights reserved.
 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 *
 * This code is free software; you can redistribute it and/or modify it
 * under the terms of the GNU General Public License version 2 only, as
 * published by the Free Software Foundation.  Oracle designates this
 * particular file as subject to the "Classpath" exception as provided
 * by Oracle in the LICENSE file that accompanied this code.
 *
 * This code is distributed in the hope that it will be useful, but WITHOUT
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
 * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
 * version 2 for more details (a copy is included in the LICENSE file that
 * accompanied this code).
 *
 * You should have received a copy of the GNU General Public License version
 * 2 along with this work; if not, write to the Free Software Foundation,
 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
 *
 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
 * or visit www.oracle.com if you need additional information or have any
 * questions.
 */

package javafx.scene.layout;

import com.sun.javafx.css.StyleManager;
import com.sun.javafx.scene.layout.region.BorderImageSlices;
import com.sun.javafx.scene.layout.region.Margins;
import com.sun.javafx.scene.layout.region.RepeatStruct;
import java.util.Map;
import javafx.css.CssMetaData;
import javafx.css.ParsedValue;
import javafx.css.Styleable;
import javafx.css.StyleConverter;
import javafx.geometry.Insets;
import javafx.scene.image.Image;
import javafx.scene.paint.Color;
import javafx.scene.paint.Paint;

/**
 */
class BorderConverter extends StyleConverter<ParsedValue[], Border> {

    private static final BorderConverter BORDER_IMAGE_CONVERTER =
            new BorderConverter();

    public static BorderConverter getInstance() {
        return BORDER_IMAGE_CONVERTER;
    }

    // Disallow instantiation
    private BorderConverter() { }

    @Override
    public Border convert(Map<CssMetaData<? extends Styleable, ?>, Object> convertedValues) {
        final Paint[][] strokeFills = (Paint[][])convertedValues.get(Border.BORDER_COLOR);
        final BorderStrokeStyle[][] strokeStyles = (BorderStrokeStyle[][]) convertedValues.get(Border.BORDER_STYLE);
        final String[] imageUrls = (String[]) convertedValues.get(Border.BORDER_IMAGE_SOURCE);
        //
        // In W3C CSS, border colors and border images are not layered. In javafx, they are. We've taken the position
        // that there is one layer per -fx-border-color or -fx-border-image-source. This is consistent with
        // background-image (see http://www.w3.org/TR/css3-background/#layering). But, in a browser, you can have a
        // border-style with no corresponding border-color - the border-color just defaults to 'currentColor' (which
        // we don't have so we'll call it 'black' for the time being). So the number of stroke-border layers is now
        // determined by the max of strokeFills.length and strokeStyles.length. If there are more styles than fills,
        // the remaining styles will use the last fill value (this is consistent with handling of the other stroke
        // border properties). If there aren't any fills at all, then the fill is 'currentColor' (i.e., black) just
        // as the default stroke is solid.
        //
        final boolean hasStrokes = (strokeFills != null && strokeFills.length > 0) || (strokeStyles != null && strokeStyles.length > 0);
        final boolean hasImages = imageUrls != null && imageUrls.length > 0;

        // If there are neither background fills nor images, then there is nothing for us to construct.
        if (!hasStrokes && !hasImages) return null;

        BorderStroke[] borderStrokes = null;
        if (hasStrokes) {

            final int lastStrokeFill = strokeFills != null ? strokeFills.length - 1 : -1;
            final int lastStrokeStyle = strokeStyles != null ? strokeStyles.length - 1 : -1;
            final int nLayers = (lastStrokeFill >= lastStrokeStyle ? lastStrokeFill : lastStrokeStyle) + 1;

            Object tmp = convertedValues.get(Border.BORDER_WIDTH);
            final Margins[] borderWidths = tmp == null ? new Margins[0] : (Margins[]) tmp;
            final int lastMarginIndex = borderWidths.length - 1;

            tmp = convertedValues.get(Border.BORDER_RADIUS);
            final CornerRadii[] borderRadii = tmp == null ? new CornerRadii[0] : (CornerRadii[]) tmp;
            final int lastRadiusIndex = borderRadii.length - 1;

            tmp = convertedValues.get(Border.BORDER_INSETS);
            final Insets[] borderInsets = tmp == null ? new Insets[0] : (Insets[]) tmp;
            final int lastInsetsIndex = borderInsets.length - 1;

            for (int i=0; i<nLayers; i++) {

                BorderStrokeStyle[] styles;
                // if there are no strokeStyles, then lastStrokeStyle will be < 0
                if (lastStrokeStyle < 0) {
                    styles = new BorderStrokeStyle[4];
                    styles[0] = styles[1] = styles[2] = styles[3] = BorderStrokeStyle.SOLID;
                } else {
                    styles = strokeStyles[i <= lastStrokeStyle ? i : lastStrokeStyle];
                }

                if (styles[0] == BorderStrokeStyle.NONE &&
                        styles[1] == BorderStrokeStyle.NONE &&
                        styles[2] == BorderStrokeStyle.NONE &&
                        styles[3] == BorderStrokeStyle.NONE) continue;

                Paint[] strokes;
                // if there are no strokeFills, then lastStrokeFill will be < 0
                if (lastStrokeFill < 0) {
                    strokes = new Paint[4];
                    // TODO: should be 'currentColor'
                    strokes[0] = strokes[1] = strokes[2] = strokes[3] = Color.BLACK;
                }  else {
                    strokes = strokeFills[i <= lastStrokeFill ? i : lastStrokeFill];
                }

                if (borderStrokes == null) borderStrokes = new BorderStroke[nLayers];

                final Margins margins = borderWidths.length == 0 ?
                        null :
                        borderWidths[i <= lastMarginIndex ? i : lastMarginIndex];
                final CornerRadii radii = borderRadii.length == 0 ?
                        CornerRadii.EMPTY :
                        borderRadii[i <= lastRadiusIndex ? i : lastRadiusIndex];
                final Insets insets = borderInsets.length == 0 ?
                        null :
                        borderInsets[i <= lastInsetsIndex ? i : lastInsetsIndex];

                borderStrokes[i] = new BorderStroke(
                        strokes[0], strokes[1], strokes[2], strokes[3],
                        styles[0], styles[1], styles[2], styles[3],
                        radii,
                        margins == null ?
                                BorderStroke.DEFAULT_WIDTHS :
                                new BorderWidths(margins.getTop(), margins.getRight(), margins.getBottom(), margins.getLeft()),
                        insets);
            }
        }

        BorderImage[] borderImages = null;
        if (hasImages) {
            borderImages = new BorderImage[imageUrls.length];
            Object tmp = convertedValues.get(Border.BORDER_IMAGE_REPEAT);
            final RepeatStruct[] repeats = tmp == null ? new RepeatStruct[0] : (RepeatStruct[]) tmp;
            final int lastRepeatIndex = repeats.length - 1;

            tmp = convertedValues.get(Border.BORDER_IMAGE_SLICE);
            final BorderImageSlices[] slices = tmp == null ? new BorderImageSlices[0] : (BorderImageSlices[]) tmp;
            final int lastSlicesIndex = slices.length - 1;

            tmp = convertedValues.get(Border.BORDER_IMAGE_WIDTH);
            final BorderWidths[] widths = tmp == null ? new BorderWidths[0] : (BorderWidths[]) tmp;
            final int lastWidthsIndex = widths.length - 1;

            tmp = convertedValues.get(Border.BORDER_IMAGE_INSETS);
            final Insets[] insets = tmp == null ? new Insets[0] : (Insets[]) tmp;
            final int lastInsetsIndex = insets.length - 1;

            for (int i=0; i<imageUrls.length; i++) {
                if (imageUrls[i] == null) continue;
                BorderRepeat repeatX = BorderRepeat.STRETCH, repeatY = BorderRepeat.STRETCH;
                if (repeats.length > 0) {
                    final RepeatStruct repeat = repeats[i <= lastRepeatIndex ? i : lastRepeatIndex];
                    switch (repeat.repeatX) {
                        case SPACE: repeatX = BorderRepeat.SPACE; break;
                        case ROUND: repeatX = BorderRepeat.ROUND; break;
                        case REPEAT: repeatX = BorderRepeat.REPEAT; break;
                        case NO_REPEAT: repeatX = BorderRepeat.STRETCH; break;
                    }
                    switch (repeat.repeatY) {
                        case SPACE: repeatY = BorderRepeat.SPACE; break;
                        case ROUND: repeatY = BorderRepeat.ROUND; break;
                        case REPEAT: repeatY = BorderRepeat.REPEAT; break;
                        case NO_REPEAT: repeatY = BorderRepeat.STRETCH; break;
                    }
                }

                final BorderImageSlices slice = slices.length > 0 ? slices[i <= lastSlicesIndex ? i : lastSlicesIndex] : BorderImageSlices.DEFAULT;
                final Insets inset = insets.length > 0 ? insets[i <= lastInsetsIndex ? i : lastInsetsIndex] : Insets.EMPTY;
                final BorderWidths width = widths.length > 0 ? widths[i <= lastWidthsIndex ? i : lastWidthsIndex] : BorderWidths.DEFAULT;
                final Image img = StyleManager.getInstance().getCachedImage(imageUrls[i]);
                borderImages[i] = new BorderImage(img, width, inset, slice.widths, slice.filled, repeatX, repeatY);
            }
        }

        return borderStrokes == null && borderImages == null ? null : new Border(borderStrokes, borderImages);
    }

    /**
     * @inheritDoc
     */
    @Override public String toString() {
        return "BorderConverter";
    }
}

{'repo_name': 'openjdk/jfx', 'stars': '627', 'repo_language': 'C++', 'file_name': 'Makefile-Debug.mk', 'mime_type': 'text/x-makefile', 'hash': 7646423716085320871, 'source_dataset': 'data'}


/*
 * Copyright (c) 2012, 2019 Oracle and/or its affiliates. All rights reserved.
 *
 * This program and the accompanying materials are made available under the
 * terms of the Eclipse Public License v. 2.0, which is available at
 * http://www.eclipse.org/legal/epl-2.0.
 *
 * This Source Code may also be made available under the following Secondary
 * Licenses when the conditions for such availability set forth in the
 * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
 * version 2 with the GNU Classpath Exception, which is available at
 * https://www.gnu.org/software/classpath/license.html.
 *
 * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
 */

package org.glassfish.jersey.tests.e2e.json.entity.pojo;

import java.util.LinkedList;
import java.util.List;

/**
 * @author Jakub Podlesak
 * @author Michal Gajdos
 */
@SuppressWarnings("RedundantIfStatement")
public class PojoAnimalList {

    public List<PojoAnimal> animals;

    public static Object createTestInstance() {
        final PojoAnimalList aList = new PojoAnimalList();
        aList.animals = new LinkedList<>();
        aList.animals.add(new PojoDog("Fifi"));
        aList.animals.add(new PojoCat("Daisy"));
        return aList;
    }

    @Override
    public boolean equals(final Object obj) {
        if (obj == null) {
            return false;
        }
        if (getClass() != obj.getClass()) {
            return false;
        }
        final PojoAnimalList other = (PojoAnimalList) obj;
        if (this.animals != other.animals && (this.animals == null || !this.animals.equals(other.animals))) {
            return false;
        }
        return true;
    }

    @Override
    public int hashCode() {
        int hash = 3;
        hash = 89 * hash + (this.animals != null ? this.animals.hashCode() : 0);
        return hash;
    }

    @Override
    public String toString() {
        return (animals != null) ? animals.toString() : null;
    }

}

{'repo_name': 'eclipse-ee4j/jersey', 'stars': '422', 'repo_language': 'Java', 'file_name': 'FormProviderTest.java', 'mime_type': 'text/x-java', 'hash': 114751639921659567, 'source_dataset': 'data'}


//
//     Generated by class-dump 3.5 (64 bit) (Debug version compiled Oct 15 2018 10:31:50).
//
//     class-dump is Copyright (C) 1997-1998, 2000-2001, 2004-2015 by Steve Nygard.
//

#import <objc/NSObject.h>

@class NSError;

@interface CUTResult : NSObject
{
    long long _state;
    NSError *_inError;
    id _inValue;
}

- (void).cxx_destruct;
@property(retain, nonatomic) id inValue; // @synthesize inValue=_inValue;
@property(retain, nonatomic) NSError *inError; // @synthesize inError=_inError;
@property(readonly, nonatomic) long long state; // @synthesize state=_state;
@property(readonly, nonatomic) NSError *error;
@property(readonly, nonatomic) id value;
- (id)initWithSuccess:(id)arg1;
- (id)initWithError:(id)arg1;
- (id)initWithState:(long long)arg1 value:(id)arg2 error:(id)arg3;

@end

{'repo_name': 'LeoNatan/Apple-Runtime-Headers', 'stars': '131', 'repo_language': 'None', 'file_name': 'CDStructures.h', 'mime_type': 'text/x-c', 'hash': 1261541834687368115, 'source_dataset': 'data'}


# -*- coding: utf-8 -*-
# Copyright 2018 The Blueoil Authors. All Rights Reserved.
#
# 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.
# =============================================================================
from typing import List

import numpy as np

def quantized_packed_type(t):
    return f"QuantizedPacked<{t}>"

class DataType(object):

    def __str__(self) -> str:
        return type(self).__name__

    @classmethod
    def pytype(cls):
        raise NotImplementedError

    @classmethod
    def cpptype(cls):
        raise NotImplementedError

    @classmethod
    def nptype(cls):
        raise NotImplementedError

    @classmethod
    def name(cls):
        return cls.__name__

    def __eq__(self, other):
        return type(self).__name__ == type(other).__name__

class Primitive(DataType):
    @classmethod
    def is_primitive(cls):
        True

class Special(DataType):
    @classmethod
    def is_primitive(cls):
        False

class Int(Special):
    @classmethod
    def pytype(cls):
        return int

    @classmethod
    def cpptype(cls):
        return 'int'

class UInt(Special):
    @classmethod
    def cpptype(cls):
        return 'unsigned'

class Int8(Primitive):
    @classmethod
    def cpptype(cls):
        return 'int8_t'

    @classmethod
    def nptype(cls):
        return np.int8

class Uint8(Primitive):
    @classmethod
    def cpptype(cls):
        return 'uint8_t'

    @classmethod
    def nptype(cls):
        return np.uint8

class Int16(Primitive):
    @classmethod
    def cpptype(cls):
        return 'int16_t'

    @classmethod
    def nptype(cls):
        return np.int16

class Uint16(Primitive):
    @classmethod
    def cpptype(cls):
        return 'uint16_t'

    @classmethod
    def nptype(cls):
        return np.uint16

class Int32(Primitive):
    @classmethod
    def cpptype(cls):
        return 'int32_t'

    @classmethod
    def nptype(cls):
        return np.int32

class Uint32(Primitive):
    @classmethod
    def cpptype(cls):
        return 'uint32_t'

    @classmethod
    def nptype(cls):
        return np.uint32

class PackedUint32(Primitive):
    @classmethod
    def cpptype(cls):
        return 'QuantizedPacked<uint32_t>'

    @classmethod
    def nptype(cls):
        return np.uint32

class Int64(Primitive):
    @classmethod
    def cpptype(cls):
        return 'int64_t'

    @classmethod
    def nptype(cls):
        return np.int64

class Uint64(Primitive):
    @classmethod
    def cpptype(cls):
        return 'uint64_t'

    @classmethod
    def nptype(cls):
        return np.uint64

class PackedUint64(Primitive):
    @classmethod
    def cpptype(cls):
        return 'QuantizedPacked<uint64_t>'

    @classmethod
    def nptype(cls):
        return np.uint64

class Float(Special, float):
    @classmethod
    def pytype(cls):
        return float

    @classmethod
    def cpptype(cls):
        return 'float'

class Float32(Primitive, float):
    @classmethod
    def cpptype(cls):
        return 'float'

    @classmethod
    def nptype(cls):
        return np.float32

class Float64(Primitive, float):
    @classmethod
    def cpptype(cls):
        return 'double'

    @classmethod
    def nptype(cls):
        return np.float64

class String(DataType):
    @classmethod
    def cpptype(cls):
        return 'std::string'

class Void(DataType):
    @classmethod
    def pytype(cls):
        return None

    @classmethod
    def cpptype(cls):
        return 'void'

class Any(DataType):
    @classmethod
    def cpptype(cls):
        return 'std::any'

class Bool(DataType):
    @classmethod
    def cpptype(cls):
        return 'bool'

    @classmethod
    def nptype(cls):
        return np.bool_

class Size(DataType):
    @classmethod
    def cpptype(cls):
        return 'size_t'

class Shape(DataType, List[Size]):
    @classmethod
    def cpptype(cls):
        return 'shape_t'

class Vec(DataType, List[Primitive]):
    @classmethod
    def cpptype(cls):
        return 'vec_t'

class QUANTIZED_NOT_PACKED(Primitive):
    @classmethod
    def cpptype(cls):
        return 'QUANTIZED_NOT_PACKED'

    @classmethod
    def nptype(cls):
        return np.int8

class QUANTIZED_PACKED(Primitive):
    @classmethod
    def cpptype(cls):
        return 'QUANTIZED_PACKED'

    @classmethod
    def nptype(cls):
        return np.uint32

class QUANTIZED_PACKED_KERNEL(Primitive):
    @classmethod
    def cpptype(cls):
        return 'QUANTIZED_PACKED_KERNEL'

    @classmethod
    def nptype(cls):
        return np.uint32

{'repo_name': 'blue-oil/blueoil', 'stars': '239', 'repo_language': 'Python', 'file_name': 'config.yml', 'mime_type': 'text/plain', 'hash': -5398905268402487594, 'source_dataset': 'data'}