text:
Q: Is there a macro to filter table by some list elements? I have a table with entries based on a list and I used a macro I found somewhere to be able to add/remove multiple elements from the list to one cell, let me show you an example:
TEST TABLE
test1
test1, test2
test1, test3
test2, test3, test4

Where items from the list are test1, test2, and so on.
Now I don't know if this is even possible, but I would like to be able to instantly filter the table by specific item from the list (for example test1), moreover I would like to put these criteria in a chceckbox filters so that instead of checkboxes like "test1, test2" in the checkboxes I would have only single items from the list (like test1, test2 and so on)
Is it even possible, and if yes can someone help to prepare a macro for this? In addition I am putting here my macro from the workbook:
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
Dim rngDV As Range
Dim oldVal As String
Dim newVal As String
Dim lUsed As Long
If Target.Count > 1 Then GoTo exitHandler

On Error Resume Next
Set rngDV = Cells.SpecialCells(xlCellTypeAllValidation)
On Error GoTo exitHandler

If rngDV Is Nothing Then GoTo exitHandler

If Intersect(Target, rngDV) Is Nothing Then
   'do nothing
Else
  Application.EnableEvents = False
  newVal = Target.Value
  Application.Undo
  oldVal = Target.Value
  Target.Value = newVal
    If oldVal = "" Then
      'do nothing
      Else
      If newVal = "" Then
      'do nothing
      Else
        lUsed = InStr(1, oldVal, newVal)
        If lUsed > 0 Then
            If Right(oldVal, Len(newVal)) = newVal Then
                Target.Value = Left(oldVal, Len(oldVal) - Len(newVal) - 2)
            Else
                Target.Value = Replace(oldVal, newVal & ", ", "")
            End If
        Else
            Target.Value = oldVal _
              & ", " & newVal
        End If

      End If
  End If
End If

exitHandler:
  Application.EnableEvents = True

Call AutoFitColumns

End Sub

Sub AutoFitColumns()
Dim rng As Range
Set rng = Range(Cells(1, 1), Cells(1, Columns.Count).End(xlToLeft))
rng.EntireColumn.AutoFit
End Sub

A: Even though this is an old post, I'm providing one way of doing it, as a reference

*

*Create a new UserForm with default name "UserForm1"

*Create a new ComboBox with default name "ComboBox1" on the form, similar to this

Add this code to the VBA module for the Form:

Option Explicit

Private enableEvts As Boolean
Private thisCol As Range

Private Sub ComboBox1_Change()
   If enableEvts Then filterColumn thisCol, ComboBox1.Text
   'Me.Hide
End Sub

Public Sub setupList(ByRef col As Range)
   Set thisCol = col
   enableEvts = False
      setList col, ComboBox1
   enableEvts = True
   Me.Caption = "Filter Column: " & Left(col.Address(, False), 1)
End Sub

Private Sub ComboBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
   If KeyAscii = vbKeyEscape Then Me.Hide
End Sub
Private Sub CommandButton1_Click()
   ComboBox1.ListIndex = -1
   If Not Sheet1.AutoFilter Is Nothing Then Sheet1.UsedRange.AutoFilter
End Sub
Private Sub CommandButton2_Click()
   Me.Hide
End Sub
Private Sub UserForm_Click()
   Me.Hide
End Sub

Paste this code in the VBA module for Sheet1:
Option Explicit

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
   With Target
      If .CountLarge = 1 Then
         removeAllFilters Me
         If .Row = 1 Then
            .Offset(1, 0).Activate
            UserForm1.setupList Me.UsedRange.Columns(.Column)
            UserForm1.Show
         End If
      End If
   End With
End Sub

Sheet1 data:

Paste this code into a standard VBA module (open VBA: Alt + F11, click menu Insert > Module)
Option Explicit

Public Sub setList(ByRef rng As Range, ByRef cmb As ComboBox)
   Dim ws As Worksheet, lst As Range, lr As Long

   If rng.Columns.Count = 1 Then
      xlEnabled False
      Set ws = rng.Parent
      removeAllFilters ws
      Set lst = ws.UsedRange.Columns(rng.Column)
      lr = getLastRow(lst, rng.Column)

      If lr > 1 Then
         With cmb
            .List = Split(getDistinct(lst, lr), ",")
            .ListIndex = -1
         End With
      End If
      xlEnabled True
   End If
End Sub

Public Sub xlEnabled(ByVal onOff As Boolean)
    Application.ScreenUpdating = onOff
    Application.EnableEvents = onOff
End Sub

Private Function getLastRow(ByRef rng As Range, ByVal lc As Long) As Long
   Dim ws As Worksheet, lr As Long
   If Not rng Is Nothing Then
      Set ws = rng.Parent
      lr = ws.Cells(rng.Row + ws.UsedRange.Rows.Count + 1, lc).End(xlUp).Row
      Set rng = ws.Range(ws.Cells(1, lc), ws.Cells(lr, lc)) 'updates rng (ByRef)
   End If
   getLastRow = lr
End Function

Private Function getDistinct(ByRef rng As Range, ByVal lr As Long) As String
   Dim ws As Worksheet, lst As String, lc As Long, tmp As Range, v As Variant, c As Double

   Set ws = rng.Parent
   lc = ws.Cells(rng.Row, rng.Column + ws.UsedRange.Columns.Count + 1).End(xlToLeft).Column
   Set tmp = ws.Range(ws.Cells(1, lc + 1), ws.Cells(lr, lc + 1))

   If tmp.Count > 1 Then
      With tmp.Cells(1, 1)
         .Formula = "=Trim(" & ws.Cells(rng.Row, lc).Address(False, False) & ")"
         .AutoFill Destination:=tmp
      End With

      tmp.Value2 = tmp.Value2       'convert formulas to values
      tmp.Cells(1, 1).ClearContents 'remove header from list
      cleanCol tmp, lc
      lr = getLastRow(tmp, lc + 1)

      lst = Join(Application.Transpose(tmp), ",")
      lst = Replace(lst, ", ", ","):   lst = Replace(lst, " ,", ",")
      v = Application.Transpose(Split(lst, ","))

      lr = UBound(v)
      ws.Range(ws.Cells(1, lc + 1), ws.Cells(lr, lc + 1)) = v
      getLastRow tmp, lc + 1

      cleanCol tmp, lc
      getLastRow tmp, lc + 1
      lst = Join(Application.Transpose(tmp), ",")
      lst = Replace(lst, ", ", ","):   lst = Replace(lst, " ,", ",")
      tmp.Cells(1, 1).EntireColumn.Clear
   End If
   getDistinct = lst
End Function

Public Sub filterColumn(ByRef col As Range, ByVal fltrCriteria As String)
   Dim ws As Worksheet, lst As Range, lr As Long

   xlEnabled False
   Set ws = col.Parent
   Set lst = ws.UsedRange.Columns(col.Column)
   lr = getLastRow(lst, col.Column)

   lst.AutoFilter
   lst.AutoFilter Field:=1, Criteria1:="*" & fltrCriteria & "*"
   xlEnabled True
End Sub

Private Sub cleanCol(ByRef tmp As Range, ByVal lc As Long)
   Dim ws As Worksheet, lr As Long

   Set ws = tmp.Parent
   tmp.RemoveDuplicates Columns:=1, Header:=xlNo
   lr = getLastRow(tmp, lc + 1)

   ws.Sort.SortFields.Add Key:=ws.Cells(lr + 1, lc + 1), Order:=xlAscending
   With ws.Sort
      .SetRange tmp
      .Header = xlNo
      .MatchCase = False
      .Orientation = xlTopToBottom
      .Apply
   End With
End Sub

Public Sub removeAllFilters(ByRef ws As Worksheet)

   If Not ws.AutoFilter Is Nothing Then ws.UsedRange.AutoFilter
   ws.Rows.Hidden = False

End Sub

Clicking on the header column ("TEST TABLE") will filter the list in 2 parts
Part 1:

*

*Extract the items from all cells of the current column into the first unused column of the sheet

*Trim all items, using Excel TRIM() formula (not copy-past using the clipboard)

*Remove duplicates from the list: .RemoveDuplicates Columns:=1, Header:=xlNo

*Sort the items in place (words in each cell are not separated yet)

*Create one string containing all text, separated by commas

Part 2:

*

*Split the string again

*Trim all items (cell words are now separated an can contain extra spaces)

*Remove duplicates from the list and sort them once more

*Create one final string containing the filtered list

*Update the combo box drop-down with final items

When the user selects an item from the drop-down list

*

*It will perform an Autofilter for cells containing partial text

*

*Criteria1:="*" & fltrCriteria & "*", (Ex "*test3*")

*Button Clear Sort removes the Autofilter

*Button Cancel closes the form, without removing the filter

*Once the form is closed, the filter can be removed 3 ways

*

*The standard way, using the Autofilter drop-down, and "Select All"

*Menu Data Tab and clicking the Filter button

*Clicking on the column header again (TEST TABLE)

Filtered drop-down list:

Filtered rows using criteria "test3"

Clear previous filter:


Today I wanted to see how can I upgrade my Flickr Basic account to a Pro one, but unfortunately all the online payments have to be done through PayPal. PayPal guys on the other hand need to go back to school or at least visit Wikipedia to know that there is a country called Egypt that is not there on their payment form.
So I think I'll stick to my Flickr Basic account for a while till I find someone abroad who likes my photography that much to buy me an account.
I told you before that I want to buy a digital camera. I also told you that I want it to be a dSLR. The only two brands I knew were Nikon and Canon. Till I went to PhotoEgypt2007 Exhibition last Friday.
Canon had a big booth, in the center of the Hall. They were showing their EOS 400D, they told me that it's price is LE 7,800, which is really expensive. May be because it's the most famous brand here, that's why they put high prices on their products. The camera was locked in a glass stand, and visitors were not allowed to play with it. They didn't even have brochures for their products.
Nikon almost has no resellers here in Egypt. Fujifilm had some Nikon cameras in their booth, but they only had the D80 and D200, when I asked them about the D40 or D50, they told me that they've never heard about them. They don't even know their own Finepix F30.
Most of the other exhibitors were either small shops selling old cameras with fishy prices, or companies selling printers, inks, frames, memory cards, lighting units, etc. I didn'r even see brands such as Sony, Sigma, Leica, and Pentax.
I then came across an Olympus distributer called Optoscient. They were showing two dSRL models there, E-330 and E-400. E-400's price was LE 5,500. I took their address and camera brochures and decided to add Olympus to my dSLR short list.
It came out that Olympus has great cameras, it has internal sensor cleaning system for example which is not in any of Nikon cameras nor Canon's EOS 350D. It's 10 Mega pixels with spex comparable to Nikon's D80 which is about 50% ~ 75% more expensive. I like their four-thirds standard, which allows for the interchange of lenses and bodies from different manufacturers. So when buying Oly I will not be limited to their Zuiko lenses. So I went last Thursday and bought that camera and I am really happy with it.
Looking forward to learn more about digital photography and add more photos with my new camera on Flickr.
In joint event in Chicago marking 21 years since establishment of relations between Israel and Spain, Spanish consul general apologizes for expulsion of Jews from his country in 15th century. He also stated that the expulsion of the Jews from Spain in 1492 was an "almost barbaric" act.
Source: Ynet News, Jewish Scene.
But the question is, were the Jews the only ones who faced discrimination and were kicked out of Spain at that time!?
On March 31, 1492, the Alhambra Decree for the expulsion of the Jews and Muslims was issued. Approximately 200,000 people left Spain. The Muslims of the newly conquered Granada had been initially granted religious freedom, but pressure to convert increased, and after some revolts, a policy of forced expulsion or conversion was also instituted in 1502.
Source: Wikipedia, Isabella of Castile, Expulsion of the Jews and Muslims.
After the fall of Granada in 1492, the Muslim population was promised religious freedom by the Treaty of Granada, but that promise was short-lived. In 1502, Muslims were given an ultimatum to either convert or emigrate. The majority converted, but only superficially, continuing to dress and speak as they had before and to secretly practice Islam and use the aljamiado writing system. This led Cardinal Cisneros to use a more forceful approach, which resulted in an uprising in 1500 to 1502. This was suppressed, and the Spanish authorities took that as a pretext to void the rights and obligations in the surrender treaty. As early as 1508, authorities banned traditional fashion. In 1567, Philip II of Spain issued an edict requiring Moriscos to give up their Muslim names, their traditional Muslim dress, and even prohibited the speaking of Arabic. They were even told that they would have to give up their children to be educated by Christian priests.
I agree with the Spanish consul general, that expulsion of the any specific sect from any country is an "almost barbaric" act. In fact, I think the the whole Spanish Inquisition was a barbaric act. But he has to apologize to the Muslims who faced similar discrimination too. Which is not the case, and no one ever thought of apologizing to them. May be because our regimes have similar Inquisitions in the Muslim countries now a days, so we are supposed to be used to this, and we shall be grateful to the Spanish people for teaching our regimes such thing.
As you may have noticed, I haven't written anything here for a while. The point is that I am a little bit busy, plus I have nothing in my mind to write about. So, here you are the first "Blog Topic Begger Post" in the entire history, if any of you have a good topic and would like me to write about it here, please help me.


text:
/****************************************************************************
 * Included Files
 ****************************************************************************/

#include <nuttx/config.h>

#include <sys/mount.h>

#include <stdint.h>
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <fcntl.h>
#include <dirent.h>
#include <string.h>
#include <errno.h>
#include <crc32.h>
#include <debug.h>

#include <nuttx/mtd/mtd.h>
#include <nuttx/fs/smart.h>
#include <nuttx/fs/ioctl.h>
#include <nuttx/fs/mksmartfs.h>

/****************************************************************************
 * Definitions
 ****************************************************************************/
/* Configuration ************************************************************/
/* The default is to use the RAM MTD device at drivers/mtd/rammtd.c.  But
 * an architecture-specific MTD driver can be used instead by defining
 * CONFIG_EXAMPLES_SMART_ARCHINIT.  In this case, the initialization logic
 * will call smart_archinitialize() to obtain the MTD driver instance.
 */

#ifndef CONFIG_EXAMPLES_SMART_ARCHINIT

/* This must exactly match the default configuration in drivers/mtd/rammtd.c */

#  ifndef CONFIG_RAMMTD_ERASESIZE
#    define CONFIG_RAMMTD_ERASESIZE 4096
#  endif

#  ifndef CONFIG_EXAMPLES_SMART_NEBLOCKS
#    define CONFIG_EXAMPLES_SMART_NEBLOCKS (256)
#  endif

#  define EXAMPLES_SMART_BUFSIZE \
  (CONFIG_RAMMTD_ERASESIZE * CONFIG_EXAMPLES_SMART_NEBLOCKS)
#endif

#ifndef CONFIG_EXAMPLES_SMART_MAXNAME
#  define CONFIG_EXAMPLES_SMART_MAXNAME 128
#endif

#if CONFIG_EXAMPLES_SMART_MAXNAME > 255
#  undef CONFIG_EXAMPLES_SMART_MAXNAME
#  define CONFIG_EXAMPLES_SMART_MAXNAME 255
#endif

#ifndef CONFIG_EXAMPLES_SMART_MAXFILE
#  define CONFIG_EXAMPLES_SMART_MAXFILE 8192
#endif

#ifndef CONFIG_EXAMPLES_SMART_MAXIO
#  define CONFIG_EXAMPLES_SMART_MAXIO 347
#endif

#ifndef CONFIG_EXAMPLES_SMART_MAXOPEN
#  define CONFIG_EXAMPLES_SMART_MAXOPEN 512
#endif

#ifndef CONFIG_EXAMPLES_SMART_MOUNTPT
#  define CONFIG_EXAMPLES_SMART_MOUNTPT "/mnt/smart"
#endif

#ifndef CONFIG_EXAMPLES_SMART_NLOOPS
#  define CONFIG_EXAMPLES_SMART_NLOOPS 100
#endif

#ifndef CONFIG_EXAMPLES_SMART_VERBOSE
#  define CONFIG_EXAMPLES_SMART_VERBOSE 0
#endif

/****************************************************************************
 * Private Types
 ****************************************************************************/

struct smart_filedesc_s
{
  FAR char *name;
  bool deleted;
  size_t len;
  uint32_t crc;
};

/****************************************************************************
 * Private Data
 ****************************************************************************/
/* Pre-allocated simulated flash */

#ifndef CONFIG_EXAMPLES_SMART_ARCHINIT
static uint8_t g_simflash[EXAMPLES_SMART_BUFSIZE];
#endif

static uint8_t g_fileimage[CONFIG_EXAMPLES_SMART_MAXFILE];
static struct smart_filedesc_s g_files[CONFIG_EXAMPLES_SMART_MAXOPEN];
static const char g_mountdir[] = CONFIG_EXAMPLES_SMART_MOUNTPT "/";
static int g_nfiles;
static int g_ndeleted;

static struct mallinfo g_mmbefore;
static struct mallinfo g_mmprevious;
static struct mallinfo g_mmafter;

/****************************************************************************
 * External Functions
 ****************************************************************************/

#ifdef CONFIG_EXAMPLES_SMART_ARCHINIT
extern FAR struct mtd_dev_s *smart_archinitialize(void);
#endif

/****************************************************************************
 * Private Functions
 ****************************************************************************/

/****************************************************************************
 * Name: smart_memusage
 ****************************************************************************/

static void smart_showmemusage(struct mallinfo *mmbefore,
                               struct mallinfo *mmafter)
{
  printf("VARIABLE  BEFORE   AFTER\n");
  printf("======== ======== ========\n");
  printf("arena    %8x %8x\n", mmbefore->arena,    mmafter->arena);
  printf("ordblks  %8d %8d\n", mmbefore->ordblks,  mmafter->ordblks);
  printf("mxordblk %8x %8x\n", mmbefore->mxordblk, mmafter->mxordblk);
  printf("uordblks %8x %8x\n", mmbefore->uordblks, mmafter->uordblks);
  printf("fordblks %8x %8x\n", mmbefore->fordblks, mmafter->fordblks);
}

/****************************************************************************
 * Name: smart_loopmemusage
 ****************************************************************************/

static void smart_loopmemusage(void)
{
  /* Get the current memory usage */

#ifdef CONFIG_CAN_PASS_STRUCTS
  g_mmafter = mallinfo();
#else
  (void)mallinfo(&g_mmafter);
#endif

  /* Show the change from the previous loop */

  printf("\nEnd of loop memory usage:\n");
  smart_showmemusage(&g_mmprevious, &g_mmafter);

  /* Set up for the next test */

#ifdef CONFIG_CAN_PASS_STRUCTS
  g_mmprevious = g_mmafter;
#else
  memcpy(&g_mmprevious, &g_mmafter, sizeof(struct mallinfo));
#endif
}

/****************************************************************************
 * Name: smart_endmemusage
 ****************************************************************************/

static void smart_endmemusage(void)
{
#ifdef CONFIG_CAN_PASS_STRUCTS
  g_mmafter = mallinfo();
#else
  (void)mallinfo(&g_mmafter);
#endif
  printf("\nFinal memory usage:\n");
  smart_showmemusage(&g_mmbefore, &g_mmafter);
}

/****************************************************************************
 * Name: smart_randchar
 ****************************************************************************/

static inline char smart_randchar(void)
{
  int value = rand() % 63;
  if (value == 0)
    {
      return '0';
    }
  else if (value <= 10)
    {
      return value + '0' - 1;
    }
  else if (value <= 36)
    {
      return value + 'a' - 11;
    }
  else /* if (value <= 62) */
    {
      return value + 'A' - 37;
    }
}

/****************************************************************************
 * Name: smart_randname
 ****************************************************************************/

static inline void smart_randname(FAR struct smart_filedesc_s *file)
{
  int dirlen;
  int maxname;
  int namelen;
  int alloclen;
  int i;

  dirlen   = strlen(g_mountdir);
  maxname  = CONFIG_EXAMPLES_SMART_MAXNAME - dirlen;
  namelen  = (rand() % maxname) + 1;
  alloclen = namelen + dirlen;

  file->name = (FAR char*)malloc(alloclen + 1);
  if (!file->name)
    {
      printf("ERROR: Failed to allocate name, length=%d\n", namelen);
      fflush(stdout);
      exit(5);
    }

  memcpy(file->name, g_mountdir, dirlen);
  for (i = dirlen; i < alloclen; i++)
    {
      file->name[i] = smart_randchar();
    }

  file->name[alloclen] = '\0';
}

/****************************************************************************
 * Name: smart_randfile
 ****************************************************************************/

static inline void smart_randfile(FAR struct smart_filedesc_s *file)
{
  int i;

  file->len = (rand() % CONFIG_EXAMPLES_SMART_MAXFILE) + 1;
  for (i = 0; i < file->len; i++)
    {
      g_fileimage[i] = smart_randchar();
    }

  file->crc = crc32(g_fileimage, file->len);
}

/****************************************************************************
 * Name: smart_freefile
 ****************************************************************************/

static void smart_freefile(FAR struct smart_filedesc_s *file)
{
  if (file->name)
    {
      free(file->name);
    }

  memset(file, 0, sizeof(struct smart_filedesc_s));
}

/****************************************************************************
 * Name: smart_wrfile
 ****************************************************************************/

static inline int smart_wrfile(FAR struct smart_filedesc_s *file)
{
  size_t offset;
  int fd;
  int ret;

  /* Create a random file */

  smart_randname(file);
  smart_randfile(file);
  fd = open(file->name, O_WRONLY | O_CREAT | O_EXCL, 0666);
  if (fd < 0)
    {
      /* If it failed because there is no space on the device, then don't
       * complain.
       */

      if (errno != ENOSPC)
        {
          printf("ERROR: Failed to open file for writing: %d\n", errno);
          printf("  File name: %s\n", file->name);
          printf("  File size: %d\n", file->len);
        }

      smart_freefile(file);
      return ERROR;
    }

  /* Write a random amount of data to the file */

  for (offset = 0; offset < file->len; )
    {
      size_t maxio = (rand() % CONFIG_EXAMPLES_SMART_MAXIO) + 1;
      size_t nbytestowrite = file->len - offset;
      ssize_t nbyteswritten;

      if (nbytestowrite > maxio)
        {
          nbytestowrite = maxio;
        }

      nbyteswritten = write(fd, &g_fileimage[offset], nbytestowrite);
      if (nbyteswritten < 0)
        {
          int err = errno;

          /* If the write failed because there is no space on the device,
           * then don't complain.
           */

          if (err != ENOSPC)
            {
              printf("ERROR: Failed to write file: %d\n", err);
              printf("  File name:    %s\n", file->name);
              printf("  File size:    %d\n", file->len);
              printf("  Write offset: %ld\n", (long)offset);
              printf("  Write size:   %ld\n", (long)nbytestowrite);
              ret = ERROR;
            }
          close(fd);

          /* Remove any garbage file that might have been left behind */

          ret = unlink(file->name);
          if (ret < 0)
            {
              printf("  Failed to remove partial file\n");
            }
          else
            {
#if CONFIG_EXAMPLES_SMART_VERBOSE != 0
              printf("  Successfully removed partial file\n");
#endif
            }

          smart_freefile(file);
          return ERROR;
        }
      else if (nbyteswritten != nbytestowrite)
        {
          printf("ERROR: Partial write:\n");
          printf("  File name:    %s\n", file->name);
          printf("  File size:    %d\n", file->len);
          printf("  Write offset: %ld\n", (long)offset);
          printf("  Write size:   %ld\n", (long)nbytestowrite);
          printf("  Written:      %ld\n", (long)nbyteswritten);
        }

      offset += nbyteswritten;
    }

  close(fd);
  return OK;
}

/****************************************************************************
 * Name: smart_fillfs
 ****************************************************************************/

static int smart_fillfs(void)
{
  FAR struct smart_filedesc_s *file;
  int ret;
  int i;

  /* Create a file for each unused file structure */

  for (i = 0; i < CONFIG_EXAMPLES_SMART_MAXOPEN; i++)
    {
      file = &g_files[i];
      if (file->name == NULL)
        {
          ret = smart_wrfile(file);
          if (ret < 0)
            {
#if CONFIG_EXAMPLES_SMART_VERBOSE != 0
              printf("ERROR: Failed to write file %d\n", i);
#endif
              return ERROR;
            }

#if CONFIG_EXAMPLES_SMART_VERBOSE != 0
         printf("  Created file %s\n", file->name);
#endif
         g_nfiles++;
        }
    }

  return OK;
}

/****************************************************************************
 * Name: smart_rdblock
 ****************************************************************************/

static ssize_t smart_rdblock(int fd, FAR struct smart_filedesc_s *file,
                             size_t offset, size_t len)
{
  size_t maxio = (rand() % CONFIG_EXAMPLES_SMART_MAXIO) + 1;
  ssize_t nbytesread;

  if (len > maxio)
    {
      len = maxio;
    }

  nbytesread = read(fd, &g_fileimage[offset], len);
  if (nbytesread < 0)
    {
      printf("ERROR: Failed to read file: %d\n", errno);
      printf("  File name:    %s\n", file->name);
      printf("  File size:    %d\n", file->len);
      printf("  Read offset:  %ld\n", (long)offset);
      printf("  Read size:    %ld\n", (long)len);
      return ERROR;
    }
  else if (nbytesread == 0)
    {
#if 0 /* No... we do this on purpose sometimes */
      printf("ERROR: Unexpected end-of-file:\n");
      printf("  File name:    %s\n", file->name);
      printf("  File size:    %d\n", file->len);
      printf("  Read offset:  %ld\n", (long)offset);
      printf("  Read size:    %ld\n", (long)len);
#endif
      return ERROR;
    }
  else if (nbytesread != len)
    {
      printf("ERROR: Partial read:\n");
      printf("  File name:    %s\n", file->name);
      printf("  File size:    %d\n", file->len);
      printf("  Read offset:  %ld\n", (long)offset);
      printf("  Read size:    %ld\n", (long)len);
      printf("  Bytes read:   %ld\n", (long)nbytesread);
    }

  return nbytesread;
}

/****************************************************************************
 * Name: smart_rdfile
 ****************************************************************************/

static inline int smart_rdfile(FAR struct smart_filedesc_s *file)
{
  size_t ntotalread;
  ssize_t nbytesread;
  uint32_t crc;
  int fd;

  /* Open the file for reading */

  fd = open(file->name, O_RDONLY);
  if (fd < 0)
    {
      if (!file->deleted)
        {
          printf("ERROR: Failed to open file for reading: %d\n", errno);
          printf("  File name: %s\n", file->name);
          printf("  File size: %d\n", file->len);
        }

      return ERROR;
    }

  /* Read all of the data info the fileimage buffer using random read sizes */

  for (ntotalread = 0; ntotalread < file->len; )
    {
      nbytesread = smart_rdblock(fd, file, ntotalread, file->len - ntotalread);
      if (nbytesread < 0)
        {
          close(fd);
          return ERROR;
        }

      ntotalread += nbytesread;
    }

  /* Verify the file image CRC */

  crc = crc32(g_fileimage, file->len);
  if (crc != file->crc)
    {
      printf("ERROR: Bad CRC: %d vs %d\n", crc, file->crc);
      printf("  File name: %s\n", file->name);
      printf("  File size: %d\n", file->len);
      close(fd);
      return ERROR;
    }

  /* Try reading past the end of the file */

  nbytesread = smart_rdblock(fd, file, ntotalread, 1024) ;
  if (nbytesread > 0)
    {
      printf("ERROR: Read past the end of file\n");
      printf("  File name:  %s\n", file->name);
      printf("  File size:  %d\n", file->len);
      printf("  Bytes read: %ld\n", (long)nbytesread);
      close(fd);
      return ERROR;
    }

  close(fd);
  return OK;
}

/****************************************************************************
 * Name: smart_verifyfs
 ****************************************************************************/

static int smart_verifyfs(void)
{
  FAR struct smart_filedesc_s *file;
  int ret;
  int i;

  /* Create a file for each unused file structure */

  for (i = 0; i < CONFIG_EXAMPLES_SMART_MAXOPEN; i++)
    {
      file = &g_files[i];
      if (file->name != NULL)
        {
          ret = smart_rdfile(file);
          if (ret < 0)
            {
              if (file->deleted)
                {
#if CONFIG_EXAMPLES_SMART_VERBOSE != 0
                  printf("Deleted file %d OK\n", i);
#endif
                  smart_freefile(file);
                  g_ndeleted--;
                  g_nfiles--;
                }
              else
                {
                  printf("ERROR: Failed to read a file: %d\n", i);
                  printf("  File name: %s\n", file->name);
                  printf("  File size: %d\n", file->len);
                  return ERROR;
                }
            }
          else
            {
              if (file->deleted)
                {
#if CONFIG_EXAMPLES_SMART_VERBOSE != 0
                  printf("Succesffully read a deleted file\n");
                  printf("  File name: %s\n", file->name);
                  printf("  File size: %d\n", file->len);
#endif
                  smart_freefile(file);
                  g_ndeleted--;
                  g_nfiles--;
                  return ERROR;
                }
              else
                {
#if CONFIG_EXAMPLES_SMART_VERBOSE != 0
                  printf("  Verifed file %s\n", file->name);
#endif
                }
            }
        }
    }

  return OK;
}

/****************************************************************************
 * Name: smart_delfiles
 ****************************************************************************/

static int smart_delfiles(void)
{
  FAR struct smart_filedesc_s *file;
  int ndel;
  int ret;
  int i;
  int j;

  /* Are there any files to be deleted? */

  int nfiles = g_nfiles - g_ndeleted;
  if (nfiles < 1)
    {
      return 0;
    }

  /* Yes... How many files should we delete? */

  ndel = (rand() % nfiles) + 1;

  /* Now pick which files to delete */

  for (i = 0; i < ndel; i++)
    {
      /* Guess a file index */

      int ndx = (rand() % (g_nfiles - g_ndeleted));

      /* And delete the next undeleted file after that random index */

      for (j = ndx + 1; j != ndx;)
        {
          file = &g_files[j];
          if (file->name && !file->deleted)
            {
              ret = unlink(file->name);
              if (ret < 0)
                {
                  printf("ERROR: Unlink %d failed: %d\n", i+1, errno);
                  printf("  File name:  %s\n", file->name);
                  printf("  File size:  %d\n", file->len);
                  printf("  File index: %d\n", j);
                }
              else
                {
#if CONFIG_EXAMPLES_SMART_VERBOSE != 0
                  printf("  Deleted file %s\n", file->name);
#endif
                  file->deleted = true;
                  g_ndeleted++;
                  break;
                }
            }

          /* Increment the index and test for wrap-around */

          if (++j >= CONFIG_EXAMPLES_SMART_MAXOPEN)
            {
              j = 0;
            }

        }
    }

  return OK;
}

/****************************************************************************
 * Name: smart_delallfiles
 ****************************************************************************/

static int smart_delallfiles(void)
{
  FAR struct smart_filedesc_s *file;
  int ret;
  int i;

  for (i = 0; i < CONFIG_EXAMPLES_SMART_MAXOPEN; i++)
    {
      file = &g_files[i];
      if (file->name)
        {
          ret = unlink(file->name);
          if (ret < 0)
            {
               printf("ERROR: Unlink %d failed: %d\n", i+1, errno);
               printf("  File name:  %s\n", file->name);
               printf("  File size:  %d\n", file->len);
               printf("  File index: %d\n", i);
            }
          else
            {
#if CONFIG_EXAMPLES_SMART_VERBOSE != 0
              printf("  Deleted file %s\n", file->name);
#endif
              smart_freefile(file);
            }
        }
    }

  g_nfiles = 0;
  g_ndeleted = 0;
  return OK;
}

/****************************************************************************
 * Name: smart_directory
 ****************************************************************************/

static int smart_directory(void)
{
  DIR *dirp;
  FAR struct dirent *entryp;
  int number;

  /* Open the directory */

  dirp = opendir(CONFIG_EXAMPLES_SMART_MOUNTPT);

  if (!dirp)
    {
      /* Failed to open the directory */

      printf("ERROR: Failed to open directory '%s': %d\n",
             CONFIG_EXAMPLES_SMART_MOUNTPT, errno);
      return ERROR;
    }

  /* Read each directory entry */

  printf("Directory:\n");
  number = 1;
  do
    {
      entryp = readdir(dirp);
      if (entryp)
        {
          printf("%2d. Type[%d]: %s Name: %s\n",
                 number, entryp->d_type,
                 entryp->d_type == DTYPE_FILE ? "File " : "Error",
                 entryp->d_name);
        }

      number++;
    }
  while (entryp != NULL);

  closedir(dirp);
  return OK;
}

/****************************************************************************
 * Public Functions
 ****************************************************************************/

/****************************************************************************
 * Name: smart_main
 ****************************************************************************/

#ifdef CONFIG_BUILD_KERNEL
int main(int argc, FAR char *argv[])
#else
int smart_main(int argc, char *argv[])
#endif
{
  FAR struct mtd_dev_s *mtd;
  unsigned int i;
  int ret;

  /* Seed the random number generated */

  srand(0x93846);

  /* Create and initialize a RAM MTD device instance */

#ifdef CONFIG_EXAMPLES_SMART_ARCHINIT
  mtd = smart_archinitialize();
#else
  mtd = rammtd_initialize(g_simflash, EXAMPLES_SMART_BUFSIZE);
#endif
  if (!mtd)
    {
      printf("ERROR: Failed to create RAM MTD instance\n");
      fflush(stdout);
      exit(1);
    }

  /* Initialize to provide SMART on an MTD interface */

  MTD_IOCTL(mtd, MTDIOC_BULKERASE, 0);
  ret = smart_initialize(1, mtd);
  if (ret < 0)
    {
      printf("ERROR: SMART initialization failed: %d\n", -ret);
      fflush(stdout);
      exit(2);
    }

  /* Create a SMARTFS filesystem */

  (void)mksmartfs("/dev/smart1");

  /* Mount the file system */

  ret = mount("/dev/smart1", CONFIG_EXAMPLES_SMART_MOUNTPT, "smartfs", 0, NULL);
  if (ret < 0)
    {
      printf("ERROR: Failed to mount the SMART volume: %d\n", errno);
      fflush(stdout);
      exit(3);
    }

  /* Set up memory monitoring */

#ifdef CONFIG_CAN_PASS_STRUCTS
  g_mmbefore = mallinfo();
  g_mmprevious = g_mmbefore;
#else
  (void)mallinfo(&g_mmbefore);
  memcpy(&g_mmprevious, &g_mmbefore, sizeof(struct mallinfo));
#endif

  /* Loop a few times ... file the file system with some random, files,
   * delete some files randomly, fill the file system with more random file,
   * delete, etc.  This beats the FLASH very hard!
   */

#if CONFIG_EXAMPLES_SMART_NLOOPS == 0
  for (i = 0; ; i++)
#else
  for (i = 1; i <= CONFIG_EXAMPLES_SMART_NLOOPS; i++)
#endif
    {
      /* Write a files to the SMART file system until either (1) all of the
       * open file structures are utilized or until (2) SMART reports an error
       * (hopefully that the file system is full)
       */

      printf("\n=== FILLING %u =============================\n", i);
      (void)smart_fillfs();
      printf("Filled file system\n");
      printf("  Number of files: %d\n", g_nfiles);
      printf("  Number deleted:  %d\n", g_ndeleted);

      /* Directory listing */

      smart_directory();

      /* Verify all files written to FLASH */

      ret = smart_verifyfs();
      if (ret < 0)
        {
          printf("ERROR: Failed to verify files\n");
          printf("  Number of files: %d\n", g_nfiles);
          printf("  Number deleted:  %d\n", g_ndeleted);
        }
      else
        {
#if CONFIG_EXAMPLES_SMART_VERBOSE != 0
          printf("Verified!\n");
          printf("  Number of files: %d\n", g_nfiles);
          printf("  Number deleted:  %d\n", g_ndeleted);
#endif
        }

      /* Delete some files */

      printf("\n=== DELETING %u ============================\n", i);
      ret = smart_delfiles();
      if (ret < 0)
        {
          printf("ERROR: Failed to delete files\n");
          printf("  Number of files: %d\n", g_nfiles);
          printf("  Number deleted:  %d\n", g_ndeleted);
        }
      else
        {
          printf("Deleted some files\n");
          printf("  Number of files: %d\n", g_nfiles);
          printf("  Number deleted:  %d\n", g_ndeleted);
        }

      /* Directory listing */

      smart_directory();

      /* Verify all files written to FLASH */

      ret = smart_verifyfs();
      if (ret < 0)
        {
          printf("ERROR: Failed to verify files\n");
          printf("  Number of files: %d\n", g_nfiles);
          printf("  Number deleted:  %d\n", g_ndeleted);
        }
      else
        {
#if CONFIG_EXAMPLES_SMART_VERBOSE != 0
          printf("Verified!\n");
          printf("  Number of files: %d\n", g_nfiles);
          printf("  Number deleted:  %d\n", g_ndeleted);
#endif
        }

      /* Show memory usage */

      smart_loopmemusage();
      fflush(stdout);
    }

  /* Delete all files then show memory usage again */

  smart_delallfiles();
  smart_endmemusage();
  fflush(stdout);
  return 0;
}

redpajama_set_name: RedPajamaGithub


When debilitating migraines left a Newburgh woman desperate, the multidisciplinary team at Westchester Medical Center found a solution.
Hope for a cure had all but dissolved. However, in 2017, she read an article, and then saw a television news segment about WMC Headache Specialists at Westchester Medical Center, the flagship of the Westchester Medical Center Health Network (WMCHealth). She immediately scheduled a consultation.
Led by renowned authorities across numerous fields of medicine, WMC Headache Specialists is the New York-metropolitan area's first integrated academic multidisciplinary center focused on the care and surgical cure of headaches.
To complement the medical staff's expertise, a psychologist also meets with the team monthly to review the psychological aspects of each patient's care.
The first stop in Canfield's journey toward a cure was to search for clues potentially overlooked by previous physicians.
"When you see a new patient, it's important to distinguish between a primary and a secondary headache," says neurologist Jin Li, MD, Chief of Neuromuscular Medicine at Westchester Medical Center. Along with Dr. Rogg, Dr. Li re-established Canfield's diagnosis and set her on a path toward definitive recovery.
"A secondary headache would include the headaches from tumor, stroke or infection," she says. "After those are ruled out, via MRI and lab work, and sometimes even a spinal tap, you can then focus on primary headache syndromes, such as migraine or occipital neuralgia," a condition in which nerves from the spinal cord to the scalp are inflamed or injured.
Extensive testing revealed that Canfield had undiagnosed degenerative disk disease, as well as history of a head trauma following a serious fall. "Based on these factors, we diagnosed her with occipital nerve neuralgia and referred her for pain management," Dr. Li says.
"The first thing that I do is confirm the diagnosis," says Nitin Sekhri, MD, Director of Pain Management at Westchester Medical Center. He describes his role as the "bridge between medical management and surgical intervention." The diagnosis of occipital neuralgia was confirmed when Dr. Sekhri administered a lesser occipital nerve block, medication that eliminated the pain. "The relief lasted for about six weeks," he says.
(From left) Husband Jerry, Susan, son-in-law Brendan, baby Declan, daughter Danielle, son Garrett, daughter Rachel and son Brandon.
Canfield was deemed an ideal candidate for surgical intervention, yet she was still a bit nervous. "But I decided that either I would have the surgery or live with these headaches forever," she says.
After consulting with Dr. Alizadeh, Canfield underwent surgery in March. Small incisions in the back of the head freed constricted nerve endings that were causing pain.
"The procedure was pioneered by a plastic surgeon because they have a deep understanding of nerves, muscles and blood vessels," explains Dr. Alizadeh. "It's a simple procedure that results in significant improvement for 90 percent of patients. Sixty percent of patients are completely cured," he notes.
To make an appointment, call 914.909.6880 or visit westchestermedicalcenter.com/wmcheadachespecialists.


text:
When Shah Rukh Khan Met His 'Heroes' Jean-Claude Van Damme And Jackie Chan. See Pics
'Terminator 3' Star Kristanna Loken, Rapper Sticky Fingaz Join Jean-Claude Van Damme in 'Darkness of Man' (Exclusive)
DOUBLE IMPACT – Then and Now ⭐ Real Name and Age
LIONHEART – Then and Now ⭐ Real Name and Age
"Hit Me Over A Bulls**t Joke" Chris Rock Finally Reveals What He Thinks Of Will Smith
"I'm Ruined" Will Smith Reacts To Chris Rock's New Netflix Comedy Special
Will Smith Reacts To Eddie Murphy Dissing Him At The Golden Globes
"Why Me?" Will Smith Reacts To LOSING Multi-Million Dollar Netflix & Sony Deal
MOVIES TRAILERS BAD BOYS 4 Teaser (2023) With Will Smith & Martin Lawrence
JCVD & Arnie Have Never Shared A Scene
Home/Education/The violent rebellion of america Capitol presents tough discussions within the classroom
The violent rebellion of america Capitol presents tough discussions within the classroom
Dive Transient:
The U.S. Capitol in Washington, DC, was stormed Wednesday afternoon by a crowd supporting President Donald Trump, with the aim of disrupting the Home and Senate certification means of the president-elect's victory. Joe Biden on the 2020 presidential election. The occasions current educators with one other tough matter to navigate in classroom discussions.
Along with creating probably charged debates within the classroom, occasions – that NPR reviews it left 4 useless and led to dozens of accidents and police arrests – additionally they demanded that educators be ready to offer help for college kids whose anxiousness and uncertainty are sparked by movies and images of occasions within the information is on social media.
A variety of schooling organizations have assets obtainable that provide schemes to speak to college students about protests, disturbing data, and violent occasions. – understood Within the face of Historical past and ourselves, Widespread Sense Media, u Nationwide Affiliation of College Psychologists and the Nationwide Affiliation of Schooling.
Our nation has not attended an occasion like immediately in latest historical past and it's tough to make sense of the scenes, not to mention clarify them to our kids. However what's vital to recollect is that Individuals unite to uphold justice and democracy.https://t.co/S97yHWHsZZ
– NEA (@NEAToday) January 7, 2021
Dive Perception:
Following the assault on the Capitol Constructing, schooling leaders, together with present Secretary of Schooling for america Betsy DeVos and his anticipated successor, Miguel A. Cardona, have issued statements by way of of social networks condemning occasions.
pic.twitter.com/WtdwD6a2lm
– Secretary Betsy DeVos (@BetsyDeVosED) January 6, 2021
Our children deserve higher. Historical past has its eyes on us.
– Dr. Miguel A. Cardona (@meachcardona) January 7, 2021
My colleagues and I've devoted our lives to making sure that the following era has the instruments to succeed and be lively contributors of their neighborhood and of their nation. It's completely heartbreaking to observe occasions immediately in DC. We have to set a greater instance for our kids. #Management
– Anna M. Chávez (@AnnaMariaChavez) January 7, 2021
Right now, regardless of partisan and petulant makes an attempt to nullify the need of the citizens, democracy has gained. We are going to train our kids this second 4 centuries to come back & we'll work to revive religion in our peaceable switch of energy. #RemoveOrResign https://t.co/kXxRv7bLbN
– Randi Weingarten (@rweingarten) January 7, 2021
Seeing the storm of tumults #CapitolHill and assault the basic values of American Democracy, @Corse_Matin we stay dedicated to educating our college students find out how to recognize our democracy, recognize info, honor the reality, respect our variations, reject hatred, and be merciful in defeat. pic.twitter.com/wGUMZADaKu
– Supt Runcie (@RobertwRuncie) January 7, 2021
Wednesday afternoon occasions add as much as a protracted listing of inauspicious subjects to navigate within the classroom. Even earlier than the COVID-19 pandemics and Black Lives Matter protests offered challenges for lesson planning prior to now 12 months, final 12 months's impeachment hearings served as gas for probably tense classroom discussions, and up to date years have seen mass shootings on a reasonably constant foundation to impress concern and anxiousness amongst college students.
Speak about it! MS & HS Ss perceive what is occurring. Don't talk about giving the message to be silent throughout the injustice as a result of it's uncomfortable. Let him describe his best future America. Ask them how we obtained to that best occasion. #schooling #visione #justice #edchat https://t.co/juLGK2OaHw
– Laura Blair (@mamatechnology) January 7, 2021
Nevertheless, the demonstrations particularly – no matter their tone – supply a window by way of which to have interaction college students in civics classes, the boundaries of First Modification discourse safety, and the implications that will exist below the legislation. . After a 12 months the place Black Lives Matter protests have led to a consideration of prejudices implicit in society, evaluating and contrasting occasions can even add strata to these discussions.
John Roberts, U.S. Supreme Court docket Decide, warned final 12 months that "civic schooling is throwing in the towel," and a report by Stanford researchers printed final 12 months in American Academic Analysis Journal stated the nation's college students are prepared for complicated and nuanced civic schooling.
"As educators, we take severely our accountability to organize younger individuals for civic life and to be function fashions for peaceable contributors in a democratic society that serves all individuals. What we witnessed immediately on the Capitol was the antithesis of that best, "Councilman Carissa Moffat Miller, CEO of State Faculties Officers, stated in an announcement.
And in an announcement from AASA, the Affiliation of College Superintendents, Government Director Daniel Domenech stated, "Herculean efforts have been made by college district directors, constructing leaders, lecturers and fogeys to teach our younger college students about this. what is true and what's fallacious was not directly disputed after the mindless act of vandalism within the Capitol constructing ".
Social-emotional helps are additionally key in these discussions, which require compassion and empathy on the a part of college students and educators. Preserve civil and respectful speech on extremely polarized subjects is usually a problem particularly, though studying to take action is a ability that may serve college students effectively into their grownup lives whereas shaping what the world seems to be like sooner or later.
"We are able to and should disagree with out resentment, disrespect, dismissal or harming others. It's a hallmark of our democracy." Learn @Corse_MatinAll of the message to the employees concerning the occasions which might be going down within the capital of our nation. https://t.co/EFd3VwYQvu pic.twitter.com/X7A0AoOYiu
– Highline Faculties (@HighlineSchools) January 7, 2021
Kara Arundel and Naaz Modan contributed to this story.
Capitol classroom difficult discussions presents States United uprising violent
As reopening progresses, so do the plans to keep up on-line studying choices
The change in sports activities tips leaves districts to replicate on choices
How particular person conferences can profit college students and lecturers
Distance studying will increase copyright dangers for academics
As an revolutionary district it has gone "old skool" in its distant, hybrid approaches
https://www.enhancevr.com/profile/situs-slot-gacor-terbaru/profile
https://www.thealphaapps.com/profile/situs-slot-gacor-terbaru/profile
https://www.franklincoveyguatemala.com/profile/situs-slot-gacor-terbaru/profile
https://www.thehealthandnutritioncoach.com/profile/situs-slot-gacor-terbaru/profile
https://www.bellsmusicgroup.com/profile/situs-slot-gacor-terbaru/profile
https://www.tanchayredvers.com/profile/situs-slot-gacor-terbaru/profile
https://www.physioquanta.com/profile/situs-slot-gacor-terbaru/profile
https://www.cabellmolinaart.com/profile/situs-slot-gacor-terbaru/profile
https://www.kilroyssports.com/profile/situs-slot-gacor-terbaru/profile
https://www.humanistnashville.com/profile/situs-slot-gacor-terbaru/profile
https://en.coeducandoenred.com/profile/situs-slot-gacor-terbaru/profile
https://www.soulfitadventures.com/profile/situs-slot-gacor-terbaru/profile
https://www.mary-shomon.com/profile/situs-slot-gacor-terbaru/profile
https://www.zaraszouk.com/profile/situs-slot-gacor-terbaru/profile
https://ko.laoliusp.com/profile/situs-slot-gacor-terbaru/profile
https://es.soljex.com/profile/situs-slot-gacor-terbaru/profile
https://en.sonsofgodsrpg.com/profile/situs-slot-gacor-terbaru/profile
https://ar.haxxxovtothez.com/profile/situs-slot-gacor-terbaru/profile
https://www.aleph.com.co/profile/rtp-deposit-kecil-mudah-menang/profile
https://www.soulidify.co/profile/rtp-deposit-kecil-mudah-menang/profile
https://www.moonshotvc.co/profile/rtp-deposit-kecil-mudah-menang/profile
https://www.thegamebank.co/profile/rtp-deposit-kecil-mudah-menang/profile
https://www.lospinos.co/profile/rtp-deposit-kecil-mudah-menang/profile
https://www.pawsapp.co/profile/rtp-deposit-kecil-mudah-menang/profile
https://www.spiderkick.com/profile/rtp-deposit-kecil-mudah-menang/profile
https://www.juliastable.com/profile/rtp-deposit-kecil-mudah-menang/profile
https://www.chateaumeichtry.co/profile/rtp-deposit-kecil-mudah-menang/profile
https://www.danielhouse.co/profile/rtp-deposit-kecil-mudah-menang/profile
https://www.ikoon.co/profile/rtp-deposit-kecil-mudah-menang/profile
https://www.sageandstone.com/profile/rtp-deposit-kecil-mudah-menang/profile
https://www.q1a.co/profile/rtp-deposit-kecil-mudah-menang/profile
https://www.kataradefenceacademy.co/profile/rtp-deposit-kecil-mudah-menang/profile
https://www.officearte.co/profile/rtp-deposit-kecil-mudah-menang/profile
https://www.redeemeddecoronline.com/profile/slot-online-rtp-maxwin/profile
https://www.atopikerna.se/profile/slot-online-rtp-maxwin/profile
https://www.allresor.se/profile/slot-online-rtp-maxwin/profile
https://www.smog.chalmers.se/profile/slot-online-rtp-maxwin/profile
https://www.livingporto.com/profile/slot-online-rtp-maxwin/profile
https://en.sonsofgodsrpg.com/profile/slot-online-rtp-maxwin/profile
https://www.dtpronails.com/profile/slot-online-rtp-maxwin/profile
https://www.piccionevineyards.com/profile/slot-online-rtp-maxwin/profile
https://www.sfacil.com/profile/slot-online-rtp-maxwin/profile
https://www.makosuites.com/profile/slot-online-rtp-maxwin/profile
https://www.adoc-tm.com/profile/slot-online-rtp-maxwin/profile
https://www.linncountyjournal.com/profile/link-bermain-judi-slot-gacor/profile
https://www.ilmitotrattoriaeenoteca.com/profile/link-bermain-judi-slot-gacor/profile
https://www.visitpit.com/profile/link-bermain-judi-slot-gacor/profile
https://www.earthisland.co.uk/profile/link-bermain-judi-slot-gacor/profile
https://www.medicosderonda.com/profile/link-bermain-judi-slot-gacor/profile
https://www.mychocolatesecrets.com/profile/link-bermain-judi-slot-gacor/profile
https://www.baadglasgow.com/profile/link-bermain-judi-slot-gacor/profile
https://www.cafe-recette.com/profile/link-bermain-judi-slot-gacor/profile
https://www.ksborek.com/profile/link-bermain-judi-slot-gacor/profile
https://www.thetotspotplaycenter.com/profile/link-bermain-judi-slot-gacor/profile
https://www.maryellenmann.com/profile/rtp-tertinggi/profile
https://www.tropicalsurfhouse.com/profile/rtp-tertinggi/profile
https://www.domainelapierreblanche.com/profile/rtp-slot-tertinggi/profile
https://www.coolblueadventures.com/profile/rtp-tertinggi-slot/profile
https://www.brainerdyfc.com/profile/rtp-tertinggi-slot/profile
https://www.moranbeker.com/profile/bocoran-slot-gacor-pragmatic/profile
https://www.joemineocreative.com/profile/bocoran-slot-gacor-pragmatic/profile
https://www.fancyalgeria.com/profile/bocoran-slot-gacor-pragmatic/profile
https://www.livingporto.com/profile/bocoran-slot-gacor-pragmatic/profile
https://www.lioroooosh.com/profile/bocoran-slot-gacor-pragmatic/profile
https://www.heartforesthk.com/profile/bocoran-slot-gacor-pragmatic/profile
https://www.readitwriteitlearnit.com/profile/bocoran-slot-gacor-pragmatic/profile
https://www.haquosshop.com/profile/bocoran-slot-gacor-pragmatic/profile
https://www.bebohomemadeproducts.com/profile/bocoran-slot-gacor-pragmatic/profile
https://www.phoenixopt.com/profile/situs-slot-gacor-gampang-menang/profile
https://www.manutaraventures.com/profile/situs-slot-gacor-gampang-menang/profile
https://www.seewildtravels.com/profile/situs-slot-gacor-gampang-menang/profile
https://www.flossmoorstation.com/profile/situs-slot-gacor-gampang-menang/profile
https://www.hangar-b.com/profile/situs-slot-gacor-gampang-menang/profile
https://www.therunnerwa.com/profile/situs-slot-gacor-gampang-menang/profile
https://www.didisnutritionconsultancy.com/profile/situs-slot-gacor-gampang-menang/profile
https://www.ctlashco.com/profile/situs-slot-gacor-gampang-menang/profile
https://www.eliteteepees.com/profile/situs-slot-gacor-gampang-menang/profile
https://www.flickagymclub.com/profile/situs-slot-gacor-gampang-menan/profile
https://www.trippercz.com/profile/situs-judi-slot-terbaik-terpercaya/profile
https://www.kurumeeye.com/profile/situs-judi-slot-terbaik-terpercaya/profile
https://www.citywinery.com.au/profile/situs-judi-slot-terbaik-terpercaya/profile
https://www.the-intl.com/profile/situs-judi-slot-terbaik-terpercaya/profile
https://www.acorsj.com.br/profile/situs-judi-slot-terbaik-terpercaya/profile
https://www.cafe-recette.com/profile/situs-judi-slot-terbaik-terpercaya/profile
https://www.gastallgrooming.com/profile/situs-judi-slot-terbaik-terpercaya/profile
https://www.jamesandwhitebarandkitchen.com/profile/situs-judi-slot-terbaik-terpercaya/profile
https://www.jackson-hinds.com/profile/situs-judi-slot-terbaik-terpercaya/profile
https://www.cocovaa.com/profile/situs-judi-slot-terbaik-terpercaya/profile
https://www.sanduskycountyfair.com/profile/situs-judi-slot-terbaik-terpercaya/profile
https://www.bdsweetshop.com/profile/situs-slot-gacor-maxwin/profile
https://www.stpauleducation.ab.ca/profile/situs-slot-gacor-maxwin/profile
https://www.braspen.org/profile/situs-slot-gacor-maxwin/profile
https://www.whiarizona.org/profile/situs-slot-gacor-maxwin/profile
https://www.atticorooftop.com/profile/situs-slot-gacor-maxwin/profile
https://www.tanchayredvers.com/profile/situs-slot-gacor-maxwin/profile
https://www.easternoutdoorinc.com/profile/situs-slot-gacor-maxwin/profile
https://www.danwilsonguitar.com/profile/situs-slot-gacor-maxwin/profile
https://www.stnicksschool.com/profile/situs-slot-gacor-maxwin/profile
https://www.livelygolf.com/profile/situs-slot-gacor-maxwin/profile
https://secretcityimprovfest.com/community/profile/rtp-maxwin/profile
https://www.tampaquestcenter.com/profile/link-slot-new-member/profile
https://www.luzetnina.com/profile/link-slot-new-member/profile
https://www.catholicmensministry.com/profile/link-slot-new-member/profile
https://www.holypost.com/profile/link-slot-new-member/profile
https://www.ilmiohotel.com/profile/link-slot-new-member/profile
https://www.kasedogames.com/profile/link-slot-new-member/profile
https://www.ashridgehorsetrekking.com/profile/link-slot-new-member/profile
https://www.capricciocafe.com/profile/link-slot-new-member/profile
https://www.accugps.com/profile/link-slot-new-member/profile
https://www.readitwriteitlearnit.com/profile/link-slot-new-member/profile
https://www.ateliergrao.com/profile/link-slot-new-member/profile
https://www.ilmitotrattoriaeenoteca.com/profile/judi-bola-sbobet88/profile
https://www.coolblueadventures.com/profile/judi-bola-sbobet/profile
https://www.rodriguesalves.ac.gov.br/profile/judi-bola-sbobet/profile
https://www.jackson-hinds.com/profile/judi-bola-sbobet/profile
https://www.cellmigrationseminars.com/profile/judi-bola-sbobet/profile
https://www.mychocolatesecrets.com/profile/judi-bola-sbobet/profile
https://www.piaget.edu.vn/profile/judi-bola-sbobet88/profile
https://www.aesthetics.school/profile/judi-bola-sbobet/profile
https://www.awaywithcj.com/profile/judi-bola-sbobet/profile
https://www.iesap.edu.mx/profile/situs-judi-bola-sbobet88/profile
https://www.spgrrok.catholic.edu.au/profile/situs-judi-bola-sbobet88/profile
https://www.plkwcc.edu.hk/profile/situs-judi-bola-sbobet88/profile
https://www.holycrossconvent.edu.na/profile/situs-judi-bola-sbobet88/profile
https://www.innerchildstudio.org/profile/situs-judi-bola-sbobet88/profile
https://www.wojrc.org/profile/situs-judi-bola-sbobet88/profile
https://www.prepapatria.edu.mx/profile/situs-judi-bola-sbobet88/profile
https://www.bkrot.org/profile/situs-judi-bola-sbobet88/profile
https://www.scc.edu.uy/profile/situs-judi-bola-sbobet88/profile
https://www.rayannehaines.com/profile/situs-judi-bola-sbobet88/profile
https://www.woorips.vic.edu.au/profile/situs-judi-bola-sbobet88/profile
https://www.oakleafstyle.com/profile/slot-bonus-100/profile
https://www.williamgoodchild.com/profile/slot-bonus-100/profile
https://www.spicespicebabycincinnati.com/profile/black_moon222/profile
https://www.rosaluxgallery.com/profile/situs-slot-bonus/profile
https://www.air-dale.com/profile/situs-slot-bonus/profile
https://www.letistitch.com/profile/situs-slot-bonus/profile
https://www.coolblueadventures.com/profile/situs-slot-bonus/profile
https://www.kasedogames.com/profile/situs-slot-bonus/profile
https://www.sweetcrudeband.com/profile/black_moon222/profile
https://www.falconsdekhockey.com/profile/situs-slot-bonus/profile
https://www.princestachat.com/profile/situs-slot-bonus/profile
https://www.strategyc-c.com/profile/situs-slot-bonus/profile
https://www.wholefamilymedical.com/profile/Situs-slot-bonus/profile
https://www.didisnutritionconsultancy.com/profile/situs-slot-bonus/profile
https://oneandfree.org.au/community/profile/slot-gacor-pragmatic/
https://frontierssaga.com/community/profile/slot-gacor-pragmatic/
https://www.laundrynation.com/community/profile/slot-gacor-pragmatic/
https://www.livesectional.com/community/profile/slot-gacor-pragmatic/
https://webersvintageicecream.com/forum/profile/black_moon222/
https://dgcine.gob.do/foro/perfil/slot-gacor-pragmatic/
https://www.propmanco.com/community/profile/slot-gacor-pragmatic/
https://financeinme.com/community/profile/slot-gacor-pragmatic/
https://annpreparelavni.org/community/profile/slot-gacor-pragmatic/
https://the-rekalibrator.org/community/profile/slot-gacor-pragmatic/
https://enriquecer.co/permainan-link-judi-slot-online/
https://haru-menu.it/2022/12/05/daftar-5-provider-resmi-judi-slot-online-gacor/
https://shopxonline.lk/2022/12/05/daftar-provider-resmi-judi-slot-online-terpercaya/
https://linesdrawn.org/situs-judi-slot-gacor-terpercaya-2022-pragmatic-play/
https://orakprecast.net/51436.html
https://memoriasdoarraial.com.br/bocoran-rtp-slot-online-gacor-anti-rungkat/
https://octagonoflife.com/trik-gacor-bermain-judi-slot-gacor-online/
https://relatively-delicious.com/deposit-slot-pada-link-judi-online-slot-gacor/
https://karibusbeauty.com/2022/12/05/daftar-kumpulan-link-judi-online-terpopuler-indonesia/
http://aakasharjuna.com/kelebihan-bergabung-dengan-link-situs-slot-online/
https://about.sg/2022/12/05/link-situs-judi-online-akun-slot-gacor-terpercaya/
http://www.alotechnology.com/bocoran-slot-gacor-terbaru-dan-terpercaya-hari-ini/
https://turn-key.consulting/2022/12/05/rtp-live-di-situs-slot-gacor-hari-ini/
https://madridvirtual.net/bocoran-jam-gacor-slot-online-dengan-rtp-tertinggi/
https://losarcoschico.com/link-situs-slot-online-resmi/
https://ice-aec.com/rekomendasi-link-daftar-game-slot-gacor-gampang-menang/
http://steamworksedmonton.com/daftar-situs-slot-gacor-resmi-hari-ini-gampang-menang/
https://azarrayehe.com/2022/12/05/situs-pola-kemenangan-judi-slot-gacor/
https://somalicareers.com/en/kelebihan-bergabung-di-situs-slot-online/
https://slitetitle.com/daftar-akun-slot-online-termudah-dan-tercepat/
https://teatroabrescia.it/2022/12/link-situs-judi-terpercaha-hari-ini
https://www.influencersdemoda.com/daftar-situs-slot-judi-tergacor-di-indonesia/
https://ideaing.ru/2022/12/07/game-judi-online-terbaik-dan-terpopuler-di-indonesia/
https://travestisvalencia.top/503484-2/
https://ershov-fit.ru/2022/12/07/tips-bermain-slot-online-gampang-menang/
https://jiyuland9.com/link-bocoran-rtp-live-hari-ini-modal-receh/
https://reklamall.ru/2022/12/07/bocoran-slot-gacor-sering-kasih-jackpo/
https://karatboxing.com.ua/situs-slot-gacor-terpercaya-mudah-menang/
https://chainway.net.ua/2022/12/07/link-bocoran-slot-gacor-terpercaya-hari-ini/
https://reggas.ru/link-situs-new-member-bonus-terbanyak/
https://forumserver.twoplustwo.com/members/589363/
https://www.csslight.com/profile/moon222
https://community.gaeamobile.com/member/1019551-black_moon222/about
https://hubpages.com/@blackmoon222
https://www.activerain.com/profile/black_moon222
https://reciperetake.com/situs-judi-slot-gacor-terbaru-sering-kasih-menang/
https://www.printtec.es/2022/12/07/rekomendasi-link-situs-slot-gacor-terbaru/
https://shooting-pk.ru/link-situs-slot-onlie-terpercaya/
https://wizzy-sounds.com/tips-bermain-slot-mudah-menang/
https://artofmarketing.academy/judi-online-terbaik-dan-terpopuler-di-indonesia/
https://auxbonssoinsdarmelle.com/project/game-judi-online-terbaik-dengan-winrate-tertinggi/
https://noaraisman.co.il/?p=29033
https://www.weddcation.com/slot-paling-trending-dan-gacor-di-indonesia/
https://blogbrands247.com/situs-judi-slot-terbaik-jackpot-terbesar/
https://zneeke.com/blog/2022/12/07/keuntungan-bermain-slot-online-gampang-menang/
https://aiesec.org.nz/agen-slot-gacor-hari-ini/
https://ahavajerusalem.com/kelebihan-sebagai-situs-slot-online-terpercaya
https://www.restarajasthan.com/2022/12/08/game-slot-gacor-hari-ini-terbaru-2022/
https://shoplidaire.fr/slot-pragmatic-gacor-hari-ini-terbaru/
https://thailand-landofsmiles.com/situs-slot-gacor/
http://mammothminerockshop.com/situs-judi-slot-online-terpercaya-2022/
https://opinionww.com/2022/12/08/situs-slot-online-terbaik/
https://www.limasfotografia.com.br/provider-slot-online-gacor-terbaru/
http://soumissionfondation.com/rekomendasi-situs-judi-slot-rtp-terbaik/
https://noostuff.com/bonus-new-member-100/
https://fortunebn.com/link-situs-judi-slot-online-terpercaya/
https://foxbpost.com/daftar-link-gacor-gampang-menang-hari-ini/
https://dior--outlet.com/agen-judi-online-di-situs-slot-gacor-terpercaya/
https://speed57.com/situs-slot-gacor-maxwin-terbesar/
http://yaakunconsulting.com/link-slot-gacor-gampang-menang/
http://www.magdalena-doering.de/link-slot-terbaik-dan-terbaru/
http://samaracamps.com/situs-slot-gacor-resmi-di-indonesia/
https://travestismadrid.top/106536-2/
https://evergreenexpeditions.com.au/2022/12/08/game-slot-gacor-hari-ini/
https://getwisdoms.com/bonus-di-situs-slot-gacor-terbaru-2022-gampang-menang/
https://www.giffa.ru/who/demo-slot-online/
https://enriquecer.co/slot-tanpa-daftar-pragmatic-play-demo/
https://haru-menu.it/2022/12/23/link-demo-slot-online/
https://shopxonline.lk/2022/12/23/daftar-link-slot-demo-online/
https://linesdrawn.org/bermain-slot-demo-terbaru/
https://mlgindustry.com/akun-demo-slot-pragmatic/
http://orakprecast.net/53487.html
https://memoriasdoarraial.com.br/pragmatic-play-demo/
https://octagonoflife.com/rtp-slot-demo-gacor-pragmatic-play/
https://relatively-delicious.com/slot-demo-gratis/
https://karibusbeauty.com/2022/12/23/mainkan-slot-demo-gratis/
http://aakasharjuna.com/bocoran-slot-teratas-paling-gacor/
https://about.sg/2022/12/23/situs-slot-demo-terbaik/
http://www.alotechnology.com/situs-slot-demo-terpercaya/
https://turn-key.consulting/2022/12/23/bonus-terbaik-slot-demo/

redpajama_set_name: RedPajamaCommonCrawl


WWhether you are a retailer or mobile vendor, in the restaurant and catering trade or a manufacturer, www.nikehuarache.it our products can be tailor-made according to your needs.
Flow packs/lids We can customize the primary packaging of your product with orders from 100,000 lids and 120,000 flow packs.
Multipacks We can print the packaging for your product, with your logo and brand, with orders from 10,000 cartons.
Boxes/bulk boxes From 1000 boxes: from jet ink printing to colour-printed cartons, always with your logo and brand.


text:
Map Zone
The Alberta Online Encyclopedia – www.albertasource.ca
The Heritage Community Foundation has created a number of historical websites including some focused on the Francophone heritage of Alberta from the era of the fur trade to the present. These websites provide complementary information to the Oblates in the West Website and include the following...
Métis in Alberta
The Métis in the province have kept strong and resilient, united by a unique past. In 1982, the Métis were acknowledged as an Aboriginal People in the Constitution, and, today, they continue to be known for their independence and their contributions to the Canadian mosaic. Explore this fully bilingual website to learn more about the rich history and the culture and life ways of a nation that has helped shape this province into what it is today.
Methodist Missionaries In Alberta
Find out about Methodism in Canada as an aspect of the settlement of the Canadian West. The missionaries came to spread the faith but also became tools for government policy in relation to Aboriginal People. This legacy, good and bad, is explored.
St. Vincent and St. Paul
The fur trade era brought Francophone fur traders to northern Alberta, giving birth to Métis communities. Missionary orders, such as the Oblates of Mary Immaculate, came next, followed by settlers who made permanent homes on the plains. Explore the history of the Métis as grounded in the history and dynamics of two of Alberta's most prominent French communities, St. Vincent and St. Paul, in this fully bilingual website.
For the Life of the World: The Missionary Oblates
This site explores the 19th Century French missionary order that still serves in Aboriginal communities in Western and Northern Canada. Learn more about the vocation of these early missionaries by exploring three photographically rich online exhibits.
Alberta's Francophone Heritage
Francophone Alberta is important historically, politically, economically, culturally and socially. Discover more through Alberta's Francophone Heritage and its telling of individual and community stories from the era of the fur trade to contemporary Francophone communities confidently embracing the future.
Francophone Edmonton Online – Edmonton's Francophone Heritage
The French presence in what became Alberta goes back to the earliest period of the fur trade. Edmonton was the heart of that presence. This website documents and explores Edmonton's unique, historic role as Western Canada's second-largest Francophone city (next to Saint-Boniface, Manitoba). Discover Francophone Edmonton through the pages of this dynamic website.
Oblate Communications – The Official Site of the General Administration of the Missionary Oblates of Mary Immaculate, http://www.omiworld.org/
Mission Oblates of Mary Immaculate Australia Website,
http://www.oblates.com.au/index.php?page=1, retrieved May 6, 2009.
Missionary Oblates of Mary Immaculate, Assumption Province, Canada Website,
http://www.omiap.org/, retrieved May 6, 2009.
Missionary Oblates of Mary Immaculate United States Website, http://www.oblatesusa.org/default.aspx, retrieved May 6, 2009; Oblate World Map: Click Here; Mission Work: Click Here
Missionary Oblates of Mary Immaculate United States Province Website, http://www.omiusa.org/
Missionary Oblates of Mary Immaculate, Assumption Province, Canada: http://www.omiap.org/, retrieved May 6th, 2009.
Missionary Oblates of Mary Immaculate United States Website, http://www.oblatesusa.org/About.aspx?path=root/momi/About/Mission&section=missionretrieved May 6, 2009.
Missionary Oblates of Mary Immaculate United States Website, http://www.oblatesusa.org/About.aspx?path=root/momi/About/Mission&section=mission, retrieved May 6, 2009.


text:
US Competition law
Subscribe to US Competition law
FTC Proposes Rule to Ban Most Non-Competes
By Jack Lund, Teresa Lewi & Michael J. Francese on January 27, 2023
Posted in Antitrust, US Competition law
On January 5, 2023, the Federal Trade Commission ("FTC") issued a groundbreaking proposed rule that would, if finalized:
prohibit most employers from entering into non-compete clauses with workers, including employees and individual independent contractors;
prohibit such employers from maintaining non-compete clauses with workers or representing to a worker that the worker is subject to a non-compete clause; and
require employers to rescind any existing non-compete clause with workers by the compliance date of the rule and notify the affected workers that their non-compete clause is no longer in effect.
The FTC's notice of proposed rulemaking explains that the FTC considered possible limitations on the rule—such as excluding senior executives or highly paid employees from the ban—but it ultimately proposed a categorical ban on non-competes. The only exception is for non-competes related to the sale of a business. However, even this exception is unusually narrow: it would only apply to selling business owners who own at least 25% percent of the business being sold. (The proposal also would not apply to most non-profits, certain financial institutions, common carriers, and others who are also outside the scope of FTC regulation.)
As discussed in Covington's January 5 client alert, the FTC explained that it issued the proposed rule due to its belief that non-competes reduce wages, stifle innovation and business, and are exploitative and unnecessary. …
Continue Reading FTC Proposes Rule to Ban Most Non-Competes
U.S. House of Representatives Passes Antitrust Legislative Package
By Nicholas Xenakis & Ryan Quillian on October 10, 2022
Posted in Antitrust, Enforcement, Foreign Subsidies, Mergers, US Competition law
On September 29, 2022, the U.S. House of Representatives passed a package of three antitrust bills (H.R. 3843) by a vote of 242-184. The package includes: (1) the Merger Filing Fee Modernization Act; (2) the Foreign Merger Subsidy Disclosure Act; and (3) the State Antitrust Enforcement Venue Act.…
Continue Reading U.S. House of Representatives Passes Antitrust Legislative Package
Is the U.S. Congress Preparing a "Tech Accountability" Package?
By Nicholas Xenakis & Tyler Holbrook on March 17, 2022
Posted in Data Privacy, Digital Markets, Dominance, Technology, US Competition law
In his State of the Union address last week, President Biden declared that he wants to: "strengthen privacy protections, ban targeted advertising to children, and demand tech companies stop collecting personal data on our children." This statement comes just a couple of weeks after Senators Richard Blumenthal (D-CT) and Marsha Blackburn (R-TN) introduced the Kids Online Safety Act. That legislation, together with the Senate Judiciary Committee's consideration of the EARN IT Act, a bill aimed at protecting children from online sexual exploitation, gives Congress several options to focus on the internet and child safety—now with the President's blessing.
The timing of the President's declaration is important because the number of days available for Congress to take legislative action is shortening as the midterm elections approach. Though Congress has already held several hearings about online platforms, particularly in the Judiciary Subcommittees with jurisdiction over antitrust, now remains an important time for stakeholders to engage in the discussion. After the President's address, the U.S. Senate is almost certainly laying the groundwork for what it would call a larger "tech accountability" package.…
Continue Reading Is the U.S. Congress Preparing a "Tech Accountability" Package?
U.S. Senate Judiciary Committee To Consider Legislation On Unfair Competition in App Market
By Nicholas Xenakis on February 2, 2022
Posted in Digital Markets, Unfair competition law, US Competition law
While much of the Senate Judiciary Committee's meeting next Thursday, February 3, will focus on the pending Supreme Court nomination, the Committee is still scheduled to mark up and vote on the Open App Markets Act (S. 2710)—which purports to address unfair competition in the app market. This vote follows a particularly contentious markup of the American Innovation and Choice Online Act (S. 2992)—a more sweeping piece of legislation that addresses platforms self-preferencing their own goods or services. Though that bill was voted out of Committee on a 16-6 vote (with all Democrats voting yes), concerns were raised by both parties about its scope. Because the Open App Markets Act is a much more targeted piece of legislation, the degree to which members raise similar concerns on Thursday will be a good bellwether of the level of openness or resistance to passing any form of antitrust legislation this Congress.
Continue Reading U.S. Senate Judiciary Committee To Consider Legislation On Unfair Competition in App Market
FTC Announces New Higher HSR Filing and Interlocking Directorate Thresholds, Higher Civil Penalties
By James R. Dean Jr., Ross Demain, Jim O'Connell & Stacy Kobrick on January 25, 2022
Posted in Mergers, US Competition law
Yesterday, the Federal Trade Commission ("FTC") published revised thresholds for the Hart-Scott-Rodino ("HSR") Act, which will take effect on February 23, 2022. Earlier, the FTC also announced new thresholds for Section 8 of the Clayton Act, which governs interlocking directorates. Each of these thresholds is higher for 2022, than for 2021. The HSR Act and Section 8 thresholds are adjusted annually based on the change in gross national product. The maximum daily civil penalty for violations of the HSR Act, which is tied to inflation, has also increased.
Continue Reading FTC Announces New Higher HSR Filing and Interlocking Directorate Thresholds, Higher Civil Penalties
Early Termination of HSR Waiting Periods Temporarily Suspended
By James R. Dean Jr., Ross Demain & Jim O'Connell on February 6, 2021
Posted in Mergers, Regulation, US Competition law
The Federal Trade Commission ("FTC") announced on February 4, 2021, that it is temporarily suspending the discretionary practice of granting "early termination" of the Hart-Scott-Rodino ("HSR") Act waiting period, with support from the Antitrust Division of the U.S. Department of Justice ("DOJ"). The Agencies cited "the unprecedented volume of HSR filings" and "challenging transition period" as the reasons for suspending grants of early termination.
Continue Reading Early Termination of HSR Waiting Periods Temporarily Suspended
FTC Announces New Lower HSR Filing and Interlocking Directorate Thresholds, Higher Civil Penalties
Today, the Federal Trade Commission ("FTC") published revised thresholds for the Hart-Scott-Rodino ("HSR") Act, which will take effect on March 4, 2021. Earlier, the FTC also announced new thresholds for Section 8 of the Clayton Act, which governs interlocking directorates. Each of these thresholds is lower for 2021, than for 2020. This is only the second time the HSR Act thresholds, which—like the Section 8 thresholds—are indexed to gross national product, have fallen since annual adjustments began in 2005. In contrast, the maximum daily civil penalty for violations of the HSR Act, which is tied to inflation, has increased.
Continue Reading FTC Announces New Lower HSR Filing and Interlocking Directorate Thresholds, Higher Civil Penalties
Expansion of the Procurement Collusion Strike Force
By Ross Demain, Michael Pierce & Michael Wagner on December 16, 2020
Posted in Antitrust, Enforcement, US Competition law
Just over a year after launching the Procurement Collusion Strike Force ("PCSF"), the U.S. Department of Justice's Antitrust Division ("DOJ") announced new measures to further its pursuit of antitrust and related crimes in government procurement, grant, and program funding. These changes expand the PCSF's enforcement capacity and signal DOJ's enduring—and intensifying—commitment to the PCSF's mission.
The PCSF has added 11 new national partners: the Department of Homeland Security Office of the Inspector General, the Air Force Office of Special Investigations, and nine new U.S. Attorneys. As a result, the growing PCSF coalition now includes 29 agencies and offices, including U.S. Attorneys in 22 federal judicial districts; the Federal Bureau of Investigation; and Offices of Inspectors General at six federal agencies. The PCSF also named the Antitrust Division's Daniel Glad as the Strike Force's first permanent director, solidifying the PCSF's institutional role at DOJ. Glad previously served as an Assistant Chief at the Antitrust Division's Chicago Office.
Continue Reading Expansion of the Procurement Collusion Strike Force
Antitrust Division Brings First Criminal Wage-Fixing Charge
By Thomas Barnett, Anne Lee, Phillip Warren, Derek Ludwin, Steve Fagell, Ross Demain & Sonia Lahr-Pastor on December 15, 2020
On December 10th, the Antitrust Division of the U.S. Department of Justice announced its first criminal indictment targeting an alleged conspiracy to reduce employee wages. The DOJ charged the former owner of a therapist staffing company with conspiring to reduce pay rates for healthcare worker contractors, but did not charge the company itself. Specifically, the indictment alleges that, for a six-month period in 2017, the defendant and his co-conspirators exchanged non-public information on rates paid to healthcare workers; discussed and agreed to decrease rates paid to healthcare workers; implemented rate decreases in accordance with their agreement; and paid healthcare workers at collusive and noncompetitive rates. The indictment alleges that the defendant's behavior constitutes a per se violation of the antitrust laws and seeks penalties including fines and potential imprisonment. The indictment also includes an obstruction of justice charge, stemming from allegedly false or misleading information the defendant provided the Federal Trade Commission during the agency's investigation of the same subject matter.
Continue Reading Antitrust Division Brings First Criminal Wage-Fixing Charge
U.S. Antitrust Agencies Announce Proposed Changes to HSR Rules
By Covington Competition on October 7, 2020
Posted in Competition Law, Mergers, US Competition law
Changes Would Create New Exemption for Minority Acquisitions and Increase Filing Obligations for Certain Entities
Agencies Also Seek Public Comments that Could Lead to Additional Changes to the HSR Rules
The Federal Trade Commission ("FTC") and the Antitrust Division of the Department of Justice ("DOJ") (the "Agencies") announced proposed changes to the premerger notification rules ("Rules") promulgated under the Hart-Scott-Rodino ("HSR") Act on September 21, 2020. Although the Agencies' proposals are extensive, most significantly they would:
create a new exemption for certain acquisitions that result in holding 10% or less of the voting securities of a target, so long as the acquirer and target do not "already have a competitively significant relationship;" and
expand the definition of "person", creating new filing obligations for certain entities, including many investment entities.
Continue Reading U.S. Antitrust Agencies Announce Proposed Changes to HSR Rules


I'm not even going to call it the best rule system or best Western game, but there are just so few straight Westerns out there that it kind of wins by default. Often the user of said explosive took more damage than the folks he was trying to hurt with it. I have to agree with JB.


What I like about creative pursuits – any creative pursuits, is that they make you view the world in a different way.
For a short period in my life when my children were little I dabbled in watercolour painting. For the same reason as intricate adult colour-in books have become popular the gradual building up of layers of water colour took my mind from the fraught world of child-rearing to only what was on the palette before me. This self-imposed therapy was deliberate but what I wasn't prepared for was the difference painting made to my visual perception. I began to see shadow and shine, light and shade that had previously gone unnoticed. I registered the sharp shadow on the inside of a cup that would require a straight-edged swath of grey paint or one side of a softly sunlit leaf translated to an area dabbed with white.
I went walking with my friend the other day and her particular form of creativity is photography and scrapbooking. We came across a colourfully graffited wooden gate which I would have passed without a thought. But she immediately saw the juxtaposition of the bush and the gate and its potential for a cool photo-shoot with her two teenage children.
In the same way writing has changed my perception of the world. Outings, emotions, conversations actions, interesting objects are potential grist for the mill. Scenes play out in my head as I drive the car or sit in a café. This heightened awareness is not always present but when it is it can add depth to even the mundane. After all what is more interesting sitting in a train carriage mentally giving everybody relationships, occupations, goals, or just seeing them as a faceless crowd.
Story possibilities are everywhere, you just have be honed to recognise them – then extrapolate. I'm not always switched on to be ultra-observant but sometimes it is interesting to be forced into this situation. This was perfectly demonstrated by an exercise I did in an Australian Writers Centre course some years ago. The presenter asked the class to write a mini story about an event that happened the day before. She was strict about this – it had to be from the day before the exercise. The results from my fellow students amazed me. Even those, like me, who thought their lives were basically boring and uneventful. There were poignant stories of family relationships and atmospheric road trips. In one story a simple act of baking a cake became a moving tribute to the writer's mother. I wrote about my son's apparent failure to gain entry to local high school advanced class. He had previously been assured that he would gain placement by a teacher at the school who'd looked at his results, so this was an unexpected blow. As it turned out later in the day we found out he did get in – it was a clerical error. The ups and downs of emotions that day made for the basis of a story. Furthermore a family discussion about other times clerical errors have sold us short led me to extrapolate to a fantasy element. So in my story there became a curse on our family name which made it disappear from lists and people's consciousness. I'd never have thought of this if I hadn't been forced to retrospectively look at my day with the eyes of a writer. That exercise only involved ONE DAY in our lives how many story ideas could we mount up if we did that exercise every day.
Have you ever had a small observation expand into a whole narrative?
In the next blog post I will explore methods to facilitate your imagination and record it.


Paul is a much sought after speaker in the areas of leadership, ethics, financial management and entrepreneurship. His career has spanned: senior academic administration; business and divinity school lecturing; investor advocacy; capital markets regulation; corporate and not-for-profit governance (public & private); investment dealer executive leadership with P&L accountability; expert witness and international consulting in the financial services sector, in the areas of compliance and product development and, more recently executive coaching and advisory services. Paul has been a director on over twenty corporate, regulatory and non-profit boards. A Chartered Professional Accountant (FCPA), Fellow of the Society of Management Accountants (FCMA) and Certified Management Consultant (CMC), Paul also holds a Master's degree in Theological Studies from McMaster Divinity College, where he is pursuing a Ph.D. in Theology. Read more about Paul, including his latest speaking topics.


The the metal vessel containing Caim would begin to shine with a brilliant light as the young beast tamer fanalis placed his hand upon it's surface. A magic circle would be at the center of this luminescence as its source whilst a large mass of magoi began to build around the object. The argument between the two king candidates would be interrupted by the appearance of a large elderly Djinn emerging from the sword at great speeds. Blue flesh grew to be many times the size of a normal man as Caim rose to tower over the dungeon capturers casting them all in shadow. The light would subside leaving an elderly muscular Djinn looming above everyone present. "Hmmm..." A thoughtful sound would shake through the air as Caim stroked his beard and gazed downwards.
"Cease your bickering, the one who decides who leaves this dungeon with "power" is I."
Unlike most Djinn, Caim did not shrink his size down to be less intimidating and easier to communicate with. Instead, Caim leaned over and pressed his giant face close to the ground so he could hear the men speak and wash their bodies in the vibrations of his booming voice. "So...which of you is most suited to be king?" The great spirit asked to himself more so than to those who stood before him, but he would follow up by addressing them directly with a question. "I will only serve a king who embodies the will of a blade. To lead, one must have sharp wit and a will like steel. What makes either of you think you possess these qualities?" It was a cryptic question that would affect Caim's ultimate decision, however all the actions the men had taken since they entered the dungeon held influence over his choice.
Altair had to force himself not to stumble backwards at the sight of the enormous blue man that came from the sword. apparently, he was the one who decides who leaves with power. The blue man posed a question to Altair and Dynatos. Which one of them had a sharp wit, and a will like steel? Altair would have to prove that he was the better candidate for this power the man held. He thought for just a moment, only long enough for there to be a short pause in the air before he responded. "Sir, i am the one you are looking for. in regards to my wit, i believe that my intelligence, wisdom, and leadership are unmatched. i have the ability to analyze a situation, come up with a course of action, and get others to follow my lead all within a course of seconds. As for my will, i believe that i have the superior ability. Willpower is a combination of resolve and courage. i have my resolve. my mission to free this world of slavery. But resolve alone is not what give willpower it's strength. it is your courage. not the absence of fear, for that is what makes one reckless, but your ability to use it to your advantage. fear sharpens the senses, allowing you to see, hear, and react faster and with more precision. You must be able to look past that fear and use what it gives you to win the fight. that is my willpower. together they allow me to use my rod, that while a blunt tool, is sharper than any sword. this rod is a symbol. a symbol of my wit, resolve and courage. it strikes fear into the hearts of my enemies, cutting what cannot be severed by any mortal weapon. it cuts away their inner blade. it severs their wit and willpower. my edgeless blade can cut even the strongest sword. That is my power. That is my wit. That is my willpower." Satisfied, Altair simply waited for the man to listen to what Dynatos had to say. He was confident that his answer would win him the power of the dungeon.
As flesh gripped the sword, it gleamed brightly before a rather large being formed out from the magical circle. Diego let out a cry, falling backwards in surprise to land on his bottom. Wide eyes peered up from massive blue feet to an elderly face. "Whoa..." The Djinn towered over Diego, but his attention was on Altair and Dynatos. Diego was surprised to hear them ask which wanted to be King. He turned his attention to the sword again, could a weapon really give someone that power?
Altair spoke up first and provided a passionate speech about his desires, his willpower to accomplish and how he can cut through his foes. Diego didn't realize Altair felt so strongly about ending slavery, but he certainly agreed with it. One of Diego's goals was to help fight to end slavery. It was Dynatos turn to speak up and Diego listened intently, curious to know the man's intentions.
The eyes of Dynatos head been fixed on the sword when Diego touched it. The sudden appearance of the blue giant shocked Dynatos, but he did not show it because he had seen many crazy things over his life. The great being posed his question to the two. While Altair explained why he was the better choice Dynato s reflected on his life and everything he, his family, and his race had gone through. "I am not greatly educated. I have taught myself over my years of being alive. I've met many people and have seen many places. Sharp wit. What is it exactly. To me it is the ability to survive and not matter what is thrown at you or what wall stands before you, you can cut it down. As you can see I am a fanalis." Dynatos looked at Diego. "My kind are treated as pure monsters. We are nothing more than savage in the eyes of the world, but Great One I trying to cut down those barriers and stereotypes. Fanalis have families and feelings just like everyone else. We laugh cry and get mad, but the biggest similarity we have both everyone is that we...are...alive. With your help I plan on creating a safe haven for all fanalis and show the world that we, despite having these bodies, are just like them. I won't tell you that I am the better choice, but I will say this; I have seen so much adversity and hardship, but I am still standing here before you and I am surrounded by people who believe in me. I was able to show them. Please allow me to show everyone else."
Caim listened the the words of each candidate and weighed them against one another as the men spoke. When both had said their piece the old man groaned in displeasure and frowned deeply as he cast unapproving eyes down upon both Altair and Dynatos. "Unfortunately, neither of you embody the traits I seek in a King. If either of you had any wits about you then you would have known better than to simply parrot my question back to me or muse on about unrelated topics." The elderly Djinn sighed deeply and scratched his head causing dandruff to fall upon the men present in the form of tiny sharp metal shavings which were harmless due to their small size. Caim looked back and forth from Altair to Dynatos and closed his eyes as he spoke. "If I had my choice, neither of you would be king...but, it was my lords wish that I would choose my new king from those who reach my chamber."
Grumbling from the Djinn made it clear that he was not pleased with the candidates he had to choose from. Altair had spoken of what he thought wit and will meant but hardly said anything to actually prove that he held the qualities. Dynatos had likewise spoken cheap talk but also went on about the plight of the Fanalis race which had nothing to do with Caim's question. "I couldn't care less about your people young red-haired one. Nor do I find the musings of a human's interpretations about the meaning of words to be of any value. You both have failed my test, it is a shame that I must still pick one of you."
A blue finger would move to point at Altair as Caim declared the former shepherd to be his choice, "You would cut the chains of the enslaved. This is more in the spirit of a blade than building a country. A sword is not meant for protecting families or creating nations. It is a tool meant to destroy that which stands in one's way and those who think otherwise are simply naive. I had hoped the one with a sword would claim my power, but apparently it's only purpose is to rust away without use." Caim gestured to the greatsword at Dynatos' back, Megalos, which had sadly not seen any use in the dungeon. Caim eyed it with envy wishing that it could have been his metal vessel, however Caim refused to spend his days serving a King who would only "cut" down social standard and assumptions. A futile effort as ideas lack physical form. At least the bindings of slaves would serve as a substantial target Caim's powers would be able to rend.
"You shall be my King young human. I, Caim, begrudgingly vow to serve you...Come, pick a metal vessel of my treasury as I will not reside in an object of magic such as your staff.
The room would then fill with treasure which included many high quality weapons scattered among the loot.
"I thank you, Caim, for choosing me. and i hope that someday i will understand you better and pass your test. As for a vessel, i choose..." Altair looked around the room, seeing many great and noble looking swords and knives that the blue man would more than likely love to be housed in. But none of them really spoke to Altair until his eyes hit upon a black bladed, hand and a half, long sword. Altair approached it, eyes wide. it almost looked to be of some otherworldly metal. Surely something such as this would be a suitable place for the djinn to reside. Altair held it aloft and said, "This weapon here, i think is suitable. It has a fine sheen to it, and a luster that one simply couldn't find in any earthly metal. I think you would be quite happy living here." While Altair thought that maybe his rod would do, the djinn simply didn't look pleased when he looked upon it. Altair thought it better to keep him happy, and allow him a proper blade in which to reside.
Diego listened to Sloth's speech, hearing the Fanalis' goals to create a country for those who share a similar heritage; as well as his experiences dealing with racism. After hearing both of the prospective Kings speak, Diego was glad he wasn't in the Djinn's shoes. Both of the men seemed driven to fulfill their dreams and were asking the large blue man for the power to do it. Diego certainly knew Altair better and would have chosen him because of that, but the other Fanalis had ambitions that he agree with, as well.
Lulled out of his thoughts by Caim's rumbling voice, Diego turned his attention to the Djinn. Caim addressed both men, seemingly unhappy with both of their responses, but in the end chose Altair as the one to obtain his power. The Djinn pointed to some of the treasures around the room, asking Altair to chose an item from them. Diego started looking around to see if anything caught his eye while Altair looked.
Dynatos gripped his fist, but concluded everything happens for a reason. Ares pouted as they had went through all this for nothing. Dynatos patted his head assuring him it was ok. Dynatos had no further reason to be here, so he waited to be released from the dungeon. He watched as Altair sealed the Djinn within a metal vessel and watched Diego rummage through the treasure finding a magical tool. Athena land and sat on Ares back. She was tired and ready to go much like Dynatos. Maybe one day he will be able to obtain the power of one of these beings or maybe he would die before that. He did not know and a part of him didn't care. Dynatos stood in silence waiting to see what would happen.
Diego's search through the hoard of treasure would find his eyes falling upon a unique item among the many swords and daggers that mostly filled Caim's treasury. There, laying on an azure blue carpet, was a bow crafted from an exotic material that seemed to be forged into both a ranged and melee weapon. It would be an improvement over Diego's current bow, but for now it would be too hard for him to draw back the bowstring properly. Perhaps if he took it and trained hard, he would be able to wield it one day, but at the very least it seemed like a good thing to hit one's enemies with.
Once Altair picked out a sword the Djinn would nod before flying into the vessel his king had chosen. Caim's massive body would converge onto a single point on the swords blade as it entered the object creating a magic circle engraving in the process. With that done a magic circle would appear on the ground beneath everyone transporting them back to the surreal scene floating outside the atmosphere of a shining blue globe. Once a pillar of light reached them they would be carried away in another bright flash to a giant pit where the dungeon had once stood surrounded by the spoils of their victory.
Appearance: A long bow 1.2m in length crafted from a finely sharpened metal that is surprisingly flexible and light. The alloy has a light bluish grey hue which becomes darker at the hand grips and notch for setting arrows.
The user can register 2 Razor-Abilities linked to the staff, B-Tier and below.
Can be used as a melee weapon once per turn dealing C-tier cutting damage with its sharpened edges.
By paying 20 magoi the wielder can create a pair of air blades as extensions of the sharpened edges of the bow. These blades extend at 20m/s and the user can choose between creating two blades at either end of the bow 2m in legnth or one blade that is 4m in length. These large blades can deal B-tier cutting damage and vanish after one turn. This ability has a 5 turn cool down.


Mick O'Dea, The Foggy Dew exhibition catalogue, published on the occasion of the exhibition Mick O'Dea, The Foggy Dew held at the Royal Hibernian Academy, Dublin from January 15th to February 21st, 2016.
Also held at the Ballinglen Arts Foundation, Ballycastle and the Ballina Arts Centre, Co. Mayo from July 16th to August 21st, 2016.
Designed by Oonagh Young at Design HQ. Photography by Mike Hannon, M. Thompson, Ryan O'Brian, Emile Dineen, Basil Al-rawi and Mick O'Dea. Printed by Die Keure, Belgium. Edition of 600.