text:
# Boost.CMake support
# Copyright Raffi Enficiaud 2017
#
# Distributed under the Boost Software License, Version 1.0.
#    (See accompanying file LICENSE_1_0.txt or copy at
#          http://www.boost.org/LICENSE_1_0.txt)

include(CMakeParseArguments)

#.rst:
# .. command:: boost_get_all_libs
#
#   Returns all subfolders of a path. Only directories are kept
#
#   ::
#
#     boost_get_all_libs(
#         PATH path1 [path2 ...]
#         OUTPUT_VAR output_variable
#         [RELATIVE_PATH relative_to]
#         )
#
#   ``PATH``
#     the folders under which the subfolders will be discovered
#   ``OUTPUT_VAR``
#     the output variable that will be filled with the list of folders
#   ``RELATIVE_PATH``
#     (optional) if set, the returned path will be relative to this path
#   ``SHOULD_HAVE_INCLUDE``:
#     (optional) if set to True, then a library will be considered only if it contains
#     an ``include`` subfolder directly at its root. This is for discovering sub projects
#     (eg. boost.numerics)
function(boost_get_all_libs)

  set(options SHOULD_HAVE_INCLUDE)
  set(oneValueArgs RELATIVE_PATH OUTPUT_VAR)
  set(multiValueArgs PATH)
  cmake_parse_arguments(local_cmd "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN})

  if("${local_cmd_PATH}" STREQUAL "")
    message(FATAL_ERROR "empty path given to boost_get_all_libs")
  endif()

  if("${local_cmd_OUTPUT_VAR}"  STREQUAL "")
    message(FATAL_ERROR "empty output variable given to boost_get_all_libs")
  endif()

  if("${local_cmd_SHOULD_HAVE_INCLUDE}"  STREQUAL "")
    set(local_cmd_SHOULD_HAVE_INCLUDE FALSE)
  endif()

  set(glob_additional_options)
  if(NOT "${local_cmd_RELATIVE_PATH}" STREQUAL "")
    set(glob_additional_options RELATIVE "${local_cmd_RELATIVE_PATH}")
  endif()

  set(glob_discovered_trimmed)
  foreach(_current_path IN LISTS local_cmd_PATH)
    file(GLOB glob_discovered
         LIST_DIRECTORIES true
         ${glob_additional_options}
         "${_current_path}/*"
         )

    foreach(_lib IN LISTS glob_discovered)
      if(NOT IS_DIRECTORY "${local_cmd_RELATIVE_PATH}/${_lib}")
        continue()
      endif()

      if("${CMAKE_CURRENT_LIST_DIR}" STREQUAL "${local_cmd_RELATIVE_PATH}/${_lib}")
        continue()
      endif()

      if(NOT (EXISTS "${local_cmd_RELATIVE_PATH}/${_lib}/include") AND "${local_cmd_SHOULD_HAVE_INCLUDE}")
        # message(STATUS "Parsing subfolders of '${local_cmd_RELATIVE_PATH}/${_lib}'")
        file(GLOB glob_discovered_secondary
             LIST_DIRECTORIES true
             ${glob_additional_options}
             "${local_cmd_RELATIVE_PATH}/${_lib}/*"
             )
        #message(STATUS "${local_cmd_RELATIVE_PATH}/${_lib}/ : ${glob_discovered_secondary}")
        foreach(_lib_secondary IN LISTS glob_discovered_secondary)
          if(NOT IS_DIRECTORY "${local_cmd_RELATIVE_PATH}/${_lib_secondary}")
            continue()
          endif()
          if(NOT EXISTS "${local_cmd_RELATIVE_PATH}/${_lib_secondary}/include")
            continue()
          endif()
          list(APPEND glob_discovered_trimmed ${_lib_secondary})
          #message(STATUS "Library ${_lib_secondary}")
        endforeach()
      else()
        list(APPEND glob_discovered_trimmed ${_lib})
        #message(STATUS "Library ${_lib}")
      endif()

    endforeach()
  endforeach() # path
  set(${local_cmd_OUTPUT_VAR} ${glob_discovered_trimmed} PARENT_SCOPE)
endfunction()

#.rst:
# .. command:: boost_get_package_component_from_name
#
#   Function that splits path/package:component into appropriate variables
#
#   ::
#
#     boost_get_package_component_from_name(
#         name
#         path
#         package
#         component
#         [PACKAGE_STRIP_PATH folder1 [folder2 ...]]
#         )
#
#  * ``name`` input name of the current component, which can be a path
#  * ``path`` returned path of the package
#  * ``package`` returned package name of the component
#  * ``component`` name of the component within the package
#  * ``PACKAGE_STRIP_PATH`` if provided, strips this part from the ``name`` of the
#    component (and not from the path)
function(boost_get_package_component_from_name name path package component)

  set(options )
  set(oneValueArgs )
  set(multiValueArgs PACKAGE_STRIP_PATH)
  cmake_parse_arguments(local_cmd "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN})

  string(FIND "${name}" ":" _index REVERSE)
  math(EXPR _indexp1 "${_index} + 1")
  string(SUBSTRING "${name}" "0" "${_index}" _package_path)
  string(SUBSTRING "${name}" "${_indexp1}" "-1" _component)

  string(FIND "${_package_path}" "/" _index REVERSE)
  if("${_index}" STREQUAL "-1")
    set(_path "${_package_path}")
    set(_package "${_package_path}")
  else()
    string(SUBSTRING "${_package_path}" "0" "${_index}" _path)
    math(EXPR _indexp1 "${_index} + 1")
    string(SUBSTRING "${_package_path}" "${_indexp1}" "-1" _package)
    string(REPLACE "/" ":" _path_colons "${_path}")

    set(_path "${_path}/${_package}")
    set(_package "${_path}")
  endif()

  if(NOT ("${local_cmd_PACKAGE_STRIP_PATH}" STREQUAL ""))
    foreach(_strip IN LISTS local_cmd_PACKAGE_STRIP_PATH)
      # removing trailing '/'
      string(FIND "${_strip}" "/" _index REVERSE)
      string(SUBSTRING "${_strip}" "0" "${_index}" _strip)

      string(FIND "${_package}" "${_strip}/" _index)
      if("${_index}" STREQUAL "-1")
        continue()
      endif()

      string(REPLACE "${_strip}/" "" _package "${_package}")
      break()
    endforeach()
  endif()

  set(${path} ${_path} PARENT_SCOPE)
  set(${package} ${_package} PARENT_SCOPE)
  set(${component} ${_component} PARENT_SCOPE)
endfunction()

#.rst:
# .. command:: boost_discover_packages_and_components
#
#   Returns all packages and components from a list of parsed folders
#   (see :command:`boost_get_all_libs`)
#
#   ::
#
#     boost_discover_packages_and_components(
#         LIST_FOLDERS list_of_folders
#         RELATIVE_PATH relative_path
#         PACKAGES_OUTPUT_VAR variable_of_packages
#         COMPONENTS_OUTPUT_VAR variable_of_components
#         PACKAGES_FOLDER_VAR package_folders
#         [PACKAGE_STRIP_PATH folder1 [folder2 ...]]
#         )
#
#   ``LIST_FOLDERS``
#     the list of folders previously discovered with :command:`boost_get_all_libs`
#   ``RELATIVE_PATH``
#     the root folder base of the element of the list
#   ``PACKAGES_OUTPUT_VAR``
#     the variable that receives the packages
#   ``PACKAGES_FOLDER_VAR``
#     the variable that recieves the package folders. This is in the form
#     "package_name=package_folder", where package_folder is ``${RELATIVE_PATH}/${element}``
#     with ``${element}`` being an element of ``list_of_folders``
#   ``COMPONENTS_OUTPUT_VAR``
#     the variable that receives the components
#   ``PACKAGE_STRIP_PATH`` removes those prefixes from the component names (forwarded to
#     ``boost_get_package_component_from_name``)
#
# The packages and components are all in lower case. The components are in the form
# `package_name:component_name`.
function(boost_discover_packages_and_components)

  set(options )
  set(oneValueArgs RELATIVE_PATH PACKAGES_OUTPUT_VAR PACKAGES_FOLDER_VAR COMPONENTS_OUTPUT_VAR DEPENDENCY_VAR)
  set(multiValueArgs LIST_FOLDERS PACKAGE_STRIP_PATH)
  cmake_parse_arguments(local_cmd "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN})

  # discovering all components
  set(standard_components "DOC" "TEST" "BUILD")
  set(description_file "build/boost-decl.cmake")

  set(all_packages )
  set(all_packages_and_components )
  set(all_components_dependency)
  set(all_packages_folders )
  foreach(_lib IN LISTS local_cmd_LIST_FOLDERS)

    # _lib can potentially contain a '/' and be "path": eg "numeric/ublas"
    boost_get_package_component_from_name(
      "${_lib}:"
      path
      package
      _component_dummy
      PACKAGE_STRIP_PATH "${local_cmd_PACKAGE_STRIP_PATH}")
    string(TOLOWER "${package}" CURRENT_PACKAGE_NAME_LOWER)
    string(TOUPPER "${package}" CURRENT_PACKAGE_NAME)

    # if there is no description of the component, then we do this implictely
    # by adding the :build component and making doc/test appear as dependencies (if those exist)

    if(EXISTS "${local_cmd_RELATIVE_PATH}/${_lib}/${description_file}")
      message(STATUS "Exploring dependencies of library ${_lib}")

      # The package declare its name in the variable "CURRENT_PACKAGE"
      set(CURRENT_PACKAGE ${CURRENT_PACKAGE_NAME_LOWER})
      include("${local_cmd_RELATIVE_PATH}/${_lib}/${description_file}")
      if("${CURRENT_PACKAGE}" IN_LIST all_packages)
        message(FATAL_ERROR "Package ${CURRENT_PACKAGE} from file '${local_cmd_RELATIVE_PATH}/${_lib}/${description_file}'
                            already defined")
      endif()

      list(APPEND all_packages ${CURRENT_PACKAGE})
      list(APPEND all_packages_folders "${CURRENT_PACKAGE}=${path}")

      set(_current_package_components ${BOOST_LIB_${CURRENT_PACKAGE_NAME}_COMPONENTS})
      message(STATUS "    ** ${CURRENT_PACKAGE_NAME} defines components '${_current_package_components}'")
      # todo: check that package has not been defined yet

      # integrity check and discovery
      foreach(_component IN LISTS _current_package_components)
        string(TOLOWER ${_component} CURRENT_COMPONENT_NAME_LOWER)
        string(TOUPPER ${_component} CURRENT_COMPONENT_NAME)
        if(NOT ("${CURRENT_COMPONENT_NAME}" IN_LIST standard_components))
          message(WARNING "Non standard component '${_component}'")
        endif()
        set(_current_component_dependencies ${BOOST_LIB_${CURRENT_PACKAGE_NAME}_COMPONENTS_${CURRENT_COMPONENT_NAME}_DEPENDENCY})
        message(STATUS "    *** '${_component}' depends on '${_current_component_dependencies}'")
        list(APPEND all_packages_and_components "${CURRENT_PACKAGE_NAME_LOWER}:${CURRENT_COMPONENT_NAME_LOWER}")
        foreach(_dependency IN LISTS _current_component_dependencies)
          list(APPEND all_components_dependency "${CURRENT_PACKAGE_NAME_LOWER}:${CURRENT_COMPONENT_NAME_LOWER}:${_dependency}")
        endforeach()
        # todo: check that component has not been defined yet

        # advertising the components dependencies to the parent
        #set(BOOST_LIB_${CURRENT_PACKAGE_NAME}_COMPONENTS_${CURRENT_COMPONENT_NAME}_DEPENDENCY
        #    ${BOOST_LIB_${CURRENT_PACKAGE_NAME}_COMPONENTS_${CURRENT_COMPONENT_NAME}_DEPENDENCY}
        #    PARENT_SCOPE)
      endforeach()
    else()
      message(STATUS "** Package [implicit] ${CURRENT_PACKAGE_NAME_LOWER} with component 'build'")
      list(APPEND all_packages ${CURRENT_PACKAGE_NAME_LOWER})
      list(APPEND all_packages_folders "${CURRENT_PACKAGE_NAME_LOWER}=${path}")
      list(APPEND all_packages_and_components "${CURRENT_PACKAGE_NAME_LOWER}:build")
      if(FALSE)
        # for the moment: disabling as there are some libs containing a CMakeLists.txt that is breaking the full project
        foreach(_current_component doc test)
          if(EXISTS "${local_cmd_RELATIVE_PATH}/${_lib}/${_current_component}/CMakeLists.txt")
            list(APPEND all_packages_and_components "${CURRENT_PACKAGE_NAME_LOWER}:${_current_component}")
            list(APPEND all_components_dependency "${CURRENT_PACKAGE_NAME_LOWER}:${_current_component}:${CURRENT_PACKAGE_NAME_LOWER}:build")
          endif()
        endforeach()
      endif()
    endif()
  endforeach()

  # advertising all package:components to the parent scope
  set(${local_cmd_PACKAGES_OUTPUT_VAR} ${all_packages} PARENT_SCOPE)
  set(${local_cmd_COMPONENTS_OUTPUT_VAR} ${all_packages_and_components} PARENT_SCOPE)
  set(${local_cmd_DEPENDENCY_VAR} ${all_components_dependency} PARENT_SCOPE)
  set(${local_cmd_PACKAGES_FOLDER_VAR} ${all_packages_folders} PARENT_SCOPE)
endfunction()

#.rst:
# .. command:: boost_get_all_components
#
#  Returns all the components of a given package
function(boost_package_get_all_components )
  set(options )
  set(oneValueArgs PACKAGE OUTPUT_VAR )
  set(multiValueArgs ALL_COMPONENTS)
  cmake_parse_arguments(local_cmd "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN})

  set(all_components )
  string(TOLOWER ${local_cmd_PACKAGE} CURRENT_PACKAGE_NAME_LOWER)
  foreach(_comp IN LISTS local_cmd_ALL_COMPONENTS)
    string(FIND "${_comp}" "${CURRENT_PACKAGE_NAME_LOWER}:" _index)
    if(NOT "${_index}" EQUAL "0")
      string(LENGTH "${CURRENT_PACKAGE_NAME_LOWER}:" _length)
      string(SUBSTRING "${_comp}" "${_length}" "-1" _package_component)
      list(APPEND all_components ${_package_component})
    endif()
  endforeach()
  set(${local_cmd_OUTPUT_VAR} ${all_components} PARENT_SCOPE)
endfunction()

#.rst:
# .. command:: boost_get_all_components
#
#  Returns all the components of a given package
#
#  ``COMPONENT``
#    name of the component
#  ``OUTPUT_VAR``
#    variable that will receive the list of dependencies
#  ``ALL_DEPENDENCIES``
#    variable containing all the dependencies (discovered by :command:`boost_discover_packages_and_components`)
function(boost_package_get_all_dependencies )
  set(options )
  set(oneValueArgs COMPONENT OUTPUT_VAR )
  set(multiValueArgs ALL_DEPENDENCIES)
  cmake_parse_arguments(local_cmd "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN})

  set(all_dependencies )
  string(TOLOWER ${local_cmd_COMPONENT} CURRENT_COMPONENT_NAME_LOWER)
  foreach(_comp IN LISTS local_cmd_ALL_DEPENDENCIES)
    string(FIND "${_comp}" "${CURRENT_COMPONENT_NAME_LOWER}:" _index)
    if("${_index}" EQUAL "0")
      string(LENGTH "${CURRENT_COMPONENT_NAME_LOWER}:" _length)
      string(SUBSTRING "${_comp}" "${_length}" "-1" _component_dependencies)
      list(APPEND all_dependencies ${_component_dependencies})
    endif()
  endforeach()
  set(${local_cmd_OUTPUT_VAR} ${all_dependencies} PARENT_SCOPE)
endfunction()

#.rst:
# .. command:: boost_add_subdirectories_in_order
#
#  Adds the components by honoring the dependencies.
#
#  ``COMPONENT``
#    if specified: narrows the inclusion to this component and its dependencies (not implemented yet)
#  ``RELATIVE_PATH``
#    the base folder of the element of the list
#  ``ALL_DEPENDENCIES``
#    variable containing all the dependencies (discovered by :command:`boost_discover_packages_and_components`)
#  ``ALL_COMPONENTS``
#    variable containing all the components (discovered by :command:`boost_discover_packages_and_components`)
#  ``ALL_FOLDERS``
#    variable containing the location of the packages relative to ``RELATIVE_PATH``.
#  ``VISIBLE_HEADER_ONLY``
#    an option that, if set, will create a custom target for header only libraries such that their sources
#    are available in an IDE
#  ``EXCLUDE_FROM_ALL_COMPONENTS``
#    indicates the components to be excluded (eg. doc, test) by the default build
#  ``SUBSET_TO``
#    if defined, will restrict the set of all component to the provided list and all their dependecies (transitive to their parent)
#
# When a component is added, the variables ``BOOST_CURRENT_PACKAGE`` and ``BOOST_CURRENT_COMPONENT`` are defined
# to reflect the current package/component being added.
#
function(boost_add_subdirectories_in_order)
  set(options VISIBLE_HEADER_ONLY)
  set(oneValueArgs COMPONENT RELATIVE_PATH )
  set(multiValueArgs ALL_DEPENDENCIES ALL_FOLDERS ALL_COMPONENTS EXCLUDE_FROM_ALL_COMPONENTS SUBSET_TO)
  cmake_parse_arguments(local_cmd "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN})

  set(lower_case_component_to_exclude)
  foreach(_element IN LISTS local_cmd_EXCLUDE_FROM_ALL_COMPONENTS)
    string(TOLOWER ${_element} _lower)
    list(APPEND lower_case_component_to_exclude "${_lower}")
  endforeach()

  set(subset_component_to_add)
  if("${local_cmd_SUBSET_TO}" STREQUAL "")
    set(subset_component_to_add ${local_cmd_ALL_COMPONENTS})
  else()
    list(REMOVE_DUPLICATES local_cmd_SUBSET_TO)
    # message(STATUS "Subset of components: '${local_cmd_SUBSET_TO}'")
    while(NOT "${local_cmd_SUBSET_TO}" STREQUAL "")
      #message(STATUS "local_cmd_SUBSET_TO: ${local_cmd_SUBSET_TO}")
      list(GET local_cmd_SUBSET_TO 0 current_component)
      list(REMOVE_AT local_cmd_SUBSET_TO 0)
      list(APPEND subset_component_to_add ${current_component})
      boost_package_get_all_dependencies(
        COMPONENT ${current_component}
        ALL_DEPENDENCIES ${local_cmd_ALL_DEPENDENCIES}
        OUTPUT_VAR current_component_dependencies
      )
      foreach(_component IN LISTS current_component_dependencies)
        if(${_component} IN_LIST subset_component_to_add)
          continue()
        endif()
        list(APPEND local_cmd_SUBSET_TO ${_component})
      endforeach()
    endwhile()
  endif()
  # message(STATUS "Components to build: '${subset_component_to_add}'")

  list(REMOVE_DUPLICATES subset_component_to_add)
  list(LENGTH subset_component_to_add length_components)

  set(already_added_components)
  set(length_added_components 0)

  # best would be to have a recursive algorithm instead
  while("${length_added_components}" LESS "${length_components}")
    # adding components in order
    foreach(_component IN LISTS subset_component_to_add)

      if(${_component} IN_LIST already_added_components)
        continue()
      endif()

      #message("Checking component ${_component}")
      boost_package_get_all_dependencies(
        COMPONENT ${_component}
        ALL_DEPENDENCIES ${local_cmd_ALL_DEPENDENCIES}
        OUTPUT_VAR current_component_dependencies
      )

      set(component_dependencies_all_added TRUE)
      foreach(_dependency IN LISTS current_component_dependencies)
        # checking
        if(NOT (${_dependency} IN_LIST local_cmd_ALL_COMPONENTS))
          message(FATAL_ERROR "The dependency '${_dependency}' for component '${_component}' does not exist (${local_cmd_ALL_COMPONENTS})")
        endif()

        if(NOT (${_dependency} IN_LIST already_added_components))
          #message("'${_dependency}' not yet added")
          set(component_dependencies_all_added FALSE)
          break()
        endif()
      endforeach()

      if(${component_dependencies_all_added})
        list(APPEND already_added_components ${_component})
        boost_get_package_component_from_name("${_component}" path current_package current_component)
        message(STATUS "[COMPONENT] ${current_package}:${current_component}: '${path}'")

        set(BOOST_CURRENT_PACKAGE "${current_package}")
        set(BOOST_CURRENT_COMPONENT "${current_component}")
        string(REPLACE "/" "_" current_package_no_slash "${current_package}")

        # find the location
        set(_found_location)
        foreach(_var_location IN LISTS local_cmd_ALL_FOLDERS)
          string(REGEX MATCH "^${current_package}=(.+)" _var_out "${_var_location}")
          if(NOT ("${CMAKE_MATCH_1}" STREQUAL ""))
            set(_found_location "${CMAKE_MATCH_1}")
            break()
          endif()
        endforeach()

        if("${_found_location}" STREQUAL "")
          message(FATAL_ERROR "Location for '${current_package}' not found")
        endif()

        if(EXISTS "${local_cmd_RELATIVE_PATH}/${_found_location}/${current_component}/CMakeLists.txt")
          # in case we have a proper CMakeLists.txt, we include it
          set(add_subdirectory_options)
          if("${current_component}" IN_LIST lower_case_component_to_exclude)
            set(add_subdirectory_options EXCLUDE_FROM_ALL)
          endif()
          add_subdirectory(${local_cmd_RELATIVE_PATH}/${_found_location}/${current_component}
                           tmp_boost_${current_package}_${current_component}
                           ${add_subdirectory_options})
        elseif("${current_component}" STREQUAL "build")
          # in case we do not have a cmakelists.txt, we simulate a header only
          # this works **only** for the build component, otherwise we have duplicated
          # targets
          message(STATUS "   header")
          add_library(boost_${current_package_no_slash}_header_only INTERFACE)
          target_include_directories(boost_${current_package_no_slash}_header_only
            INTERFACE
              $<BUILD_INTERFACE:${local_cmd_RELATIVE_PATH}/${_found_location}/include>
              $<INSTALL_INTERFACE:${_found_location}/include>)
          add_library(boost::${current_package_no_slash} ALIAS boost_${current_package_no_slash}_header_only)
          add_library(boost::${current_package_no_slash}::header ALIAS boost_${current_package_no_slash}_header_only)

          # add all the dependencies
          set(all_current_dependencies)
          foreach(_dependency IN LISTS current_component_dependencies)
            boost_get_package_component_from_name("${_dependency}"
              path_deps
              package_deps
              component_deps)
            string(REPLACE "/" "_" deps_package_no_slash "${package_deps}")
            #message(STATUS "The dependency 'boost_${current_package_no_slash}_header_only' is '${deps_package_no_slash}'")
            list(APPEND all_current_dependencies "${package_deps}")
            target_link_libraries(boost_${current_package_no_slash}_header_only
              INTERFACE boost::${deps_package_no_slash})
          endforeach()

          if(NOT "${all_current_dependencies}" STREQUAL "")
            message(STATUS "   DEPENDS ON:")
            foreach(_dependency IN LISTS all_current_dependencies)
                message(STATUS "   - ${_dependency}")
            endforeach()
          endif()

          # adding header files on demand
          if(${local_cmd_VISIBLE_HEADER_ONLY})
            file(GLOB_RECURSE
                 _current_library_headers
                 ${local_cmd_RELATIVE_PATH}/${_found_location}/include/*)
            add_custom_target(
              boost_${current_package_no_slash}
              SOURCES ${_current_library_headers})
            set_target_properties(boost_${current_package_no_slash}
              PROPERTIES FOLDER "boost.${BOOST_CURRENT_PACKAGE}/${BOOST_CURRENT_COMPONENT}")
          endif()
        endif()
      endif()

    endforeach()

    list(LENGTH already_added_components length_added_components)
  endwhile()
endfunction()

repository: raffienficiaud/boost-cmake

repo_name: raffienficiaud/boost-cmake


text:
@article{Haase_2015,
 author = {Haase, Santiago and Sciocco-Cap, Alicia and Romanowski, V{\'{\i}}ctor},
 title = {Baculovirus Insecticides in Latin America: Historical Overview, Current Status and Future Perspectives},
 journal = {Viruses},
 publisher = {{MDPI} {AG}},
 year = {2015},
 month = {apr},
 number = {5},
 volume = {7},
 pages = {2230--2267},
 url = {https://doi.org/10.3390%2Fv7052230},
 doi = {10.3390/v7052230}
}

license: MIT

license_type: permissive

branch_name: refs/heads/master

extension: bib


text:
require samba.inc
require samba-basic.inc
LICENSE = "GPLv3"
S = "${WORKDIR}/samba-${PV}/source3"

# 3.3.0 and newer will upgrade your tdb database to a
# new version that you can not downgrade to use with older
# releases. More testing will happen before this is removed
# should there be further issues. Appears to work though :)
DEFAULT_PREFERENCE = "-1"

SRC_URI += "file://config-h.patch \
            file://tdbheaderfix.patch;apply=no"

PR = "r0"

EXTRA_OECONF += "\
	SMB_BUILD_CC_NEGATIVE_ENUM_VALUES=yes \
	samba_cv_CC_NEGATIVE_ENUM_VALUES=yes \
	linux_getgrouplist_ok=no \
	samba_cv_HAVE_BROKEN_GETGROUPS=no \
	samba_cv_HAVE_FTRUNCATE_EXTEND=yes \
	samba_cv_have_setresuid=yes \
	samba_cv_have_setresgid=yes \
	samba_cv_HAVE_WRFILE_KEYTAB=yes \
	samba_cv_linux_getgrouplist_ok=yes \
	"

do_configure() {
	# Patches we must apply by hand due to layout.
	cd ..
	patch -p1 -i ${WORKDIR}/tdbheaderfix.patch
	cd source3

	oe_runconf
}

do_compile () {
	base_do_compile
}

SRC_URI[md5sum] = "bf6c09ea497a166df8bd672db1d8da8f"
SRC_URI[sha256sum] = "466410868375d19a286ac3fc5d9f3c267ce359189f8e0d76e72ec10bd54247da"

repository: overo/overo-oe-natty

repo_name: overo/overo-oe-natty

branch_name: HEAD

extension: bb


text:
include(RunCMake)

if (CMAKE_C_COMPILER_ID MATCHES "Clang|GNU")
  run_cmake(CheckCLinkerFlag)
  run_cmake(CheckCXXLinkerFlag)
  if (APPLE)
    run_cmake(CheckOBJCLinkerFlag)
    run_cmake(CheckOBJCXXLinkerFlag)
  endif()
endif()

if (CMAKE_Fortran_COMPILER_ID MATCHES "GNU")
  run_cmake(CheckFortranLinkerFlag)
endif()

if (CMake_TEST_CUDA)
  run_cmake(CheckCUDALinkerFlag)
endif()

repository: lanza/CMake

repo_name: lanza/CMake

gha_license_id: NOASSERTION

extension: cmake


text:
include gstreamer1.0-libav.inc

LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
                    file://COPYING.LIB;md5=6762ed442b3822387a51c92d928ead0d \
                    file://ext/libav/gstav.h;beginline=1;endline=18;md5=a752c35267d8276fd9ca3db6994fca9c \
                    file://gst-libs/ext/libav/COPYING.GPLv2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
                    file://gst-libs/ext/libav/COPYING.GPLv3;md5=d32239bcb673463ab874e80d47fae504 \
                    file://gst-libs/ext/libav/COPYING.LGPLv2.1;md5=bd7a443320af8c812e4c18d1b79df004 \
                    file://gst-libs/ext/libav/COPYING.LGPLv3;md5=e6a600fd5e1d9cbde2d983680233ad02"

SRC_URI = " \
    http://gstreamer.freedesktop.org/src/gst-libav/gst-libav-${PV}.tar.xz \
    file://0001-Disable-yasm-for-libav-when-disable-yasm.patch \
    file://workaround-to-build-gst-libav-for-i586-with-gcc.patch \
"

SRC_URI[md5sum] = "cfe9a06913d4fd4067e9e47f6e05fac2"
SRC_URI[sha256sum] = "857b9c060a0337de38c6d26238c47352433c02eabf26c2f860c854dbc35bd4ab"

S = "${WORKDIR}/gst-libav-${PV}"

gha_language: BitBake


text:
@article{hobden_rates_2017,
 abstract = {© 2017 La Trobe University. Limited data exist regarding co-occurring alcohol misuse and depression among general practice patients. This study examined the prevalence of depression by level of alcohol misuse, and the sociodemographic factors associated with depression and increased alcohol misuse severity. A cross-sectional survey was administered to 3559 Australian general practice patients. Patients completed their demographic details, the Patient Health Questionnaire (9-item) and the Alcohol Use Disorder Identification Test (Consumption items). The prevalence of alcohol misuse and depression was 6.7%, and depression prevalence varied significantly according to level of alcohol misuse (P\textless0.001). Age, gender, Aboriginality and number of chronic diseases were associated with depression and higher levels of alcohol misuse. These findings may assist General Practitioners in identifying those at risk of experiencing co-morbid depression and alcohol use, and aid in effective treatment and referral.},
 author = {Hobden, B. and Bryant, J. and Sanson-Fisher, R. and Oldmeadow, C. and Carey, M.},
 doi = {10.1071/PY16076},
 issn = {1836-7399},
 journal = {Australian Journal of Primary Health},
 keywords = {alcohol},
 month = {January},
 number = {3},
 pages = {263--267},
 title = {Do rates of depression vary by level of alcohol misuse in Australian general practice?},
 volume = {23},
 year = {2017}
}

repository: ChrisOldmeadow/academic-kickstart

repo_name: ChrisOldmeadow/academic-kickstart


text:
// @flow
import model from './model/index.mjs';
import views from './views.mjs';
import viewModels from './viewModels/index.mjs';
import nap from './nap/index.mjs';
import pageActions from './actions/index.mjs';

export function state(model/*: Model*/)/*: string*/ {
  const { page } = model;
  const representation = views[page](viewModels[page](model));
  return representation;
}

export const actions = {
  goTo(page/*: string*/)/*: void*/ {
    accept({ page, initializingPage: true });
  },
  initPage(model/*: Model*/)/*: void*/ {
    const data = pageActions[model.page].initPage(model);
    accept({ ...data, initializingPage: false });
  }
};

export function display(view/*: string*/)/*: void*/ {
  console.log(view);
}

// Wire everything
export function accept(data/*: Object*/) {
  const { model, display } = config;
  Object.assign(model, data);
  const representation = state(model);
  display(representation);
  nap(model);
}

export const config = { model, display };

extension: mjs


text:
@article{Romero2020,
author = {Romero, Leonel and Hypolite, Delphine and McWilliams, James C},
doi = {10.1016/j.ocemod.2020.101662},
issn = {14635003},
journal = {Ocean Modelling},
month = {sep},
pages = {101662},
title = {{Submesoscale current effects on surface waves}},
url = {https://authors.elsevier.com/a/1bSD65Cmkuk69D},
volume = {153},
year = {2020}
}

repository: Leonel-Romero/LeonelRomero

repo_name: Leonel-Romero/LeonelRomero


text:
@article{farmer_how_2020,
 abstract = {Intelligence tests produce composite scores that are interpreted as indexes of psychometric g. Like all measures, general intelligence composites are not pure representations of their intended construct, so it is important to evaluate the score characteristics that affect accuracy in measurement. In this study, we identified three characteristics of general intelligence composite scores that vary across intelligence tests, including the number, the g loadings, and the heterogeneity of contributing subtests. We created 77 composite scores to test the influence of these characteristics in measuring psychometric g. Internal consistency reliability coefficients and g loadings were calculated for the composites. General intelligence composites most accurately index psychometric using numerous highly g-loaded subtests. Considering confidence intervals, composites stemming from four subtests produced scores as highly g loaded as those composites that stem from additional subtests. Discussion focuses on what methods should be use to optimally measure psychometric g and how standards in constructing composites should balance psychometric and practical considerations.},
 author = {Farmer, Ryan L. and Floyd, Randy G. and Reynolds, Matthew R. and Berlin, Kristoffer S.},
 doi = {10.1007/s40688-019-00244-1},
 issn = {2159-2020, 2161-1505},
 journal = {Contemp School Psychol},
 language = {en},
 month = {March},
 number = {1},
 pages = {52--67},
 title = {How Can General Intelligence Composites Most Accurately Index Psychometric g and What Might Be Good Enough?},
 url = {http://link.springer.com/10.1007/s40688-019-00244-1},
 urldate = {2020-11-30},
 volume = {24},
 year = {2020}
}

repository: rl-farmer/FarmerLab

repo_name: rl-farmer/FarmerLab

branch_name: refs/heads/main


text:
require wpebackend-fdo.inc

SRC_URI = "https://wpewebkit.org/releases/${BPN}-${PV}.tar.xz"
SRC_URI[sha256sum] = "7f5bd7b9d8f97b1655f4dcd39fad92719d0fb3985b251da5802df13aaa09f567"

BBCLASSEXTEND += "devupstream:target"

SRC_URI_class-devupstream = "git://github.com/Igalia/WPEBackend-fdo.git;protocol=https;branch=master"
SRCREV_class-devupstream = "5b4fa3cf160c957589a06d3b99589e53cccb0ee1"

DEPENDS += " libwpe"

repository: Cwiiis/meta-webkit

repo_name: Cwiiis/meta-webkit

gha_license_id: MIT


text:
@inproceedings{Fayek2016b,
  address = {Berkeley, USA},
  author = {Haytham M. Fayek},
  booktitle = {2nd INTERSPEECH Doctoral Consortium},
  month = sep,
  title = {A Deep Learning Framework for Hybrid Linguistic-Paralinguistic Speech Systems},
  year = {2016},
}

gha_language: TeX


text:
@InProceedings{martins11a,
  title = {Online Learning of Structured Predictors with Multiple Kernels},
  author = {Andre Filipe Torres Martins and Noah Smith and Eric Xing and Pedro Aguiar and Mario Figueiredo},
  pages = {507--515},
  abstract = {Training structured predictors often requires a considerable time selecting features or tweaking the kernel. Multiple kernel learning (MKL) sidesteps this issue by embedding the kernel learning into the training procedure. Despite the recent progress towards efficiency of MKL algorithms, the structured output case remains an open research front. We propose a family of online algorithms able to tackle variants of MKL and group-LASSO, for which we show regret, convergence, and generalization bounds. Experiments on handwriting recognition and dependency parsing attest the success of the approach.

[pdf][supplementary]},
  pdf = {http://jmlr.org/proceedings/papers/v15/martins11a/martins11a.pdf},
  supplementary = {Supplementary:http://jmlr.org/proceedings/papers/v15/martins11a/martins11aSupple.pdf},
}

repository: mreid/papersite

repo_name: mreid/papersite


text:
@article{RN594,
 author = {Miller, David and Infante, Nicole Engelke and Weber, Keith},
 journal = {Journal of Mathematical Behavior},
 pages = {24-34},
 title = {How mathematicians assign points to student proofs},
 type = {Journal Article},
 url = {https://doi.org/10.1016/j.jmathb.2017.03.002},
 volume = {49},
 year = {2018}
}


text:
package controllers

import (
	"encoding/json"
	"github.com/astaxie/beego/logs"
)

type Response struct {
	Err     string `json:"err"`
	ErrCode uint32 `json:"errCode"`
	Data    string `json:"data"`
}

func buildResponse(err string, errCode uint32, data string) string {
	resp := &Response{
		Err:     err,
		ErrCode: errCode,
		Data:    data,
	}
	r, _ := json.Marshal(resp)
	return string(r)
}
func BuildErrResponse(err string) string {
	return buildResponse(err, 1, "")
}

func BuildSuccessResponse(data interface{}) string {
	jsonData, err := json.Marshal(data)
	if err != nil {
		logs.Error("Login.Marshal err:", err.Error())
		return BuildErrResponse("Marshal err")
	}
	return buildResponse("", 0, string(jsonData))
}

repository: xiaoluoluo/book

repo_name: xiaoluoluo/book

extension: go


text:
@inproceedings{liu2019latent,
 author = {Liu, Shengzhong and Yao, Shuochao and Liu, Dongxin and Shao, Huajie and Zhao, Yiran and Fu, Xinzhe and Abdelzaher, Tarek},
 booktitle = {2019 IEEE 39th International Conference on Distributed Computing Systems (ICDCS)},
 organization = {IEEE},
 pages = {1275--1285},
 title = {A latent hawkes process model for event clustering and temporal dynamics learning with applications in GitHub},
 year = {2019}
}

repository: aiot-cps/aiot-cps-assembly

repo_name: aiot-cps/aiot-cps-assembly


text:
DESCRIPTION="Gnome Cups Manager"
LICENSE="GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"

DEPENDS="glib-2.0 gtk+ pango cups intltool libgnomeui"

inherit gnome pkgconfig

do_compile_append () {
	cp libgnomecups-1.0.pc libgnomecups-1.0.pc.old
	sed 's:${STAGING_DIR_HOST}::' < libgnomecups-1.0.pc.old > libgnomecups-1.0.pc
}

SRC_URI[archive.md5sum] = "dc4920c15c9f886f73ea74fbff0ae48b"
SRC_URI[archive.sha256sum] = "e130e80942b386de19a288a4c194ff3dbe9140315b31e982058c8bffbb6a1d29"


text:
@article{babaguchi_protection_2015,
 abstract = {Our society has been getting more privacy-sensitive. Diverse information is given by users to information and communications technology (ICT) systems such as IC cards benefiting them. The information is stored as so-called big data, and there is concern over privacy violation. Visual information such as images and videos is also considered privacy-sensitive. The growing deployment of surveillance cameras and social network services has caused a privacy problem of information given from various sensors. To protect privacy of subjects presented in visual information, their face or figure is processed by means of pixelization or blurring. As image analysis technologies have made considerable progress, many attempts to automatically process flexible privacy protection have been made since 2000, and utilization of privacy information under some restrictions has been taken into account in recent years. This paper addresses the recent progress of privacy protection for visual information, showing our research projects: PriSurv, Digital Diorama (DD), and Mobile Privacy Protection (MPP). Furthermore, we discuss Harmonized Information Field (HIFI) for appropriate utilization of protected privacy information in a specific area.},
 author = {Babaguchi, Noboru and Nakashima, Yuta},
 doi = {10.1587/transinf.2014MUI0001},
 file = {Snapshot:/Users/n-yuta/Zotero/storage/AMH24ACC/_article.html:text/html;Full Text PDF:/Users/n-yuta/Zotero/storage/6KLSCV69/Babaguchi and Nakashima - 2015 - Protection and Utilization of Privacy Information .pdf:application/pdf},
 issn = {0916-8532, 1745-1361},
 journal = {IEICE Transactions on Information and Systems},
 language = {en},
 month = {January},
 number = {1},
 pages = {2--9},
 title = {Protection and utilization of privacy information via sensing},
 url = {https://www.jstage.jst.go.jp/article/transinf/E98.D/1/E98.D_2014MUI0001/_article},
 urldate = {2019-04-30},
 volume = {E98.D},
 year = {2015}
}


text:
% This file was created with JabRef 2.10b2.
% Encoding: ISO8859_1

@Manual{abntex2modelo,
  Title                    = {Modelo Can{\^o}nico de Trabalho Acad{\^e}mico com abnTeX2},
  Author                   = {ABNTeX2},
  Organization             = {Equipe abnTeX2},
  Year                     = {2013},
  Annote                   = {Este documento {\'e} derivado do \cite{abnt-bibtex-doc}},
  Bdsk-url-1               = {http://code.google.com/p/abntex2/},
  Date-added               = {2012-12-20 00:53:31 +0000},
  Date-modified            = {2013-02-04 12:05:13 +0000},
  Url                      = {http://abntex2.googlecode.com/}
}

@Manual{abntex2modelo-artigo,
  Title                    = {Modelo Can{\^o}nico de Artigo cient{\'\i}fico com abnTeX2},
  Author                   = {abnTeX2},
  Organization             = {Equipe abnTeX2},
  Year                     = {2013},

  Annote                   = {Este documento {\'e} derivado do \cite{abnt-bibtex-doc}},
  Bdsk-url-1               = {http://code.google.com/p/abntex2/},
  Date-added               = {2013-01-15 00:08:47 +0000},
  Date-modified            = {2013-02-04 12:05:04 +0000},
  Url                      = {http://abntex2.googlecode.com/}
}

@Manual{abntex2modelo-glossario,
  Title                    = {Exemplo de uso de gloss{\'a}rio com abnTeX2},
  Author                   = {abnTeX2},
  Organization             = {Equipe abnteX2},
  Year                     = {2013},

  Bdsk-url-1               = {http://abntex2.googlecode.com/},
  Date-added               = {2013-03-11 13:38:46 +0000},
  Date-modified            = {2013-04-05 11:03:36 +0000},
  Url                      = {http://abntex2.googlecode.com/}
}

@Manual{abntex2modelo-livro,
  Title                    = {Modelo de Livro produzido com abnTeX2},
  Author                   = {abnTeX2},
  Organization             = {Equipe abnTeX2},
  Year                     = {2013},

  Annote                   = {Este documento {\'e} derivado do \cite{abnt-bibtex-doc}},
  Bdsk-url-1               = {http://code.google.com/p/abntex2/},
  Date-added               = {2013-08-20 11:04:36 +0000},
  Date-modified            = {2013-08-20 11:05:30 +0000},
  Url                      = {http://abntex2.googlecode.com/}
}

@Manual{abntex2modelo-projeto-pesquisa,
  Title                    = {Modelo Can{\^o}nico de Projeto de pesquisa com abnTeX2},
  Author                   = {abnTeX2},
  Organization             = {Equipe abnTeX2},
  Year                     = {2013},

  Annote                   = {Este documento {\'e} derivado do \cite{abnt-bibtex-doc}},
  Bdsk-url-1               = {http://code.google.com/p/abntex2/},
  Date-added               = {2013-01-19 09:55:40 +0000},
  Date-modified            = {2013-02-04 12:05:07 +0000},
  Url                      = {http://abntex2.googlecode.com/}
}

@Manual{abntex2modelo-relatorio,
  Title                    = {Modelo Can{\^o}nico de Relat{\'o}rio T{\'e}cnico e/ou Cient{\'\i}fico com abnTeX2},
  Author                   = {abnTeX2},
  Organization             = {Equipe abnTeX2},
  Year                     = {2013},

  Annote                   = {Este documento {\'e} derivado do \cite{abnt-bibtex-doc}},
  Bdsk-url-1               = {http://code.google.com/p/abntex2/},
  Date-added               = {2013-01-15 00:06:21 +0000},
  Date-modified            = {2013-02-04 12:05:11 +0000},
  Url                      = {http://abntex2.googlecode.com/}
}

@Manual{abntex2cite,
  Title                    = {O pacote abntex2cite: Estilos bibliogr{\'a}ficos compat{\'\i}veis com a ABNT NBR 6023},
  Author                   = {abnTeX2 and Lauro C{\'e}sar Araujo},
  Organization             = {Equipe abnTeX2},
  Year                     = {2013},

  Annote                   = {Este documento {\'e} derivado do \cite{abnt-bibtex-doc}},
  Bdsk-url-1               = {http://code.google.com/p/abntex2/},
  Date-added               = {2012-12-19 13:06:14 +0000},
  Date-modified            = {2013-04-05 10:47:48 +0000},
  Url                      = {http://abntex2.googlecode.com/}
}

@Manual{abntex2cite-alf,
  Title                    = {O pacote abntex2cite: t{\'o}picos espec{\'\i}ficos da ABNT NBR 10520:2002 e o estilo bibliogr{\'a}fico alfab{\'e}tico (sistema autor-data},
  Author                   = {abnTeX2 and Lauro C{\'e}sar Araujo},
  Organization             = {Equipe abnTeX2},
  Year                     = {2013},

  Annote                   = {Este documento {\'e} derivado do \cite{abnt-bibtex-alf-doc}},
  Bdsk-url-1               = {http://code.google.com/p/abntex2/},
  Date-added               = {2012-12-19 13:08:00 +0000},
  Date-modified            = {2013-04-05 11:02:56 +0000},
  Url                      = {http://abntex2.googlecode.com/}
}

@Manual{abntex2classe,
  Title                    = {A classe abntex2: Modelo can{\^o}nico de trabalhos acad{\^e}micos brasileiros compat{\'\i}vel com as normas ABNT NBR 14724:2011, ABNT NBR 6024:2012 e outras},
  Author                   = {abnTeX2 and Lauro C{\'e}sar Araujo},
  Organization             = {Equipe abnTeX2},
  Year                     = {2012},

  Annote                   = {Este documento substitui o \cite{abnt-classe-doc}},
  Bdsk-url-1               = {http://code.google.com/p/abntex2/},
  Date-added               = {2012-12-19 13:08:40 +0000},
  Date-modified            = {2013-04-05 11:03:25 +0000},
  Url                      = {http://abntex2.googlecode.com/}
}

@Manual{enumitem,
  Title                    = {Customizing lists with the enumitem package},
  Author                   = {Javier Bezos},
  Month                    = {9},
  Organization             = {CTAN},
  Year                     = {2011},

  Bdsk-url-1               = {http://linorg.usp.br/CTAN/macros/latex/contrib/enumitem/enumitem.pdf},
  Date-added               = {2013-01-22 10:24:05 +0000},
  Date-modified            = {2013-01-22 10:31:21 +0000},
  Url                      = {http://linorg.usp.br/CTAN/macros/latex/contrib/enumitem/enumitem.pdf},
  Urlaccessdate            = {22.1.2013}
}

@Manual{babel,
  Title                    = {Babel, a multilingual package for use with LATEX's standard document classes},
  Author                   = {Johannes Braams},
  Month                    = {April},
  Year                     = {2008},

  Bdsk-url-1               = {http://mirrors.ctan.org/info/babel/babel.pdf},
  Date-added               = {2013-02-17 14:07:33 +0000},
  Date-modified            = {2013-02-17 14:07:33 +0000},
  Url                      = {http://mirrors.ctan.org/info/babel/babel.pdf},
  Urlaccessdate            = {17.2.2013}
}

@Book{ibge1993,
  Title                    = {Normas de apresenta{\c c}{\~a}o tabular},
  Author                   = {IBGE},
  Publisher                = {Centro de Documenta{\c c}{\~a}o e Dissemina{\c c}{\~a}o de Informa{\c c}{\~o}es. Funda{\c c}{\~a}o Intituto Brasileiro de Geografia e Estat{\'\i}stica},
  Year                     = {1993},

  Address                  = {Rio de Janeiro},
  Edition                  = {3},

  Date-added               = {2013-08-21 13:48:18 +0000},
  Date-modified            = {2013-08-21 13:55:50 +0000},
  Organization             = {http://biblioteca.ibge.gov.br/visualizacao/livros/liv23907.pdf},
  Urlaccessdate            = {21 ago 2013}
}

@Manual{oberdiek2011,
  Title                    = {The bookmark package},
  Author                   = {Heiko Oberdiek},
  Month                    = {dez},
  Year                     = {2011},

  Bdsk-url-1               = {ftp://ftp.ctan.org/tex-archive/macros/latex/contrib/oberdiek/bookmark.pdf},
  Date-added               = {2013-02-03 23:17:19 +0000},
  Date-modified            = {2013-02-03 23:18:01 +0000},
  Url                      = {ftp://ftp.ctan.org/tex-archive/macros/latex/contrib/oberdiek/bookmark.pdf},
  Urlaccessdate            = {3.2.2013}
}

@Manual{abnt-classe-doc,
  Title                    = {Classe {ABNT}},
  Author                   = {Santini Frasson, Miguel Vin{\'\i}cius},
  Organization             = {Grupo abnTeX},
  Year                     = {2002},

  Bdsk-url-1               = {http://abntex.codigolivre.org.br},
  Date-modified            = {2013-02-04 12:04:50 +0000},
  Subtitle                 = {confec{\c c}{\~a}o de trabalhos acad{\^e}micos em {\LaTeX} segundo as normas {ABNT}},
  Url                      = {http://abntex.codigolivre.org.br}
}

@Manual{abnt-bibtex-alf-doc,
  Title                    = {Estilo bibtex compat{\'\i}vel com a `norma' 6023/2000 da {ABNT}},

  Address                  = {.},
  Author                   = {Gerald Weber},
  Organization             = {Grupo abnTeX},
  Year                     = {2003},

  Bdsk-url-1               = {http://abntex.codigolivre.org.br},
  Subtitle                 = {Quest\~oes espec{\'\i}ficas da `norma' 10520/2001},
  Url                      = {http://abntex.codigolivre.org.br}
}

@Manual{abnt-bibtex-doc,
  Title                    = {Estilo bibtex compat{\'\i}vel com a `norma' 6023/2000 da {ABNT}},
  Author                   = {Gerald Weber},
  Organization             = {Grupo abnTeX},
  Year                     = {2003},

  Bdsk-url-1               = {http://abntex.codigolivre.org.br},
  Url                      = {http://abntex.codigolivre.org.br}
}

@Manual{tabela-simbolos-doc,
  Title                    = {Tabelas de s{\'\i}mbolos usando makeindex},
  Author                   = {Gerald Weber},
  Organization             = {Grupo abnTeX},
  Year                     = {2003},

  Bdsk-url-1               = {http://abntex.codigolivre.org.br},
  Url                      = {http://abntex.codigolivre.org.br}
}

@Manual{memoir,
  Title                    = {The Memoir Class for Configurable Typesetting - User Guide},

  Address                  = {Normandy Park, WA},
  Author                   = {Peter Wilson and Lars Madsen},
  Organization             = {The Herries Press},
  Year                     = {2010},

  Bdsk-url-1               = {http://ctan.tche.br/macros/latex/contrib/memoir/memman.pdf},
  Date-added               = {2012-12-20 01:04:36 +0000},
  Date-modified            = {2013-03-21 11:57:49 +0000},
  Url                      = {http://mirrors.ctan.org/macros/latex/contrib/memoir/memman.pdf},
  Urlaccessdate            = {19.12.2012}
}

@Manual{NBR6024:2012,
  Title                    = {{ABNT NBR} 6024: 2012},

  Address                  = {Rio de Janeiro},
  Month                    = feb,
  Organization             = {Associa{\c c}\~ao Brasileira de Normas T\'ecnicas},
  Year                     = {2012},

  Date-added               = {2013-03-18 13:32:00 +0000},
  Date-modified            = {2013-03-18 13:33:17 +0000},
  Org-short                = {ABNT},
  Pages                    = {4},
  Subtitle                 = {Informa{\c c}\~ao e Documenta{\c c}\~ao - Numera{\c c}\~ao progressiva das se{\c c}\~oes de um documento - Apresenta{\c c}\~ao}
}

@Manual{NBR14724:2011,
  Title                    = {{ABNT NBR} 14724:2011},

  Address                  = {Rio de Janeiro},
  Month                    = mar,
  Organization             = {Associa{\c c}\~ao Brasileira de Normas T\'ecnicas},
  Year                     = {2011},

  Date-added               = {2013-03-18 14:19:32 +0000},
  Date-modified            = {2013-03-18 14:20:15 +0000},
  Org-short                = {ABNT},
  Pages                    = {15},
  Subtitle                 = {Informa{\c c}\~ao e documenta{\c c}\~ao --- Trabalhos acad\^emicos --- Apresenta{\c c}\~ao}
}

@Manual{DOI,
  Title                    = {The {DOI} handbook},

  Address                  = {Oxford},
  Month                    = feb,
  Organization             = {International DOI Foundation},
  Year                     = {2003},

  Bdsk-url-1               = {doi:10.1000/182},
  Date-added               = {2012-12-20 12:30:58 +0000},
  Date-modified            = {2012-12-20 12:30:58 +0000},
  Org-short                = {IDF},
  Url                      = {doi:10.1000/182}
}

@Manual{ISO15706:2002,
  Title                    = {{ISO} 15706:2002},
  Organization             = {International Standards Organization},
  Year                     = {2002},

  Bdsk-url-1               = {http://www.nlc-bnc.ca/iso/tc46sc9/standard/15706e.htm},
  Date-added               = {2012-12-20 12:30:58 +0000},
  Date-modified            = {2012-12-20 12:30:58 +0000},
  Org-short                = {ISO},
  Subtitle                 = {Information and documentation --- {I}nternational Standard Audiovisual Number ({ISAN})},
  Url                      = {http://www.nlc-bnc.ca/iso/tc46sc9/standard/15706e.htm},
  Urlaccessdate            = {24 abr. 2003}
}

@Manual{ISO639-1:2002,
  Title                    = {{ISO} 639-1:2002},
  Organization             = {International Standards Organization},
  Year                     = {2002},

  Date-added               = {2012-12-20 12:30:58 +0000},
  Date-modified            = {2012-12-20 12:30:58 +0000},
  Org-short                = {ISO},
  Subtitle                 = {Codes for the representation of names of languages --- {P}art 1: Alpha-2 code}
}

@Manual{NBR10520:2002,
  Title                    = {{NBR} 10520},

  Address                  = {Rio de Janeiro},
  Month                    = aug,
  Note                     = {Substitui a Ref.~\citeonline{NBR10520:2001}},
  Organization             = {Associa{\c c}\~ao Brasileira de Normas T\'ecnicas},
  Year                     = {2002},

  Date-added               = {2012-12-20 12:30:58 +0000},
  Date-modified            = {2012-12-20 12:30:58 +0000},
  Org-short                = {ABNT},
  Pages                    = {7},
  Subtitle                 = {Informa{\c c}\~ao e documenta{\c c}\~ao --- Apresenta{\c c}\~ao de cita{\c c}\~oes em documentos}
}

@Manual{NBR14724:2002,
  Title                    = {{NBR} 14724},

  Address                  = {Rio de Janeiro},
  Month                    = aug,
  Note                     = {Substitui a Ref.~\citeonline{NBR14724:2001}},
  Organization             = {Associa{\c c}\~ao Brasileira de Normas T\'ecnicas},
  Year                     = {2002},

  Date-added               = {2012-12-20 12:30:58 +0000},
  Date-modified            = {2012-12-20 12:30:58 +0000},
  Org-short                = {ABNT},
  Pages                    = {6},
  Subtitle                 = {Informa{\c c}\~ao e documenta{\c c}\~ao --- trabalhos acad\^emicos --- apresenta{\c c}\~ao}
}

@Manual{NBR6023:2002,
  Title                    = {{NBR} 6023},

  Address                  = {Rio de Janeiro},
  Month                    = aug,
  Note                     = {Substitui a Ref.~\citeonline{NBR6023:2000}},
  Organization             = {Associa{\c c}\~ao Brasileira de Normas T\'ecnicas},
  Year                     = {2002},

  Date-added               = {2012-12-20 12:30:58 +0000},
  Date-modified            = {2012-12-20 12:30:58 +0000},
  Org-short                = {ABNT},
  Pages                    = {24},
  Subtitle                 = {Informa{\c c}\~ao e documenta{\c c}\~ao --- Refer\^encias --- Elabora{\c c}\~ao}
}

@Manual{NBR6029:2002,
  Title                    = {{NBR} 6029},

  Address                  = {Rio de Janeiro},
  Month                    = sep,
  Organization             = {Associa{\c c}\~ao Brasileira de Normas T\'ecnicas},
  Year                     = {2002},

  Date-added               = {2012-12-20 12:30:58 +0000},
  Date-modified            = {2012-12-20 12:30:58 +0000},
  Org-short                = {ABNT},
  Pages                    = {9},
  Subtitle                 = {Informa{\c c}\~ao e documenta{\c c}\~ao --- Livros e folhetos --- Apresenta{\c c}\~ao}
}

@Manual{ISO15707:2001,
  Title                    = {{ISO} 15707:2001},
  Organization             = {International Standards Organization},
  Year                     = {2001},

  Bdsk-url-1               = {http://www.nlc-bnc.ca/iso/tc46sc9/15707.htm},
  Date-added               = {2012-12-20 12:30:58 +0000},
  Date-modified            = {2012-12-20 12:30:58 +0000},
  Org-short                = {ISO},
  Subtitle                 = {Information and documentation --- {I}nternational Standard Musical Work Code ({ISWC})},
  Url                      = {http://www.nlc-bnc.ca/iso/tc46sc9/15707.htm},
  Urlaccessdate            = {24 abr. 2003}
}

@Manual{ISO3901:2001,
  Title                    = {{ISO} 3901:2001},
  Organization             = {International Standards Organization},
  Year                     = {2001},

  Date-added               = {2012-12-20 12:30:58 +0000},
  Date-modified            = {2012-12-20 12:30:58 +0000},
  Org-short                = {ISO},
  Subtitle                 = {Information and documentation --- {I}nternational Standard Recording Code ({ISRC})}
}

@Manual{NBR10520:2001,
  Title                    = {{NBR} 10520},

  Address                  = {Rio de Janeiro},
  Month                    = jul,
  Note                     = {Substitui a Ref.~\citeonline{NBR10520:1988}},
  Organization             = {Associa{\c c}\~ao Brasileira de Normas T\'ecnicas},
  Year                     = {2001},

  Date-added               = {2012-12-20 12:30:58 +0000},
  Date-modified            = {2012-12-20 12:30:58 +0000},
  Org-short                = {ABNT},
  Pages                    = {4},
  Subtitle                 = {Informa{\c c}\~ao e documenta{\c c}\~ao --- Apresenta{\c c}\~ao de cita{\c c}\~oes em documentos}
}

@Manual{NBR14724:2001,
  Title                    = {{NBR} 14724},

  Address                  = {Rio de Janeiro},
  Month                    = jul,
  Organization             = {Associa{\c c}\~ao Brasileira de Normas T\'ecnicas},
  Year                     = {2001},

  Date-added               = {2012-12-20 12:30:58 +0000},
  Date-modified            = {2012-12-20 12:30:58 +0000},
  Org-short                = {ABNT},
  Pages                    = {6},
  Subtitle                 = {Informa{\c c}\~ao e documenta{\c c}\~ao --- trabalhos acad\^emicos --- apresenta{\c c}\~ao}
}

@Manual{NBR6023:2000,
  Title                    = {{NBR} 6023},

  Address                  = {Rio de Janeiro},
  Month                    = aug,
  Organization             = {Associa{\c c}\~ao Brasileira de Normas T\'ecnicas},
  Year                     = {2000},

  Date-added               = {2012-12-20 12:30:58 +0000},
  Date-modified            = {2012-12-20 12:30:58 +0000},
  Org-short                = {ABNT},
  Pages                    = {22},
  Subtitle                 = {Informa{\c c}\~ao e documenta{\c c}\~ao --- Refer\^encias --- Elabora{\c c}\~ao}
}

@Manual{ISO11798:1999,
  Title                    = {{ISO} 11798:1999},
  Organization             = {International Standards Organization},
  Year                     = {1999},

  Date-added               = {2012-12-20 12:30:58 +0000},
  Date-modified            = {2012-12-20 12:30:58 +0000},
  Org-short                = {ISO},
  Subtitle                 = {Information and documentation --- {P}ermanence and durability of writing, printing and copying on paper --- {R}equirements and test methods}
}

@Manual{ISO3297:1998,
  Title                    = {{ISO} 3297:1998},
  Organization             = {International Standards Organization},
  Year                     = {1998},

  Date-added               = {2012-12-20 12:30:58 +0000},
  Date-modified            = {2012-12-20 12:30:58 +0000},
  Org-short                = {ISO},
  Subtitle                 = {Information and documentation --- {I}nternational standard serial number ({ISSN})}
}

@Manual{ISO639-2:1998,
  Title                    = {{ISO} 639-2:1998},
  Organization             = {International Standards Organization},
  Year                     = {1998},

  Date-added               = {2012-12-20 12:30:58 +0000},
  Date-modified            = {2012-12-20 12:30:58 +0000},
  Org-short                = {ISO},
  Subtitle                 = {Codes for the representation of names of languages -- {P}art 2: Alpha-3 code}
}

@Manual{ISO10324:1997,
  Title                    = {{ISO} 10324:1997},
  Organization             = {International Standards Organization},
  Year                     = {1997},

  Date-added               = {2012-12-20 12:30:58 +0000},
  Date-modified            = {2012-12-20 12:30:58 +0000},
  Org-short                = {ISO},
  Subtitle                 = {Information and documentation --- {H}oldings statements --- {S}ummary level}
}

@Manual{ISO4:1997,
  Title                    = {{ISO} 4:1997},
  Organization             = {International Standards Organization},
  Year                     = {1997},

  Date-added               = {2012-12-20 12:30:58 +0000},
  Date-modified            = {2012-12-20 12:30:58 +0000},
  Org-short                = {ISO},
  Subtitle                 = {Information and documentation --- {R}ules for the abbreviation of title words and titles of publications}
}

@Manual{ISO690-2:1997,
  Title                    = {{ISO} 690-2},
  Organization             = {International Standards Organization},
  Year                     = {1997},

  Bdsk-url-1               = {http://www.nlc-bnc.ca/iso/tc46sc9/standard/690-2e.htm},
  Date-added               = {2012-12-20 12:30:58 +0000},
  Date-modified            = {2012-12-20 12:30:58 +0000},
  Org-short                = {ISO},
  Subtitle                 = {Information and documentation --- {B}ibliographic references {P}art 2: Electronic documents or parts thereof},
  Url                      = {http://www.nlc-bnc.ca/iso/tc46sc9/standard/690-2e.htm},
  Urlaccessdate            = {31 mar. 2003}
}

@Manual{ISO11108:1996,
  Title                    = {{ISO} 11108:1996},
  Organization             = {International Standards Organization},
  Year                     = {1996},

  Date-added               = {2012-12-20 12:30:58 +0000},
  Date-modified            = {2012-12-20 12:30:58 +0000},
  Org-short                = {ISO},
  Subtitle                 = {Information and documentation --- {A}rchival paper --- {R}equirements for permanence and durability}
}

@Manual{ISO7220:1996,
  Title                    = {{ISO} 7220:1996},
  Organization             = {International Standards Organization},
  Year                     = {1996},

  Date-added               = {2012-12-20 12:30:58 +0000},
  Date-modified            = {2012-12-20 12:30:58 +0000},
  Org-short                = {ISO},
  Subtitle                 = {Information and documentation --- {P}resentation of catalogues of standards}
}

@Manual{ISO999:1996,
  Title                    = {{ISO} 999:1996},
  Organization             = {International Standards Organization},
  Year                     = {1996},

  Bdsk-url-1               = {http://www.nlc-bnc.ca/iso/tc46sc9/standard/999e.htm},
  Date-added               = {2012-12-20 12:30:58 +0000},
  Date-modified            = {2012-12-20 12:30:58 +0000},
  Org-short                = {ISO},
  Subtitle                 = {Information and documentation --- Guidelines for the content, organization and presentation of indexes},
  Url                      = {http://www.nlc-bnc.ca/iso/tc46sc9/standard/999e.htm},
  Urlaccessdate            = {31 mar. 2003}
}

@Manual{ISO10444:1994,
  Title                    = {{ISO} 10444:1994},
  Organization             = {International Standards Organization},
  Year                     = {1994},

  Date-added               = {2012-12-20 12:30:58 +0000},
  Date-modified            = {2012-12-20 12:30:58 +0000},
  Org-short                = {ISO},
  Subtitle                 = {Information and documentation --- {I}nternational standard technical report number ({ISRN})}
}

@Manual{ISO832:1994,
  Title                    = {{ISO} 832:1994},
  Organization             = {International Standards Organization},
  Year                     = {1994},

  Bdsk-url-1               = {http://www.nlc-bnc.ca/iso/tc46sc9/standard/832e.htm},
  Date-added               = {2012-12-20 12:30:58 +0000},
  Date-modified            = {2012-12-20 12:30:58 +0000},
  Org-short                = {ISO},
  Subtitle                 = {Information and documentation --- {B}ibliographic description and references --- {R}ules for the abbreviation of bibliographic terms},
  Url                      = {http://www.nlc-bnc.ca/iso/tc46sc9/standard/832e.htm},
  Urlaccessdate            = {31 mar. 2003}
}

@Manual{NBR6021:1994,
  Title                    = {{NBR} 6021},

  Address                  = {Rio de Janeiro},
  Month                    = oct,
  Organization             = {Associa{\c c}\~ao Brasileira de Normas T\'ecnicas},
  Year                     = {1994},

  Date-added               = {2012-12-20 12:30:58 +0000},
  Date-modified            = {2012-12-20 12:30:58 +0000},
  Org-short                = {ABNT},
  Pages                    = {3},
  Subtitle                 = {Apresenta{\c c}\~ao de peri\'odicos}
}

@Manual{NBR6022:1994,
  Title                    = {{NBR} 6022},

  Address                  = {Rio de Janeiro},
  Month                    = aug,
  Organization             = {Associa{\c c}\~ao Brasileira de Normas T\'ecnicas},
  Year                     = {1994},

  Date-added               = {2012-12-20 12:30:58 +0000},
  Date-modified            = {2012-12-20 12:30:58 +0000},
  Org-short                = {ABNT},
  Pages                    = {2},
  Subtitle                 = {Apresenta{\c c}\~ao de artigos em publica{\c c}\~oes peri\'odicos}
}

@Manual{NBR6026:1994,
  Title                    = {{NBR} 6026},

  Address                  = {Rio de Janeiro},
  Month                    = mar,
  Organization             = {Associa{\c c}\~ao Brasileira de Normas T\'ecnicas},
  Year                     = {1994},

  Date-added               = {2012-12-20 12:30:58 +0000},
  Date-modified            = {2012-12-20 12:30:58 +0000},
  Org-short                = {ABNT},
  Pages                    = {2},
  Subtitle                 = {Legenda bibliogr\'afica}
}

@Manual{ISO10957:1993,
  Title                    = {{ISO} 10957:1993},
  Organization             = {International Standards Organization},
  Year                     = {1993},

  Bdsk-url-1               = {http://www.nlc-bnc.ca/iso/tc46sc9/standard/10957e.htm},
  Date-added               = {2012-12-20 12:30:58 +0000},
  Date-modified            = {2012-12-20 12:30:58 +0000},
  Org-short                = {ISO},
  Subtitle                 = {Information and documentation --- {I}nternational standard music number ({ISMN})},
  Url                      = {http://www.nlc-bnc.ca/iso/tc46sc9/standard/10957e.htm},
  Urlaccessdate            = {24 abr. 2003}
}

@Manual{ISO2108:1992,
  Title                    = {{ISO} 2108:1992},
  Organization             = {International Standards Organization},
  Year                     = {1992},

  Bdsk-url-1               = {http://www.nlc-bnc.ca/iso/tc46sc9/standard/2108e.htm},
  Date-added               = {2012-12-20 12:30:58 +0000},
  Date-modified            = {2012-12-20 12:30:58 +0000},
  Org-short                = {ISO},
  Subtitle                 = {Information and documentation --- {I}nternational Standard Book Numbering ({ISBN})},
  Url                      = {http://www.nlc-bnc.ca/iso/tc46sc9/standard/2108e.htm},
  Urlaccessdate            = {31 mar. 2003}
}

@Manual{NBR12256:1992,
  Title                    = {Apresenta{\c c}\~ao de originais},
  Address                  = {Rio de Janeiro},
  Month                    = apr,
  Organization             = {Associa{\c c}\~ao Brasileira de Normas T\'ecnicas},
  Year                     = {1992},

  Date-added               = {2012-12-20 12:30:58 +0000},
  Date-modified            = {2012-12-20 12:30:58 +0000},
  Org-short                = {ABNT},
  Pages                    = {4}
}

@Manual{NBR6028:1990,
  Title                    = {{NBR} 6028},
  Address                  = {Rio de Janeiro},
  Month                    = may,
  Organization             = {Associa{\c c}\~ao Brasileira de Normas T\'ecnicas},
  Year                     = {1990},
  Date-added               = {2012-12-20 12:30:58 +0000},
  Date-modified            = {2012-12-20 12:30:58 +0000},
  Org-short                = {ABNT},
  Pages                    = {3},
  Subtitle                 = {Resumos}
}

@Manual{NBR10719:1989,
  Title                    = {Apresenta{\c c}\~ao de relat\'orios t\'ecnico-cient{\'\i}ficos},

  Address                  = {Rio de Janeiro},
  Month                    = aug,
  Organization             = {Associa{\c c}\~ao Brasileira de Normas T\'ecnicas},
  Year                     = {1989},

  Date-added               = {2012-12-20 12:30:58 +0000},
  Date-modified            = {2012-12-20 12:30:58 +0000},
  Org-short                = {ABNT},
  Pages                    = {17}
}

@Manual{NBR6024:1989,
  Title                    = {{NBR} 6024},

  Address                  = {Rio de Janeiro},
  Month                    = aug,
  Organization             = {Associa{\c c}\~ao Brasileira de Normas T\'ecnicas},
  Year                     = {1989},

  Date-added               = {2012-12-20 12:30:58 +0000},
  Date-modified            = {2012-12-20 12:30:58 +0000},
  Org-short                = {ABNT},
  Pages                    = {2},
  Subtitle                 = {Numera{\c c}\~ao progressiva das se{\c c}\~oes de um documento}
}

@Manual{NBR6025:2002,
  Title                    = {{NBR} 6025},

  Address                  = {Rio de Janeiro},
  Month                    = {set},
  Organization             = {Associa{\c c}\~ao Brasileira de Normas T\'ecnicas},
  Year                     = {1989},

  Date-added               = {2012-12-20 12:30:58 +0000},
  Date-modified            = {2012-12-20 12:30:58 +0000},
  Org-short                = {ABNT},
  Pages                    = {6},
  Subtitle                 = {Informa{\c c}\~ao e documenta{\c c}\~ao --- Revis\~ao de originais e provas}
}

@Manual{NBR6027:1989,
  Title                    = {{NBR} 6027},

  Address                  = {Rio de Janeiro},
  Month                    = aug,
  Organization             = {Associa{\c c}\~ao Brasileira de Normas T\'ecnicas},
  Year                     = {1989},

  Date-added               = {2012-12-20 12:30:58 +0000},
  Date-modified            = {2012-12-20 12:30:58 +0000},
  Org-short                = {ABNT},
  Pages                    = {2},
  Subtitle                 = {Sum\'ario}
}

@Manual{NBR6032:1989,
  Title                    = {{NBR} 6032},

  Address                  = {Rio de Janeiro},
  Month                    = aug,
  Organization             = {Associa{\c c}\~ao Brasileira de Normas T\'ecnicas},
  Year                     = {1989},

  Date-added               = {2012-12-20 12:30:58 +0000},
  Date-modified            = {2012-12-20 12:30:58 +0000},
  Org-short                = {ABNT},
  Pages                    = {14},
  Subtitle                 = {Abrevia{\c c}\~oes de T{\'\i}tulos de peri\'odicos e publica{\c c}\~oes seriadas}
}

@Manual{NBR6033:1989,
  Title                    = {{NBR} 6033},

  Address                  = {Rio de Janeiro},
  Month                    = aug,
  Organization             = {Associa{\c c}\~ao Brasileira de Normas T\'ecnicas},
  Year                     = {1989},

  Date-added               = {2012-12-20 12:30:58 +0000},
  Date-modified            = {2012-12-20 12:30:58 +0000},
  Org-short                = {ABNT},
  Pages                    = {5},
  Subtitle                 = {Ordem alfab\'etica}
}

@Manual{NBR6034:1989,
  Title                    = {{NBR} 6034},

  Address                  = {Rio de Janeiro},
  Month                    = aug,
  Organization             = {Associa{\c c}\~ao Brasileira de Normas T\'ecnicas},
  Year                     = {1989},

  Date-added               = {2012-12-20 12:30:58 +0000},
  Date-modified            = {2012-12-20 12:30:58 +0000},
  Org-short                = {ABNT},
  Pages                    = {3},
  Subtitle                 = {Prepara{\c c}{\~a}o de {\'\i}ndice de publica{\c c}{\~o}es}
}

@Manual{NBR10520:1988,
  Title                    = {{NBR} 10520},

  Address                  = {Rio de Janeiro},
  Month                    = oct,
  Organization             = {Associa{\c c}\~ao Brasileira de Normas T\'ecnicas},
  Year                     = {1988},

  Date-added               = {2012-12-20 12:30:58 +0000},
  Date-modified            = {2012-12-20 12:30:58 +0000},
  Org-short                = {ABNT},
  Pages                    = {3},
  Subtitle                 = {Apresenta{\c c}\~ao de cita{\c c}\~oes em documentos --- Procedimentos}
}

@Manual{NBR10522:1988,
  Title                    = {{NBR} 10522},

  Address                  = {Rio de Janeiro},
  Month                    = oct,
  Organization             = {Associa{\c c}\~ao Brasileira de Normas T\'ecnicas},
  Year                     = {1988},

  Date-added               = {2012-12-20 12:30:58 +0000},
  Date-modified            = {2012-12-20 12:30:58 +0000},
  Org-short                = {ABNT},
  Pages                    = {9},
  Subtitle                 = {Abrevi{\c c}\~ao na descri{\c c}\~ao bibliogr\'afica}
}

@Manual{NBR10523:1988,
  Title                    = {{NBR} 10523},

  Address                  = {Rio de Janeiro},
  Month                    = oct,
  Organization             = {Associa{\c c}\~ao Brasileira de Normas T\'ecnicas},
  Year                     = {1988},

  Date-added               = {2012-12-20 12:30:58 +0000},
  Date-modified            = {2012-12-20 12:30:58 +0000},
  Org-short                = {ABNT},
  Pages                    = {5},
  Subtitle                 = {Entrada para nomes de l{\'\i}ngua portuguesa em registros bibliogr\'aficos}
}

@Manual{ISO690:1987,
  Title                    = {{ISO} 690:1987},
  Organization             = {International Standards Organization},
  Year                     = {1987},

  Bdsk-url-1               = {http://www.nlc-bnc.ca/iso/tc46sc9/standard/690-1e.htm},
  Date-added               = {2012-12-20 12:30:58 +0000},
  Date-modified            = {2012-12-20 12:30:58 +0000},
  Org-short                = {ISO},
  Subtitle                 = {Information and documentation --- {B}ibliographic references --- {C}ontent, form and structure},
  Url                      = {http://www.nlc-bnc.ca/iso/tc46sc9/standard/690-1e.htm},
  Urlaccessdate            = {31 mar. 2003}
}

@Manual{ISO215:1986,
  Title                    = {{ISO} 215:1986},
  Organization             = {International Standards Organization},
  Year                     = {1986},

  Date-added               = {2012-12-20 12:30:58 +0000},
  Date-modified            = {2012-12-20 12:30:58 +0000},
  Org-short                = {ISO},
  Subtitle                 = {Documentation --- {P}resentation of contributions to periodicals and other serials}
}

@Manual{ISO2788:1986,
  Title                    = {{ISO} 2788:1986},
  Organization             = {International Standards Organization},
  Year                     = {1986},

  Date-added               = {2012-12-20 12:30:58 +0000},
  Date-modified            = {2012-12-20 12:30:58 +0000},
  Org-short                = {ISO},
  Subtitle                 = {Documentation --- {G}uidelines for the establishment and development of monolingual thesauri}
}

@Manual{ISO5963:1985,
  Title                    = {{ISO} 5963:1985},
  Organization             = {International Standards Organization},
  Year                     = {1985},

  Date-added               = {2012-12-20 12:30:58 +0000},
  Date-modified            = {2012-12-20 12:30:58 +0000},
  Org-short                = {ISO},
  Subtitle                 = {Documentation --- {M}ethods for examining documents, determining their subjects, and selecting indexing terms}
}

@Manual{ISO5964:1985,
  Title                    = {{ISO} 5964:1985},
  Organization             = {International Standards Organization},
  Year                     = {1985},

  Date-added               = {2012-12-20 12:30:58 +0000},
  Date-modified            = {2012-12-20 12:30:58 +0000},
  Org-short                = {ISO},
  Subtitle                 = {Documentation --- {G}uidelines for the establishment and development of multilingual thesauri}
}

@Manual{ISO5123:1984,
  Title                    = {{ISO} 5123:1984},
  Organization             = {International Standards Organization},
  Year                     = {1984},

  Date-added               = {2012-12-20 12:30:58 +0000},
  Date-modified            = {2012-12-20 12:30:58 +0000},
  Org-short                = {ISO},
  Subtitle                 = {Documentation --- {H}eaders for microfiche of monographs and serials}
}

@Manual{ISO7154:1983,
  Title                    = {{ISO} 7154:1983},
  Organization             = {International Standards Organization},
  Year                     = {1983},

  Date-added               = {2012-12-20 12:30:58 +0000},
  Date-modified            = {2012-12-20 12:30:58 +0000},
  Org-short                = {ISO},
  Subtitle                 = {Documentation --- {B}ibliographic filing principles}
}

@Manual{NBR6028:1980,
  Title                    = {{NBR} 6028},

  Address                  = {Rio de Janeiro},
  Organization             = {Associa{\c c}\~ao Brasileira de Normas T\'ecnicas},
  Year                     = {1980},

  Date-added               = {2012-12-20 12:30:58 +0000},
  Date-modified            = {2012-12-20 12:30:58 +0000},
  Org-short                = {ABNT},
  Subtitle                 = {Resumos}
}

@Manual{ISO5122:1979,
  Title                    = {{ISO} 5122:1979},
  Organization             = {International Standards Organization},
  Year                     = {1979},

  Date-added               = {2012-12-20 12:30:58 +0000},
  Date-modified            = {2012-12-20 12:30:58 +0000},
  Org-short                = {ISO},
  Subtitle                 = {Documentation --- {A}bstract sheets in serial publications}
}

@Manual{ISO214:1976,
  Title                    = {{ISO} 214:1976},
  Organization             = {International Standards Organization},
  Year                     = {1976},

  Date-added               = {2012-12-20 12:30:58 +0000},
  Date-modified            = {2012-12-20 12:30:58 +0000},
  Org-short                = {ISO},
  Subtitle                 = {Documentation --- {A}bstracts for publications and documentation}
}

@Misc{luminaria01,
title={Candeeiros de tecto},
author={euzinha ué},
address={aqui né},
year={2017},
url={https://goo.gl/DhofqW},
urlaccessdate={2009-01-31},
}

repository: jtorresec/thesis-abntex-latex-rmarkdown

repo_name: jtorresec/thesis-abntex-latex-rmarkdown


text:
include(cmake/scheme/exe.cmake)
target_link_libraries(${AKT_TARGET} PRIVATE Boost::system)
if(WIN32)
    target_link_libraries(${AKT_TARGET} PRIVATE ws2_32)
endif()


text:
@inproceedings{kunze2018preliminary,
 author = {Kunze, Alexander and Summerskill, Stephen J and Marshall, Russell and Filtness, Ashleigh J},
 booktitle = {Adjunct Proceedings of the 10th International Conference on Automotive User Interfaces and Interactive Vehicular Applications},
 pages = {154--158},
 title = {Preliminary evaluation of variables for communicating uncertainties using a Haptic seat},
 year = {2018}
}

license: Unlicense,MIT

detected_licenses: Unlicense MIT


text:
@misc{SpectralEmulator.jl,
	author  = {Miles Lucas <mdlucas@hawaii.edu>},
	title   = {{SpectralEmulator.jl}},
	url     = {https://github.com/mileslucas/SpectralEmulator.jl},
	version = {v0.1.0},
	year    = {2019},
	month   = {10}
}


text:
# Find CppUnit includes and library
#
# This module defines
#  CppUnit_INCLUDE_DIRS
#  CppUnit_LIBRARIES, the libraries to link against to use CppUnit.
#  CppUnit_LIBRARY_DIRS, the location of the libraries
#  CppUnit_FOUND, If false, do not try to use CppUnit
#
# Copyright © 2007, Matt Williams
#
# Redistribution and use is allowed according to the terms of the BSD license.

IF(WIN32) # Windows
    SET(CppUnit_INCLUDE_SEARCH_DIRS
            ${CppUnit_LIBRARY_SEARCH_DIRS}
            ${CMAKE_INCLUDE_PATH}
            /usr/include/
            /usr/local/
            /opt/include/
            )
    SET(CppUnit_LIBRARY_SEARCH_DIRS
            ${CppUnit_LIBRARY_SEARCH_DIRS}
            ${CMAKE_LIBRARY_PATH}
            /usr/lib
            /usr/local/lib
            /opt/lib
            )
    FIND_PATH(CppUnit_INCLUDE_DIRS cppunit/Test.h ${CppUnit_INCLUDE_SEARCH_DIRS})
    IF(MSVC)
        # prefer the cppunit dll with Visual Studio
        FIND_LIBRARY(CppUnit_LIBRARIES cppunit_dll PATHS ${CppUnit_LIBRARY_SEARCH_DIRS})
    ELSE(MSVC)
        FIND_LIBRARY(CppUnit_LIBRARIES cppunit PATHS ${CppUnit_LIBRARY_SEARCH_DIRS})
    ENDIF(MSVC)
ELSE(WIN32) # Unix
    FIND_PACKAGE(PkgConfig)
    PKG_SEARCH_MODULE(CppUnit cppunit)
    SET(CppUnit_INCLUDE_DIRS ${CppUnit_INCLUDE_DIRS})
    SET(CppUnit_LIBRARY_DIRS ${CppUnit_LIBDIR})
    SET(CppUnit_LIBRARIES ${CppUnit_LIBRARIES} CACHE STRING "")
ENDIF(WIN32)

SET(CppUnit_INCLUDE_DIRS ${CppUnit_INCLUDE_DIRS})
SET(CppUnit_LIBRARIES ${CppUnit_LIBRARIES})
SET(CppUnit_LIBRARY_DIRS ${CppUnit_LIBRARY_DIRS})

MARK_AS_ADVANCED(CppUnit_INCLUDE_DIRS CppUnit_LIBRARIES CppUnit_LIBRARY_DIRS)

IF(CppUnit_INCLUDE_DIRS AND CppUnit_LIBRARIES)
    SET(CppUnit_FOUND TRUE)
ENDIF(CppUnit_INCLUDE_DIRS AND CppUnit_LIBRARIES)

IF(NOT CppUnit_FOUND)
    IF(CppUnit_FIND_REQUIRED)
        MESSAGE(FATAL_ERROR "Could not find CppUnit")
    ENDIF(CppUnit_FIND_REQUIRED)
ENDIF(NOT CppUnit_FOUND)


text:
% Encoding: UTF-8
@article{buehler-eschenbaum,
title = "Explaining escalating prices and fines: A unified approach",
journal = "Journal of Economic Behavior & Organization",
volume = "171",
pages = "153 - 164",
year = "2020",
issn = "0167-2681",
doi = "https://doi.org/10.1016/j.jebo.2020.01.008",
url = "http://www.sciencedirect.com/science/article/pii/S0167268120300093",
author = "Stefan Buehler and Nicolas Eschenbaum",
keywords = "Escalation, Behavior-based pricing, Repeat offenders, Deterrence",
abstract = "This paper provides an explanation for escalating prices and fines based on a unified analytical framework that nests monopoly pricing and optimal law enforcement. We show that escalation emerges as an optimal outcome if the principal (i) lacks commitment ability, and (ii) gives less than full weight to agent benefits. Escalation is driven by decreasing transfers for non-active agents rather than increasing transfers for active agents. Some forward-looking agents then strategically delay their activity, which drives a wedge between the optimal static transfer and the benefit of an indifferent agent. This wedge is the source of escalation."
}

repository: neschenbaum/academic-kickstart

repo_name: neschenbaum/academic-kickstart


text:
const { stdio } = require('./io/stdio');
const { file } = require('./io/file');
const { exit } = require('process');

const problem_path = process.argv[2];
if (!problem_path) {
    console.error(`Run command with valid problem name.`);
    console.error(`eg. \n\n\n "npm start -- -- 'geeks-for-geeks/reverse-an-array'" \n\n\n`);
    exit(0);
}

const file_path = '../../sample-input/' + problem_path + '.txt';
const solution_path = './solutions/' + problem_path + '.js';
const main = require(solution_path);

console.log('Output starts here\n--------------------------------');
// stdio(main);
file(file_path, main);
console.log('--------------------------------\nOutput ends here');

extension: js


text:
/*jshint node:true*/
/* global require, module */
var EmberAddon = require('ember-cli/lib/broccoli/ember-addon');

module.exports = function(defaults) {
  defaults.snippetSearchPaths = ['tests/dummy/app'];
  defaults.snippetPaths = ['tests/dummy/snippets'];

  var app = new EmberAddon(defaults,
    {
      babel: {
        includePolyfill: true,
        comments: false,
        compact: true
      }
    });

  var bootstrapPath = app.bowerDirectory + '/bootstrap/dist/';
  app.import(bootstrapPath + 'css/bootstrap.css');
  app.import(bootstrapPath + 'fonts/glyphicons-halflings-regular.eot', { destDir: '/fonts' });
  app.import(bootstrapPath + 'fonts/glyphicons-halflings-regular.svg', { destDir: '/fonts' });
  app.import(bootstrapPath + 'fonts/glyphicons-halflings-regular.ttf', { destDir: '/fonts' });
  app.import(bootstrapPath + 'fonts/glyphicons-halflings-regular.woff', { destDir: '/fonts' });
  app.import(bootstrapPath + 'fonts/glyphicons-halflings-regular.woff2', { destDir: '/fonts' });

  return app.toTree();
};

repository: runspired/liquid-fire-tweenlite

repo_name: runspired/liquid-fire-tweenlite

gha_language: JavaScript


text:
@InProceedings{liu10a,
  title = {The Group Dantzig Selector},
  author = {Han Liu and Jian Zhang and Xiaoye Jiang and Jun Liu},
  pages = {461--468},
  abstract = {We introduce a new method -- the  group Dantzig selector -- for high dimensional sparse regression with  group structure, which has a convincing theory about why utilizing the group structure can be beneficial. Under a  group restricted isometry condition,  we obtain a significantly improved nonasymptotic L2-norm bound over the basis pursuit or the Dantzig selector which ignores the group structure.   To gain more insight, we also introduce a surprisingly simple and intuitive  ``sparsity oracle condition'' to obtain a block L1-norm bound,  which is easily accessible to a broad audience in machine learning community. Encouraging numerical results are also provided to support our theory.},
  pdf = {http://jmlr.org/proceedings/papers/v9/liu10a/liu10a.pdf},
}


text:
/*
Copyright 2020 The Kubernetes Authors.

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 openstack

import (
	"fmt"

	"github.com/gophercloud/gophercloud/openstack/compute/v2/flavors"

	"github.com/gophercloud/gophercloud"
	cinder "github.com/gophercloud/gophercloud/openstack/blockstorage/v3/volumes"
	az "github.com/gophercloud/gophercloud/openstack/compute/v2/extensions/availabilityzones"
	"github.com/gophercloud/gophercloud/openstack/compute/v2/extensions/keypairs"
	"github.com/gophercloud/gophercloud/openstack/compute/v2/extensions/servergroups"
	"github.com/gophercloud/gophercloud/openstack/compute/v2/extensions/volumeattach"
	"github.com/gophercloud/gophercloud/openstack/compute/v2/servers"
	"github.com/gophercloud/gophercloud/openstack/dns/v2/recordsets"
	"github.com/gophercloud/gophercloud/openstack/dns/v2/zones"
	"github.com/gophercloud/gophercloud/openstack/imageservice/v2/images"
	"github.com/gophercloud/gophercloud/openstack/loadbalancer/v2/listeners"
	"github.com/gophercloud/gophercloud/openstack/loadbalancer/v2/loadbalancers"
	"github.com/gophercloud/gophercloud/openstack/loadbalancer/v2/monitors"
	v2pools "github.com/gophercloud/gophercloud/openstack/loadbalancer/v2/pools"
	l3floatingip "github.com/gophercloud/gophercloud/openstack/networking/v2/extensions/layer3/floatingips"
	"github.com/gophercloud/gophercloud/openstack/networking/v2/extensions/layer3/routers"
	sg "github.com/gophercloud/gophercloud/openstack/networking/v2/extensions/security/groups"
	sgr "github.com/gophercloud/gophercloud/openstack/networking/v2/extensions/security/rules"
	"github.com/gophercloud/gophercloud/openstack/networking/v2/networks"
	"github.com/gophercloud/gophercloud/openstack/networking/v2/ports"
	"github.com/gophercloud/gophercloud/openstack/networking/v2/subnets"
	v1 "k8s.io/api/core/v1"
	"k8s.io/kops/cloudmock/openstack/mockblockstorage"
	"k8s.io/kops/cloudmock/openstack/mockcompute"
	"k8s.io/kops/cloudmock/openstack/mockdns"
	"k8s.io/kops/cloudmock/openstack/mockimage"
	"k8s.io/kops/cloudmock/openstack/mockloadbalancer"
	"k8s.io/kops/cloudmock/openstack/mocknetworking"
	"k8s.io/kops/dnsprovider/pkg/dnsprovider"
	dnsproviderdesignate "k8s.io/kops/dnsprovider/pkg/dnsprovider/providers/openstack/designate"
	"k8s.io/kops/pkg/apis/kops"
	"k8s.io/kops/pkg/cloudinstances"
	"k8s.io/kops/upup/pkg/fi"
)

type MockCloud struct {
	MockCinderClient  *mockblockstorage.MockClient
	MockNeutronClient *mocknetworking.MockClient
	MockNovaClient    *mockcompute.MockClient
	MockDNSClient     *mockdns.MockClient
	MockLBClient      *mockloadbalancer.MockClient
	MockImageClient   *mockimage.MockClient
	region            string
	tags              map[string]string
	useOctavia        bool
	zones             []string
	extNetworkName    *string
	extSubnetName     *string
	floatingSubnet    *string
}

func InstallMockOpenstackCloud(region string) *MockCloud {
	i := BuildMockOpenstackCloud(region)
	openstackCloudInstances[region] = i
	return i
}

func BuildMockOpenstackCloud(region string) *MockCloud {
	return &MockCloud{
		region: region,
	}
}

var _ fi.Cloud = (*MockCloud)(nil)

func (c *MockCloud) ComputeClient() *gophercloud.ServiceClient {
	client := c.MockNovaClient.ServiceClient()
	client.UserAgent.Prepend("compute")
	return client
}

func (c *MockCloud) BlockStorageClient() *gophercloud.ServiceClient {
	client := c.MockCinderClient.ServiceClient()
	client.UserAgent.Prepend("blockstorage")
	return client
}

func (c *MockCloud) NetworkingClient() *gophercloud.ServiceClient {
	client := c.MockNeutronClient.ServiceClient()
	client.UserAgent.Prepend("networking")
	return client
}

func (c *MockCloud) LoadBalancerClient() *gophercloud.ServiceClient {
	client := c.MockLBClient.ServiceClient()
	client.UserAgent.Prepend("loadbalancer")
	return client
}

func (c *MockCloud) DNSClient() *gophercloud.ServiceClient {
	client := c.MockDNSClient.ServiceClient()
	client.UserAgent.Prepend("dns")
	return client
}

func (c *MockCloud) ImageClient() *gophercloud.ServiceClient {
	client := c.MockImageClient.ServiceClient()
	client.UserAgent.Prepend("image")
	return client
}

func (c *MockCloud) DeleteGroup(g *cloudinstances.CloudInstanceGroup) error {
	return deleteGroup(c, g)
}

func (c *MockCloud) DeleteInstance(i *cloudinstances.CloudInstance) error {
	return deleteInstance(c, i)
}

func (c *MockCloud) DeregisterInstance(i *cloudinstances.CloudInstance) error {
	return deregisterInstance(c, i.ID)
}

func (c *MockCloud) DetachInstance(i *cloudinstances.CloudInstance) error {
	return detachInstance(c, i)
}

func (c *MockCloud) GetCloudGroups(cluster *kops.Cluster, instancegroups []*kops.InstanceGroup, warnUnmatched bool, nodes []v1.Node) (map[string]*cloudinstances.CloudInstanceGroup, error) {
	return getCloudGroups(c, cluster, instancegroups, warnUnmatched, nodes)
}

func (c *MockCloud) ProviderID() kops.CloudProviderID {
	return kops.CloudProviderOpenstack
}

func (c *MockCloud) DNS() (dnsprovider.Interface, error) {
	if c.MockDNSClient == nil {
		return nil, fmt.Errorf("MockDNS not set")
	}
	return dnsproviderdesignate.New(c.DNSClient()), nil
}

func (c *MockCloud) FindVPCInfo(id string) (*fi.VPCInfo, error) {
	return findVPCInfo(c, id, c.zones)
}

func (c *MockCloud) Region() string {
	return c.region
}

func (c *MockCloud) AppendTag(resource string, id string, tag string) error {
	return appendTag(c, resource, id, tag)
}

func (c *MockCloud) AssociateToPool(server *servers.Server, poolID string, opts v2pools.CreateMemberOpts) (association *v2pools.Member, err error) {
	return associateToPool(c, server, poolID, opts)
}

func (c *MockCloud) AttachVolume(serverID string, opts volumeattach.CreateOpts) (attachment *volumeattach.VolumeAttachment, err error) {
	return attachVolume(c, serverID, opts)
}

func (c *MockCloud) CreateInstance(opt servers.CreateOptsBuilder, portID string) (*servers.Server, error) {
	return createInstance(c, opt, portID)
}

func (c *MockCloud) CreateKeypair(opt keypairs.CreateOptsBuilder) (*keypairs.KeyPair, error) {
	return createKeypair(c, opt)
}

func (c *MockCloud) CreateL3FloatingIP(opts l3floatingip.CreateOpts) (fip *l3floatingip.FloatingIP, err error) {
	return createL3FloatingIP(c, opts)
}

func (c *MockCloud) CreateLB(opt loadbalancers.CreateOptsBuilder) (*loadbalancers.LoadBalancer, error) {
	return createLB(c, opt)
}

func (c *MockCloud) CreateListener(opts listeners.CreateOpts) (listener *listeners.Listener, err error) {
	return createListener(c, opts)
}

func (c *MockCloud) CreateNetwork(opt networks.CreateOptsBuilder) (*networks.Network, error) {
	return createNetwork(c, opt)
}

func (c *MockCloud) CreatePool(opts v2pools.CreateOpts) (pool *v2pools.Pool, err error) {
	return createPool(c, opts)
}

func (c *MockCloud) CreatePoolMonitor(opts monitors.CreateOpts) (*monitors.Monitor, error) {
	return createPoolMonitor(c, opts)
}

func (c *MockCloud) CreatePort(opt ports.CreateOptsBuilder) (*ports.Port, error) {
	return createPort(c, opt)
}

func (c *MockCloud) CreateRouter(opt routers.CreateOptsBuilder) (*routers.Router, error) {
	return createRouter(c, opt)
}

func (c *MockCloud) CreateRouterInterface(routerID string, opt routers.AddInterfaceOptsBuilder) (*routers.InterfaceInfo, error) {
	return createRouterInterface(c, routerID, opt)
}

func (c *MockCloud) CreateSecurityGroup(opt sg.CreateOptsBuilder) (*sg.SecGroup, error) {
	return createSecurityGroup(c, opt)
}

func (c *MockCloud) CreateSecurityGroupRule(opt sgr.CreateOptsBuilder) (*sgr.SecGroupRule, error) {
	return createSecurityGroupRule(c, opt)
}

func (c *MockCloud) CreateServerGroup(opt servergroups.CreateOptsBuilder) (*servergroups.ServerGroup, error) {
	return createServerGroup(c, opt)
}

func (c *MockCloud) CreateSubnet(opt subnets.CreateOptsBuilder) (*subnets.Subnet, error) {
	return createSubnet(c, opt)
}

func (c *MockCloud) CreateVolume(opt cinder.CreateOptsBuilder) (*cinder.Volume, error) {
	return createVolume(c, opt)
}

func (c *MockCloud) DefaultInstanceType(cluster *kops.Cluster, ig *kops.InstanceGroup) (string, error) {
	return defaultInstanceType(c, cluster, ig)
}

func (c *MockCloud) DeleteFloatingIP(id string) (err error) {
	return deleteFloatingIP(c, id)
}

func (c *MockCloud) DeleteInstanceWithID(instanceID string) error {
	return deleteInstanceWithID(c, instanceID)
}

func (c *MockCloud) DeleteKeyPair(name string) error {
	return deleteKeyPair(c, name)
}

func (c *MockCloud) DeleteL3FloatingIP(id string) (err error) {
	return deleteL3FloatingIP(c, id)
}

func (c *MockCloud) DeleteLB(lbID string, opts loadbalancers.DeleteOpts) error {
	return deleteLB(c, lbID, opts)
}

func (c *MockCloud) DeleteListener(listenerID string) error {
	return deleteListener(c, listenerID)
}

func (c *MockCloud) DeleteMonitor(monitorID string) error {
	return deleteMonitor(c, monitorID)
}

func (c *MockCloud) DeleteNetwork(networkID string) error {
	return deleteNetwork(c, networkID)
}

func (c *MockCloud) DeletePool(poolID string) error {
	return deletePool(c, poolID)
}

func (c *MockCloud) DeletePort(portID string) error {
	return deletePort(c, portID)
}

func (c *MockCloud) DeleteRouter(routerID string) error {
	return deleteRouter(c, routerID)
}

func (c *MockCloud) DeleteSecurityGroup(sgID string) error {
	return deleteSecurityGroup(c, sgID)
}

func (c *MockCloud) DeleteSecurityGroupRule(ruleID string) error {
	return deleteSecurityGroupRule(c, ruleID)
}

func (c *MockCloud) DeleteRouterInterface(routerID string, opt routers.RemoveInterfaceOptsBuilder) error {
	return deleteRouterInterface(c, routerID, opt)
}

func (c *MockCloud) DeleteServerGroup(groupID string) error {
	return deleteServerGroup(c, groupID)
}

func (c *MockCloud) DeleteSubnet(subnetID string) error {
	return deleteSubnet(c, subnetID)
}

func (c *MockCloud) DeleteTag(resource string, id string, tag string) error {
	return deleteTag(c, resource, id, tag)
}

func (c *MockCloud) DeleteVolume(volumeID string) error {
	return deleteVolume(c, volumeID)
}

func (c *MockCloud) FindClusterStatus(cluster *kops.Cluster) (*kops.ClusterStatus, error) {
	return findClusterStatus(c, cluster)
}

func (c *MockCloud) FindNetworkBySubnetID(subnetID string) (*networks.Network, error) {
	return findNetworkBySubnetID(c, subnetID)
}

func (c *MockCloud) GetApiIngressStatus(cluster *kops.Cluster) ([]fi.ApiIngressStatus, error) {
	return getApiIngressStatus(c, cluster)
}

func (c *MockCloud) GetCloudTags() map[string]string {
	return c.tags
}

func (c *MockCloud) GetExternalNetwork() (net *networks.Network, err error) {
	return getExternalNetwork(c, *c.extNetworkName)
}

func (c *MockCloud) GetExternalSubnet() (subnet *subnets.Subnet, err error) {
	return getExternalSubnet(c, c.extSubnetName)
}

func (c *MockCloud) GetL3FloatingIP(id string) (fip *l3floatingip.FloatingIP, err error) {
	return getL3FloatingIP(c, id)
}

func (c *MockCloud) GetImage(name string) (*images.Image, error) {
	return getImage(c, name)
}

func (c *MockCloud) GetFlavor(name string) (*flavors.Flavor, error) {
	return getFlavor(c, name)
}

func (c *MockCloud) GetInstance(id string) (*servers.Server, error) {
	return getInstance(c, id)
}

func (c *MockCloud) GetKeypair(name string) (*keypairs.KeyPair, error) {
	return getKeypair(c, name)
}

func (c *MockCloud) GetLB(loadbalancerID string) (lb *loadbalancers.LoadBalancer, err error) {
	return getLB(c, loadbalancerID)
}

func (c *MockCloud) GetNetwork(id string) (*networks.Network, error) {
	return getNetwork(c, id)
}

func (c *MockCloud) GetLBFloatingSubnet() (subnet *subnets.Subnet, err error) {
	return getLBFloatingSubnet(c, c.floatingSubnet)
}

func (c *MockCloud) GetPool(poolID string) (pool *v2pools.Pool, err error) {
	return getPool(c, poolID)
}

func (c *MockCloud) GetPoolMember(poolID string, memberID string) (member *v2pools.Member, err error) {
	return getPoolMember(c, poolID, memberID)
}

func (c *MockCloud) GetPort(id string) (*ports.Port, error) {
	return getPort(c, id)
}

func (c *MockCloud) UpdatePort(id string, opt ports.UpdateOptsBuilder) (*ports.Port, error) {
	return updatePort(c, id, opt)
}

func (c *MockCloud) GetStorageAZFromCompute(computeAZ string) (*az.AvailabilityZone, error) {
	return getStorageAZFromCompute(c, computeAZ)
}

func (c *MockCloud) GetSubnet(subnetID string) (*subnets.Subnet, error) {
	return getSubnet(c, subnetID)
}

func (c *MockCloud) ListAvailabilityZones(serviceClient *gophercloud.ServiceClient) (azList []az.AvailabilityZone, err error) {
	return listAvailabilityZones(c, serviceClient)
}

func (c *MockCloud) ListDNSZones(opt zones.ListOptsBuilder) ([]zones.Zone, error) {
	return listDNSZones(c, opt)
}

func (c *MockCloud) ListDNSRecordsets(zoneID string, opt recordsets.ListOptsBuilder) ([]recordsets.RecordSet, error) {
	return listDNSRecordsets(c, zoneID, opt)
}

func (c *MockCloud) DeleteDNSRecordset(zoneID string, rrsetID string) error {
	return deleteDNSRecordset(c, zoneID, rrsetID)
}

func (c *MockCloud) ListInstances(opt servers.ListOptsBuilder) ([]servers.Server, error) {
	return listInstances(c, opt)
}

func (c *MockCloud) ListKeypairs() ([]keypairs.KeyPair, error) {
	return listKeypairs(c)
}

func (c *MockCloud) ListL3FloatingIPs(opts l3floatingip.ListOpts) (fips []l3floatingip.FloatingIP, err error) {
	return listL3FloatingIPs(c, opts)
}

func (c *MockCloud) UpdateMemberInPool(poolID string, memberID string, opts v2pools.UpdateMemberOptsBuilder) (*v2pools.Member, error) {
	return updateMemberInPool(c, poolID, memberID, opts)
}

func (c *MockCloud) GetLBStats(loadbalancerID string) (*loadbalancers.Stats, error) {
	return getLBStats(c, loadbalancerID)
}

func (c *MockCloud) ListPoolMembers(poolID string, opts v2pools.ListMembersOpts) ([]v2pools.Member, error) {
	return listPoolMembers(c, poolID, opts)
}

func (c *MockCloud) ListLBs(opt loadbalancers.ListOptsBuilder) (lbs []loadbalancers.LoadBalancer, err error) {
	return listLBs(c, opt)
}

func (c *MockCloud) ListListeners(opts listeners.ListOpts) (listenerList []listeners.Listener, err error) {
	return listListeners(c, opts)
}

func (c *MockCloud) ListMonitors(opts monitors.ListOpts) (monitorList []monitors.Monitor, err error) {
	return listMonitors(c, opts)
}

func (c *MockCloud) ListNetworks(opt networks.ListOptsBuilder) ([]networks.Network, error) {
	return listNetworks(c, opt)
}

func (c *MockCloud) ListPools(opts v2pools.ListOpts) (poolList []v2pools.Pool, err error) {
	return listPools(c, opts)
}

func (c *MockCloud) ListPorts(opt ports.ListOptsBuilder) ([]ports.Port, error) {
	return listPorts(c, opt)
}

func (c *MockCloud) ListRouters(opt routers.ListOpts) ([]routers.Router, error) {
	return listRouters(c, opt)
}

func (c *MockCloud) ListSecurityGroups(opt sg.ListOpts) ([]sg.SecGroup, error) {
	return listSecurityGroups(c, opt)
}

func (c *MockCloud) ListSecurityGroupRules(opt sgr.ListOpts) ([]sgr.SecGroupRule, error) {
	return listSecurityGroupRules(c, opt)
}

func (c *MockCloud) ListServerFloatingIPs(instanceID string) ([]*string, error) {
	return listServerFloatingIPs(c, instanceID, true)
}

func (c *MockCloud) ListServerGroups(opts servergroups.ListOptsBuilder) ([]servergroups.ServerGroup, error) {
	return listServerGroups(c, opts)
}

func (c *MockCloud) ListSubnets(opt subnets.ListOptsBuilder) ([]subnets.Subnet, error) {
	return listSubnets(c, opt)
}

func (c *MockCloud) ListVolumes(opt cinder.ListOptsBuilder) ([]cinder.Volume, error) {
	return listVolumes(c, opt)
}

func (c *MockCloud) SetExternalNetwork(name *string) {
	c.extNetworkName = name
}

func (c *MockCloud) SetExternalSubnet(name *string) {
	c.extSubnetName = name
}

func (c *MockCloud) SetLBFloatingSubnet(name *string) {
	c.floatingSubnet = name
}

func (c *MockCloud) SetVolumeTags(id string, tags map[string]string) error {
	return setVolumeTags(c, id, tags)
}

func (c *MockCloud) UseOctavia() bool {
	return c.useOctavia
}

func (c *MockCloud) UseZones(zones []string) {
	c.zones = zones
}

func (c *MockCloud) UseLoadBalancerVIPACL() (bool, error) {
	return true, nil
}

repository: kubernetes/kops

repo_name: kubernetes/kops

gha_language: Go


text:
PR = "r0"
LICENSE = "Proprietary"
LIC_FILES_CHKSUM = "file://watchdog-test.c;md5=8eeea2de262f0f72da37c8f971d681aa"
SRC_URI = "file://watchdog-test.c  \
	   "
inherit module

S = "${WORKDIR}"
do_compile () {
	${CC} -v -o watchdog-test watchdog-test.c
}

do_install () {
	install -d ${D}/usr
	install -d ${D}/usr/bin
	install -m 0755 ${S}/watchdog-test ${D}/usr/bin
}

FILES_${PN} += "\
		/usr/bin/watchdog-test"