# Name: smd_lib v0.34 (compressed) # Type: Library plugin # Shared function library used by smd_ plugins and others. # Author: Stef Dawson # URL: http://stefdawson.com/ # Recommended load order: 5 # ..................................................................... # This is a plugin for Textpattern - http://textpattern.com/ # To install: textpattern > admin > plugins # Paste the following text into the 'Install plugin' box: # ..................................................................... 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 VgAA