text:
AddCSLuaFile()

local luadata = requirex("luadata")
local easylua = requirex("easylua")

local aowl = {}
_G.aowl = aowl

local USERSFILE = "aowl/users.txt"

timer.Simple(1, function() hook.Run("AowlInitialized") end)
CreateConVar("aowl_hide_ranks", "1", FCVAR_REPLICATED)

aowl.Prefix			= "[!|/|%.]" -- a pattern
aowl.StringPattern	= "[\"|']" -- another pattern
aowl.ArgSepPattern	= "[,]" -- would you imagine that yet another one
aowl.EscapePattern	= "[\\]" -- holy shit another one! holy shit again they are all teh same length! Unintentional! I promise!!1
team.SetUp(1, "default", Color(68, 112, 146))

function aowlMsg(cmd, line)
	if hook.Run("AowlMessage", cmd, line) ~= false then
		MsgC(Color(51,255,204), "[aowl]"..(cmd and ' '..tostring(cmd) or "")..' ')
		MsgN(line)
	end
end

function player.GetDevelopers()
	local developers = {}
	for id, ply in pairs(player.GetAll()) do
		if ply:IsAdmin() and not ply:IsBot() then
			table.insert(developers, ply)
		end
	end
	return developers
end

do -- goto locations --
	aowl.GotoLocations = aowl.GotoLocations or {}

	aowl.GotoLocations["spawn"] = function(p) p:Spawn() end
	aowl.GotoLocations["respawn"] = aowl.GotoLocations["spawn"]
end

do -- commands
	function aowl.CallCommand(ply, cmd, line, args)
		if ply.IsBanned and ply:IsBanned() and not ply:IsAdmin() then return end

		local steamid

		if type(ply) == "string" and ply:find("STEAM_") then
			steamid = ply
		end

		local ok, msg = pcall(function()
			cmd = aowl.cmds[cmd]
			if cmd and (steamid and aowl.CheckUserGroupFromSteamID(steamid, cmd.group) or (not ply:IsValid() or ply:CheckUserGroupLevel(cmd.group))) then

				if steamid then ply = NULL end

				local tstart = SysTime()
				local allowed, reason = hook.Call("AowlCommand", GAMEMODE, cmd, ply, line, unpack(args))

				if allowed ~= false then
					easylua.Start(ply)
					local isok
					isok, allowed, reason = xpcall(cmd.callback,debug.traceback,ply, line, unpack(args))
					local tstop = SysTime()
					easylua.End()
					local d  = tstop-tstart

					if d<0 or d>0.2 then
						Msg"[Aowl] "print(ply,"command",cmd.cmd,"took",math.Round(d*1000) .. ' ms')
					end

					if not isok then
						ErrorNoHalt("Aowl cmd "..tostring(cmd and cmd.cmd).." failed:\n    "..tostring(allowed)..'\n')
						reason = "INTERNAL ERROR"
						allowed = false
					end
				end

				if ply:IsValid() then
					if reason then
						aowl.Message(ply, reason, allowed==false and 'error' or 'generic')
					end

					if allowed==false then
						ply:EmitSound("buttons/button8.wav", 100, 120)
					end
				end
			end
		end)
		if not ok then
			ErrorNoHalt(msg)
			return msg
		end
	end

	function aowl.ConsoleCommand(ply, _, args, line)
		if aowl.cmds[args[1]] then
			local cmd = args[1]
			table.remove(args, 1)
			_G.COMMAND = true
				aowl.CallCommand(ply, cmd, table.concat(args, " "), args)
			_G.COMMAND = nil
		end
	end

	function aowl.SayCommand(ply, txt)
		if string.find(string.sub(txt, 1, 1), aowl.Prefix) then
			local cmd = string.match(txt, aowl.Prefix .. "(.-) ") or
						string.match(txt, aowl.Prefix .. "(.+)") or ""
			local line = string.match(txt, aowl.Prefix .. ".- (.+)")

			cmd = string.lower(cmd)

			-- execute command
			local aowlcmd = aowl.cmds[cmd]
			if aowlcmd then
				_G.CHAT = true
					aowl.CallCommand(ply, cmd, line, line and aowl.ParseArgs(line) or {})
				_G.CHAT = nil

				if aowlcmd.hidechat then return "" end
			end
		end
	end

	if SERVER then
		concommand.Add("aowl", aowl.ConsoleCommand)

		hook.Add("PlayerSay", "aowl_say_cmd", aowl.SayCommand)
	end

	function aowl.AddCommand(cmd, callback, group, hidechat)
		if istable(cmd) then
			for k,v in pairs(cmd) do
				aowl.AddCommand(v,callback,group,hidechat)
			end
			return
		end
		aowl.cmds = aowl.cmds or {}
		aowl.cmds[cmd] = {callback = callback, group = group or "players", cmd = cmd, hidechat = hidechat }

		hook.Run("AowlCommandAdded", cmd, callback, group, hidechat)
	end

	function aowl.TargetNotFound(target)
		return string.format("could not find: %q", target or "<no target>")
	end
end

do -- util
	function aowl.ParseArgs(str)
		local ret={}
		local InString=false
		local strchar=""
		local chr=""
		local escaped=false
		for i=1,#str do
			local char=str[i]
			if(escaped) then chr=chr..char escaped=false continue end
			if(char:find(aowl.StringPattern) and not InString and not escaped) then
				InString=true
				strchar=char
			elseif(char:find(aowl.EscapePattern)) then
				escaped=true
				continue
			elseif(InString and char==strchar) then
				table.insert(ret,chr:Trim())
				chr=""
				InString=false
			elseif(char:find(aowl.ArgSepPattern) and not InString) then
				if(chr~="") then
				    table.insert(ret,chr)
				    chr=""
				end
			else
					chr=chr..char
				end
		end
		if(chr:Trim():len()~=0) then table.insert(ret,chr) end

		return ret
	end

	function aowl.AvatarForSteamID(steamid, callback)
		local commid = util.SteamIDTo64(steamid)
		http.Fetch("http://steamcommunity.com/profiles/" .. commid .. "?xml=1", function(content, size)
			local ret = content:match("<avatarIcon><!%[CDATA%[(.-)%]%]></avatarIcon>")
			callback(ret)
		end)
	end

	local NOTIFY = {
		GENERIC	= 0,
		ERROR	= 1,
		UNDO	= 2,
		HINT	= 3,
		CLEANUP	= 4,
	}
	function aowl.Message(ply, msg, type, duration)
		ply = ply or all
		duration = duration or 5
		ply:SendLua(string.format(
			"local s=%q notification.AddLegacy(s,%u,%s) MsgN(s)",
			"aowl: " .. msg,
			NOTIFY[(type and type:upper())] or NOTIFY.GENERIC,
			duration
		))
	end

	aowl.AddCommand("message", function(_,_, msg, duration, type)
		if not msg then
			return false, "no message"
		end

		type = type or "generic"
		duration = duration or 15

		aowl.Message(nil, msg, "generic", duration)
		all:EmitSound("buttons/button15.wav")

	end, "developers")
end

do -- countdown
	if SERVER then
		aowl.AddCommand({"abort", "stop"}, function(player, line)
			aowl.AbortCountDown()
		end, "developers")

		local function Shake()
			for k,v in pairs(player.GetAll()) do
				util.ScreenShake(v:GetPos(), math.Rand(.1,1.5), math.Rand(1,5), 2, 500)
			end
		end

		function aowl.CountDown(seconds, msg, callback, typ)
			seconds = seconds and tonumber(seconds) or 0

			local function timeout()
				umsg.Start("__countdown__")
					umsg.Short(-1)
				umsg.End()
				if callback then
					aowlMsg("countdown", "'"..tostring(msg).."' finished, calling "..tostring(callback))
					callback()
				else
					if seconds<1 then
						aowlMsg("countdown", "aborted")
					else
						aowlMsg("countdown", "'"..tostring(msg).."' finished. Initated without callback by "..tostring(source))
					end
				end
			end

			if seconds > 0.5 then
				timer.Create("__countdown__", seconds, 1, timeout)
				timer.Create("__countbetween__", 1, math.floor(seconds), Shake)

				umsg.Start("__countdown__")
					umsg.Short(typ or 2)
					umsg.Short(seconds)
					umsg.String(msg)
				umsg.End()
				local date = os.prettydate and os.prettydate(seconds) or seconds.." seconds"
				aowlMsg("countdown", "'"..msg.."' in "..date )
			else
				timer.Remove "__countdown__"
				timer.Remove "__countbetween__"
				timeout()
			end
		end

		aowl.AbortCountDown = aowl.CountDown
	end

	if CLIENT then
		local L = L or function(a) return a end
		local CONFIG = {}

		CONFIG.TargetTime 	= 0
		CONFIG.Counting 	= false
		CONFIG.Warning 		= ""
		CONFIG.PopupText	= {}
		CONFIG.PopupPos		= {0,0}
		CONFIG.LastPopup	= CurTime()
		CONFIG.Popups		= { "HURRY!", "FASTER!", "YOU WON'T MAKE IT!", "QUICKLY!", "GOD YOU'RE SLOW!", "DID YOU GET EVERYTHING?!", "ARE YOU SURE THAT'S EVERYTHING?!", "OH GOD!", "OH MAN!", "YOU FORGOT SOMETHING!", "SAVE SAVE SAVE" }
		CONFIG.StressSounds = { Sound("vo/ravenholm/exit_hurry.wav"), Sound("vo/npc/Barney/ba_hurryup.wav"), Sound("vo/Citadel/al_hurrymossman02.wav"), Sound("vo/Streetwar/Alyx_gate/al_hurry.wav"), Sound("vo/ravenholm/monk_death07.wav"), Sound("vo/coast/odessa/male01/nlo_cubdeath02.wav") }
		CONFIG.NextStress	= CurTime()
		CONFIG.NumberSounds = { Sound("npc/overwatch/radiovoice/one.wav"), Sound("npc/overwatch/radiovoice/two.wav"), Sound("npc/overwatch/radiovoice/three.wav"), Sound("npc/overwatch/radiovoice/four.wav"), Sound("npc/overwatch/radiovoice/five.wav"), Sound("npc/overwatch/radiovoice/six.wav"), Sound("npc/overwatch/radiovoice/seven.wav"), Sound("npc/overwatch/radiovoice/eight.wav"), Sound("npc/overwatch/radiovoice/nine.wav") }
		CONFIG.LastNumber	= CurTime()

		surface.CreateFont(
			"aowl_restart",
			{
				font		= "Roboto Bk",
				size		= 60,
				weight		= 1000,
			}
		)
		-- local gradient_u = Material("vgui/gradient-u.vtf")
		local function DrawWarning()
			if CurTime()-3 > CONFIG.TargetTime then
				CONFIG.Counting = false
				if CONFIG.Sound then
					CONFIG.Sound:FadeOut(2)
				end
				hook.Remove("HUDPaint", "__countdown__")
			end

			surface.SetFont("aowl_restart")
			local messageWidth = surface.GetTextSize(CONFIG.Warning)

			surface.SetDrawColor(255, 50, 50, 100 + (math.sin(CurTime() * 3) * 80))
			surface.DrawRect(0, 0, ScrW(), ScrH())

			-- Countdown bar
			surface.SetDrawColor(Color(0,220,200,255))
			surface.DrawRect((ScrW() - messageWidth)/2, 175, messageWidth * math.max(0, (CONFIG.TargetTime-CurTime())/(CONFIG.TargetTime-CONFIG.StartedCount) ), 20)
			surface.SetDrawColor(Color(0,0,0,30))
			surface.DrawRect((ScrW() - messageWidth)/2, 175+20/2, messageWidth * math.max(0, (CONFIG.TargetTime-CurTime())/(CONFIG.TargetTime-CONFIG.StartedCount) ), 20/2)
			surface.SetDrawColor(color_black)
			surface.DrawOutlinedRect((ScrW() - messageWidth)/2, 175, messageWidth, 20)

			-- Countdown message
			surface.SetFont("aowl_restart")
			surface.SetTextColor(Color(50, 50, 50, 255))

			local y = 200
			for _, messageLine in ipairs(string.Split(CONFIG.Warning, "\n")) do
				local w, h = surface.GetTextSize(messageLine)
				w = w or 56
				surface.SetTextPos((ScrW() / 2) - w / 2, y)
				surface.DrawText(messageLine)
				y = y + h
			end

			-- Countdown timer
			local timeRemaining = CONFIG.TargetTime - CurTime()
			timeRemaining = math.max(timeRemaining, 0)
			local timeRemainingString = string.format("%02d:%02d:%03d",
				math.floor (timeRemaining / 60),
				math.floor (timeRemaining % 60),
				math.floor ((timeRemaining * 1000) % 1000)
			)

			local w = surface.GetTextSize(timeRemainingString)

			surface.SetTextPos((ScrW() / 2) - w / 2, y)
			surface.DrawText(timeRemainingString)

			surface.SetTextColor(255, 255, 255, 255)
			if(CurTime() - CONFIG.LastPopup > 0.5) then
				for i = 1, 3 do
					CONFIG.PopupText[i] = table.Random(CONFIG.Popups)
					local w, h = surface.GetTextSize(CONFIG.PopupText[i])
					CONFIG.PopupPos[i] = {math.random(1, ScrW() - w), math.random(1, ScrH() - h) }
				end
				CONFIG.LastPopup = CurTime()
			end

			if(CurTime() > CONFIG.NextStress) then
				LocalPlayer():EmitSound(CONFIG.StressSounds[math.random(1, #CONFIG.StressSounds)], 80, 100)
				CONFIG.NextStress = CurTime() + math.random(1, 2)
			end

			local num = math.floor(CONFIG.TargetTime - CurTime())
			if(CONFIG.NumberSounds[num] ~= nil and CurTime() - CONFIG.LastNumber > 1) then
				CONFIG.LastNumber = CurTime()
				LocalPlayer():EmitSound(CONFIG.NumberSounds[num], 511, 100)
			end

			for i = 1, 3 do
				surface.SetTextPos(CONFIG.PopupPos[i][1], CONFIG.PopupPos[i][2])
				surface.DrawText(CONFIG.PopupText[i])
			end
		end

		usermessage.Hook("__countdown__", function(um)
			local typ = um:ReadShort()
			local time = um:ReadShort()

			CONFIG.Sound = CONFIG.Sound or CreateSound(LocalPlayer(), Sound("ambient/alarms/siren.wav"))

			if typ  == -1 then
				CONFIG.Counting = false
				CONFIG.Sound:FadeOut(2)
				hook.Remove("HUDPaint", "__countdown__")
				return
			end

			CONFIG.Sound:Play()
			CONFIG.StartedCount = CurTime()
			CONFIG.TargetTime = CurTime() + time
			CONFIG.Counting = true

			hook.Add("HUDPaint", "__countdown__", DrawWarning)

			if typ == 0 then
				CONFIG.Warning = "SERVER IS RESTARTING THE LEVEL\nSAVE YOUR PROPS AND HIDE THE CHILDREN!"
			elseif typ == 1 then
				CONFIG.Warning = string.format("SERVER IS CHANGING LEVEL TO %s\nSAVE YOUR PROPS AND HIDE THE CHILDREN!", um:ReadString():upper())
			elseif typ == 2 then
				CONFIG.Warning = um:ReadString()
			end
		end)
	end
end

do -- groups

	do -- team setup
		function team.GetIDByName(name)
			do return 3003 end

			for id, data in pairs(team.GetAllTeams()) do
				if data.Name == name then
					return id
				end
			end
			return 1
		end
	end

	local list =
	{
		players = 1,
		--moderators = 2,
		emeritus = 2, -- 3
		developers = 3, -- 4,
		owners = math.huge,
	}

	local alias =
	{
		user = "players",
		default = "players",
		admin = "developers",
		moderators = "developers",
		superadmin = "owners",
		superadmins = "owners",
		administrator = "developers",
	}

	local META = FindMetaTable("Player")

	function META:CheckUserGroupLevel(name)

		--Console?
		if not self:IsValid() then return true end

		name = alias[name] or name
		local ugroup=self:GetUserGroup()

		local a = list[ugroup]
		local b = list[name]

		return a and b and a >= b
	end

	function META:ShouldHideAdmins()
		return self.hideadmins or false
	end

	function META:IsAdmin()

		--Console?
		if not self:IsValid() then return true end

		if self:ShouldHideAdmins() then
			return false
		end
		return self:CheckUserGroupLevel("developers")
	end

	function META:IsSuperAdmin()

		--Console?
		if not self:IsValid() then return true end

		if self:ShouldHideAdmins() then
			return false
		end
		return self:CheckUserGroupLevel("developers")
	end

	function META:TeleportingBlocked()
		return hook.Run("CanPlyTeleport",self)==false
	end

	function META:IsUserGroup(name)
		name = alias[name] or name
		name = name:lower()

		local ugroup = self:GetUserGroup()

		return ugroup == name or false
	end

	function META:GetUserGroup()
		if self:ShouldHideAdmins() then
			return "players"
		end
		return self:GetNetworkedString("UserGroup"):lower()
	end

	team.SetUp(1, "players", 		Color(68, 	112, 146))
	--[[
	team.SetUp(2, "developers", 	Color(147, 63,  147))
	team.SetUp(3, "owners", 		Color(207, 110, 90))
	team.SetUp(4, "emeritus", 		Color(98, 107, 192))
	]]
	team.SetUp(3002, "Players", Color(68, 112, 146))

	if SERVER then
		local dont_store =
		{
			"moderators",
			"players",
			"users",
		}

		local function clean_users(users, _steamid)

			for name, group in pairs(users) do
				name = name:lower()
				if not list[name] then
					users[name] = nil
				else
					for steamid in pairs(group) do
						if steamid:lower() == _steamid:lower() then
							group[steamid] = nil
						end
					end
				end
			end

			return users
		end

		local function safe(str)
			return str:gsub("{",""):gsub("}","")
		end

		function META:SetUserGroup(name, force)
			name = name:Trim()
			name = alias[name] or name

			self:SetTeam(9003)
			self:SetNetworkedString("UserGroup", name)
			--[[
			umsg.Start("aowl_join_team")
				umsg.Entity(self)
			umsg.End()
			--]]

			if force == false or #name == 0 then return end

			name = name:lower()

			if force or (not table.HasValue(dont_store, name) and list[name]) then
				local users = luadata.ReadFile(USERSFILE)
					users = clean_users(users, self:SteamID())
					users[name] = users[name] or {}
					users[name][self:SteamID()] = self:Nick():gsub("%A", "") or "???"
				file.CreateDir("aowl")
				luadata.WriteFile(USERSFILE, users)

				aowlMsg("rank", string.format("Changing %s (%s) usergroup to %s",self:Nick(), self:SteamID(), name))
			end
		end

		function aowl.GetUserGroupFromSteamID(id)
			for name, users in pairs(luadata.ReadFile(USERSFILE)) do
				for steamid, nick in pairs(users) do
					if steamid == id then
						return name, nick
					end
				end
			end
		end

		function aowl.CheckUserGroupFromSteamID(id, name)
			local group = aowl.GetUserGroupFromSteamID(id)

			if group then
				name = alias[name] or name

				local a = list[group]
				local b = list[name]

				return a and b and a >= b
			end

			return false
		end

		local users_file_date,users_file_cache=-2,nil
		hook.Add("PlayerSpawn", "PlayerAuthSpawn", function(ply)

			ply:SetUserGroup("players")

			if game.SinglePlayer() or ply:IsListenServerHost() then
				ply:SetUserGroup("owners")
				return
			end

			local timestamp = file.Time(USERSFILE, "DATA")
			timestamp = timestamp and timestamp > 0 and timestamp or 0/0

			if users_file_date ~= timestamp then
				users_file_cache = luadata.ReadFile( USERSFILE ) or {}
				users_file_date = timestamp
			end

			for name, users_file_cache in pairs(users_file_cache) do
				for steamid in pairs(users_file_cache) do
					if ply:SteamID() == steamid or ply:UniqueID() == steamid then
						if ply:ShouldHideAdmins() then
							ply:SetUserGroup("players",false)
						else
							ply:SetUserGroup(name, false)
						end
					end
				end
			end
		end)

		aowl.AddCommand("rank", function(player, line, target, rank)
			local ent = easylua.FindEntity(target)

			if ent:IsPlayer() and rank then
				rank = rank:lower():Trim()
				ent:SetUserGroup(rank, true) -- rank == "players") -- shouldn't it force-save no matter what?
				hook.Run("AowlTargetCommand", player, "rank", ent, rank)
			end
		end, "owners")

		aowl.AddCommand("administrate",function(pl,line, yesno)
			local administrate=util.tobool(yesno)
			if administrate then
				pl.hideadmins=nil
			elseif pl:IsAdmin() then
				pl.hideadmins=true
			end
		end)
	end
end

for _, file_name in ipairs((file.Find("notagain/aowl/commands/*", "LUA"))) do
	include("notagain/aowl/commands/" .. file_name)
end

for _, addon_dir in pairs(notagain.directories) do
	local path = addon_dir .. "/aowl_commands/"
	for _, file_name in ipairs((file.Find(path .. "*", "LUA"))) do
		include(path .. file_name)
	end
end

return aowl


text:
<?php

namespace Crisu83\Conversion\Quantity\ApparentPower;

use Crisu83\Conversion\Quantity\Quantity;

/**
 * Class ApparentPower
 * @package Crisu83\Conversion\Quantity\ApparentPower
 */
class ApparentPower extends Quantity
{
    /**
     * @var string native unit name
     */
    protected static $native = Unit::VOLT_AMPERE;

    /**
     * @var array conversion map (unit => native unit)
     */
    protected static $conversionMap = array(
        Unit::VOLT_AMPERE      => 1,
        Unit::KILOVOLT_AMPERE  => 1000,
    );
}

redpajama_set_name: RedPajamaGithub


text:
<!DOCTYPE html>

<title>Calendar_CalendarItem_set_status_visibility_priority</title>


text:
LAST_NAMES = <<EOF
Smith
Johnson
Williams
Jones
Brown
Davis
Miller
Wilson
Moore
Taylor
Anderson
Thomas
Jackson
White
Harris
Martin
Thompson
Garcia
Martinez
Robinson
Clark
Rodriguez
Lewis
Lee
Walker
Hall
Allen
Young
Hernandez
King
Wright
Lopez
Hill
Scott
Green
Adams
Baker
Gonzalez
Nelson
Carter
Mitchell
Perez
Roberts
Turner
Phillips
Campbell
Parker
Evans
Edwards
Collins
Stewart
Sanchez
Morris
Rogers
Reed
Cook
Morgan
Bell
Murphy
Bailey
Rivera
Cooper
Richardson
Cox
Howard
Ward
Torres
Peterson
Gray
Ramirez
James
Watson
Brooks
Kelly
Sanders
Price
Bennett
Wood
Barnes
Ross
Henderson
Coleman
Jenkins
Perry
Powell
Long
Patterson
Hughes
Flores
Washington
Butler
Simmons
Foster
Gonzales
Bryant
Alexander
Russell
Griffin
Diaz
Hayes
Myers
Ford
Hamilton
Graham
Sullivan
Wallace
Woods
Cole
West
Jordan
Owens
Reynolds
Fisher
Ellis
Harrison
Gibson
Mcdonald
Cruz
Marshall
Ortiz
Gomez
Murray
Freeman
Wells
Webb
Simpson
Stevens
Tucker
Porter
Hunter
Hicks
Crawford
Henry
Boyd
Mason
Morales
Kennedy
Warren
Dixon
Ramos
Reyes
Burns
Gordon
Shaw
Holmes
Rice
Robertson
Hunt
Black
Daniels
Palmer
Mills
Nichols
Grant
Knight
Ferguson
Rose
Stone
Hawkins
Dunn
Perkins
Hudson
Spencer
Gardner
Stephens
Payne
Pierce
Berry
Matthews
Arnold
Wagner
Willis
Ray
Watkins
Olson
Carroll
Duncan
Snyder
Hart
Cunningham
Bradley
Lane
Andrews
Ruiz
Harper
Fox
Riley
Armstrong
Carpenter
Weaver
Greene
Lawrence
Elliott
Chavez
Sims
Austin
Peters
Kelley
Franklin
Lawson
Fields
Gutierrez
Ryan
Schmidt
Carr
Vasquez
Castillo
Wheeler
Chapman
Oliver
Montgomery
Richards
Williamson
Johnston
Banks
Meyer
Bishop
Mccoy
Howell
Alvarez
Morrison
Hansen
Fernandez
Garza
Harvey
Little
Burton
Stanley
Nguyen
George
Jacobs
Reid
Kim
Fuller
Lynch
Dean
Gilbert
Garrett
Romero
Welch
Larson
Frazier
Burke
Hanson
Day
Mendoza
Moreno
Bowman
Medina
Fowler
Brewer
Hoffman
Carlson
Silva
Pearson
Holland
Douglas
Fleming
Jensen
Vargas
Byrd
Davidson
Hopkins
May
Terry
Herrera
Wade
Soto
Walters
Curtis
Neal
Caldwell
Lowe
Jennings
Barnett
Graves
Jimenez
Horton
Shelton
Barrett
Obrien
Castro
Sutton
Gregory
Mckinney
Lucas
Miles
Craig
Rodriquez
Chambers
Holt
Lambert
Fletcher
Watts
Bates
Hale
Rhodes
Pena
Beck
Newman
Haynes
Mcdaniel
Mendez
Bush
Vaughn
Parks
Dawson
Santiago
Norris
Hardy
Love
Steele
Curry
Powers
Schultz
Barker
Guzman
Page
Munoz
Ball
Keller
Chandler
Weber
Leonard
Walsh
Lyons
Ramsey
Wolfe
Schneider
Mullins
Benson
Sharp
Bowen
Daniel
Barber
Cummings
Hines
Baldwin
Griffith
Valdez
Hubbard
Salazar
Reeves
Warner
Stevenson
Burgess
Santos
Tate
Cross
Garner
Mann
Mack
Moss
Thornton
Dennis
Mcgee
Farmer
Delgado
Aguilar
Vega
Glover
Manning
Cohen
Harmon
Rodgers
Robbins
Newton
Todd
Blair
Higgins
Ingram
Reese
Cannon
Strickland
Townsend
Potter
Goodwin
Walton
Rowe
Hampton
Ortega
Patton
Swanson
Joseph
Francis
Goodman
Maldonado
Yates
Becker
Erickson
Hodges
Rios
Conner
Adkins
Webster
Norman
Malone
Hammond
Flowers
Cobb
Moody
Quinn
Blake
Maxwell
Pope
Floyd
Osborne
Paul
Mccarthy
Guerrero
Lindsey
Estrada
Sandoval
Gibbs
Tyler
Gross
Fitzgerald
Stokes
Doyle
Sherman
Saunders
Wise
Colon
Gill
Alvarado
Greer
Padilla
Simon
Waters
Nunez
Ballard
Schwartz
Mcbride
Houston
Christensen
Klein
Pratt
Briggs
Parsons
Mclaughlin
Zimmerman
French
Buchanan
Moran
Copeland
Roy
Pittman
Brady
Mccormick
Holloway
Brock
Poole
Frank
Logan
Owen
Bass
Marsh
Drake
Wong
Jefferson
Park
Morton
Abbott
Sparks
Patrick
Norton
Huff
Clayton
Massey
Lloyd
Figueroa
Carson
Bowers
Roberson
Barton
Tran
Lamb
Harrington
Casey
Boone
Cortez
Clarke
Mathis
Singleton
Wilkins
Cain
Bryan
Underwood
Hogan
Mckenzie
Collier
Luna
Phelps
Mcguire
Allison
Bridges
Wilkerson
Nash
Summers
Atkins
Wilcox
Pitts
Conley
Marquez
Burnett
Richard
Cochran
Chase
Davenport
Hood
Gates
Clay
Ayala
Sawyer
Roman
Vazquez
Dickerson
Hodge
Acosta
Flynn
Espinoza
Nicholson
Monroe
Wolf
Morrow
Kirk
Randall
Anthony
Whitaker
Oconnor
Skinner
Ware
Molina
Kirby
Huffman
Bradford
Charles
Gilmore
Dominguez
Oneal
Bruce
Lang
Combs
Kramer
Heath
Hancock
Gallagher
Gaines
Shaffer
Short
Wiggins
Mathews
Mcclain
Fischer
Wall
Small
Melton
Hensley
Bond
Dyer
Cameron
Grimes
Contreras
Christian
Wyatt
Baxter
Snow
Mosley
Shepherd
Larsen
Hoover
Beasley
Glenn
Petersen
Whitehead
Meyers
Keith
Garrison
Vincent
Shields
Horn
Savage
Olsen
Schroeder
Hartman
Woodard
Mueller
Kemp
Deleon
Booth
Patel
Calhoun
Wiley
Eaton
Cline
Navarro
Harrell
Lester
Humphrey
Parrish
EOF


text:
@import url("Steel on Green.css");
@import url("../noname.css");


text:
import stripe
from django.core.management.base import BaseCommand

from aa_stripe.models import StripeCoupon
from aa_stripe.settings import stripe_settings
from aa_stripe.utils import timestamp_to_timezone_aware_date

class Command(BaseCommand):
    help = "Update the coupon list from Stripe API"

    def handle(self, *args, **options):
        stripe.api_key = stripe_settings.API_KEY

        counts = {
            "created": 0,
            "updated": 0,
            "deleted": 0
        }
        active_coupons_ids = []
        last_stripe_coupon = None
        while True:
            stripe_coupon_list = stripe.Coupon.list(starting_after=last_stripe_coupon)
            for stripe_coupon in stripe_coupon_list["data"]:
                try:
                    coupon = StripeCoupon.objects.get(
                        coupon_id=stripe_coupon.id, created=timestamp_to_timezone_aware_date(stripe_coupon["created"]),
                        is_deleted=False)
                    counts["updated"] += coupon.update_from_stripe_data(stripe_coupon)
                except StripeCoupon.DoesNotExist:
                    # already have the data - we do not need to call Stripe API again
                    coupon = StripeCoupon(coupon_id=stripe_coupon.id)
                    coupon.update_from_stripe_data(stripe_coupon, commit=False)
                    super(StripeCoupon, coupon).save()
                    counts["created"] += 1

                # indicate which coupons should have is_deleted=False
                active_coupons_ids.append(coupon.pk)

            if not stripe_coupon_list["has_more"]:
                break
            else:
                last_stripe_coupon = stripe_coupon_list["data"][-1]

        # update can be used here, because those coupons does not exist in the Stripe API anymore
        coupons_to_delete = StripeCoupon.objects.exclude(pk__in=active_coupons_ids)
        for coupon in coupons_to_delete:
            coupon.is_deleted = True
            super(StripeCoupon, coupon).save()  # make sure pre/post save signals are triggered without calling API
        counts["deleted"] += coupons_to_delete.count()

        if options.get("verbosity") > 1:
            print("Coupons created: {created}, updated: {updated}, deleted: {deleted}".format(**counts))


text:
using System;
using System.Collections.Generic;
using System.Linq;
using MongoDB.Bson;
using MongoDB.Driver;
using StackExchange.Profiling;
using MongoDB.Driver.Core.Servers;

namespace StackExchange.Opserver.Data.MongoDB
{
    public static class ServerUtils
    {
        public static MongoConnectedClient GetSingleServer(this MongoConnectedClient connection)
        {
            return connection;
        }
    }

    public partial class MongoDBInstance
    {
        //Specially caching this since it's accessed so often
        public MongoDBInfo.ReplicationInfo Replication { get; private set; }

        private Cache<MongoDBInfo> _info;
        public Cache<MongoDBInfo> Info
        {
            get
            {
                return _info ?? (_info = new Cache<MongoDBInfo>
                {
                    CacheForSeconds = 10,
                    UpdateCache = GetFromMongoDBAsync(nameof(Info), async rc =>
                    {
                        var server = rc.GetSingleServer().MongoClient;

                        var db = server.GetDatabase("admin");

                        // server status
                        var commandServer = new BsonDocumentCommand<BsonDocument>(new BsonDocument { {"serverStatus", 1} });
                        var serverStatus = await db.RunCommandAsync(commandServer);

                        // master / replica
                        var commandMaster = new BsonDocumentCommand<BsonDocument>(new BsonDocument { {"isMaster", 1} });
                        var masterStatus = await db.RunCommandAsync(commandMaster);

                        // database list
                        var commandDatabase = new BsonDocumentCommand<BsonDocument>(new BsonDocument { {"listDatabases", 1} });
                        var databaseList = await db.RunCommandAsync(commandDatabase);

                        var ri = MongoDBInfo.FromInfo(serverStatus, masterStatus, databaseList);
                        if (ri != null) Replication = ri.Replication;
                        return ri;
                    })
                });
            }
        }

        public MongoDBInfo.MongoDBInstanceRole Role
        {
            get
            {
                var lastRole = Replication?.MongoDBInstanceRole;
                // If we think we're a master and the last poll failed - look to other nodes for info
                if (!Info.LastPollSuccessful && lastRole == MongoDBInfo.MongoDBInstanceRole.Master &&
                    AllInstances.Any(r => r.SlaveInstances.Any(s => s == this)))
                    return MongoDBInfo.MongoDBInstanceRole.Slave;
                return lastRole ?? MongoDBInfo.MongoDBInstanceRole.Unknown;
            }
        }

        public string RoleDescription
        {
            get
            {
                switch (Role)
                {
                    case MongoDBInfo.MongoDBInstanceRole.Master:
                        return "Master";
                    case MongoDBInfo.MongoDBInstanceRole.Slave:
                        return "Slave";
                    default:
                        return "Unknown";
                }
            }
        }

        public bool IsMaster => Role == MongoDBInfo.MongoDBInstanceRole.Master;
        public bool IsSlave => Role == MongoDBInfo.MongoDBInstanceRole.Slave;
        public bool IsSlaving => IsSlave && (Replication.MasterLinkStatus != "up" || Info.Data?.Replication?.MastSyncLeftBytes > 0);

        public MongoDBInstance TopMaster
        {
            get
            {
                var top = this;
                while (top.Master != null)
                {
                    top = top.Master;
                }
                return top;
            }
        }

        public MongoDBInstance Master
        {
            get { return Replication?.MasterHost.HasValue() == true ? GetInstance(Replication.MasterHost, Replication.MasterPort) : AllInstances.FirstOrDefault(i => i.SlaveInstances.Contains(this)); }
        }

        public int SlaveCount => Replication?.ConnectedSlaves ?? 0;

        public int TotalSlaveCount
        {
            get { return SlaveCount + (SlaveCount > 0 && SlaveInstances != null ? SlaveInstances.Sum(s => s?.TotalSlaveCount ?? 0) : 0); }
        }

        public List<MongoDBInfo.MongoDBSlaveInfo> SlaveConnections => Replication?.SlaveConnections;

        public List<MongoDBInstance> SlaveInstances
        {
            get
            {
                return Info.LastPollSuccessful ? (Replication?.SlaveConnections.Select(s => s.GetServer()).ToList() ?? new List<MongoDBInstance>()) : new List<MongoDBInstance>();
                // If we can't poll this server, ONLY trust the other nodes we can poll
                //return AllInstances.Where(i => i.Master == this).ToList();
            }
        }

        public List<MongoDBInstance> GetAllSlavesInChain()
        {
            var slaves = SlaveInstances;
            return slaves.Union(slaves.SelectMany(i => i?.GetAllSlavesInChain() ?? Enumerable.Empty<MongoDBInstance>())).Distinct().ToList();
        }

        public class MongoDBInfoSection
        {
            public bool IsGlobal { get; internal set; }

            public string Title { get; internal set; }

            public List<MongoDBInfoLine> Lines { get; internal set; }
        }

        public class MongoDBInfoLine
        {
            public bool Important { get; internal set; }
            public string Key { get; internal set; }
            public string ParsedValue { get; internal set; }
            public string OriginalValue { get; internal set; }
        }
    }
}


text:
/*global CSL: true */

CSL.Node.date = {
    build: function (state, target) {
        var func, date_obj, len, pos, part, dpx, parts, mypos, start, end;
        if (this.tokentype === CSL.START || this.tokentype === CSL.SINGLETON) {
            // used to collect rendered date part names in node_datepart,
            // for passing through to node_key, for use in dates embedded
            // in macros
            state.dateput.string(state, state.dateput.queue);
            state.tmp.date_token = CSL.Util.cloneToken(this);
            state.tmp.date_token.strings.prefix = "";
            state.tmp.date_token.strings.suffix = "";
            state.dateput.openLevel(this);
            state.build.date_parts = [];
            state.build.date_variables = this.variables;
            if (!state.build.extension) {
                CSL.Util.substituteStart.call(this, state, target);
            }
            if (state.build.extension) {
                func = CSL.dateMacroAsSortKey;
            } else {
                func = function (state, Item, item) {
                    var dp;
                    state.tmp.element_rendered_ok = false;
                    state.tmp.donesies = [];
                    state.tmp.dateparts = [];
                    dp = [];
                    //if (this.variables.length && Item[this.variables[0]]){
                    if (this.variables.length
                        && !(state.tmp.just_looking
                             && this.variables[0] === "accessed")) {

                        date_obj = Item[this.variables[0]];
                        if ("undefined" === typeof date_obj) {
                            date_obj = {"date-parts": [[0]] };
                            if (state.opt.development_extensions.locator_date_and_revision) {
                                if (item && this.variables[0] === "locator-date" && item["locator-date"]) {
                                    date_obj = item["locator-date"];
                                }
                            }
                        }
                        state.tmp.date_object = date_obj;
                        //
                        // Call a function here to analyze the
                        // data and set the name of the date-part that
                        // should collapse for this range, if any.
                        //
                        // (1) build a filtered list, in y-m-d order,
                        // consisting only of items that are (a) in the
                        // date-parts and (b) in the *_end data.
                        // (note to self: remember that season is a
                        // fallback var when month and day are empty)

                        //if ("undefined" === typeof this.dateparts) {
                        //    this.dateparts = ["year", "month", "day"];
                        //}
                        len = this.dateparts.length;
                        for (pos = 0; pos < len; pos += 1) {
                            part = this.dateparts[pos];
                            if ("undefined" !== typeof state.tmp.date_object[(part +  "_end")]) {
                                dp.push(part);
                            } else if (part === "month" && "undefined" !== typeof state.tmp.date_object.season_end) {
                                dp.push(part);
                            }
                        }
                        dpx = [];
                        parts = ["year", "month", "day"];
                        len = parts.length;
                        for (pos = 0; pos < len; pos += 1) {
                            if (dp.indexOf(parts[pos]) > -1) {
                                dpx.push(parts[pos]);
                            }
                        }
                        dp = dpx.slice();
                        //
                        // (2) Reverse the list and step through in
                        // reverse order, popping each item if the
                        // primary and *_end data match.
                        mypos = 2;
                        len = dp.length;
                        for (pos = 0; pos < len; pos += 1) {
                            part = dp[pos];
                            start = state.tmp.date_object[part];
                            end = state.tmp.date_object[(part + "_end")];
                            if (start !== end) {
                                mypos = pos;
                                break;
                            }
                        }

                        //
                        // (3) When finished, the first item in the
                        // list, if any, is the date-part where
                        // the collapse should occur.

                        // XXXXX: was that it?
                        state.tmp.date_collapse_at = dp.slice(mypos);
                        //
                        // The collapse itself will be done by appending
                        // string output for the date, less suffix,
                        // placing a delimiter on output, then then
                        // doing the *_end of the range, dropping only
                        // the prefix.  That should give us concise expressions
                        // of ranges.
                        //
                        // Numeric dates should not collapse, though,
                        // and should probably use a slash delimiter.
                        // Scope for configurability will remain (all over
                        // the place), but this will do to get this feature
                        // started.
                        //
                    } else {
                        state.tmp.date_object = false;
                    }
                };
            }
            this.execs.push(func);

            // newoutput
            func = function (state, Item) {
                if (!Item[this.variables[0]]) {
                    return;
                }
                state.output.startTag("date", this);
                if (this.variables[0] === "issued"
                    && (Item.type === "legal_case" || Item.type === "legislation")
                    && state.opt.disable_duplicate_year_suppression.indexOf(Item.country) === -1
                    && !state.tmp.extension
                    && "" + Item["collection-number"] === "" + state.tmp.date_object.year
                    && this.dateparts.length === 1
                    && this.dateparts[0] === "year") {

                    // Set up to (maybe) suppress the year if we're not sorting, and
                    // it's the same as the collection-number, and we would render
                    // only the year, with not month or day, and this is a legal_case item.
                    // We save a pointer to the blob parent and its position here. The
                    // blob will be popped from output if at the end of processing for
                    // this cite we find that we have rendered the collection-number
                    // variable also.
                    for (var key in state.tmp.date_object) {
                        if (state.tmp.date_object.hasOwnProperty(key)) {
                            if (key.slice(0, 4) === "year") {
                                state.tmp.issued_date = {};
                                var lst = state.output.current.mystack.slice(-2)[0].blobs;
                                state.tmp.issued_date.list = lst;
                                state.tmp.issued_date.pos = lst.length - 1;
                            }
                        }
                    }
                }
            };
            this.execs.push(func);
        }

        if (!state.build.extension && (this.tokentype === CSL.END || this.tokentype === CSL.SINGLETON)) {
            // mergeoutput
            func = function (state, Item) {
                if (!Item[this.variables[0]]) {
                    return;
                }
                state.output.endTag();
            };
            this.execs.push(func);
        }
        target.push(this);

        if (this.tokentype === CSL.END || this.tokentype === CSL.SINGLETON) {
            if (!state.build.extension) {
                CSL.Util.substituteEnd.call(this, state, target);
            }
        }
    }
};


text:
/**
 * Support and FAQ: visit Atmel Support
 */

#ifndef CONF_EXAMPLE_H
#define CONF_EXAMPLE_H

/* Internal Flash 0 base address. */
#define IFLASH_ADDR     IFLASH0_ADDR
	/* Internal flash page size. */
#define IFLASH_PAGE_SIZE     IFLASH0_PAGE_SIZE

/* Test page start address. */
#define TEST_PAGE_ADDRESS (IFLASH1_ADDR + IFLASH1_SIZE - IFLASH1_PAGE_SIZE)

#endif /* CONF_EXAMPLE_H */


text:
		<title>Chattr - Homepage</title>

		<link rel="stylesheet" type="text/css" href="css/template.css">

Chattr

Gratis chatten?

			<button class="btn-success" onclick="window.location = 'register.php'">Meld je nu aan!</button>

			<button class="btn-success" onclick="window.location = 'login.php'">Log hier in!</button>

Door Joery Hoegee en Wiebe van Breukelen


text:
include(${CMAKE_CURRENT_LIST_DIR}/find_compiler.cmake)

# include our Platform/PICO.cmake
set(CMAKE_SYSTEM_NAME PICO)
set(CMAKE_SYSTEM_PROCESSOR cortex-m0plus)

# Find ARMClang.
pico_find_compiler(PICO_COMPILER_CC armclang)
pico_find_compiler(PICO_COMPILER_CXX armclang)
pico_find_compiler(PICO_COMPILER_ASM armasm)
set(PICO_COMPILER_ASM "${PICO_COMPILER_ASM}" CACHE INTERNAL "")
pico_find_compiler(PICO_OBJCOPY llvm-objcopy)
pico_find_compiler(PICO_OBJDUMP llvm-objdump)

# Specify the cross compiler.
set(CMAKE_C_COMPILER ${PICO_COMPILER_CC} CACHE FILEPATH "C compiler")
set(CMAKE_CXX_COMPILER ${PICO_COMPILER_CXX} CACHE FILEPATH "C++ compiler")
set(CMAKE_C_OUTPUT_EXTENSION .o)

# todo should we be including CMakeASMInformation anyway - i guess that is host side
set(CMAKE_ASM_COMPILER ${PICO_COMPILER_ASM} CACHE FILEPATH "ASM compiler")
set(CMAKE_ASM_COMPILE_OBJECT "<CMAKE_ASM_COMPILER> <DEFINES> <INCLUDES> <FLAGS> -o <OBJECT>   -c <SOURCE>")
set(CMAKE_INCLUDE_FLAG_ASM "-I")
set(CMAKE_OBJCOPY ${PICO_OBJCOPY} CACHE FILEPATH "")
set(CMAKE_OBJDUMP ${PICO_OBJDUMP} CACHE FILEPATH "")

# Disable compiler checks.
set(CMAKE_C_COMPILER_FORCED TRUE)
set(CMAKE_CXX_COMPILER_FORCED TRUE)

# Add target system root to cmake find path.
get_filename_component(PICO_COMPILER_DIR "${PICO_COMPILER_CC}" DIRECTORY)
get_filename_component(CMAKE_FIND_ROOT_PATH "${PICO_COMPILER_DIR}" DIRECTORY)

# Look for includes and libraries only in the target system prefix.
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
set(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY)
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)

# todo move to platform/Generix-xxx
set(ARM_CLANG_COMMON_FLAGS " --cpu=Cortex-M0plus")
string(APPEND CMAKE_C_FLAGS_INIT "${ARM_CLANG_COMMON_FLAGS}")
string(APPEND CMAKE_CXX_FLAGS_INIT "${ARM_CLANG_COMMON_FLAGS}")
string(APPEND CMAKE_ASM_FLAGS_INIT "${ARM_CLANG_COMMON_FLAGS}")
string(APPEND CMAKE_C_FLAGS_DEBUG_INIT "${ARM_CLANG_COMMON_FLAGS} -Og")
string(APPEND CMAKE_CXX_FLAGS_DEBUG_INIT "${ARM_CLANG_COMMON_FLAGS} -Og")


text:
@interface RAMOAuth2ViewControllerTouch ()

@property (weak, nonatomic) IBOutlet UIActivityIndicatorView *activityIndicator;

@end

@implementation RAMOAuth2ViewControllerTouch

+ (NSString *)authNibName
{
    return @"RAMOAuth2ViewControllerTouch";
}

- (IBAction)cancel:(UIBarButtonItem *)sender
{
    [self cancelSigningIn];
    if (self.cancelCompletionBlock) {
        self.cancelCompletionBlock(nil);
    }
}

- (void)webViewDidStartLoad:(UIWebView *)webView
{
    [super webViewDidStartLoad:webView];
    [self.activityIndicator startAnimating];
}

- (void)webViewDidFinishLoad:(UIWebView *)webView
{
    [super webViewDidFinishLoad:webView];
    [self.activityIndicator stopAnimating];
}

- (void)webView:(UIWebView *)webView didFailLoadWithError:(NSError *)error
{
    [super webView:webView didFailLoadWithError:error];
    [self.activityIndicator stopAnimating];
}

@end


text:
{% extends "profile/profile_base.html" %}

{% load name_format %}

{% block scripts %}

{% endblock %}

{% block modals %}
{% include "edit_copy_modal.html" %}
{% endblock %}

{% block profile_main %}

List of all books {{person|name:user}} owns

		{% if is_myself %}

Use this box to find and add books you own. To make them available to others, you must set prices to rent and/or sell.

			<input type="text" name="q" class="ac-input" id="search-box" value="Add a book to your listings (enter book title or course name)" />

		{% endif %}

			{% for item in listings %}
			    {% include 'profile/book_block.html' %}
    		{% empty %}

{{person|name:user}} doesn't have any listings at the moment.

			{% endfor %}

{% endblock %}


text:
namespace llvm {

class RISCVInstrInfo : public RISCVGenInstrInfo {

public:
  RISCVInstrInfo();

  unsigned isLoadFromStackSlot(const MachineInstr &MI,
                               int &FrameIndex) const override;
  unsigned isStoreToStackSlot(const MachineInstr &MI,
                              int &FrameIndex) const override;

  void copyPhysReg(MachineBasicBlock &MBB, MachineBasicBlock::iterator MBBI,
                   const DebugLoc &DL, unsigned DstReg, unsigned SrcReg,
                   bool KillSrc) const override;

  void storeRegToStackSlot(MachineBasicBlock &MBB,
                           MachineBasicBlock::iterator MBBI, unsigned SrcReg,
                           bool IsKill, int FrameIndex,
                           const TargetRegisterClass *RC,
                           const TargetRegisterInfo *TRI) const override;

  void loadRegFromStackSlot(MachineBasicBlock &MBB,
                            MachineBasicBlock::iterator MBBI, unsigned DstReg,
                            int FrameIndex, const TargetRegisterClass *RC,
                            const TargetRegisterInfo *TRI) const override;

  // Materializes the given integer Val into DstReg.
  void movImm(MachineBasicBlock &MBB, MachineBasicBlock::iterator MBBI,
              const DebugLoc &DL, Register DstReg, uint64_t Val,
              MachineInstr::MIFlag Flag = MachineInstr::NoFlags) const;

  unsigned getInstSizeInBytes(const MachineInstr &MI) const override;

  bool analyzeBranch(MachineBasicBlock &MBB, MachineBasicBlock *&TBB,
                     MachineBasicBlock *&FBB,
                     SmallVectorImpl<MachineOperand> &Cond,
                     bool AllowModify) const override;

  unsigned insertBranch(MachineBasicBlock &MBB, MachineBasicBlock *TBB,
                        MachineBasicBlock *FBB, ArrayRef<MachineOperand> Cond,
                        const DebugLoc &dl,
                        int *BytesAdded = nullptr) const override;

  unsigned insertIndirectBranch(MachineBasicBlock &MBB,
                                MachineBasicBlock &NewDestBB,
                                const DebugLoc &DL, int64_t BrOffset,
                                RegScavenger *RS = nullptr) const override;

  unsigned removeBranch(MachineBasicBlock &MBB,
                        int *BytesRemoved = nullptr) const override;

  bool
  reverseBranchCondition(SmallVectorImpl<MachineOperand> &Cond) const override;

  MachineBasicBlock *getBranchDestBlock(const MachineInstr &MI) const override;

  bool isBranchOffsetInRange(unsigned BranchOpc,
                             int64_t BrOffset) const override;

  bool isAsCheapAsAMove(const MachineInstr &MI) const override;
};
}
#endif


text:
/* global ga, QRCode */
/**
 * Utils functions
 * @type {Object}
 */
(function () {
  'use strict';

  var utils = {
    // http://youmightnotneedjquery.com/#ready
    ready: function (fn) {
      if (document.readyState !== 'loading') {
        fn();
      } else {
        document.addEventListener('DOMContentLoaded', fn);
      }
    },

    // http://youmightnotneedjquery.com/#extend
    extendObj: function(out) {
      out = out || {};

      for (var i = 1; i < arguments.length; i++) {
        if (!arguments[i]) {
          continue;
        }

        for (var key in arguments[i]) {
          if (arguments[i].hasOwnProperty(key)) {
            out[key] = arguments[i][key];
          }
        }
      }

      return out;
    },

    each: function (obj, cb, context) {
      for (var key in obj) {
        if (obj.hasOwnProperty(key)) {
          if (context) {
            cb.call(context, obj[key], key, obj);
          } else {
            cb(obj[key], key, obj);
          }
        }
      }
      return obj;
    },

    addClass: function (el, className) {
      if (el.classList) {
        el.classList.add(className);
      } else {
        el.className += ' ' + className;
      }
    },

    removeClass: function (el, className) {
      if (el.classList) {
        el.classList.remove(className);
      } else {
        el.className = el.className.replace(new RegExp('(^|\\b)' + className.split(' ').join('|') + '(\\b|$)', 'gi'), ' ');
      }
    },

    // https://github.com/filamentgroup/loadJS
    loadJS: function( src, cb ){
      var ref = document.getElementsByTagName( 'script' )[ 0 ];
      var script = document.createElement( 'script' );

      script.src = src;
      script.async = true;
      ref.parentNode.insertBefore( script, ref );

      if (cb && typeof(cb) === 'function') {
        script.onload = cb;
      }
      return script;
    },
  };

  /**
   * Viewport State
   */
  var viewportState = (function viewportState () {
    var currentState = 'desktop', // default
      possibleStates = ['desktop', 'tablet', 'mobile'],
      alreadyBeenToMobile = false;

    return {
      getState: function () {
        return currentState;
      },

      getStates: function () {
        return possibleStates;
      },

      switchTo: function (newState) {
        if ( possibleStates.indexOf(newState) > -1 ) {
          currentState = newState;
        }

        calcHeight();

        if ( 'mobile' === newState && ! alreadyBeenToMobile ) {
          utils.loadJS('https://cdn.rawgit.com/davidshimjs/qrcodejs/06c7a5e/qrcode.min.js', function () {
            new QRCode(document.querySelector('.qr-code'), {
              text:   document.querySelector('.js-link-to-demo').href,
              width:  128,
              height: 128,
            });
          });

          alreadyBeenToMobile = true;
        }

        return this.getState();
      },
    };
  })();

  /**
   * Calculate height of the iframe, depending on the viewportState
   */
  var calcHeight = function() {
    var previewBar = document.getElementById( 'custom-preview-bar' ),
      previewFrame = document.getElementById( 'main-preview-frame' );

    if ( previewFrame && previewBar ) {
      var possibleMaxHeight = window.innerHeight - previewBar.offsetHeight;

      previewFrame.style.height = possibleMaxHeight + 'px';

      switch (viewportState.getState()) {
        case 'mobile':
          previewFrame.style.maxHeight = Math.min( ( possibleMaxHeight - 109 ), 668 ) + 'px';
          break;
        case 'tablet':
          previewFrame.style.maxHeight = Math.min( ( possibleMaxHeight - 113 ), 1005 ) + 'px';
          break;
        default:
          previewFrame.style.maxHeight = possibleMaxHeight + 'px';
          break;
      }
    }

    document.body.style.minHeight = window.innerHeight + 'px';
  };

  /**
   * Click even handler for toggling viewport
   */
  var toggleViewport = function toggleViewport (ev) {
    ev.preventDefault();

    var holder = document.querySelector('#iframe-holder'),
      switchToClass = ev.currentTarget.getAttribute('data-switchto'),
      bodyEl        = document.querySelector('body'),
      bodyBgClass   = 'body-bg';

    viewportState.getStates().forEach(function (classToRemove) {
      utils.removeClass(holder, classToRemove);
      utils.removeClass(bodyEl, bodyBgClass);
    });

    utils.addClass(holder, switchToClass);

    if ('desktop' !== switchToClass) {
      utils.addClass(bodyEl, bodyBgClass);
    }

    utils.removeClass(document.querySelector('.switcher-btn--active'), 'switcher-btn--active');
    utils.addClass(ev.currentTarget, 'switcher-btn--active');

    viewportState.switchTo(switchToClass);

    /**
     * Google Analytics event tracking
     * https://developers.google.com/analytics/devguides/collection/analyticsjs/events
     */
    if ( ga ) {
      ga( 'send', 'event', 'layout switcher', 'click', switchToClass );
    }
  };

  /**
   * Event handler for the dom ready
   */
  var init = function init () {
    calcHeight();

    // iframe size switcher
    [].forEach.call(document.querySelectorAll('.js-switcher > a'), function (btn) {
      btn.addEventListener('click', toggleViewport);
    });
  };

  // events
  utils.ready(init);
  window.addEventListener( 'load', calcHeight ); // calc height of the iframe on load
  window.addEventListener( 'resize', calcHeight ); // calc height of the iframe on resize

  /**
   * UTM decorator - for tracking purposes
   */
  var decoratorHandler = function() {
    /**
     * Constructor
     */
    var utmDecorator = function () {
      this.autosetParameters();
      this.stringifyObj( this.parametersObj );
    };

    utils.extendObj( utmDecorator.prototype, {
      // from: https://support.google.com/analytics/answer/1033867?hl=en
      utmParams: [ 'utm_source', 'utm_medium', 'utm_term', 'utm_content', 'utm_campaign' ],

      parametersObj: {},

      urlAppend: '',

      /**
       * Helper function for getting parameter by name
       * @see  http://stackoverflow.com/a/901144
       * @param  {string} name
       * @return {string}
       */
      getParameterByName: function (name) {
        name = name.replace(/[\[]/, "\\[").replace(/[\]]/, "\\]");
        var regex = new RegExp("[\\?&]" + name + "=([^&#]*)"),
        results = regex.exec(location.search);
        return results === null ? "" : decodeURIComponent(results[1].replace(/\+/g, " "));
      },

      /**
       * Pass the DOM element and it will output the decorated link
       * @param  {DOM} el
       */
      decorate: function ( $el ) {
        var prepend = $el.search.length > 0 ? '&' : '?';

        if ( this.urlAppend ) {
          $el.attr( 'href', $el.attr( 'href' ) + prepend + this.urlAppend );
        }

        return this;
      },

      /**
       * Set parameters, based on the existing page
       * @return this
       */
      autosetParameters: function () {
        // reset
        this.parametersObj = {};

        // check every
        this.utmParams.forEach( function ( utmParam ) {
          var utmParamVal = this.getParameterByName( utmParam );
          if ( utmParamVal ) {
            this.parametersObj[ utmParam ] = utmParamVal;
          }
        }, this );

        return this;
      },

      /**
       * Build the HTTP GET query
       * @param  {object} obj
       * @return this
       */
      stringifyObj: function ( obj ) {
        var urlAppend = [];

        utils.each( obj, function ( val, key ) {
          urlAppend.push( key + '=' + val );
        } );

        this.urlAppend = urlAppend.join( '&' );

        return this;
      }
    } );

    // decorate all links to themeforest and to our demo page on page load
    var decorator = new utmDecorator;
    var elms = document.querySelectorAll( 'a[href*="themeforest.net"], a[href*="proteusthemes.com"]' );

    [].forEach.call( elms, function ( $el ) {
      decorator.decorate( $el );
    } );
  };

  utils.ready(decoratorHandler);
})();


text:
package org.apache.giraph.utils;

import static org.apache.giraph.utils.ReflectionUtils.getTypeArguments;
import static org.junit.Assert.assertEquals;

import java.io.IOException;

import org.apache.giraph.conf.TypesHolder;
import org.apache.giraph.edge.ByteArrayEdges;
import org.apache.giraph.edge.OutEdges;
import org.apache.giraph.factories.DefaultEdgeValueFactory;
import org.apache.giraph.factories.DefaultMessageValueFactory;
import org.apache.giraph.factories.DefaultVertexIdFactory;
import org.apache.giraph.factories.DefaultVertexValueFactory;
import org.apache.giraph.factories.EdgeValueFactory;
import org.apache.giraph.factories.MessageValueFactory;
import org.apache.giraph.factories.VertexIdFactory;
import org.apache.giraph.factories.VertexValueFactory;
import org.apache.giraph.graph.AbstractComputation;
import org.apache.giraph.graph.BasicComputation;
import org.apache.giraph.graph.Computation;
import org.apache.giraph.graph.DefaultVertexResolver;
import org.apache.giraph.graph.Vertex;
import org.apache.giraph.graph.VertexResolver;
import org.apache.hadoop.io.IntWritable;
import org.apache.hadoop.io.Writable;
import org.apache.hadoop.io.WritableComparable;
import org.junit.Test;

public class TestReflectionUtils {
  @Test
  public void testPackagePath() {
    assertEquals("org/apache/giraph/utils",
        ReflectionUtils.getPackagePath(TestReflectionUtils.class));
    assertEquals("org/apache/giraph/utils",
        ReflectionUtils.getPackagePath(getClass()));
    assertEquals("org/apache/giraph/utils",
        ReflectionUtils.getPackagePath(this));
  }

  private static class IntTypes implements TypesHolder<IntWritable,
      IntWritable, IntWritable, IntWritable, IntWritable> { }

  private static class IntComputation extends AbstractComputation<IntWritable,
          IntWritable, IntWritable, IntWritable, IntWritable> {
    @Override
    public void compute(Vertex<IntWritable, IntWritable, IntWritable> vertex,
        Iterable<IntWritable> messages) throws IOException {
    }
  }

  private static class IntBasicComputation extends BasicComputation<IntWritable,
      IntWritable, IntWritable, IntWritable> {
    @Override
    public void compute(Vertex<IntWritable, IntWritable, IntWritable> vertex,
        Iterable<IntWritable> messages) throws IOException {
    }
  }

  @Test
  public void testInferWithGenerics() {
    Class<?>[] classes = getTypeArguments(VertexResolver.class,
        DefaultVertexResolver.class);
    assertEquals(3, classes.length);
    assertEquals(WritableComparable.class, classes[0]);
    assertEquals(Writable.class, classes[1]);
    assertEquals(Writable.class, classes[2]);

    classes = getTypeArguments(VertexIdFactory.class,
        DefaultVertexIdFactory.class);
    assertEquals(1, classes.length);
    assertEquals(WritableComparable.class, classes[0]);

    classes = getTypeArguments(VertexValueFactory.class,
        DefaultVertexValueFactory.class);
    assertEquals(1, classes.length);
    assertEquals(Writable.class, classes[0]);

    classes = getTypeArguments(EdgeValueFactory.class,
        DefaultEdgeValueFactory.class);
    assertEquals(1, classes.length);
    assertEquals(Writable.class, classes[0]);

    classes = getTypeArguments(MessageValueFactory.class,
        DefaultMessageValueFactory.class);
    assertEquals(1, classes.length);
    assertEquals(Writable.class, classes[0]);

    classes = getTypeArguments(OutEdges.class, ByteArrayEdges.class);
    assertEquals(2, classes.length);
    assertEquals(WritableComparable.class, classes[0]);
    assertEquals(Writable.class, classes[1]);
  }

  @Test
  public void testInferTypeParams() {
    checkTypes(TypesHolder.class, IntTypes.class, 5);
    checkTypes(TypesHolder.class, IntComputation.class, 5);
    checkTypes(Computation.class, IntComputation.class, 5);
    checkTypes(TypesHolder.class, IntBasicComputation.class, 5);
    checkTypes(Computation.class, IntBasicComputation.class, 5);
    checkTypes(BasicComputation.class, IntBasicComputation.class, 4);
  }

  private <T> void checkTypes(Class<T> baseClass,
    Class<? extends T> childClass, int numArgs) {
    Class<?>[] classes = getTypeArguments(baseClass, childClass);
    assertEquals(numArgs, classes.length);
    for (Class<?> klass : classes) {
      assertEquals(IntWritable.class, klass);
    }
  }
}


text:
    <form class="layui-form uk-form" action="/admin/template/codesave.html">
    	<input type="hidden" name="templettype" value="${sysDic.id!''}">
    	<input type="hidden" name="id" value="${template.id!''}">

            <textarea name="templettext" id="templettext" style="display:none;">${template.templettext!''}</textarea>

${template.templettext!''}

                <button class="layui-btn" lay-submit lay-filter="formDemo">立即提交</button>
                <button type="reset" class="layui-btn layui-btn-primary">重置</button>

    </form>


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

package jsonrpc2

import (
	"errors"
	"encoding/json"
)

type ErrorCode int

const (
	E_PARSE       ErrorCode = -32700
	E_INVALID_REQ ErrorCode = -32600
	E_NO_METHOD   ErrorCode = -32601
	E_BAD_PARAMS  ErrorCode = -32602
	E_INTERNAL    ErrorCode = -32603
	E_SERVER      ErrorCode = -32000
)

var ErrNullResult = errors.New("result is null")

type Error struct {
	// A Number that indicates the error type that occurred.
	Code ErrorCode `json:"code"` /* required */

	// A String providing a short description of the error.
	// The message SHOULD be limited to a concise single sentence.
	Message string `json:"message"` /* required */

	// A Primitive or Structured value that contains additional information about the error.
	Data interface{} `json:"data"` /* optional */
}

func (e *Error) Error() string {
	b, _ := json.Marshal(e)
	return string(b)
}


text:
@implementation FLTWebViewFlutterPlugin

+ (void)registerWithRegistrar:(NSObject<FlutterPluginRegistrar>*)registrar {
  FLTWebViewFactory* webviewFactory =
      [[FLTWebViewFactory alloc] initWithMessenger:registrar.messenger];
  [registrar registerViewFactory:webviewFactory withId:@"plugins.flutter.io/webview"];
  [FLTCookieManager registerWithRegistrar:registrar];
}

@end


text:
package apple.uikit;

import java.io.*;
import java.nio.*;
import java.util.*;
import com.google.j2objc.annotations.*;
import com.google.j2objc.runtime.*;
import com.google.j2objc.runtime.block.*;
import apple.audiotoolbox.*;
import apple.corefoundation.*;
import apple.coregraphics.*;
import apple.coreservices.*;
import apple.foundation.*;
import apple.coreanimation.*;
import apple.coredata.*;
import apple.coreimage.*;
import apple.coretext.*;
import apple.corelocation.*;

@Library("UIKit/UIKit.h") @Mapping("UIPopoverControllerDelegate")
public interface UIPopoverControllerDelegate
    extends NSObjectProtocol {

    @Mapping("popoverControllerShouldDismissPopover:")
    boolean shouldDismiss(UIPopoverController popoverController);
    @Mapping("popoverControllerDidDismissPopover:")
    void didDismiss(UIPopoverController popoverController);
    /**
     * @since Available in iOS 7.0 and later.
     */
    @Mapping("popoverController:willRepositionPopoverToRect:inView:")
    void willReposition(UIPopoverController popoverController, CGRect rect, Todo view);

    /*<adapter>*/
    /*</adapter>*/
}


text:
CREATE TABLE IF NOT EXISTS presence(
  user_id TEXT NOT NULL,
  state VARCHAR(20),
  status_msg TEXT,
  mtime BIGINT, -- miliseconds since last state change
  UNIQUE (user_id)
);

-- For each of /my/ users which possibly-remote users are allowed to see their
-- presence state
CREATE TABLE IF NOT EXISTS presence_allow_inbound(
  observed_user_id TEXT NOT NULL,
  observer_user_id TEXT NOT NULL, -- a UserID,
  UNIQUE (observed_user_id, observer_user_id)
);

-- For each of /my/ users (watcher), which possibly-remote users are they
-- watching?
CREATE TABLE IF NOT EXISTS presence_list(
  user_id TEXT NOT NULL,
  observed_user_id TEXT NOT NULL, -- a UserID,
  accepted BOOLEAN NOT NULL,
  UNIQUE (user_id, observed_user_id)
);

CREATE INDEX presence_list_user_id ON presence_list (user_id);


text:
package org.kohsuke.stapler.jelly.groovy;

import org.apache.commons.jelly.JellyException;
import org.kohsuke.MetaInfServices;
import org.kohsuke.stapler.Dispatcher;
import org.kohsuke.stapler.Facet;
import org.kohsuke.stapler.MetaClass;
import org.kohsuke.stapler.RequestImpl;
import org.kohsuke.stapler.ResponseImpl;
import org.kohsuke.stapler.jelly.JellyClassTearOff;
import org.kohsuke.stapler.jelly.JellyCompatibleFacet;
import org.kohsuke.stapler.jelly.JellyFacet;
import org.kohsuke.stapler.jelly.ScriptInvoker;
import org.kohsuke.stapler.lang.Klass;

import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import java.io.IOException;
import java.util.Collection;
import java.util.Collections;
import java.util.List;
import java.util.Set;
import java.util.logging.Level;

/**
 * {@link Facet} that brings in Groovy support on top of Jelly.
 *
 * @author Kohsuke Kawaguchi
 */
@MetaInfServices(Facet.class)
public class GroovyFacet extends Facet implements JellyCompatibleFacet {

    @Override
    public void buildViewDispatchers(final MetaClass owner, List<Dispatcher> dispatchers) {
        ScriptInvoker scriptInvoker = owner.webApp.getFacet(JellyFacet.class).scriptInvoker;
        dispatchers.add(createValidatingDispatcher(owner.loadTearOff(GroovyClassTearOff.class), scriptInvoker));
        dispatchers.add(createValidatingDispatcher(owner.loadTearOff(GroovyServerPageTearOff.class), scriptInvoker));
    }

    @Override
    public Collection<Class<GroovyClassTearOff>> getClassTearOffTypes() {
        return TEAROFF_TYPES;
    }

    @Override
    public Collection<String> getScriptExtensions() {
        return EXTENSION;
    }

    @Override
    public RequestDispatcher createRequestDispatcher(RequestImpl request, Klass type, Object it, String viewName) throws IOException {
        MetaClass owner = request.getWebApp().getMetaClass(type);
        ScriptInvoker scriptExecutor = request.getWebApp().getFacet(JellyFacet.class).scriptInvoker;
        RequestDispatcher d = createRequestDispatcher(owner.loadTearOff(GroovyClassTearOff.class), scriptExecutor, it, viewName);
        if (d == null) {
            d = createRequestDispatcher(owner.loadTearOff(GroovyServerPageTearOff.class), scriptExecutor, it, viewName);
        }
        return d;
    }

    @Override
    public void buildIndexDispatchers(MetaClass owner, List<Dispatcher> dispatchers) {
        try {
            if (owner.loadTearOff(JellyClassTearOff.class).findScript("index")!=null) {
                super.buildIndexDispatchers(owner, dispatchers);
            }
        } catch (JellyException e) {
            LOGGER.log(Level.WARNING, "Failed to parse index.groovy for "+owner, e);
        }
    }

    @Override
    public boolean handleIndexRequest(RequestImpl req, ResponseImpl rsp, Object node, MetaClass nodeMetaClass) throws IOException, ServletException {
        ScriptInvoker scriptExecutor = req.getWebApp().getFacet(JellyFacet.class).scriptInvoker;
        return handleIndexRequest(nodeMetaClass.loadTearOff(GroovyClassTearOff.class), scriptExecutor, req, rsp, node) ||
                handleIndexRequest(nodeMetaClass.loadTearOff(GroovyServerPageTearOff.class), scriptExecutor, req, rsp, node);
    }

    private static final Set<Class<GroovyClassTearOff>> TEAROFF_TYPES = Collections.singleton(GroovyClassTearOff.class);

    private static final Set<String> EXTENSION = Collections.singleton(".groovy");
}


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

package org.flowable.identitylink.api.history;

import java.util.Date;

import org.flowable.identitylink.api.IdentityLink;
import org.flowable.identitylink.api.IdentityLinkInfo;

/**
 * Historic counterpart of {@link IdentityLink} that represents the current state if any runtime link. Will be preserved when the runtime process instance or task is finished.
 *
 * @author Frederik Heremans
 */
public interface HistoricIdentityLink extends IdentityLinkInfo {
    /**
     * Returns the time when the identity link was created.
     */
    Date getCreateTime();
}


text:
import datetime
import traceback
import uuid

from oslotest import base
from oslotest import mockpatch

from ceilometer.event.storage import models
from ceilometer import pipeline
from ceilometer import publisher
from ceilometer.publisher import test as test_publisher

class EventPipelineTestCase(base.BaseTestCase):

    def get_publisher(self, url, namespace=''):
        fake_drivers = {'test://': test_publisher.TestPublisher,
                        'new://': test_publisher.TestPublisher,
                        'except://': self.PublisherClassException}
        return fake_drivers[url](url)

    class PublisherClassException(publisher.PublisherBase):
        def publish_samples(self, ctxt, samples):
            pass

        def publish_events(self, ctxt, events):
            raise Exception()

    def setUp(self):
        super(EventPipelineTestCase, self).setUp()
        self.p_type = pipeline.EVENT_TYPE
        self.transformer_manager = None

        self.test_event = models.Event(
            message_id=uuid.uuid4(),
            event_type='a',
            generated=datetime.datetime.utcnow(),
            traits=[
                models.Trait('t_text', 1, 'text_trait'),
                models.Trait('t_int', 2, 'int_trait'),
                models.Trait('t_float', 3, 'float_trait'),
                models.Trait('t_datetime', 4, 'datetime_trait')
            ],
            raw={'status': 'started'}
        )

        self.test_event2 = models.Event(
            message_id=uuid.uuid4(),
            event_type='b',
            generated=datetime.datetime.utcnow(),
            traits=[
                models.Trait('t_text', 1, 'text_trait'),
                models.Trait('t_int', 2, 'int_trait'),
                models.Trait('t_float', 3, 'float_trait'),
                models.Trait('t_datetime', 4, 'datetime_trait')
            ],
            raw={'status': 'stopped'}
        )

        self.useFixture(mockpatch.PatchObject(
            publisher, 'get_publisher', side_effect=self.get_publisher))

        self._setup_pipeline_cfg()

        self._reraise_exception = True
        self.useFixture(mockpatch.Patch(
            'ceilometer.pipeline.LOG.exception',
            side_effect=self._handle_reraise_exception))

    def _handle_reraise_exception(self, msg):
        if self._reraise_exception:
            raise Exception(traceback.format_exc())

    def _setup_pipeline_cfg(self):
        """Setup the appropriate form of pipeline config."""
        source = {'name': 'test_source',
                  'events': ['a'],
                  'sinks': ['test_sink']}
        sink = {'name': 'test_sink',
                'publishers': ['test://']}
        self.pipeline_cfg = {'sources': [source], 'sinks': [sink]}

    def _augment_pipeline_cfg(self):
        """Augment the pipeline config with an additional element."""
        self.pipeline_cfg['sources'].append({
            'name': 'second_source',
            'events': ['b'],
            'sinks': ['second_sink']
        })
        self.pipeline_cfg['sinks'].append({
            'name': 'second_sink',
            'publishers': ['new://'],
        })

    def _break_pipeline_cfg(self):
        """Break the pipeline config with a malformed element."""
        self.pipeline_cfg['sources'].append({
            'name': 'second_source',
            'events': ['b'],
            'sinks': ['second_sink']
        })
        self.pipeline_cfg['sinks'].append({
            'name': 'second_sink',
            'publishers': ['except'],
        })

    def _dup_pipeline_name_cfg(self):
        """Break the pipeline config with duplicate pipeline name."""
        self.pipeline_cfg['sources'].append({
            'name': 'test_source',
            'events': ['a'],
            'sinks': ['test_sink']
        })

    def _set_pipeline_cfg(self, field, value):
        if field in self.pipeline_cfg['sources'][0]:
            self.pipeline_cfg['sources'][0][field] = value
        else:
            self.pipeline_cfg['sinks'][0][field] = value

    def _extend_pipeline_cfg(self, field, value):
        if field in self.pipeline_cfg['sources'][0]:
            self.pipeline_cfg['sources'][0][field].extend(value)
        else:
            self.pipeline_cfg['sinks'][0][field].extend(value)

    def _unset_pipeline_cfg(self, field):
        if field in self.pipeline_cfg['sources'][0]:
            del self.pipeline_cfg['sources'][0][field]
        else:
            del self.pipeline_cfg['sinks'][0][field]

    def _exception_create_pipelinemanager(self):
        self.assertRaises(pipeline.PipelineException,
                          pipeline.PipelineManager,
                          self.pipeline_cfg,
                          self.transformer_manager,
                          self.p_type)

    def test_no_events(self):
        self._unset_pipeline_cfg('events')
        self._exception_create_pipelinemanager()

    def test_no_name(self):
        self._unset_pipeline_cfg('name')
        self._exception_create_pipelinemanager()

    def test_name(self):
        pipeline_manager = pipeline.PipelineManager(self.pipeline_cfg,
                                                    self.transformer_manager,
                                                    self.p_type)
        for pipe in pipeline_manager.pipelines:
            self.assertTrue(pipe.name.startswith('event:'))

    def test_no_publishers(self):
        self._unset_pipeline_cfg('publishers')
        self._exception_create_pipelinemanager()

    def test_check_events_include_exclude_same(self):
        event_cfg = ['a', '!a']
        self._set_pipeline_cfg('events', event_cfg)
        self._exception_create_pipelinemanager()

    def test_check_events_include_exclude(self):
        event_cfg = ['a', '!b']
        self._set_pipeline_cfg('events', event_cfg)
        self._exception_create_pipelinemanager()

    def test_check_events_wildcard_included(self):
        event_cfg = ['a', '*']
        self._set_pipeline_cfg('events', event_cfg)
        self._exception_create_pipelinemanager()

    def test_check_publishers_invalid_publisher(self):
        publisher_cfg = ['test_invalid']
        self._set_pipeline_cfg('publishers', publisher_cfg)

    def test_multiple_included_events(self):
        event_cfg = ['a', 'b']
        self._set_pipeline_cfg('events', event_cfg)
        pipeline_manager = pipeline.PipelineManager(self.pipeline_cfg,
                                                    self.transformer_manager,
                                                    self.p_type)

        with pipeline_manager.publisher(None) as p:
            p([self.test_event])

        publisher = pipeline_manager.pipelines[0].publishers[0]
        self.assertEqual(1, len(publisher.events))

        with pipeline_manager.publisher(None) as p:
            p([self.test_event2])

        self.assertEqual(2, len(publisher.events))
        self.assertEqual('a', getattr(publisher.events[0], 'event_type'))
        self.assertEqual('b', getattr(publisher.events[1], 'event_type'))

    def test_event_non_match(self):
        event_cfg = ['nomatch']
        self._set_pipeline_cfg('events', event_cfg)
        pipeline_manager = pipeline.PipelineManager(self.pipeline_cfg,
                                                    self.transformer_manager,
                                                    self.p_type)
        with pipeline_manager.publisher(None) as p:
            p([self.test_event])

        publisher = pipeline_manager.pipelines[0].publishers[0]
        self.assertEqual(0, len(publisher.events))
        self.assertEqual(0, publisher.calls)

    def test_wildcard_event(self):
        event_cfg = ['*']
        self._set_pipeline_cfg('events', event_cfg)
        pipeline_manager = pipeline.PipelineManager(self.pipeline_cfg,
                                                    self.transformer_manager,
                                                    self.p_type)
        with pipeline_manager.publisher(None) as p:
            p([self.test_event])

        publisher = pipeline_manager.pipelines[0].publishers[0]
        self.assertEqual(1, len(publisher.events))
        self.assertEqual('a', getattr(publisher.events[0], 'event_type'))

    def test_wildcard_excluded_events(self):
        event_cfg = ['*', '!a']
        self._set_pipeline_cfg('events', event_cfg)
        pipeline_manager = pipeline.PipelineManager(self.pipeline_cfg,
                                                    self.transformer_manager,
                                                    self.p_type)
        self.assertFalse(pipeline_manager.pipelines[0].support_event('a'))

    def test_wildcard_excluded_events_not_excluded(self):
        event_cfg = ['*', '!b']
        self._set_pipeline_cfg('events', event_cfg)
        pipeline_manager = pipeline.PipelineManager(self.pipeline_cfg,
                                                    self.transformer_manager,
                                                    self.p_type)
        with pipeline_manager.publisher(None) as p:
            p([self.test_event])
        publisher = pipeline_manager.pipelines[0].publishers[0]
        self.assertEqual(1, len(publisher.events))
        self.assertEqual('a', getattr(publisher.events[0], 'event_type'))

    def test_all_excluded_events_not_excluded(self):
        event_cfg = ['!b', '!c']
        self._set_pipeline_cfg('events', event_cfg)
        pipeline_manager = pipeline.PipelineManager(self.pipeline_cfg,
                                                    self.transformer_manager,
                                                    self.p_type)
        with pipeline_manager.publisher(None) as p:
            p([self.test_event])

        publisher = pipeline_manager.pipelines[0].publishers[0]
        self.assertEqual(1, len(publisher.events))
        self.assertEqual('a', getattr(publisher.events[0], 'event_type'))

    def test_all_excluded_events_excluded(self):
        event_cfg = ['!a', '!c']
        self._set_pipeline_cfg('events', event_cfg)
        pipeline_manager = pipeline.PipelineManager(self.pipeline_cfg,
                                                    self.transformer_manager,
                                                    self.p_type)
        self.assertFalse(pipeline_manager.pipelines[0].support_event('a'))
        self.assertTrue(pipeline_manager.pipelines[0].support_event('b'))
        self.assertFalse(pipeline_manager.pipelines[0].support_event('c'))

    def test_wildcard_and_excluded_wildcard_events(self):
        event_cfg = ['*', '!compute.*']
        self._set_pipeline_cfg('events', event_cfg)
        pipeline_manager = pipeline.PipelineManager(self.pipeline_cfg,
                                                    self.transformer_manager,
                                                    self.p_type)
        self.assertFalse(pipeline_manager.pipelines[0].
                         support_event('compute.instance.create.start'))
        self.assertTrue(pipeline_manager.pipelines[0].
                        support_event('identity.user.create'))

    def test_included_event_and_wildcard_events(self):
        event_cfg = ['compute.instance.create.start', 'identity.*']
        self._set_pipeline_cfg('events', event_cfg)
        pipeline_manager = pipeline.PipelineManager(self.pipeline_cfg,
                                                    self.transformer_manager,
                                                    self.p_type)
        self.assertTrue(pipeline_manager.pipelines[0].
                        support_event('identity.user.create'))
        self.assertTrue(pipeline_manager.pipelines[0].
                        support_event('compute.instance.create.start'))
        self.assertFalse(pipeline_manager.pipelines[0].
                         support_event('compute.instance.create.stop'))

    def test_excluded_event_and_excluded_wildcard_events(self):
        event_cfg = ['!compute.instance.create.start', '!identity.*']
        self._set_pipeline_cfg('events', event_cfg)
        pipeline_manager = pipeline.PipelineManager(self.pipeline_cfg,
                                                    self.transformer_manager,
                                                    self.p_type)
        self.assertFalse(pipeline_manager.pipelines[0].
                         support_event('identity.user.create'))
        self.assertFalse(pipeline_manager.pipelines[0].
                         support_event('compute.instance.create.start'))
        self.assertTrue(pipeline_manager.pipelines[0].
                        support_event('compute.instance.create.stop'))

    def test_multiple_pipeline(self):
        self._augment_pipeline_cfg()

        pipeline_manager = pipeline.PipelineManager(self.pipeline_cfg,
                                                    self.transformer_manager,
                                                    self.p_type)
        with pipeline_manager.publisher(None) as p:
            p([self.test_event, self.test_event2])

        publisher = pipeline_manager.pipelines[0].publishers[0]
        self.assertEqual(1, len(publisher.events))
        self.assertEqual(1, publisher.calls)
        self.assertEqual('a', getattr(publisher.events[0], 'event_type'))
        new_publisher = pipeline_manager.pipelines[1].publishers[0]
        self.assertEqual(1, len(new_publisher.events))
        self.assertEqual(1, new_publisher.calls)
        self.assertEqual('b', getattr(new_publisher.events[0], 'event_type'))

    def test_multiple_publisher(self):
        self._set_pipeline_cfg('publishers', ['test://', 'new://'])
        pipeline_manager = pipeline.PipelineManager(self.pipeline_cfg,
                                                    self.transformer_manager,
                                                    self.p_type)

        with pipeline_manager.publisher(None) as p:
            p([self.test_event])

        publisher = pipeline_manager.pipelines[0].publishers[0]
        new_publisher = pipeline_manager.pipelines[0].publishers[1]
        self.assertEqual(1, len(publisher.events))
        self.assertEqual(1, len(new_publisher.events))
        self.assertEqual('a', getattr(new_publisher.events[0], 'event_type'))
        self.assertEqual('a', getattr(publisher.events[0], 'event_type'))

    def test_multiple_publisher_isolation(self):
        self._reraise_exception = False
        self._set_pipeline_cfg('publishers', ['except://', 'new://'])
        pipeline_manager = pipeline.PipelineManager(self.pipeline_cfg,
                                                    self.transformer_manager,
                                                    self.p_type)
        with pipeline_manager.publisher(None) as p:
            p([self.test_event])

        publisher = pipeline_manager.pipelines[0].publishers[1]
        self.assertEqual(1, len(publisher.events))
        self.assertEqual('a', getattr(publisher.events[0], 'event_type'))

    def test_unique_pipeline_names(self):
        self._dup_pipeline_name_cfg()
        self._exception_create_pipelinemanager()


text:
require "helper"

describe Google::Cloud::Firestore::Convert, :write_for_delete do
  # These tests are a sanity check on the implementation of the conversion methods.
  # These tests are testing private methods and this is generally not a great idea.
  # But these conversions are so important that it was decided to do it anyway.

  let(:document_path) { "projects/projectID/databases/(default)/documents/C/d" }

  it "delete with exists precondition" do
    expected_write = Google::Firestore::V1beta1::Write.new(
      delete: document_path,
      current_document: Google::Firestore::V1beta1::Precondition.new(exists: true)
    )

    actual_write = Google::Cloud::Firestore::Convert.write_for_delete document_path, exists: true

    actual_write.must_equal expected_write
  end

  it "delete without precondition" do
    expected_write = Google::Firestore::V1beta1::Write.new(
      delete: document_path
    )

    actual_write = Google::Cloud::Firestore::Convert.write_for_delete document_path

    actual_write.must_equal expected_write
  end

  it "delete with last-update-time precondition" do
    delete_time = Time.now - 42 #42 seconds ago

    expected_write = Google::Firestore::V1beta1::Write.new(
      delete: document_path,
      current_document: Google::Firestore::V1beta1::Precondition.new(
        update_time: Google::Cloud::Firestore::Convert.time_to_timestamp(delete_time))
    )

    actual_write = Google::Cloud::Firestore::Convert.write_for_delete document_path, update_time: delete_time
  end
end


text:
//###########################################################################
//
// FILE:    F2837xS_eqep.h
//
// TITLE:   F2837xS Device EQEP Register Definitions.
//
//###########################################################################
// $TI Release: F2837xS Support Library v210 $
// $Release Date: Tue Nov  1 15:35:23 CDT 2016 $
// $Copyright: Copyright (C) 2014-2016 Texas Instruments Incorporated -
//             http://www.ti.com/ ALL RIGHTS RESERVED $
//###########################################################################

#ifndef __F2837xS_EQEP_H__
#define __F2837xS_EQEP_H__

#ifdef __cplusplus
extern "C" {
#endif

//---------------------------------------------------------------------------
// EQEP Individual Register Bit Definitions:

struct QDECCTL_BITS {                   // bits description
    Uint16 rsvd1:5;                     // 4:0 Reserved
    Uint16 QSP:1;                       // 5 QEPS input polarity
    Uint16 QIP:1;                       // 6 QEPI input polarity
    Uint16 QBP:1;                       // 7 QEPB input polarity
    Uint16 QAP:1;                       // 8 QEPA input polarity
    Uint16 IGATE:1;                     // 9 Index pulse gating option
    Uint16 SWAP:1;                      // 10 CLK/DIR Signal Source for Position Counter
    Uint16 XCR:1;                       // 11 External Clock Rate
    Uint16 SPSEL:1;                     // 12 Sync output pin selection
    Uint16 SOEN:1;                      // 13 Sync output-enable
    Uint16 QSRC:2;                      // 15:14 Position-counter source selection
};

union QDECCTL_REG {
    Uint16  all;
    struct  QDECCTL_BITS  bit;
};

struct QEPCTL_BITS {                    // bits description
    Uint16 WDE:1;                       // 0 QEP watchdog enable
    Uint16 UTE:1;                       // 1 QEP unit timer enable
    Uint16 QCLM:1;                      // 2 QEP capture latch mode
    Uint16 QPEN:1;                      // 3 Quadrature postotion counter enable
    Uint16 IEL:2;                       // 5:4 Index event latch
    Uint16 SEL:1;                       // 6 Strobe event latch
    Uint16 SWI:1;                       // 7 Software init position counter
    Uint16 IEI:2;                       // 9:8 Index event init of position count
    Uint16 SEI:2;                       // 11:10 Strobe event init
    Uint16 PCRM:2;                      // 13:12 Postion counter reset
    Uint16 FREE_SOFT:2;                 // 15:14 Emulation mode
};

union QEPCTL_REG {
    Uint16  all;
    struct  QEPCTL_BITS  bit;
};

struct QCAPCTL_BITS {                   // bits description
    Uint16 UPPS:4;                      // 3:0 Unit position event prescaler
    Uint16 CCPS:3;                      // 6:4 eQEP capture timer clock prescaler
    Uint16 rsvd1:8;                     // 14:7 Reserved
    Uint16 CEN:1;                       // 15 Enable eQEP capture
};

union QCAPCTL_REG {
    Uint16  all;
    struct  QCAPCTL_BITS  bit;
};

struct QPOSCTL_BITS {                   // bits description
    Uint16 PCSPW:12;                    // 11:0 Position compare sync pulse width
    Uint16 PCE:1;                       // 12 Position compare enable/disable
    Uint16 PCPOL:1;                     // 13 Polarity of sync output
    Uint16 PCLOAD:1;                    // 14 Position compare of shadow load
    Uint16 PCSHDW:1;                    // 15 Position compare of shadow enable
};

union QPOSCTL_REG {
    Uint16  all;
    struct  QPOSCTL_BITS  bit;
};

struct QEINT_BITS {                     // bits description
    Uint16 rsvd1:1;                     // 0 Reserved
    Uint16 PCE:1;                       // 1 Position counter error interrupt enable
    Uint16 QPE:1;                       // 2 Quadrature phase error interrupt enable
    Uint16 QDC:1;                       // 3 Quadrature direction change interrupt enable
    Uint16 WTO:1;                       // 4 Watchdog time out interrupt enable
    Uint16 PCU:1;                       // 5 Position counter underflow interrupt enable
    Uint16 PCO:1;                       // 6 Position counter overflow interrupt enable
    Uint16 PCR:1;                       // 7 Position-compare ready interrupt enable
    Uint16 PCM:1;                       // 8 Position-compare match interrupt enable
    Uint16 SEL:1;                       // 9 Strobe event latch interrupt enable
    Uint16 IEL:1;                       // 10 Index event latch interrupt enable
    Uint16 UTO:1;                       // 11 Unit time out interrupt enable
    Uint16 rsvd2:4;                     // 15:12 Reserved
};

union QEINT_REG {
    Uint16  all;
    struct  QEINT_BITS  bit;
};

struct QFLG_BITS {                      // bits description
    Uint16 INT:1;                       // 0 Global interrupt status flag
    Uint16 PCE:1;                       // 1 Position counter error interrupt flag
    Uint16 PHE:1;                       // 2 Quadrature phase error interrupt flag
    Uint16 QDC:1;                       // 3 Quadrature direction change interrupt flag
    Uint16 WTO:1;                       // 4 Watchdog timeout interrupt flag
    Uint16 PCU:1;                       // 5 Position counter underflow interrupt flag
    Uint16 PCO:1;                       // 6 Position counter overflow interrupt flag
    Uint16 PCR:1;                       // 7 Position-compare ready interrupt flag
    Uint16 PCM:1;                       // 8 eQEP compare match event interrupt flag
    Uint16 SEL:1;                       // 9 Strobe event latch interrupt flag
    Uint16 IEL:1;                       // 10 Index event latch interrupt flag
    Uint16 UTO:1;                       // 11 Unit time out interrupt flag
    Uint16 rsvd1:4;                     // 15:12 Reserved
};

union QFLG_REG {
    Uint16  all;
    struct  QFLG_BITS  bit;
};

struct QCLR_BITS {                      // bits description
    Uint16 INT:1;                       // 0 Global interrupt clear flag
    Uint16 PCE:1;                       // 1 Clear position counter error interrupt flag
    Uint16 PHE:1;                       // 2 Clear quadrature phase error interrupt flag
    Uint16 QDC:1;                       // 3 Clear quadrature direction change interrupt flag
    Uint16 WTO:1;                       // 4 Clear watchdog timeout interrupt flag
    Uint16 PCU:1;                       // 5 Clear position counter underflow interrupt flag
    Uint16 PCO:1;                       // 6 Clear position counter overflow interrupt flag
    Uint16 PCR:1;                       // 7 Clear position-compare ready interrupt flag
    Uint16 PCM:1;                       // 8 Clear eQEP compare match event interrupt flag
    Uint16 SEL:1;                       // 9 Clear strobe event latch interrupt flag
    Uint16 IEL:1;                       // 10 Clear index event latch interrupt flag
    Uint16 UTO:1;                       // 11 Clear unit time out interrupt flag
    Uint16 rsvd1:4;                     // 15:12 Reserved
};

union QCLR_REG {
    Uint16  all;
    struct  QCLR_BITS  bit;
};

struct QFRC_BITS {                      // bits description
    Uint16 rsvd1:1;                     // 0 Reserved
    Uint16 PCE:1;                       // 1 Force position counter error interrupt
    Uint16 PHE:1;                       // 2 Force quadrature phase error interrupt
    Uint16 QDC:1;                       // 3 Force quadrature direction change interrupt
    Uint16 WTO:1;                       // 4 Force watchdog time out interrupt
    Uint16 PCU:1;                       // 5 Force position counter underflow interrupt
    Uint16 PCO:1;                       // 6 Force position counter overflow interrupt
    Uint16 PCR:1;                       // 7 Force position-compare ready interrupt
    Uint16 PCM:1;                       // 8 Force position-compare match interrupt
    Uint16 SEL:1;                       // 9 Force strobe event latch interrupt
    Uint16 IEL:1;                       // 10 Force index event latch interrupt
    Uint16 UTO:1;                       // 11 Force unit time out interrupt
    Uint16 rsvd2:4;                     // 15:12 Reserved
};

union QFRC_REG {
    Uint16  all;
    struct  QFRC_BITS  bit;
};

struct QEPSTS_BITS {                    // bits description
    Uint16 PCEF:1;                      // 0 Position counter error flag.
    Uint16 FIMF:1;                      // 1 First index marker flag
    Uint16 CDEF:1;                      // 2 Capture direction error flag
    Uint16 COEF:1;                      // 3 Capture overflow error flag
    Uint16 QDLF:1;                      // 4 eQEP direction latch flag
    Uint16 QDF:1;                       // 5 Quadrature direction flag
    Uint16 FIDF:1;                      // 6 The first index marker
    Uint16 UPEVNT:1;                    // 7 Unit position event flag
    Uint16 rsvd1:8;                     // 15:8 Reserved
};

union QEPSTS_REG {
    Uint16  all;
    struct  QEPSTS_BITS  bit;
};

struct EQEP_REGS {
    Uint32                                   QPOSCNT;                      // Position Counter
    Uint32                                   QPOSINIT;                     // Position Counter Init
    Uint32                                   QPOSMAX;                      // Maximum Position Count
    Uint32                                   QPOSCMP;                      // Position Compare
    Uint32                                   QPOSILAT;                     // Index Position Latch
    Uint32                                   QPOSSLAT;                     // Strobe Position Latch
    Uint32                                   QPOSLAT;                      // Position Latch
    Uint32                                   QUTMR;                        // QEP Unit Timer
    Uint32                                   QUPRD;                        // QEP Unit Period
    Uint16                                   QWDTMR;                       // QEP Watchdog Timer
    Uint16                                   QWDPRD;                       // QEP Watchdog Period
    union   QDECCTL_REG                      QDECCTL;                      // Quadrature Decoder Control
    union   QEPCTL_REG                       QEPCTL;                       // QEP Control
    union   QCAPCTL_REG                      QCAPCTL;                      // Qaudrature Capture Control
    union   QPOSCTL_REG                      QPOSCTL;                      // Position Compare Control
    union   QEINT_REG                        QEINT;                        // QEP Interrupt Control
    union   QFLG_REG                         QFLG;                         // QEP Interrupt Flag
    union   QCLR_REG                         QCLR;                         // QEP Interrupt Clear
    union   QFRC_REG                         QFRC;                         // QEP Interrupt Force
    union   QEPSTS_REG                       QEPSTS;                       // QEP Status
    Uint16                                   QCTMR;                        // QEP Capture Timer
    Uint16                                   QCPRD;                        // QEP Capture Period
    Uint16                                   QCTMRLAT;                     // QEP Capture Latch
    Uint16                                   QCPRDLAT;                     // QEP Capture Period Latch
    Uint16                                   rsvd1;                        // Reserved
};

//---------------------------------------------------------------------------
// EQEP External References & Function Declarations:
//
extern volatile struct EQEP_REGS EQep1Regs;
extern volatile struct EQEP_REGS EQep2Regs;
extern volatile struct EQEP_REGS EQep3Regs;
#ifdef __cplusplus
}
#endif                                  /* extern "C" */

#endif

//===========================================================================
// End of file.
//===========================================================================


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

    <!-- title for the dialog showing the error of camera hardware -->
    <string name="camera_error_title">Camera error</string>

    <!-- message for the dialog showing the error of camera hardware -->
    <string name="cannot_connect_camera">Cannot connect to camera.</string>

    <!-- Details dialog "OK" button. Dismisses dialog. -->
    <string name="details_ok">OK</string>

	<string name="app_name">tms_ur_dbbrowser</string>

    <string name="txtDesc">NoImage</string>
    <string name="Result">RESULT</string>
    <string name="txtSend">SEND</string>
    <string name="descImage">No Image</string>
    <string name="txtUser">UserID:</string>
    <string name="userID">1</string>
    <string name="txtPlace">Destination:</string>
    <string name="placeID">14</string>
    <string name="txtTime">minits Later</string>
    <string name="time">0</string>
    <string name="txtRenew">RENEW</string>
    <string name="txtApply">Apply</string>
    <string name="txtCancel">Cancel</string>
    <string name="txtSetting">SET</string>
    <string name="titleUID">UserID:</string>
    <string name="titleFTPIP">IPAddress(FTPServer):</string>
    <string name="titleFTPUsrName">FtpUsrName:</string>
    <string name="titleFTPPass">FTPPass:</string>
</resources>


text:
<?php

namespace Indigo\Backup\Source;

use Psr\Log\LoggerAwareInterface;
use Psr\Log\LoggerInterface;

/**
 * Abstract Connector class
 *
 * @author Márk Sági-Kazár <mark.sagikazar@gmail.com>
 */
abstract class AbstractSource implements SourceInterface, LoggerAwareInterface
{
    /**
     * Logger instance
     *
     * @var LoggerInterface
     */
    protected $logger;

    /**
     * Sets a logger instance on the object
     *
     * @param LoggerInterface $logger
     */
    public function setLogger(LoggerInterface $logger)
    {
        $this->logger = $logger;
    }
}


text:
import numpy as np

class EqualityMixin(object):
    """A Class which provides generic __eq__ and __ne__ functionality which
    can easily be inherited by downstream classes.
    """

    def __eq__(self, other):
        if isinstance(other, type(self)):
            for key, value in self.__dict__.items():
                if not np.array_equal(value, other.__dict__.get(key)):
                    return False
        else:
            return False

        return True

    def __ne__(self, other):
        return not self.__eq__(other)


text: RaspberryPi relay interface for Bleepr